我在内联网上关注了这些instructions to host a NuGet Server(版本2.2.2)。它在列出包并在VS 2012中检索它时效果很好。但是当我使用Nuget Package Explorer创建一个包并尝试发布它时,系统会提示我提示输入凭据的Windows安全性对话框。无论我输入什么凭据,它都会重新提示我输入用户名和密码,并返回401身份验证错误。为什么NuGet服务器会提示我输入Windows凭据?如何摆脱它?它只用于发布而不是其他任何内容。
答案 0 :(得分:4)
除了Packages文件夹的权限配置之外,还有一件事。在我的情况下,我必须使用像
这样的URLhttp://<server>/<nuget_virtual_dir>/api/v2/package/
推动。这是我案件中唯一的解决方案。
答案 1 :(得分:2)
使用NuGet push时,需要在NuGet服务器URL之后放置/ api / v2 / package(例如http://myhost/myNuGetServer/api/v2/package)
如果您使用NuGet用户界面(NuGet包资源管理器),您只需要放置服务器URL而不是URL(示例http://myhost/myNuGetServer/)
还要注意Web.config中的apikey配置,并在NuGet push中使用它!
答案 2 :(得分:1)
我认为找到了一个解决方案(至少对我的问题而言):
我放弃了Nuget问题,我专注于ISS 401错误。然后我将用户“IIS AppPool \ DefaultAppPool”的权限授予应用程序的根目录(或使用该应用程序的AppPool,在我的情况下为“ASP.NET v4.0”)。然后它像魅力一样工作!。
更多信息(以及对此问题的详细解释):ApplicationPoolIdentity in IIS7 401 errors
答案 3 :(得分:0)
您可能会发现this SO answer有用,因为它涵盖了如何在发布工作站(或构建服务器)上配置凭据,但在任何一种情况下都是准确的信息。)