3

完全免责声明: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那里的任何日志文件都没有最近的时间戳。或者,也许我在设置中遗漏了一些明显的东西?

4

1 回答 1

3

我实际上正在研究为什么 Elmah 没有记录任何内容并发现了这个线程:

http://forums.asp.net/t/1800305.aspx/1

而这个建议:

您使用的是经典应用程序池还是集成应用程序池?看看是不是经典。如果是这样,则不会设置您的 httpmodules 和 httphandlers,因为这是一个集成定义而不是经典定义。

更改服务器上的设置(从经典到交互式)后,瞧,它起作用了!

于 2012-05-30T20:08:34.117 回答