我正在开发一个项目,该项目要求将通过构建我的解决方案生成的 DLL 从 bin 文件夹复制到另一个文件夹,这两个文件夹都在我的机器上,在我的 C 驱动器中。我编写了一个使用 xcopy 来完成此任务的批处理文件,您可以在此处看到:
xcopy /s /y /q "C:\Users\scogan\Documents\Visual Studio 2012\Projects\Organizr\Server\bin\Debug\Organizr.Services.dll" "C:\inetpub\wwwroot\AppServer\bin\"
xcopy /s /y /q "C:\Users\scogan\Documents\Visual Studio 2012\Projects\Organizr\Server\bin\Debug\Organizr.Services.pdb" "C:\inetpub\wwwroot\AppServer\bin\"
现在,我已经尝试了这个文件的多次迭代,它位于:
C:\Users\scogan\Desktop\CopyFiles.bat
所以我的构建后事件命令行如下所示:
call C:\Users\scogan\Desktop\CopyFiles.bat
我已经在桌面上的文件夹中使用两个文本文件单独运行了这个批处理文件,它工作正常。我也使用我需要自己复制的文件来运行它,而且效果也很好。但是,当我尝试将其作为构建后事件运行时,我得到以下输出:
1> Organizr -> C:\Users\scogan\Documents\Visual Studio 2012\Projects\Organizr\Client\bin\Debug\Organizr.exe
1> File not found - Organizr.Services.dll
1> 0 File(s) copied
1> 0 File(s) copied
1> File not found - Organizr.Services.pdb
1>c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(4291,5): error MSB3073: The command "call C:\Users\scogan\Desktop\CopyFiles.bat" exited with code 4.
我做了一些研究,发现错误代码4表示“发生初始化错误。内存或磁盘空间不足,或者您在命令行输入了无效的驱动器名称或语法无效。”
我还查了 MSB3073 是什么,并没有真正找到可以帮助我的东西。所以,我的问题是我做错了什么?绝对路径是否搞砸了?任何帮助在这里表示赞赏。