完全免责声明:java家伙,尝试使用.Net帽子......
我已经详细介绍了如何设置NuGet服务器,看起来它大部分都在工作。我明白了这个页面:
You are running NuGet.Server v1.8.30423.9026
Click here to view your packages.
然而,当我点击链接时,我得到了404. .nupkg mime类型已添加到IIS中,所以我看不出还有什么我可能做错了。我已经将NLog添加到项目中并将日志记录添加到Routes.cs类中,并且两个日志语句都显示出来了:
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public static void Start() {
Logger.Info("Start called in CompanyNameHereNuget");
MapRoutes(RouteTable.Routes);
}
private static void MapRoutes(RouteCollection routes) {
Logger.Info("MapRoutes called in CompanyNameHereNuget");
// The default route is http://{root}/nuget/Packages
var factory = new DataServiceHostFactory();
var serviceRoute = new ServiceRoute("nuget", factory, typeof(Packages));
serviceRoute.Defaults = new RouteValueDictionary { { "serviceType", "odata" } };
serviceRoute.Constraints = new RouteValueDictionary { { "serviceType", "odata" } };
routes.Add("nuget", serviceRoute);
}
private static PackageService CreatePackageService() {
return NinjectBootstrapper.Kernel.Get<PackageService>();
}
我应该看一些其他日志文件吗?我查看了文件夹:C:\inetpub\logs
,其中没有任何日志文件都有最近的时间戳。或者我可能在设置中遗漏了一些明显的东西?
答案 0 :(得分:3)
我实际上在研究为什么Elmah没有记录任何东西并找到了这个帖子:
http://forums.asp.net/t/1800305.aspx/1
这个建议:
您使用的是经典或集成的应用程序池吗?检查它是否经典。 如果是,那么你的httpmodules和httphandlers将不会被设置,因为 这是一个综合定义而不是经典定义。
更改服务器上的设置(从经典到交互式)后,瞧,它有效!