Я пишу веб-приложение ASP.NET с использованием Visual Studio 2008. Проект в основном не отличается от стандартного пустого проекта, который предоставляет Visual Studio, за исключением:
- В Свойствах-> Построить-> Вывод, «файл документации XML» проверен и установлен на «bin \ MyProject.XML»
- В Свойствах-> События сборки, «Командная строка события после сборки:» установлена на
copy /y "$(TargetDir)$(TargetName).XML" "C:\TEMP\"
Когда я собираю проект в первый раз или перестраиваюсь, процесс сборки завершается успешно.Однако, если я попытаюсь выполнить сборку в любое время после этого, процесс сборки завершится с этим сообщением:
------ Build started: Project: MyProject, Configuration: Debug Any CPU ------
MyProject -> C:\Projects\MyProject\MyProject\bin\MyProject.dll
copy /y "C:\Projects\MyProject\MyProject\bin\MyProject.XML" "C:\TEMP\"
The system cannot find the file specified.
c:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(3397,13): error MSB3073: The command "copy /y "C:\Projects\MyProject\MyProject\bin\MyProject.XML" "C:\TEMP\"" exited with code 1.
Done building project "MyProject.csproj" -- FAILED.
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========
Я уверен, что синтаксис правильный, потому что я могу выполнить команду после сборки вокно команды:
C:\>copy /y "C:\Projects\MyProject\MyProject\bin\MyProject.XML" "C:\TEMP\"
1 file(s) copied.
Команда работает, когда я делаю это вручную, так почему же она не работает, когда она является частью процесса сборки?