如何获取调用MSBuild的路径?

如何获取调用MSBuild的路径?,msbuild,Msbuild,是否可以访问(在生成文件中)调用MSBuild.exe的目录 我只能得到构建文件本身的路径。我想要调用MSBuild的目录 预期的 d:\Data\Visual Studio 2013\Projects>msbuild /m .\TestMsBuild\TestMsBuild\TestMsBuild.vcxproj /verbosity:detailed /t:BeforeBuild Task "Message" MSBuild was called from: d:\Data\

是否可以访问(在生成文件中)调用MSBuild.exe的目录

我只能得到构建文件本身的路径。我想要调用MSBuild的目录

预期的

d:\Data\Visual Studio 2013\Projects>msbuild /m .\TestMsBuild\TestMsBuild\TestMsBuild.vcxproj /verbosity:detailed /t:BeforeBuild

Task "Message"
    MSBuild was called from: d:\Data\Visual Studio 2013\Projects
D:\>msbuild foo\foo.proj
...
MSBuild是从以下位置调用的:D:\>

为什么

我想知道是否有人可以替换中的绝对路径

D:\workdir> msbuild foo\foo.proj /p:Parameter=d:\workdir\Projects\bar\
具有相对路径

D:\workdir> msbuild foo\foo.proj /p:Parameter=Projects\bar\

看起来
MSBuildStartupDirectory
将帮助您:

TestBuild.vcxproj代码段

  <Target Name="BeforeBuild">
    <Message Text="MSBuild was called from: $(MSBuildStartupDirectory)" />
  </Target>