我正在使用 Visual Stduio 2015 社区版。我已经加载了一个 C# 项目,并希望将其配置为使用影子构建,以便源文件不会与任何二进制文件或中间构建文件混淆。尝试使用 VS UI 设置 C# 项目的 [输出]/[中间输出] 目录路径 - 唯一可编辑 UI 的输出路径是“bin”路径,并且它不接受MSBuild 宏。然后我卸载了该项目并手动编辑它。还要设置 IntermediateOutputPath,当使用 C# 项目时,它在 VS UI 中不可用,但当使用 C++ 时,所有此类目录都是可编辑的。目前,OutputPath 设置为:
<OutputPath>$(SolutionDir)..\build_$(SolutionName)_$(Configuration)_$(Platform)\$(ProjectName)</OutputPath>
$(ProjectName)由于某种原因是空的。尝试过$(TargetName)(仅用于测试而使用它是不正确的),但它也是空的。有什么建议么?
在调查仅发生在我们的构建服务器上的构建问题时,我很惊讶地看到这个答案指出同时存在 a$(ProjectDir)和 a $(MSBuildProjectDir),前者有时不可用。
一般情况下有什么区别?如果可用的话,我应该始终使用$(MSBuildXXX)属性版本吗?$(ProjectDir)为什么首先使用?
与其他问答中的建议相反,我有时会看到$(MSBuildProjectDir) = ''.