1

我们有一个私有 NuGet 服务器 (v2.6),它使用 HTTPS 和 Windows 身份验证,并在 IIS 7.5 上运行。我在连接到此服务器时遇到了一些问题。

通常,当我第一次启动管理 NuGet 包时,它会向我显示我们私人服务器上的包。下一次它很快显示“无法连接到指定的源...。请验证包源(位于包管理器设置中)是否有效并确保您的网络连接。”

如果我运行 Fiddler,似乎 NuGet 服务器正在发出大量 401(未授权),但不知何故,它第一次重试直到它正确为止。随后的尝试只尝试一次(标头中根本没有身份验证)然后放弃(因此快速显示上面的错误消息)。

我在工作电脑上和在家工作时遇到了同样的问题。

一种解决方法是重新启动 Visual Studio,它会再次开始工作。然而,这不是一个长期的解决方案。

4

1 回答 1

1

Windows 身份验证以这种方式使用 401 挑战,我猜您的 NuGet.Server 与客户端发回的协商标头存在问题。这可能是各种各样的事情,但通常与 IIS 由于其服务主体名称设置而无法验证您的凭据有关。

如果您正在设置自己的 NuGet 服务器,则可能需要考虑ProGet - 它是免费的,并且可以使用内置的 Web 服务器而不是 IIS,这可能会绕过其中一些身份验证挑战。

于 2013-08-06T21:37:41.717 回答