
上QQ阅读APP看书,第一时间看更新
6.2 解决方案文件的格式
Visual Studio 2015实际上为解决方案创建两个文件,其扩展名分别为.suo和.sln(解决方案文件)。第一个文件是难以编辑的二进制文件,它包含了与用户相关的信息。例如,解决方案在上一次关闭时打开的文件和断点的位置。该文件被标记为隐藏,因此在使用Windows Explorer时,它不会在解决方案文件夹中显示,除非启用了显示所有隐藏文件的选项。
警告:.suo文件偶尔会被破坏,从而在生成和编辑应用程序时出现意想不到的结果。如果Visual Studio对于某个解决方案不稳定,就应退出并删除.suo文件。下次打开解决方案时,Visual Studio就会重建它。
.sln解决方案文件包含了与解决方案相关的信息,如项目列表、生成配置和其他非项目相关的设置。与Visual Studio 2015使用的其他文件不同,解决方案文件不是XML文档,因为它把信息存储在块中,如下面的示例解决方案文件所示:
Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 VisualStudioVersion = 14.0.22310.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}")= "SampleWPFApp", "SampleWPFApp\SampleWPFApp.csproj", "{F745050D-7E66-46E5-BAE2-9477ECAADCAA}" EndProject Global GlobalSection(SolutionConfigurationPlatforms)= preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms)= postSolution {F745050D-7E66-46E5-BAE2-9477ECAADCAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F745050D-7E66-46E5-BAE2-9477ECAADCAA}.Debug|Any CPU.Build.0 = Debug|Any CPU {F745050D-7E66-46E5-BAE2-9477ECAADCAA}.Release|Any CPU.ActiveCfg = Release|Any CPU {F745050D-7E66-46E5-BAE2-9477ECAADCAA}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties)= preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal
上面的示例解决方案由一个SampleWPFApp项目和一个用于概述解决方案设置的Global部分组成。例如,HideSolutionNode被设置为FALSE,因此该解决方案在Solution Explorer中可见。如果要把这个值改为TRUE,就不会在Visual Studio中显示该解决方案名。
注意前面代码中的版本号是12.00,在Visual Studio 2012、2013和2015中都使用它。这与如下事实一致:同一个解决方案文件可以使用Visual Studio的以前版本打开。