我理解解决方案文件包含一组其他项目,但为什么我想要在一个文件中包含一组项目?我工作的公司经常使用这个,但我不明白为什么。
我注意到的另一件事是你可以运行.sln文件,但文件执行时会发生什么?它刚刚做了什么?
所以我的主要问题是为什么在一个.sln文件中存储多个项目而不是仅仅在一个项目中完成所有工作?
答案 0 :(得分:4)
您可能希望在单个解决方案中使用多个项目的原因:
因此,能够将多个项目组合在一起是有意义的,这样您就可以打开整个组,点击编译以适当的顺序编译所有项目(这可能很重要,例如,其中一个您的项目构建一个另一个项目需要作为依赖项的DLL,然后启动您指定的任何项目。
当您打开解决方案时,它完成所有工作:在单个Visual Studio窗口中打开解决方案中包含的每个项目,以及有关如何编译解决方案的元数据,应在何时启动该项目你点击了Run等等。
答案 1 :(得分:4)
关键是因为,当您编写越来越复杂的应用程序时,您将看到这些复杂的应用程序需要分解成碎片。例如,您可能有一个访问数据库的应用程序。数据库项目可能是独立的。原因是因为您可能希望将此数据库与其他应用程序一起使用。如果数据层api不是分开的,则无法执行此操作。
有多个项目有多个原因。以下是一些:
代码可重用性。您可能已经设计了一些要打包到库中的代码,并在将来重用其他程序。
简单。有时,在创建复杂的应用程序时,您需要对各个部分进行构建,因此整个应用程序的调试更容易。
语言冲突。假设您的应用程序是用C#编写的,但您想使用VB.NET库中包含的一些代码。由于项目不能混合使用C#和VB.NET代码,因此您的解决方案是在同一解决方案中创建不同的项目。
答案 2 :(得分:1)
但为什么我要将一组项目放在一个文件中呢?
因为你不是一个爱好程序员,只是学习编程和编写像应用程序一样的hello world。
我的主项目有大约40个属于一个应用程序的项目。一个shell,多个powershell扩展,多个程序,多个安装程序。它们属于一体,共同构建 - 它们是一种解决方案。
我注意到的另一件事是你可以运行.sln文件,但文件发生了什么 正在执行?
MSBuild按照解决方案中的说明构建项目,还有什么?
答案 3 :(得分:1)
引用MSDN
的一些摘录Visual Studio提供了两个容器来帮助您高效管理 开发工作所需的项目,例如 引用,数据连接,文件夹和文件。这些容器是 称为解决方案和项目。您使用解决方案资源管理器查看和 管理项目和解决方案及其相关项目。
解决方案包含您创建自己需要的项目 应用。解决方案包括一个或多个项目,以及文件和 有助于定义整个解决方案的元数据。视觉工作室 在创建新项目时自动生成解决方案。 Visual Studio将解决方案的定义存储在两个文件中:.sln 和.suo。解决方案定义文件(.sln)存储元数据 定义您的解决方案,包括:
- 相关的项目 与解决方案。
- 与特定内容无关的项目 项目。
- 确定哪个项目的构建配置 要在每种类型的构建中应用的配置。
存储的元数据 构造解决方案并设置其属性时的.suo文件 用于在解决方案处于活动状态时自定义IDE。对于 例如,Solution Explorer显示a的Miscellaneous Files文件夹 解决方案,如果您启用该选项,以及适合的选项 解决方案中包含的项目类型可从中获得 工具箱。
答案 4 :(得分:0)
双击.sln(解决方案)文件时,它将在Visual Studio中打开该解决方案。
解决方案允许您在一个单一的解决方案中将项目组合在一起。
答案 5 :(得分:0)
在解决方案中将项目组合在一起更容易,因为无论何时打开解决方案,该项目运行所需的所有文件也将打开。
它还可以更轻松地创建一个解决方案'对于程序的一部分,然后将该解决方案添加到包含整个程序的主解决方案中。这样可以轻松划分代码,并了解哪些部分依赖于其他部分。
您之前使用什么方法来组织项目?
答案 6 :(得分:0)
这是一个具体的例子:
如果将一些逻辑从项目中拆分为可重用的库,那么这将是第二个项目(类库),如果它们包含在第一个项目中,则可以按名称引用它解。当您运行项目时,第二个项目将由visual studio自动重建。