【问题标题】:NuGet.Server Dependency ReferenceNuGet.Server 依赖项参考
【发布时间】:2016-08-28 13:19:08
【问题描述】:

我正在尝试让一个 自托管 NuGet 服务器正常工作,其想法是保留小型库以在多个项目中使用。

我正在使用 NuGet.Server (https://www.nuget.org/packages/NuGet.Server/https://docs.nuget.org/create/hosting-your-own-nuget-feeds) 来执行此操作,它似乎可以正常工作。

我遇到的问题是,当我尝试将包添加到项目中时(在 Visual Studio 中将 URL 添加到包源之后),它尝试添加包,但依赖项失败(例如 System.Linq )。它尝试从我的托管源而不是从 nuget.org 获取依赖项。

有没有办法让它使用 nuget.org,或者至少查看其他来源的依赖关系?

我尝试将包源设置为“全部”,但仍然遇到同样的问题。我也试过通过包管理控制台安装。

【问题讨论】:

  • 如何将依赖项添加到您的 nuget 包中? nuget.org 源是否仍列在您的 nuget 源中?

标签: .net visual-studio nuget nuget-server


【解决方案1】:

您需要在创建包时安装依赖项。我执行以下步骤,它成功地从我自己的 NuGet 服务器安装了包及其对我的项目的依赖项。

  1. 创建一个项目。
  2. 通过包管理器在您的项目中安装依赖包。
  3. 通过 nuget.exe 使用命令“nuget spec”为您的包创建规范文件。
  4. 使用命令“nuget pack YourProject.csproj”打包您的项目。
  5. 将此包上传到您的 NuGet 服务器,然后您可以通过包管理器从您添加的包源中安装它。

使用nuget.exe打包的详细步骤,可以参考:https://docs.nuget.org/create/creating-and-publishing-a-package

您还可以使用 NuGet 包资源管理器更轻松地分配依赖项。 http://www.marcusoft.net/2011/09/creating-local-nuget-repository-with.html

【讨论】:

  • 谢谢你的回复,我试试看。
  • 谢谢。我按照您的步骤操作,但仍然遇到相同的错误。我确实从包管理控制台的 nuspec 文件中看到了我的名字和标签等,所以我知道包是用它构建的。我收到的错误消息是Package 'Igs.Core.1.0.0 : System.Linq [4.1.0, ), System.Linq.Queryable [4.0.1, )' is not found on source 'http://p.abmt.co.uk/NuGet/nuget'.
  • 我建议您提供有关如何创建包以及在包上安装了哪些特定依赖项的详细步骤。我会在我这边尝试您的操作以重现您的问题。
  • 嗨@Wendy 我创建了几个项目来测试这个。第一个工作没有问题,我按照您的步骤,将其添加到服务器并添加到项目中(有参考,我以 Newtonsoft 为例)。然后我再次尝试使用 .Net Core 项目,这似乎是我的问题所在。我构建了包(使用dotnet pack),上传了它,我得到了错误:Package 'Test.Core.1.0.0 : Newtonsoft.Json [9.0.1, )' is not found on source 'http://server.name.com/NuGet/nuget'.。你知道是否有什么不同的事情需要完成吗?
  • 我有这个确切的问题。我正在创建一个引用 EntityFramework 的 nuget,并将其推送到在我的机器上运行在 mylocalnuget 的本地 Nuget 服务器。它说在源“mylocalnuget/nuget”上找不到包“ClassLibrary1.1.0.0:EntityFramework [6.2.0, )”。你能解决这个问题吗?在 Visual Studio 2017 15.3 之前,用于打包和推送的代码库和命令对我来说完全相同。自更新 15.4 以来一直在发生这种情况。
猜你喜欢
  • 1970-01-01
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多