Visual Studio 2015高级编程(第6版)
上QQ阅读APP看书,第一时间看更新

6.1 解决方案的结构

只要在Visual Studio中工作,就会打开一个解决方案。如果仅编辑一个临时文件,该文件就在一个临时的解决方案中,在工作完成后,可以选择删除该解决方案。但是,由于使用解决方案可以管理正在使用的文件,因此在大多数情况下,保存解决方案意味着可以在以后返回到前面的工作,而不需要再定位和重新打开原来使用的文件。

解决方案应看成相关项目的容器。解决方案中的项目不需要使用相同的语言或具备相同的项目类型。例如,一个解决方案可以包含用Visual Basic编写的ASP.NET Web应用程序、F#库和一个C# WPF应用程序。使用解决方案可以在IDE中一起打开所有这些项目,管理它们的生成和部署配置。

在Visual Studio中,最常见的应用程序组织方式是一个解决方案包含多个项目。每个项目都由一系列的代码文件和文件夹组成。处理解决方案和项目的主窗口是Solution Explorer,如图6-1所示。

图6-1

在项目中,文件夹用于组织源代码,它们本身并不具有应用程序的含义(Web应用程序除外,它们的部分文件夹名称在Web应用程序环境中有具体的含义)。某些开发人员使用的文件夹名称与文件夹中类所属的名称空间相对应。例如,如果FirstProject项目的DataClasses文件夹中有一个Person类,该类的完全限定名称就是FirstProject.DataClasses.Person。

解决方案文件夹是在大型解决方案中组织项目的一种有效方式。它们仅在Solution Explorer中可见——这个物理文件夹不在文件系统中创建。生成或卸载等操作很容易对解决方案文件夹中的所有项目执行。也可以折叠或隐藏这些项目文件夹,以便在Solution Explorer中操作它们。在生成解决方案时,隐藏的项目仍会生成。因为解决方案文件夹不映射为物理文件夹,所以可以随时添加、重命名或删除它们,而不会导致无效的文件引用或源代码控制问题。

Miscellaneous Files是一个特殊的解决方案文件夹,可用于跟踪已在Visual Studio中打开但不属于解决方案中任何项目的其他文件。Miscellaneous Files解决方案文件夹默认为不可见。启用它的设置位于Tools | Options | Environment | Documents下。

解决方案文件的格式自Visual Studio 2012以来就没有大的变化,所以可以用之后的所有版本打开相同的解决方案文件。可以使用Visual Studio 2015打开最初使用Visual Studio 2013创建的解决方案文件。更妙的是,可以使用Visual Studio 2013打开最初使用Visual Studio 2015创建的解决方案文件。

除了跟踪应用程序中包含的文件以外,解决方案和项目文件还可以记录其他信息(如某个文件的编译方式、项目设置和资源等)。Visual Studio 2015包含一种编辑项目属性的非模态对话框,但解决方案的属性仍在独立的窗口中打开。项目属性是指仅与所考虑项目相关的属性,如程序集信息和引用,而解决方案属性则用于确定应用程序的整体生成配置。