NuGet.Server仅在发布到IIS

时间:2015-07-07 00:50:55

标签: asp.net authentication nuget-server

我正在尝试设置本地托管的NuGet服务器来托管软件包。我正在使用NuGet.Server,我按照此处的说明进行操作:http://docs.nuget.org/create/hosting-your-own-nuget-feeds#user-content-creating-remote-feeds。它们有效地归结为,"创建一个空的Web应用程序项目,安装Nuget.Server,然后运行/发布。"

当我通过Visual Studio运行应用程序时,我在推送新软件包时没有问题:

C:\dev>nuget push .\Test.0.1.nupkg -s http://localhost:50794/ simple
Pushing Test 0.1 to 'http://localhost:50794/'...
Your package was pushed.

但是,一旦我将其发布到我的本地IIS,我就会开始收到提示输入用户名和密码的信息:

C:\dev>nuget push .\Test.0.1.nupkg -s http://localhost/nuget simple
Pushing Test 0.1 to 'http://localhost/nuget'...
Please provide credentials for: http://localhost/nuget/
UserName:

我没有像应用程序前面的代理那样奇怪的事情;它只是作为我本地计算机上的IIS中的普通Web应用程序运行。在发布时,我使用一个简单的Web部署发布,将服务器指定为localhost,将站点名称指定为默认网站\ Nuget,以及目标URL(尽可能接近我只能在浏览器中成功打开该URL)本地主机/的NuGet。

服务器肯定正常运行:

NuGet Server Homepage

我尝试过的事情没有变化:

  • 禁用API密钥要求
  • 使用Visual Studio中的发布配置来匹配发布
  • 删除调试和发布特定的Web.Config文件(无论如何都是相同的)
  • 向存储包的目录上的所有用户授予更多权限(我没想到就是这样,但我还是试过了)

我也找到this,但我对此感到困惑。我没有创建任何用户,当它说它向匿名用户授予角色时,我不知道它意味着什么。 (这可能只是我的经验不足。)据我所知,没有配置身份验证。

请注意,我已经看过this question。我考虑过这是否重复,但该帖中的细节是粗略的。在我看来,它可能是同样的问题,但我并不想对它做出足够的假设,开始尝试将这个细节水平编辑到问题中。我相信这会过多地改变帖子的含义;鉴于我想呈现的细节有所不同,我不相信这是重复的。

1 个答案:

答案 0 :(得分:0)

检查您的应用程序池 - 它可能设置为使用NetworkIdentity而您希望它使用ApplicationIdentity吗?

相关问题