【问题标题】:Hosting private nuget server issue托管私有 nuget 服务器问题
【发布时间】:2018-07-04 00:07:24
【问题描述】:

我已经设置了自己的 nuget 提要,并将其托管在我们的开发服务器上。

当我尝试将我的包从本地机器推送到开发机器时,如下所示:

dotnet nuget push C:\MyProjects\Common.2.0.0.nupkg -k myapi -s https://mydev.com/AENuget/

我得到的错误是:

Response status code does not indicate success: 405 (Method Not Allowed).

现在我已经阅读并尝试了许多设置,例如添加

<remove name="WebDAV" /> <remove name="WebDAVModule" />

授予我的 nuget 包文件夹权限,添加应用程序池帐户,但我仍然无法解决此问题。

其次,如果我只是将我的 nuget 包文件复制到我们的开发服务器中托管的包文件夹中,然后在 Visual Studio 中添加新的服务器源,我会收到以下错误,而不是推送:

[Package Source] The V2 feed at 'http://mydev.com/AENuget/Search()?$filter=IsLatestVersion&searchTerm=''&targetFramework=''&includePrerelease=false&$skip=0&$top=26&semVerLevel=2.0.0' returned an unexpected status code '404 Not Found'.

所以看起来 nuget 的推送和副本都不起作用。看起来像一些我无法解决的权限问题。 如果有人可以为此提供任何意见,将不胜感激。

仅供参考:如果我将它托管在本地计算机上,这会很好。

【问题讨论】:

  • 您在使用什么作为 NuGet 服务器(您自己的使用 NuGet.Server 的 asp.net 应用程序)?可以在服务器上上传一个包到服务器吗?
  • 我按照代码创建了一个 nuget 服务器,然后将其托管在我的开发服务器上。然后我使用 nuget 将另一个包推送到我收到上述错误的地方创建的 nuget 服务器。如果我在本地使用它,效果很好。
  • 现在进行一些更改后,它现在抛出错误:404 not found
  • 同样在我的 nuget 服务器站点上,当我单击“单击此处查看您的包”时,它也会抛出相同的错误,未找到
  • 你一直提到的一切似乎都表明你的服务器有问题。我会检查 nuget 服务器以确保一切正常。注意:如果设置太困难,请尝试在服务器上创建一个共享文件夹,并让所有机器指向该文件夹。

标签: nuget nuget-package nuget-package-restore nuget-server


【解决方案1】:

您遇到的问题似乎表明您遇到了 NuGet.Server 和系统本身的问题。这些可能是防火墙问题、托管配置 (IIS) 或各种各样的问题。

如果您在一个非常小的团队中,您可能只需在网络服务器上创建一个共享文件夹(对团队具有读/写访问权限)。您可以按照this article 将包源添加到 Visual Studio。源将是目录的 UNC 路径(例如 \\servername\path\to\nuget\folder)。

NuGet.Server 是微软和 NuGet 提供的一个包。这被广泛使用,所以我不相信你的包有问题。如果您遇到特定问题,我们可能会提供帮助。

【讨论】:

  • 感谢这个工作现在。理想情况下,我希望 nuget 服务器能够正常工作,但会注意这个问题。
  • 显然 NuGet.Server 解决方案要理想得多。当它们如此通用时,尝试和诊断问题有点困难。如果您有另一位工程师,您可以用另一双眼睛尝试并一起解决问题。
猜你喜欢
  • 2021-06-21
  • 2016-08-10
  • 1970-01-01
  • 1970-01-01
  • 2022-07-21
  • 2019-01-29
  • 2017-07-18
  • 2013-09-25
  • 2020-11-21
相关资源
最近更新 更多