ASP.NET 5模板在首次运行时崩溃

时间:2016-03-25 01:18:59

标签: c# asp.net-web-api asp.net-core

我在VS 2015开始一个新项目。

档案 - >新 - >项目 - > ASP.NET Web应用程序 - > ASP.NET 5模板 - > Web API

项目已初始化。我认为如果我使用IIS Express运行该项目,则可以使用该服务。

它贯穿启动方法。

    public class Startup
{
    public Startup(IHostingEnvironment env)
    {
        // Set up configuration sources.
        var builder = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json")
            .AddEnvironmentVariables();
        Configuration = builder.Build();
    }

    public IConfigurationRoot Configuration { get; set; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        // Add framework services.
        services.AddMvc();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        loggerFactory.AddConsole(Configuration.GetSection("Logging"));
        loggerFactory.AddDebug();

        app.UseIISPlatformHandler();

        app.UseStaticFiles();

        app.UseMvc();
    }

    // Entry point for the application.
    public static void Main(string[] args) => 
        WebApplication.Run<Startup>(args);
}

}

然后它崩溃了。我不知道如何实现全局错误处理。

我看了this example

但是当我尝试使用System.Net.Http或System.Web.Http.ExceptionHandling时,它们无法找到。

我还注意到,通过intellisense它说Core 5.0不可用。

这是我的project.json请求。

{  
   "version":"1.0.0-*",
   "compilationOptions":{  
      "emitEntryPoint":true
   },
   "dependencies":{  
      "Microsoft.AspNet.IISPlatformHandler":"1.0.0-rc1-final",
      "Microsoft.AspNet.Mvc":"6.0.0-rc1-final",
      "Microsoft.AspNet.Server.Kestrel":"1.0.0-rc1-final",
      "Microsoft.AspNet.StaticFiles":"1.0.0-rc1-final",
      "Microsoft.Extensions.Configuration.FileProviderExtensions":"1.0.0-rc1-final",
      "Microsoft.Extensions.Configuration.Json":"1.0.0-rc1-final",
      "Microsoft.Extensions.Logging":"1.0.0-rc1-final",
      "Microsoft.Extensions.Logging.Console":"1.0.0-rc1-final",
      "Microsoft.Extensions.Logging.Debug":"1.0.0-rc1-final"
   },
   "commands":{  
      "web":"Microsoft.AspNet.Server.Kestrel"
   },
   "frameworks":{  
      "dnx451":{  
         "frameworkAssemblies":{  
            "System.Web":"4.0.0.0"
         }
      },
      "dnxcore50":{  

      }
   },
   "exclude":[  
      "wwwroot",
      "node_modules"
   ],
   "publishExclude":[  
      "**.user",
      "**.vspscc"
   ]
}

3 个答案:

答案 0 :(得分:0)

尝试打开Visual Studio管理员模式

答案 1 :(得分:0)

我想这取决于什么是崩溃 - 它从你的描述中不清楚什么是崩溃,什么时候崩溃以及它是如何崩溃的。

您可以使用UseExceptionHandlerUseDeveloperExceptionPage扩展方法配置错误处理页面。这个article更详细地描述了它。 如果在启动期间发生异常,您可能需要使用UseCaptureStartupErrors扩展方法(最近renamedCaptureStartupErrors)。 此外,您已经启用了日志记录 - 日志也可能包含一些有用的信息。如果由于您登录到控制台而无法查看日志,请考虑记录到文件。

如果这是IIS / IISExpress崩溃检查事件日志。

答案 2 :(得分:0)

您的运行时版本是什么?

也许您可以尝试使用AspNet Yeoman generator来构建应用程序并比较文件。 我个人更喜欢使用脚手架,因为它通常是最新的。

希望这有帮助!