$(ProjectDir)和$(MSBuildProjectDir)有什么区别?

时间:2015-11-17 23:02:22

标签: .net visual-studio msbuild

调查仅在我们的构建服务器上发生的构建问题,我很惊讶this answer指出有$(ProjectDir)$(MSBuildProjectDir),前者有时不可用。

一般有什么区别?我是否应该始终使用$(MSBuildXXX)版本的属性?为什么首先使用$(ProjectDir)

与其他Q& A中的建议相反,我有时会看到$(MSBuildProjectDir) = ''

1 个答案:

答案 0 :(得分:2)

正如您的链接回答所说$(ProjectDir)仅在导入Microsoft.Common.Targets后可用,而$(MSBuildProjectDir)是MSBuild本身的保留属性。

因此,使用$(MSBuildXXX)属性可确保您始终可以使用它们,而无需导入所有必需的引用。