Nuget Push throw 404错误“远程服务器返回错误:(404)Not Found ..”

时间:2017-04-28 11:44:36

标签: .net iis nuget iis-8 nuget-server

我正在尝试在新的构建服务器(Windows Server 2012 Standard)中设置Nuget。我已将其设置为IIS(V 8.5)中的网站。

像Get-Package和Install-Package这样的Nuget命令工作正常,但nuget push throw 404资源未找到。 web.config的一部分,添加了ExtensionlessUrlHandler-Integrated-4.0,其中包含动词“GET,HEAD,POST,PUT,DEBUG”。

我在本地计算机(Windows 7,IIS 7.5)中做了同样的事情,nuget push按预期工作。

非常感谢您解决此问题的任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

我们正在为应用程序池使用经典模式。即使我们有动词=“*”,我也得到了404。我们必须进入并专门允许应用程序的PUT请求。 web.config在<中修改了。处理程序>在< system.webServer>部分包含以下内容:

<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />  

<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />  

作为参考,以下是我们更换的内容(默认值)仍然给出404错误:

<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />