Visual Studio 中的解决方案和项目有哪些?
区分VS中解决方案(solution)和工程(project)

本质上来说,解决方案是多个工程的集合。
每个工程是一个独立的软件模块,比如一个程序、一个代码库等。

项目

项目包含所有编译为可执行文件、库或网站的文件。 这些文件可以包括源代码、图标、图像、数据文件等。 项目还包含编译器设置以及程序将与之通信的各种服务或组件需要的其他配置文件。

项目文件

Visual Studio 使用 MSBuild 生成解决方案中的每个项目,每个项目都包含一个 MSBuild 项目文件。 文件扩展名反映项目的类型(例如,C# 项目 (.csproj)、Visual Basic 项目 (.vbproj) 或数据库项目 (.dbproj))。 项目文件是一个 XML 文档,其中包含 MSBuild 生成项目所需的所有信息和说明,包括内容、平台要求、版本控制信息、Web 服务器或数据库服务器设置以及要执行的任务。

比如VC++项目:
image.png

项目模板

创建新项目的最简单方法是为所需的项目类型使用项目模板。 项目模板包含一组基本的预生成代码文件、配置文件、资产和设置。 使用“文件” > “新建” > “项目”,选择一个项目模板 。

解决方案

项目包含在解决方案中。 尽管其名称如此,但解决方案并不是“答案”。 解决方案只是一个容器,用于包含一个或多个相关项目,以及生成信息、Visual Studio 窗口设置和不与特定项目关联的任何杂项文件。

解决方案文件

Visual Studio 采用两种文件类型(.sln 和 .suo)来存储解决方案设置 :

扩展名 “属性” 描述
.sln Visual Studio 解决方案 将项目、项目项和解决方案项组织到解决方案中。
.suo 解决方案用户选项 存储用户级别设置和自定义项,如断点。

重要
解决方案由格式唯一的文本文件(扩展名 .sln)描述;不应对其进行手动编辑。
相反,.suo 文件是隐藏文件,在默认的文件资源管理器设置下不会显示。

“解决方案资源管理器”

创建新项目后,可以使用解决方案资源管理器来查看和管理项目与解决方案及其关联项。
“解决方案资源管理器”顶部的工具栏上带有按钮,可用于从解决方案视图切换到文件夹视图、筛选挂起的更改、显示所有文件、折叠所有节点、查看属性页、在代码编辑器中预览代码等。
可以从“解决方案资源管理器”中的各种项目上的右键单击上下文菜单中获取多个菜单命令。 这些命令包括生成项目、管理 NuGet 包、添加引用、重命名文件和运行测试