好的,这是我的项目的细目:我有一个web项目,其中有一个"Scripts“子文件夹。该文件夹包含几个javascript文件和一个JSMin.exe副本,以及一个在其中几个文件上运行JSMin.exe的批处理文件。我尝试设置一个构建后步骤‘调用"$(ProjectDir)Scripts\jsmin.bat"’。当我执行构建时,批处理文件总是“带着代码1退出”。这是通过Visual Studio或通过msbuild命令行实现的。我可以从Scripts文件夹中手动运行批处理文件,它看起来像预期的那样工作,所以我不确定这里的问题是什么。$(ProjectDir)Scripts\jsmin.bat调用用引号括起来,因为$(ProjectDir)可以有空格(实际上在我的机器上也是这样)。在这一点上我不确定该怎么做。作为构建后步骤,我尝试删除批处理文件的内容,但似乎也不起作用。
理想情况下,我希望通过post或pre-build步骤来解决这个问题,这样构建经理在部署代码时就不必经历额外的步骤。
谢谢!
发布于 2008-09-18 21:40:24
如果您的自定义构建步骤中有返回错误代码的内容,则可以添加:
exit 0作为构建步骤的最后一行。这将阻止构建失败。
发布于 2008-11-07 12:43:14
我使用的是一个有效的解决方案:
CD $(ProjectDir)
DoStuff.bat
不需要调用命令或其他任何东西,当然,如果您的项目目录中有文件的话。
发布于 2008-10-03 14:31:46
您的脚本或批处理文件是否在内部使用任何路径引用?
我发现如果路径引用不是完全限定的,批处理文件将无法正常工作。
示例:一个名为DoStuff.bat的批处理文件使用echo命令附加一个文本文件。
这不能在.bat文件中运行:
echo "test" >>"test.txt"此可以在.bat文件中使用:
echo "test" >>"C:\Temp\CompileTest\test.txt"Visual Studio 构建后事件命令行如下:
call "C:\Temp\CompileTest\DoStuff.bat"https://stackoverflow.com/questions/97228
复制相似问题