更新:2007 年 11 月

Visual Studio 提供了两类容器,帮助您有效地管理开发工作所需的项,如引用、数据连接、文件夹和文件。这两类容器分别叫做解决方案和项目。此外,Visual Studio 还提供解决方案文件夹,用于将相关的项目组织成项目组,然后对这些项目组执行操作。作为查看和管理这些容器及其关联项的界面,“解决方案资源管理器”是集成开发环境 (IDE) 的一部分。

容器:解决方案和项目 
解决方案和项目包含一些项,这些项表示创建应用程序所需的引用、数据连接、文件夹和文件。一个解决方案可包含多个项目,而一个项目通常包含多个项。这些容器允许您采用以下方式使用 IDE:

作为一个整体管理解决方案的设置或管理各个项目的设置。

在集中精力处理组成开发工作的项的同时,使用“解决方案资源管理器”处理文件管理细节。

添加对解决方案中的多个项目有用或对该解决方案有用的项,而不必在每个项目中引用该项。

处理与解决方案或项目独立的杂项文件。

项:文件、引用、数据连接 
项可以是文件和项目的其他部分,如引用、数据连接或文件夹。在“解决方案资源管理器”中,项可以按下列方式组织:

作为项目项(项目项是构成项目的项),如“解决方案资源管理器”中项目内的窗体、源文件和类。组织和显示方式取决于所选的项目模板以及所做的所有修改。

作为文件的解决方案项,适用于整个解决方案,位于“解决方案资源管理器”的“解决方案项”文件夹中。

作为文件的杂项文件,它们与项目或解决方案都不关联,可显示在“杂项文件”文件夹中。

作为容器的解决方案

更新:2007 年 11 月

为了使集成开发环境 (IDE) 能够应用它的各种工具、设计器、模板和设置,Visual Studio 实现了概念上的容器(称为解决方案和项目)。另外,Visual Studio 还提供了解决方案文件夹,用于将相关的项目组织成组,然后对这些项目组执行操作。

项目包含一组源文件以及相关的元数据,如组件参考和生成说明。生成项目时通常会生成一个或多个输出文件。解决方案包含一个或多个项目,以及帮助在整体上定义解决方案的文件和元数据:

创建新项目时,Visual Studio 会自动生成一个解决方案。然后,您可以根据需要将其他项目添加到该解决方案中。“解决方案资源管理器”提供整个解决方案的图形视图,开发应用程序时,该视图可帮助您管理解决方案中的项目和文件。

您也可以创建不包含项目的空白解决方案,从而使用 Visual Studio 编辑器和设计器修改独立的文件。“解决方案资源管理器”专门为非项目项提供了文件夹

解决方案 
解决方案管理 Visual Studio 配置、生成和部署相关项目集的方式。Visual Studio 解决方案可以只包含一个项目,也可以包含由开发小组联合生成的多个项目。复杂的应用程序可能需要多个解决方案。

使用“解决方案生成配置”可以指定如何为特定的用户组生成和部署不同的应用程序版本。例如,您可以为开发人员和测试人员配置调试版本,为合作伙伴和最终用户配置发布版本。有关创建和使用“解决方案生成配置”的进一步信息,请参见 “配置管理器”对话框 和 在 Visual Studio 中生成。

优点
解决方案使您能够集中精力开发和部署项目,而不用考虑项目文件、组件和对象管理的具体细节。每个 Visual Studio 解决方案都可用于:

在 IDE 的同一实例中处理多个项目。

使用应用于整个项目集的设置和选项来处理项。

使用“解决方案资源管理器”帮助开发和部署应用程序。

管理在解决方案或项目环境的外部打开的其他文件。

定义文件
Visual Studio 将解决方案的定义存储在两个文件中:.sln 和 .suo。在早期版本的 Visual Studio 中,您可能已经注意到在 Visual Basic 和 Visual C++ 中分别有组文件 (.vbg) 或工作区文件 (.dsw)。

