2013-02-12 2 views
1

Я использую Visual Studio 2008 и импортированную GeckoFX-Framework в одном из моих проектов. Поскольку Geckofx-13.0.dll использует сам XUL-Runner, обязательно иметь эти файлы также в сборках-каталогах проекта. До сих пор я копировал их вручную в два каталога (Debug & Release).Как скопировать автоматически необходимые файлы из любого каталога в каталог release или debug в Visual Studio 8

Я спрашиваю себя, могу ли я сказать VS, чтобы скопировать их автоматически в эти каталоги.

Если эти файлы отсутствуют, выполнение сборки не выполняется.

ответ

2

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

Вы можете добавить Post-Build action (щелкните правой кнопкой мыши проект, выберите свойства) в конфигурацию выпуска и отладки, чтобы скопировать файлы в выходной каталог (вы можете использовать макрос вместо жесткого кодирования, таким образом, правильное назначение всегда используется также, когда он редактируется в настройках проекта). Простой copy .\Files\*.* $(TargetDir), вероятно, сработает. Здесь также можно использовать любую команду, которую вы можете выполнить из командной строки.

Предпочтительный способ:

Вы можете добавить Post-Build target (проект RightClick, выгрузить проект, RightClick выгружается проект, редактировать проект) и использовать MSBuild <copy> задачи для копирования файлов из одного места в другое. Вы можете снова использовать макрос, такой как $(OutDir) или $(TargetDir) или $(Platform) и $(Configuration).

+0

Действие Post-Build отлично работает для меня. Спасибо. –

0

У меня была такая же проблема, и я сделал что-то вроде этого:

XCOPY "$(ProjectDir)resources\libraries\xulrunner" "$(TargetDir)xulrunner" /E /I /Y /R 

и она работает perfecly. Теперь у меня есть xulrunner в указанном «xulrunner» direcotry, расположенном в папке вывода Debug/Release, поэтому файлы xulrunner не смешиваются с файлами приложений. Не забудьте установить новый каталог Xulrunner в Xpcom.Initialize.