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

Msbuild 是否可以使Visual Studio.sln文件中的元素有条件?,msbuild,sln-file,Msbuild,Sln File,是否可以使Visual Studio.sln文件中的元素有条件 尽管.sln文件奇怪地不是MSBuild格式,甚至不是XML格式,但我希望使用类似的语法 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloProj", "HelloProj.csproj", "{61729087-EEA0-4C80-BF72-4205970239F9}" EndProject 将成为: Project( Condition="S

是否可以使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", ...

因此,如果“某些条件”的计算结果为false,那么在打开解决方案时,项目HelloProj将不包括在内。我怀疑这是否可行,我甚至不确定解决方案文件是否有属性/变量的概念,但我想我还是会问。

据我所知,没有任何东西会在打开解决方案时完全删除加载的项目。我不认为这是解决方案文件的意图,相反,如果您需要在开放时间基于某些标准来包含/排除项目,那么考虑使用多个解决方案文件可能是安全的,其中每个解决方案包含了针对某个情况的正确项目。 但是,对于C#/C++/C项目,您可以使用Configuration Manager根据选择的平台和配置修改解决方案中每个项目的构建和部署行为。在解决方案资源管理器中,右键单击解决方案并选择“Configuration Manager…”