2012-05-01 4 views
3

Я пытаюсь организовать решение VS 2010. Одна область, которая меня поддерживает, - использование неуправляемых DLL. Я не могу добавить их как ссылки, потому что библиотеки DLL неуправляемы. Предыдущий подход заключался в том, чтобы xcopy библиотеки DLL из папки «lib» во время событий сборки Pre/Post в выходную папку. Недостатком этого было ненужное копирование, которое происходит для каждой сборки, а также чистая операция, которая никогда не удаляла библиотеки DLL из выходной папки.Развертывание неуправляемых библиотек DLL для вывода каталога

Моим идеальным решением было бы объединить библиотеки DLL в папке VS lib и использовать функцию «Копировать, если более новая». Однако VS создает папку lib в выходной папке и размещает библиотеки DLL. Обратите внимание, что я не предпочитаю, чтобы библиотеки DLL находились на верхнем уровне моего дерева проектов. Существует много DLL, и это, похоже, загрязняет проект.

ответ

1

Я вернусь к этапам построения сборки, но использую xcopy /d (только копии, если новый), и выполните такой шаг How to create custom clean (post-clean) event in Visual Studio 2008?, чтобы реализовать пользовательский чистый.

Вы можете избежать дублирования списков файлов, просто получив список в каждом случае и выполнив на них.

Предварительно построить события являются просто пакетные сценарии

и вы можете использовать MSBuild пакетирование, чтобы создать список, чистый шаг работает на.

Если вы хотите, вы можете написать шаг forforecompile в скрипте msbuild, который скопировал бы файлы из источника в цель вместо шага предварительной сборки в VS.

+0

В этом случае у меня должно быть 2 списка всех неуправляемых DLL: один в xcopy, второй в чистом событии. Должен быть лучший способ ... –

+0

Иногда у техники есть кусочки проволоки, которые могут не нравиться ощущению эстетики. Уверен, вы могли бы разработать расширение, которое делало именно то, что вам нужно, но по какой цене :-) –

Смежные вопросы