我正在使用属性MSBuildProjectDirectory和MSBuild。
该项目位于:
C:\ Program Files(x86)\ Jenkins \ workspace \ MyProject
在构建期间,MSBuildProjectDirectory被评估为:
C:\ Program Files%28x86%29 \ Jenkins \ workspace \ MyProject
我得到一个“系统找不到指定的文件”错误。
我是否需要移动到其他文件夹,还是可以找到正确的路径?
答案 0 :(得分:6)
如果您使用的是Visual Studio 2010 / MSBuild 4.0,则某些包含括号的属性会发生这种情况。微软承认,当使用MSBuild 4.0时,这是从VS2008到VS2010的回归错误: http://connect.microsoft.com/VisualStudio/feedback/details/532677/msbuild-4-0-usingtask-cannot-have-a-path-with-parentheses
根据以上链接,以下是括号内的问题:
解决方法:目前,在使用MSBuild 4.0时,请将位置更改为不包含括号的路径。
答案 1 :(得分:2)
使用
$([MSBuild] :: Unescape(' $(MSBuildProjectDirectory)'))
而不是
$(MSBuildProjectDirectory)