为什么以及何时应该使用.sln文件?

Jer*_*myF 3 c# solution

我知道解决方案文件包含一组其他项目,但是为什么我要在一个文件中包含一组项目?我工作的公司经常使用此工具,但我不知道为什么。

我注意到的另一件事是,您可以运行.sln文件,但是执行该文件时会发生什么?它只是做什么?

因此,我的主要问题是,为什么要在一个.sln文件中存储多个项目,而不是将所有工作简单地存储在一个项目中?

nem*_*nem 5

您可能在一个解决方案中需要多个项目的原因:

  • 不同的项目可以具有不同的依赖性(解决方案中对其他项目的依赖性,或者通常对第三方dll的依赖性)。
  • 不同的项目可以是不同的类型-控制台应用程序,dll,Web服务等。
  • 不同的项目可以具有不同的前/后构建步骤
  • 您的某些项目甚至可能无法在C#中实现。您也可以在同一解决方案中拥有c ++,VB.net等项目。
  • 不同的项目可能是各个其他团队重复使用的组件。
  • 许多其他原因

因此,能够将多个项目组合在一起是有意义的,这样您就可以打开整个组,单击“编译”以按照适当的顺序编译所有项目(这很重要,例如,如果您的一个项目构建一个其他项目需要作为依赖项的dll),然后启动您指定的任何一个。

打开解决方案时,便完成了所有工作:在单个Visual Studio窗口中打开解决方案中包含的每个项目,以及有关如何编译解决方案的元数据,单击“运行”时应启动哪个项目,等等。


Ice*_*ind 5

关键是因为,当您编写越来越复杂的应用程序时,您会发现这些复杂的应用程序需要分解成多个部分。例如,您可能有一个访问数据库的应用程序。数据库项目可能是单独的。原因是您可能想将此数据库与其他应用程序一起使用。如果数据层 api 没有分离,你就无法做到这一点。

拥有多个项目有多种原因。以下是一些:

  1. 代码可重用性。您可能已经设计了一些代码,希望将其打包到库中并在将来与其他程序一起重用。

  2. 简单。有时,在创建复杂的应用程序时,您会希望将事物分成多个部分进行构建,以便应用程序作为一个整体更易于调试。

  3. 冲突的语言。假设您的应用程序是用 C# 编写的,但您想要使用 VB.NET 库中包含的一些代码。由于项目不能混合 C# 和 VB.NET 代码,因此您的解决方案是在同一解决方案中创建不同的项目。