调查仅在我们的构建服务器上发生的构建问题,我很惊讶this answer指出有$(ProjectDir)
和$(MSBuildProjectDir)
,前者有时不可用。
一般有什么区别?我是否应该始终使用$(MSBuildXXX)
版本的属性?为什么首先使用$(ProjectDir)
?
与其他Q& A中的建议相反,我有时会看到$(MSBuildProjectDir) = ''
。
答案 0 :(得分:2)
正如您的链接回答所说$(ProjectDir)
仅在导入Microsoft.Common.Targets后可用,而$(MSBuildProjectDir)
是MSBuild本身的保留属性。
因此,使用$(MSBuildXXX)
属性可确保您始终可以使用它们,而无需导入所有必需的引用。