Visual Studio项目与解决方案

bmw*_*128 95 projects-and-solutions solution visual-studio-project visual-studio

作为VS的新手,我怎么能想到这两个概念,有什么区别?

leo*_*loy 119

我在其他答案中找到了一些缺失的信息(至少对于来自其他IDE的人,例如Eclipse).说解决方案是项目的容器只是事情的一部分.VS项目的概念特征(决定其'粒度'的因素)是一个项目产生一个输出:通常是可执行文件或库(dll).因此,如果您要编写三个使用相关代码的可执行文件,您将创建一个解决方案和至少三个项目 - 可能更多.

  • 不要忘记共享代码项目,这些项目无需自行生成程序集即可包含在内。 (3认同)

小智 67

解决方案是项目的容器,并跟踪项目之间的依赖关系.


Cod*_*y C 39

只是想出一个比喻..

解决方案就像房子,像房间一样的项目.每个房间都提供一种功能,而房子,一个房间的容器,提供了将房间连接在一起并适当组织它们的方法.

有点陈词滥调,但我在飞行中做了,所以忍受我:)


小智 23

Visual Studio似乎让事情变得更加混乱,这无济于事."新项目"实际上创建了一个包含项目的新解决方案."Open Project"实际上打开了一个包含一个(或许多)项目的解决方案.(文件菜单显示"打开项目/解决方案",但它确实是打开解决方案.没有"关闭项目"只有"关闭解决方案"这是准确的.

因此,在VS中,您始终在解决方案中工作.许多解决方案只包含一个项目,而较新的开发人员可能会认为它们是同一个东西.但是,您可以将其他项目添加到解决方案中.


jra*_*ali 9

如果有人决定向下滚动这个...我认为MS文档在描述差异方面做得非常好.我在这里复制粘贴(和改写)相关位:

在Visual Studio中创建应用程序,应用程序,网站,Web应用程序,脚本,插件等时,您可以从项目开始.在逻辑意义上,项目包含所有源代码文件,图标,图像,数据文件以及将被编译到可执行程序或网站中的任何其他内容,或者为了执行编译而需要的项目.项目还包含程序将与之通信的各种服务或组件可能需要的所有编译器设置和其他配置文件.

如果您不想,您不必使用解决方案或项目.您只需在Visual Studio中打开文件并开始编辑代码即可.

在字面意义上,一个项目是一个XML文件(.vbproj,.csproj,.vcxproj定义与路径一切"包含"和所有的生成设置的项目沿着一个虚拟文件夹层次).

在Visual Studio中,解决方案资源管理器使用项目文件来显示项目内容和设置.编译项目时,MSBuild引擎使用项目文件来创建可执行文件.您还可以自定义项目以生成其他类型的输出.

在逻辑意义上和文件系统中,项目包含一个解决方案,该解决方案可能包含一个或多个项目,以及构建信息,Visual Studio窗口设置以及与任何项目无关的任何杂项文件.从字面意义上讲,解决方案是一个具有自己独特格式的文本文件; 它通常不打算手工编辑.

解决方案具有关联.suo文件,该文件存储已在项目上工作的每个用户的设置,首选项和配置信息.


Jus*_*ner 6

解决方案可以有很多项目.

解决方案还可以处理其不同项目之间的依赖关系......确保每个项目都按照适当的顺序构建,以使最终的解决方案能够工作.


Dav*_*vid 5

项目包含组成应用程序或应用程序组件的可执行文件和库文件。

解决方案是组成应用程序的逻辑相关项目的占位符。例如,您可以为应用程序的 GUI、数据库访问层等创建单独的项目。这些项目将是程序功能的特定部门,而解决方案将是将所有这些项目统一到一个应用程序下的总括。