Пакетные файлы в Visual Studio 2008
Мне нужна помощь с очень неприятной проблемой с Visual Studio 2008.
У меня есть проект на C#, который вызывает, на этапе предварительной компиляции, пакетный файл, который копирует некоторые библиотеки в подкаталог самого проекта. Часто случается, что Visual Studio сообщает об ошибке, вызванной выполнением командного файла: в нем говорится, что выполнение было завершено с кодом 1. После этого единственным решением для повторной компиляции проекта является перезапуск Visual Studio. После перезапуска компиляция не сообщает о каких-либо проблемах.
Есть ли кто-нибудь, кто сообщает о той же проблеме?
Вы знаете способ решить это?
Большое спасибо.
1 ответ
Использовать <copy/>
Задача вместо. Это даст вам лучшую обработку ошибок.
Пример для копирования всех DLL из C:\SourceDir
в LocalDir
:
<ItemGroup>
<SourceFiles Include="C:\SourceDir\*.dll" />
</ItemGroup>
<Copy SourceFiles="@(SourceFiles )" DestinationFolder="LocalDir\" />
Смотрите также MSDN CopyTask Reference.
Основная причина, вероятно, заключается в том, что сама студия по-прежнему имеет сборки, открытые через "процесс размещения Visual Studio". Вы можете отключить это в свойствах проекта в "Отладке", "Включить процесс размещения Visual Studio". Подробности смотрите в статье " Отладка и процесс хостинга".