我有一个 ASP.NET Core 应用程序,它将使用一些类库项目,例如域、存储库等。
这些类库还将在另一个作为 worker 角色运行的云应用程序中使用,这就是为什么我想将它们分开,并且它们的开发应该遵循自己的过程,而不一定依赖于 ASP.NET Core 应用程序。
话虽如此,ASP.NET Core 项目应该知道对类库项目所做的任何更改,这就是为什么我想将它们链接到 ASP.NET 项目的解决方案。
构建这些项目文件夹的最佳方式是什么?目前我的文件夹结构如下:
我的项目文件夹
--- MyAspNetCoreProject(有自己的解决方案)
--- MyBackendProject(有自己的解决方案,其中包含以下项目)
----- 领域项目
----- 存储库项目
当我尝试“添加现有项目”以将我的后端项目链接到我的 ASP.NET Core 项目时,我收到以下消息:
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.
最佳答案
您需要将引用的项目移动到同一解决方案下。如果您确实需要单独的解决方案,则不能将其链接为一个项目——在 .NET Core 之前,您可以改为链接程序集。
尝试在其他解决方案下链接项目的一个问题是其他用户可能没有所有必要解决方案的副本,并且可能安装在与其他用户不同的位置。该解决方案需要跟踪程序集的构建位置。
如果您将库构建为 NuGet 包,则链接引用很容易。
你的选择变成了
- 将所有项目移动到同一个解决方案下
- 保留单独的解决方案并将您的库发布为(私有(private))NuGet 包
关于visual-studio - Visual Studio 2015 中的项目位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40442144/