Пакетные файлы в 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". Подробности смотрите в статье " Отладка и процесс хостинга".

Другие вопросы по тегам