NuGet - 安装单个软件包报告“远程服务器返回错误:(404)Not Found。”

时间:2011-09-13 20:07:41

标签: nuget nuget-package nuget-server

当使用本地NuGet服务器时,每当我尝试从该服务器安装单个软件包时,我得到的就是这个错误:“远程服务器返回错误:(404)找不到。“

enter image description here

文件系统中的软件包都存在,并且feed本身可以正确地查看所有软件包。 我甚至可以直接浏览包裹!

我错过了什么?

我刚从NuGet服务器1.4升级到1.5,但我之前见过这种情况。触摸用于帮助的包文件,但现在看来并非如此。

编辑:实际上,之前我没有看到过那个确切的错误...我已经间歇地看到了this one,触摸包裹时往往会修复。

7 个答案:

答案 0 :(得分:4)

在Windows Server 2008上,我遇到了同样的问题。我将应用程序池从“ASP.NET v4.0 Classic”切换到“ASP.NET v4.0”。更改后,install-package命令工作正常。

答案 1 :(得分:3)

...叹息

http://blogs.thesitedoctor.co.uk/tim/2011/09/02/Nuget+Server+On+IIS6+Returns+404+When+Downloading+Package+After+Upgrade.aspx

编辑:如果链接死了......我在IIS6中托管我的NuGet服务器,而IIS6没有设置为正确处理无扩展名的URL。由于下载单个包的语义从直接文件链接变为无扩展路由,我开始获得404s。添加文章中描述的通配符映射会立即修复它。

答案 2 :(得分:3)

我一直在想这个问题几个小时......

检查了IIS日志,发现URLScan阻止了该路由:

GET /Rejected-By-UrlScan ~/api/v2/package/

URLScan不接受任何不以' /'开头的路线。我能做的最好的事情是从IIS管理器中的网站的ISAPI筛选器列表中删除URLScan。

答案 3 :(得分:2)

我在Windows Server 2008上遇到了同样的问题。 问题出在我自己的包MyPackage.nupkg中,我没有版本保存。 MyPackage在PackageManager中可见,但安装时出现404错误。

修正: 我用名字MyPackage.1.0.0.nupkg(1.0.0是当前版本)保存它,问题得到解决。

答案 4 :(得分:0)

我有同样的问题,srv 2008 R2。将应用程序池更改为Integrated from Classic,现在一切正常。

我的问题和上面的图片一样。我可以在网址上访问该网站

http://localhost:3407/nuget/Packages 但不是 http://localhost:3407/api/v2/package/ {package name} /1.0.0.0

答案 5 :(得分:0)

我在更新Nuget后尝试下载Signal-R时遇到此错误,但是我只是在包管理器设置中没有选中“允许Nuget在构建期间下载丢失的包”选项。一旦那样,那一切都恢复正常。

答案 6 :(得分:0)

也可能是这样 -

您正在尝试引用类似:http://yourdomain/application/nuget/packages

的网址

然后你应该把它改成: http://yourdomain/application/nuget

这是一个常见的错误。