4

是否可以使 Visual Studio .sln 文件中的元素有条件?

虽然 .sln 文件奇怪地不是 MSBuild 甚至不是 XML 格式,但我很想使用类似的语法。

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloProj", 
    "HelloProj.csproj",
    "{61729087-EEA0-4C80-BF72-4205970239F9}"
EndProject

会成为:

Project( Condition="Some Condition Stuff"
    "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloProj", ...

因此,如果“Some Condition Stuff”评估为 false,则在您打开解决方案时不会包含项目 HelloProj。我怀疑这是否可行,我什至不确定解决方案文件是否有属性/变量的概念,但我想我还是会问。

4

1 回答 1

0

我知道没有任何东西会在您打开解决方案时完全删除项目的加载。我不认为这是解决方案文件的意图,而是如果您需要在打开时根据某些标准包含/排除项目,考虑使用多个解决方案文件可能是安全的,其中每个解决方案都包含适合某种情况的正确项目。

但是,对于 C#/C++/C 项目,您可以使用配置管理器根据选择的平台和配置来修改解决方案中每个项目的构建和部署行为。在解决方案资源管理器中,右键单击您的解决方案并选择“配置管理器...”。

用于关闭在任何 CPU 平台和调试配置的解决方案中构建项目的配置管理器的屏幕截图

于 2015-10-30T09:21:34.760 回答