【发布时间】:2020-05-14 06:52:00
【问题描述】:
我有多个 .net 核心项目。我的项目结构是多个独立的库项目,每个项目都有不同的 nuget 包引用,并且一个主 Web 项目引用了这些库项目。
我的问题是在我的主要 Web 项目中,我必须再次提供相同的 nuget 引用。如果我没有给出 nuget 引用,我会收到错误消息。有什么办法可以只引用库而不是 web 项目中的 nuget 包引用?无论如何只是添加库应该自动导入nuget引用? 如何避免在主项目中添加相同的 nuget 引用?
================================================ ================ 我认为我的上述问题并不清楚让我举个例子
-
解决方案1
LibProject1 ->Nuget1 参考 ->Nuget2 参考
LibProject2 ->Nuget3 参考 -
解决方案2
->Lib1项目参考
->Lib2项目参考
在此结构中,Solution2 项目出现运行时错误,因为它缺少 nuget 库。我必须在我的库解决方案中已经给出的解决方案 2 中明确给出相同的 Nuget 引用。如何避免在我的解决方案2 中再次提供参考。它应该自动将所有引用的库从 lib1 和 lib2 获取到我的解决方案 2。
【问题讨论】:
-
实际上处理nuget更容易,如果您有多个使用同一个库的项目,只需将其添加到两者中即可。 Nuget 足够聪明,只需下载一次库并为您处理项目引用。无论如何,你都需要你的两个项目都引用这个库,否则它不会编译。
-
Visual Studio 中有什么选项可以解决这个问题吗?
-
右键单击您的项目,“管理 nuget 包”。您将看到已安装的 nuget。您可以升级和降级他们的版本、删除、搜索 Nuget 库等。
-
如果您右键单击您的解决方案图标,您将看到为您的整个解决方案管理包的选项。您将获得项目列表以及其中的所有 nuget 包。如果您想确保所有项目都具有相同的库版本,这真的很有帮助
-
这仅在基于 .NET Core SDK 的项目中受支持。如果您的项目仍采用旧格式,那么您所观察到的是设计使然。
标签: .net visual-studio .net-core reference nuget