【问题标题】:Project Locations in Visual Studio 2015Visual Studio 2015 中的项目位置
【发布时间】:2017-03-19 10:29:02
【问题描述】:

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

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

话虽如此,ASP.NET Core 项目应该知道对类库项目所做的任何更改,这就是为什么我要将它们链接到 ASP.NET 项目的解决方案。

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

我的项目文件夹

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

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

----- 领域项目

----- 存储库项目

当我尝试“添加现有项目”以将我的后端项目链接到我的 ASP.NET Core 项目时,我收到以下消息:

您尝试添加到源代码管理的项目可能会导致 其他源代码管理用户难以打开此解决方案或 获得它的更新版本。为避免此问题,请添加项目 从另一个受控源的绑定根下方的位置 解决方案中的项目。

【问题讨论】:

    标签: visual-studio visual-studio-2015 asp.net-core class-library


    【解决方案1】:

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

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

    如果您将库构建为 NuGet 包,则链接引用很容易。

    你的选择变成了

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

    【讨论】:

    • 感谢您的回复。我认为最好的策略是将库项目保留在大多数时间将被编辑/开发的解决方案下——在我的情况下,在 ASP.NET Core 解决方案下。然后与将使用它们的其他项目(即云工作者角色项目)共享 NuGet 包。
    猜你喜欢
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多