8

I'm using the property MSBuildProjectDirectory with MSBuild.

The project is located in:

C:\Program Files (x86)\Jenkins\workspace\MyProject

During build MSBuildProjectDirectory is instead evaluated as:

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

and I get a "The system cannot find the file specified" error.

Do I need to move to a different folder or can I get the right path?

2 Answers 2

7

If you are using Visual Studio 2010 / MSBuild 4.0, this will happen with certain properties that contain parentheses. Microsoft admitted that this was a regression error from VS2008 to VS2010, when using MSBuild 4.0: http://connect.microsoft.com/VisualStudio/feedback/details/532677/msbuild-4-0-usingtask-cannot-have-a-path-with-parentheses

According to the above link, the following have an issue with parentheses:

  • UsingTask
  • MsBuildProjectDirectoryNoRoot
  • MsBuildProjectDirectory
  • MsBuildProjectFullPath

Resolution: For now, when using MSBuild 4.0, change the location to a path that does not contain parentheses.

Sign up to request clarification or add additional context in comments.

1 Comment

I had a similar problem and solved it with [MSBuild]::Unescape as suggested by the Microsoft guy in that MS Connect issue.
2

Use

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

instead of

$(MSBuildProjectDirectory)

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.