Nuget.Server可以在软件包安装

时间:2016-12-15 10:59:55

标签: c# asp.net iis iis-8 nuget-server

所以我在网络上的机器上运行了一个ASP.Net Nuget Server。我将.Net 4.6与Nuget.Server版本2.11.2.0和IIS 8一起使用。

这与我们的自动构建系统相连,因此在成功构建后自动创建包并将其复制到〜/ Packages目录,当我在浏览器中转到服务器URL时,我可以看到启动页面并单击包链接以查看可用包XML页面。如果我将包URL放入Visual Studio中的Nuget设置,那么它会列出可用的包,但是当我点击“安装”时会显示404,请参阅下图。

请注意,当我尝试使用服务器启动页面上的命令推送软件包时,它也是404。

我尝试使用curl来查看路由是否实际可用,我从api / v2 / package以及nuget / package获得404。 IIS日志在http:/// api / v2 / package //等上显示了404 ...所以我想我至少检查一下该路由是否可用,看起来它不是。我不明白为什么会这样。

list but fail install

我已经尝试过的事情;

  • nupkg Mime类型在IIS中设置为application / zip
  • IIS应用程序池模式设置为已集成
  • aspnet_isapi.dll存在于.NET 4.5的Framework64 / Framework文件夹中
  • runAllManagedModulesForAllRequests在Web.config
  • 中设置为false

我的问题基本上围绕着一些事情;

  • 是否有服务器使用的内部端口,我可能尚未打开? (即我打开了端口51702,这是默认的Nuget.Server端口,但我假设http请求将在端口80或443上运行)
  • 除了我已经尝试过的事情之外,还有其他人有过类似的问题吗?

1 个答案:

答案 0 :(得分:2)

现在正在运作;我不完全确定是什么修复它,因为我立刻做了一些改变。最为显着地;

  • 我从.NET 4.5升级到4.6并相应地更新了Nuget.Server,我认为这会改变从server/nuget/package/{package-id}/{version}server/api/v2/package/{package-id}/{version}的路由
  • 我在Web.config
  • 中将runAllManagedModulesForAllRequests更改为true