我正在尝试在新的构建服务器(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按预期工作。
非常感谢您解决此问题的任何帮助。
谢谢。
答案 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" />