问题描述
|
我有一个带有自定义构建步骤的Visual Studio 2005项目,该步骤将库文件复制到目标应用程序插件目录。这可以正常工作,但是在我打开目标应用程序的情况下,它会失败,这是可以理解的。
这种行为的问题在于,它阻止了我的构建继续进行,这意味着我无法按构建,然后喝杯咖啡,并期望在返回时构建完成。
我的问题是,我可以设置项目以便在自定义构建步骤失败时继续构建吗?
解决方法
解决此问题的方法是处理构建后事件中的失败。以下代码解决了该问题:
copy $(TargetPath) \"%programfiles%\\mypath\"
if errorlevel 1 goto BuildProcessFailed
goto BuildProcessOK
:BuildProcessFailed
echo BUILDPROCESS FAILED FOR PROJECT $(ProjectName)
goto ExitBuildProcess
:BuildProcessOK
echo BUILDPROCESS OK FOR PROJECT $(ProjectName)
:ExitBuildProcess
, 我面对一个旧项目(Win7-32中的VS2005)的相同问题。
带复制的构建步骤失败,因为将目标设置为任何原因都设为只读和隐藏。用xcopy和一些参数替换copy对我有帮助
例:
失败:copy /Y C:\\Dev\\Projx\\mydll.dll C:\\Test\\Projx\\
工作:xcopy /Y /H /R C:\\Dev\\Projx\\mydll.dll C:\\Test\\Projx\\