首页 > 其他 > 详细

Nuget server on IIS6 returns 404

时间:2014-01-24 10:02:42      阅读:578      评论:0      收藏:0      [点我收藏+]

Nuget server on IIS6 returns 404 when downloading package after upgrade

2011年9月2日 8:03:30 (GMT Daylight Time, UTC+01:00)

bubuko.com,布布扣We updated our nuget server today and ran into a problem where regardless of package selected or whether it‘s through the nuget package manager or the nuget package explorer, the server returns 404 (File Not Found).

bubuko.com,布布扣

What was odd about this was that the packages exist and the feed was valid:

bubuko.com,布布扣

There are a couple of comments about this online e.g.: Codeplex Discussion 246387 but nothing helped.  It took a while to work out that it was caused by a slight change to the way the nuget server makes it‘s calls. Comparing the IIS logs between the old and new version of nuget server, the previous version of nuget server would redirect the user directly to the nupkg file:

2011-04-21 08:47:46 W3SVC1759424837 192.168.1.1 GET /Packages/TheSiteDoctor.2.0.235.68.nupkg - 80 - 192.168.1.2 Package-Installer/1.2.20325.9034+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1) 200 0 0

On the new one however, it passes the various requests through a new MVC route "download":

2011-09-01 11:31:16 W3SVC1759424837 192.168.1.1 GET /download/TheSiteDoctor/2.0.235.68 - 80 - 192.168.1.2 Package-Installer/1.2.20325.9034+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1) 404 0 3

This is fine if your nuget server is running on IIS7, it will "just work". However if you‘re running IIS6 you‘ll need to make one additional change which is mapping all request through the aspnet_isapi.dll (a wildcard mapping). This is easy enough:

  1. 1. Open the site‘s properties in IIS6
  2. 2. Navigate to the "Home Directory" tab
  3. 3. Click the "Configuration" button: 
    bubuko.com,布布扣
  4. This will then open the "Application Configuration" window: 
    bubuko.com,布布扣
  5. Now you‘ll need to add the aspnet_isapi.dll mapping, the path of this will depend on the whether you‘re running Windox 64bit or not: 
    32bit Framework: c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll 
    64bit Framework: c:\windows\microsoft.net\framework64\v4.0.30319\aspnet_isapi.dll 
    Make sure you uncheck the "Verify that file exists" checkbox 
    bubuko.com,布布扣

Et voila your packages should all be working again.

Leave a comment if you need any additional help or it helped you.

Nuget server on IIS6 returns 404

原文:http://www.cnblogs.com/zqmingok/p/3531849.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!