解决方案定义文件 (.sln) 存储定义解决方案的元数据:

解决方案相关项目

在解决方案级可用的、与具体项目不关联的项。

设置各种生成类型中应用的项目配置的解决方案生成配置。

每当解决方案活动时,都使用构建该解决方案并设置其属性时存储在 .suo 文件中的元数据来自定义 IDE。例如,如果启用了“杂项文件”选项,“解决方案资源管理器”就会显示解决方案的一个“杂项文件”文件夹,“工具箱”中适用于该解决方案中包含的项目类型的工具也变得可用。

说明: 
.sln 文件可以在开发小组的开发人员之间共享。.suo 文件是用户特定的文件,不能在开发人员之间共享。
 
作为容器的项目

更新:2007 年 11 月

为了帮助您对正在开发的项进行组织和执行常规任务,将 Visual Studio 项目用作解决方案内的容器,以通过逻辑方式管理、生成和调试构成应用程序的项。项目的输出通常是可执行程序 (.exe)、动态链接库 (.dll) 文件或模块等。

根据您的要求,项目可以简单,也可以复杂。一个简单的项目可能由一个窗体或 HTML 文档、源代码文件和一个项目文件组成。更加复杂的项目可能由这些项以及数据库脚本、存储过程和对现有 XML Web services 的引用组成。

项目模板 
所有 Visual Studio 开发产品都提供了许多预定义的项目模板。可以使用这许多项目模板之一创建基本项目容器以及一组开发应用程序、类、控件或库可能需要的预备项。例如,如果选择创建 Windows 应用程序,则项目会为您提供可自定义的 Windows 窗体项。同样,如果选择创建一个 Web 应用程序,则项目将提供一个 Web 窗体项。有关所用语言的项目类型和模板的更多信息,请参见“新建项目”对话框。

项目及其模板使您得以将精力集中于要实现的特定功能,因为该项目为您处理通用管理和生成任务。有关更多信息,请参见项目项。可以使用提供的默认设置,或者可自定义自己的生成配置。有关更多信息,请参见生成配置。

还可以创建自己的模板。有关更多信息,请参见 Visual Studio 模板。

项目文件 
每个项目模板创建并维护一个项目文件,以存储针对该项目的元数据。当您在集成开发环境 (IDE) 内工作时,系统为您创建并维护此项目文件。该项目文件的扩展名和实际内容由它所定义的项目类型确定,所以其完整说明不在本主题讨论范围之内。

通常,项目文件存储为该项目及其项的集合指定的配置和生成设置。一些项目保存有一列与项目关联的文件及文件的位置。

向项目中添加项时,其物理源文件在磁盘上的位置也添加到项目文件中。当从项目中移除该链接时,此信息从定义文件中删除。每个项目模板确定对每个项可用的命令。

以上内容转自MSDN,觉得可能很多朋友跟我一样虽然建了无数工程,可里面的每个意思是什么都不是很清楚,所以贴了出来。

