8

我将属性 MSBuildProjectDirectory 与 MSBuild 一起使用。

该项目位于:

C:\Program 文件 (x86)\Jenkins\workspace\MyProject

在构建期间 MSBuildProjectDirectory 被评估为:

C:\Program Files %28x86%29\Jenkins\workspace\MyProject

我收到“系统找不到指定的文件”错误。

我需要移动到不同的文件夹还是可以获得正确的路径?

4

2 回答 2

7

如果您使用的是 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-带括号的路径

根据上面的链接,以下有括号问题:

  • 使用任务
  • MsBuildProjectDirectoryNoRoot
  • MsBuild项目目录
  • MsBuildProjectFullPath

解决方法:目前,在使用 MSBuild 4.0 时,将位置更改为不包含括号的路径。

于 2013-03-22T16:56:32.413 回答
2

采用

$([MSBuild]::Unescape('$(MSBuildProjectDirectory)'))

代替

$(MSBuildProjectDirectory)

于 2016-03-21T15:10:57.533 回答