使用ASP.NET 5 beta7在IIS Express中的appDomainCreationException

时间:2015-09-06 16:36:59

标签: asp.net-core iis-express asp.net-core-mvc

将我的应用更新为beta7后,我无法使用浏览器中的任一视图或在调试器中运行它来从IIS Express运行它,它在浏览器中显示此异常,但不会在任何异常中中断我的代码使用调试器:

[例外:意外的应用程序失败。状态代码' -2147024894'。]    System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags,PolicyLevel policyLevel,Exception appDomainCreationException)+361

[HttpException (0x80004005): Unexpected application failure. Status code '-2147024894'.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +579
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +120
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +712

我能够从命令行使用dnx web运行它,没有错误。 我尝试使用vs模板的新Web应用程序,并且在IIS Express中运行正常,因此它必须是关于我的应用程序的特定内容但我不知道是什么,因为它在运行时不会破坏我的代码中的任何错误在调试器中。

任何人都知道在我的应用或配置中检查这个或什么样的东西可以解决它?

请注意,dnvm列表将我的默认运行时显示为beta7 coreclr x64,这也是我在Web应用程序属性和global.json中设置为特定运行时的内容

1 个答案:

答案 0 :(得分:0)

经过多次调试后,我发现问题是因为它并没有真正用beta7启动应用程序,它确实使用了beta6运行时,即使项目,我的个人资料和global.json都配置为使用beta7。

之所以这样做是因为我的wwwroot文件夹中有一个带有以下appSettings的Web.config文件:

<appSettings>
    <add key="bootstrapper-version" value="1.0.0-beta6" />
    <add key="dnx-version" value="1.0.0-beta6" />
    <add key="dnx-clr" value="coreclr" />
  </appSettings>

将这些更新到beta7后,它现在可以在IIS中运行。

它从命令行运行的原因是因为web.config仅由IIS使用