介绍解决方案、项目和项相关推荐

  1. 学神python全栈学习笔记CMDB系统---第一章 python_cmdb_介绍,项目开始

    第一章 python_cmdb_介绍,项目开始 本节所讲内容: 1.1  python cmdb系统介绍与需求分析 1.2  python cmdb数据库建模 1.3  python cmdb前端基础 ...

  2. Django视图之介绍、项目准备、URL、路由命名、reverse反解析和Postman测试

    知识点: HttpRequest 位置参数和关键字参数 查询字符串 请求体:表单数据,JSON数据 请求头 HttpResponse HttpResponse JsonResponse redirec ...

  3. golang 依赖管理_简介:如何管理Golang项目依赖项

    golang 依赖管理 by Ying Kit Yuen 英杰苑 简介:如何管理Golang项目依赖项 (An intro to dep: How to manage your Golang proj ...

  4. 米公益完结项目结项反馈——环保梦想,你我一同点亮

    米公益完结项目结项反馈--环保梦想,你我一同点亮 项目简介: 当雾霾从一个城市不能呼吸的痛,演变为席卷半个中国的沉重,每个人唯有行动,才能改变.在中国即将迎来的第六个地球一小时,WWF发起" ...

  5. react项目实战 1 项目介绍、项目搭建

    目录 一 项目介绍 二 项目搭建 2.1 本地接口部署 1 创建并导入数据 2 启动接口 3 测试接口 2.2 初始化项目 1 创建项目 2 整理项目的目录 一 项目介绍 名称: 好客租房 形式: 移 ...

  6. 【实战day01】软件开发整体介绍,项目介绍以及开发环境搭建

    文章目录 1. 软件开发整体介绍 1.1 软件开发流程 1.2 角色分工 1.3 软件开发环境 2. 项目介绍 2.1 技术选型 2.2 功能架构 2.3 角色 3. 开发环境搭建 3.1 数据库开发 ...

  7. jquery实现流程图绘制工具——展现红警三建造出兵操作 ——二、代码初步介绍,项目结构与文件介绍

    目录 一.简介 二.代码初步介绍 拓展.实现红警三录像文件读取与自动分析生成流程图信息 ======================= 大爽歌作,made by big shuang ======== ...

  8. 项目介绍,项目架构和微服务划分

    项目介绍,项目架构和微服务划分 1 优购商城介绍 1.1 项目分类 主要从需求方.盈利模式.技术侧重点这三个方面来看它们的不同. 1.1.1 传统项目 各种企业里面用的管理系统(ERP.HR.OA.C ...

  9. java开发面试 自我介绍 与 项目介绍是重点

    从来没有见过一个面试java的面试官一个技术问题都不问,就給offer,所以想写写经历与感受. 第一句话请关下门,第二句话先做一下自我介绍,完了让我介绍项目以及我所做的部分.这几点是每家公司都会问的问 ...

最新文章

  1. 什么叫「真的理解」?我们对 AI 的要求或许有点过分
  2. ChannelFactory创建和销毁昂贵
  3. 专栏 | 基于 Jupyter 的特征工程手册:数据预处理(三)
  4. OpenCV在Linux中安装
  5. JS函数运行在它们被定义的作用域内,而不是它们被执行的作用域内
  6. java设计模式迭代器模式_迭代器模式和Java
  7. mysql查询修改数据类型_MySQL增删改查及数据类型
  8. Fragment懒加载(三)
  9. 常见面试算法:朴素贝叶斯
  10. Javascript特效:进度条
  11. TDD---测试驱动开发(1)
  12. 5类6类7类网线对比_超6类7类8类网线进来挨打 6类线全面测评 网速和传输速率测试...
  13. 使用后端解析地图.shp.prj文件得到GeoJson数据
  14. 新一代三维GIS技术资料集锦
  15. 几种常用的显示器分辨率
  16. Windows Filtering Platform Windows筛选平台
  17. 前端页面生成神器以及后端变量命名神器
  18. day13-搜索过滤
  19. html word 批注,word怎么批注修改文章
  20. Lantek.v27-ISO 1DVD(钣金专家)

热门文章

  1. Flink 异常 - 9.The heartbeat of TaskManager with id container timed out 分析与 Heartbeat 简介
  2. 如何用WGDI进行共线性分析(一点五)
  3. base64解码报错Illegal base64 character
  4. 陀螺财经研究院郭润华:2019年将迎来区块链真正成熟的井喷时代
  5. 宏病毒的研究与实例分析02——复合文档格式分析
  6. mysql8删除root用户,Window下如何恢复被删除的Mysql8.0.17 Root账户及密码
  7. 中国第四个南极科考站
  8. Google Dremel数据模型详解(上)
  9. net-java-php-python-班级信息管理系统计算机毕业设计程序
  10. ZTE方案ONU PPPoE | FTP | Samba等服务配置分析