Msbuild命令行:CopyWebApplicationLegacy任务中的MSB3021错误

时间:2011-10-28 18:14:54

标签: msbuild msbuild-4.0

我在这里看到了几个关于这个错误的问题,但是它们似乎都与这个错误的“Access is Denied”风格有关,找不到任何处理我得到的消息:

C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets(177,5): error MSB3021: Unable to copy file "bin\MyApp.MyLib.dll" to "C:\Temp\Publish\staging\MyApp\MyApp_1478_5\bin\MyApp.MyLib.dll". Could not find a part of the path 'bin\MyApp.MyLib.dll'. [C:\Temp\Tags\MyApp\2011-10-27-00-NoBuildVs\src\MyApp.com\MyAppn.csproj]

当我构建我的项目时,我得到了30个这样的错误。我正在从命令行构建我的csproj文件。 proj编译得很好,只有当它到达CopyWebApplicationLegacy任务时才搞砸了。奇怪的是:应用程序运行良好,它尝试复制的dll最终存在于目标目录中。因此,这些错误似乎与文件最终应该在何处以及应用程序是否正常运行无关。

我认为只是压制它们,但这似乎会让我后来咬我。

我的命令:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe "C:\Temp\Tags\MyApp\2011-10-27-00-NoBuildVs\src\MyApp.com\MyApp.csproj" /p:OutDir="C:\Temp\Publish\binOutput\" /p:WebProjectOutputDir="C:\Temp\Publish\staging\MyApp\MyApp_1478" /p:Configuration=Debug

尝试构建解决方案而不是csproj并且得到了相同的错误。

我在这里难过。这些文件没有被锁定(除非它们在构建期间以某种方式被锁定并稍后释放,但似乎我得到了不同的错误)。可能导致此错误的原因是什么?我需要这样做,所以我的自动发布可以工作。

1 个答案:

答案 0 :(得分:0)

我从错误日志中看到:应该使用源文件“bin \ Debug \ MyApp.MyLib.dll”代替“bin \ MyApp.MyLib.dll”进行调试配置,IMO。