2015 年 Visual Studio 的项目地点

Project Locations in Visual Studio 2015

我有一个 ASP.NET 核心应用程序,它将使用一些 class 库项目,例如域、存储库等

这些 class 库也将在另一个作为工作者角色运行的云应用程序中使用,这就是为什么我想将它们分开并且它们的开发应该遵循自己的过程而不一定依赖于 ASP.NET 核心应用。

话虽如此,ASP.NET 核心项目应该知道对 class 库项目所做的任何更改,这就是为什么我想 link 它们成为解决方案的原因ASP.NET 项目。

构建这些项目文件夹的最佳方式是什么?目前我的文件夹结构如下:

我的项目文件夹

--- MyAspNetCoreProject(有自己的解决方案)

--- MyBackendProject(有自己的解决方案,其中包含以下项目)

----- 领域项目

----- RepositoriesProject

当我尝试 "Add Existing Project" 到 link 我的后端项目到我的 ASP.NET 核心项目时,我收到以下消息:

The project that you are attempting to add to source control may cause other source control users to have difficulty opening this solution or getting newer versions of it. To avoid this problem, add the project from a location below the binding root of the other source controlled projects in the solution.

您需要将引用的项目移动到同一解决方案下。如果您确实想要单独的解决方案,则不能 link 作为项目——在 .NET Core 之前,您可以 link 程序集。

在其他解决方案下尝试 link 项目的一个问题是其他用户可能没有所有必要解决方案的副本,并且可能安装在与其他用户不同的位置。该解决方案需要跟踪程序集的构建位置。

如果您将库构建为 NuGet 包,那么 link引用该参考就很容易了。

您的选择变为

  • 将所有项目移到同一个解决方案下
  • 保留单独的解决方案并将您的库发布为(私有)NuGet 包