部署到IIS的.netcore 2.1应用程序产生了错误

时间:2018-09-26 11:55:37

标签: xml iis .net-core iis-10

我使用Angular模板创建了一个新的ASP.NET Core 2.1 Web应用程序。

以调试和发布模式在本地成功运行。

创建了一个发布到文件系统的配置文件,它已成功发布到本地文件夹。

已安装:.NET Core 2.1 Runtime & Hosting Bundle for Windows 然后在IIS中,

  1. 创建了一个新的应用程序池-使用.net CLR =“没有托管代码”
  2. 然后在Default Web Site下创建一个新应用程序,该应用程序使用我创建的新应用程序池,并指向文件系统,并指向在VS 2017帮助下发布的已发布目录

当我Browse提出申请时,此消息会显示在浏览器中 enter image description here

因此我在web.config文件中将environmentVariable更改为“开发”以查看错误

 <aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout">
    <environmentVariables>
      <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
    </environmentVariables>
  </aspNetCore>

然后我看到错误 enter image description here

我不知道下一步该怎么做,我已经尝试在Stack-overflow和Google上寻找解决方案 herehere等。

当我在stdoutLogEnabled中将true设置为web.config时,我会在应用程序的日志中看到

  

托管环境:生产   内容根路径:C:\ prodSites \ beedeal   现在收听:http://127.0.0.1:26261   应用程序已启动。按Ctrl + C关闭。   警告:Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware 3         无法确定要重定向的https端口。   失败:Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware 1         执行请求时发生未处理的异常。   System.InvalidOperationException:SPA默认页面中间件无法返回默认页面'/index.html',因为找不到该页面,并且没有其他中间件处理该请求。   您的应用程序正在生产模式下运行,因此请确保已发布该应用程序,或者您已手动构建了SPA。另外,您可能希望切换到开发环境。

     在

  Microsoft.AspNetCore.SpaServices.SpaDefaultPageMiddleware。<> c__DisplayClass0_0.b__1(HttpContext   上下文,下一个Func`1)   Microsoft.AspNetCore.Builder.UseExtensions。<> c__DisplayClass0_1.b__1(HttpContext   上下文)   Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext   上下文)   Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext   httpContext)   Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext   上下文)   Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext   上下文)   Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.Invoke(HttpContext   上下文)

但没有找到解决方案。

1 个答案:

答案 0 :(得分:0)

接着this,我终于成功地将应用程序部署到IIS,

我认为我无法正常工作的问题在于我将新的.net core网站放置在

Default Web Site IIS文件夹,并且对于.net core应用程序是不允许的(您不能在default web site文件夹下混合.net核心应用程序和.net Framework应用程序(这是为了.net framework个应用程序))。 .net core应用程序使用不同的配置+需要与no managed code应用程序池一起运行。