我正在尝试设置本地托管的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:
我没有任何奇怪的东西,比如在应用程序前面的代理;发布时,我使用一个简单的Web Deploy发布,将服务器指定为localhost,将站点名称指定为Default Web Site\Nuget,将目标URL(据我所知,成功时只会在浏览器中打开该URL)指定为localhost/nuget。
服务器肯定已启动并正常运行:
我尝试过的事情没有改变:
- 禁用API密钥要求
- 使用Visual Studio中的发布配置匹配发布
- 删除调试和发布特定的Web.Config文件(无论如何,它们是相同的)
- 在存储包的目录上向所有用户授予更多权限(我不认为这是正确的,但我还是尝试了)
我还发现了this,但我被它弄糊涂了。我没有创建任何用户,当它说它正在授予一个角色给匿名用户时,我不知道它是什么意思。(这可能只是我缺乏经验的表现。)据我所知,没有配置身份验证。
注意,我已经看过this question。我考虑过这是否是一个重复,但那篇文章中的细节很粗略。在我看来,这可能是同一个问题,但我不想对它做足够的假设,开始试图编辑这个级别的细节到问题中。我相信这会改变文章的意义太多;鉴于我想提出的细节如此不同,我不认为这是重复。
1条答案
按热度按时间njthzxwz1#
这个答案没有错。为什么stack继续在我知道有效的事情上给我把关,并像描述的那样解决问题,这是阻塞和浪费我的时间。我不能帮助stack(管理员|主持人)如果你不明白解决方案,我只能假设这是对女性开发人员的偏见。
检查您的应用程序池--有可能它被设置为使用NetworkIdentity,而您希望它使用ApplicationPoolIdentity?