7

我按照这些说明在我们的 Intranet 上托管了 NuGet 服务器(版本 2.2.2)。就列出包并在 VS 2012 中检索它们而言,它非常有用。但是当我使用 Nuget 包资源管理器创建包并尝试发布它时,我会收到一个提示输入凭据的 Windows 安全对话框。无论我输入什么凭据,它都会不断重新提示我输入用户名和密码,并返回 401 身份验证错误。为什么 NuGet 服务器提示我输入 Windows 凭据,我该如何摆脱它?它仅用于发布而不是其他任何东西。

4

4 回答 4

4

除了 Packages 文件夹的权限配置之外,还有一件事。在我的情况下,我必须使用类似的 URL

http://<server>/<nuget_virtual_dir>/api/v2/package/ 

用于推动。在我的情况下,这是唯一的解决方案。

于 2013-12-18T04:26:45.327 回答
2

当您使用 NuGet 推送时,您需要将 /api/v2/package 放在 NuGet 服务器 URL 之后(例如http://myhost/myNuGetServer/api/v2/package

如果您使用 NuGet 用户界面(NuGet 包资源管理器),您只需要放置服务器 url 而不是 URL(例如http://myhost/myNuGetServer/

还要注意 Web.config 中的 apikey 配置并在 NuGet 推送中使用它!

于 2015-03-27T15:07:20.490 回答
1

我认为找到了解决方案(至少解决了我的问题):

我放弃了 Nuget 问题,并专注于 ISS 401 错误。然后,我将权限授予用户“IIS AppPool\DefaultAppPool”到应用程序的根目录(或使用该应用程序的 AppPool,在我的情况下为“ASP.NET v4.0”)。然后它就像魅力一样工作!

更多信息(以及关于问题的良好解释):IIS7 401 错误中的 ApplicationPoolIdentity

于 2013-02-08T10:23:09.643 回答
0

您可能会发现此 SO 答案很有帮助,因为它涵盖了如何在发布工作站(或构建服务器,但在任何一种情况下都是准确的信息)上配置凭据。

于 2013-12-19T01:01:20.463 回答