Nuget.Server 可以列出软件包,但在安装软件包时出现 404
Nuget.Server can list packages but 404's on package install
所以我在我们网络上的一台机器上有一个 ASP.Net Nuget 服务器 运行ning。我正在使用 .Net 4.6 和 Nuget.Server 版本 2.11.2.0 和 IIS 8。
这连接到我们的自动构建系统,因此在成功构建后,包会自动创建并复制到 ~/Packages 目录,当我在浏览器中访问服务器 URL 时,我可以看到初始页面并单击包 link 以查看可用的包 XML 页面。如果我将包 URL 放入 Visual Studio 中的 Nuget 设置中,那么它会列出可用的包,但当我点击 'Install' 时会显示 404,请参见下图。
请注意,当我尝试使用服务器初始页面上的命令推送包时,它也会出现 404。
我试过使用 curl 查看路由是否实际可用,我从 api/v2/package 和 nuget/package 得到了 404。 IIS 日志在 http:///api/v2/package//etc 上显示 404... 所以我想我至少会检查该路由是否可用,但它似乎不是。我不明白为什么会这样。
我已经尝试过的东西;
- nupkg Mime 类型在 IIS 中设置为 application/zip
- IIS 应用程序池模式设置为集成
- aspnet_isapi.dll 存在于 .NET 4.5 的两个 Framework64/Framework 文件夹中
runAllManagedModulesForAllRequests
在 Web.config 中设置为 false
我的问题基本上围绕着几件事;
- 是否有我可能尚未打开的服务器使用的任何内部端口? (即我已经打开了默认 Nuget.Server 端口的 51702 端口,但我假设 http 请求将 运行 在端口 80 或 443 上)
- 除了我已经尝试过的事情之外,还有其他人遇到过类似的问题吗?
现在可以使用了;我不完全确定是什么修复了它,因为我一次做了一些更改。最为显着地;
- 我从 .NET 4.5 升级到 4.6 并相应地更新了 Nuget.Server,我认为这会将路由从
server/nuget/package/{package-id}/{version}
更改为 server/api/v2/package/{package-id}/{version}
- 我在 Web.config
中将 runAllManagedModulesForAllRequests
更改为 true
所以我在我们网络上的一台机器上有一个 ASP.Net Nuget 服务器 运行ning。我正在使用 .Net 4.6 和 Nuget.Server 版本 2.11.2.0 和 IIS 8。
这连接到我们的自动构建系统,因此在成功构建后,包会自动创建并复制到 ~/Packages 目录,当我在浏览器中访问服务器 URL 时,我可以看到初始页面并单击包 link 以查看可用的包 XML 页面。如果我将包 URL 放入 Visual Studio 中的 Nuget 设置中,那么它会列出可用的包,但当我点击 'Install' 时会显示 404,请参见下图。
请注意,当我尝试使用服务器初始页面上的命令推送包时,它也会出现 404。
我试过使用 curl 查看路由是否实际可用,我从 api/v2/package 和 nuget/package 得到了 404。 IIS 日志在 http:///api/v2/package//etc 上显示 404... 所以我想我至少会检查该路由是否可用,但它似乎不是。我不明白为什么会这样。
我已经尝试过的东西;
- nupkg Mime 类型在 IIS 中设置为 application/zip
- IIS 应用程序池模式设置为集成
- aspnet_isapi.dll 存在于 .NET 4.5 的两个 Framework64/Framework 文件夹中
runAllManagedModulesForAllRequests
在 Web.config 中设置为
false
我的问题基本上围绕着几件事;
- 是否有我可能尚未打开的服务器使用的任何内部端口? (即我已经打开了默认 Nuget.Server 端口的 51702 端口,但我假设 http 请求将 运行 在端口 80 或 443 上)
- 除了我已经尝试过的事情之外,还有其他人遇到过类似的问题吗?
现在可以使用了;我不完全确定是什么修复了它,因为我一次做了一些更改。最为显着地;
- 我从 .NET 4.5 升级到 4.6 并相应地更新了 Nuget.Server,我认为这会将路由从
server/nuget/package/{package-id}/{version}
更改为server/api/v2/package/{package-id}/{version}
- 我在 Web.config 中将
runAllManagedModulesForAllRequests
更改为 true