zoukankan      html  css  js  c++  java
  • 部署Asp.net Core 项目发生502.5 或者500 没有其他提示信息

          最近将公司原来.NetCore 1.6的项目升级到.net Core 2.0首先发生 502.5的错误,包括IIS日志,Windows应用程序日志都没有记录问题始终解决不了,首先看看官网给出的解决方案:

    https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?tabs=aspnetcore2x#common-errors

          1.安装DotNetCore.2.0.0-WindowsHosting.exe 和 Microsoft Visual C++ 2015 Redistributable 之后运行以下

    //CMD命令窗口用管理员权限打开
       net stop was /y  
       net start w3svc
    //这两句执行的结果是重启IIS服务,或者重启服务器是同样的效果

           2.重新刷新网页还是502.5,或者500程序没有任何提示信息,因为.net core的站点服务是托管的

           3.解决这个问题的关键首先是要弄清楚主机是缺少必须的Windows程序,还是程序本身报错,比如最后才弄清楚程序运行错误导致了502.5

    Application startup exception: System.BadImageFormatException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Reference assemblies should not be loaded for execution.  They can only be loaded in the Reflection-only loader context. (Exception from HRESULT: 0x80131058)
    File name: 'System.Runtime.CompilerServices.Unsafe, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ---> System.BadImageFormatException: Cannot load a reference assembly for execution.
       at Microsoft.Extensions.Primitives.InplaceStringBuilder.Append(String s, Int32 offset, Int32 count)
       at Microsoft.Net.Http.Headers.DateTimeFormatter.ToRfc1123String(DateTimeOffset dateTime, Boolean quoted)
       at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.DateHeaderValueManager.SetDateValues(DateTimeOffset value)
       at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.CreateServiceContext(IOptions`1 options, ILoggerFactory loggerFactory)
       at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer..ctor(IOptions`1 options, ITransportFactory transportFactory, ILoggerFactory loggerFactory)
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, ServiceProvider provider)
       at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProvider provider)
       at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
       at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
       at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureServer()
       at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()

            4.所以我们要代开站点自动记录日志的功能,在发布的站点下找到web.conig文件按照如下配置

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.webServer>
        <handlers>
          <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
        </handlers>
        <aspNetCore processPath="%LAUNCHER_PATH%" 
            arguments="%LAUNCHER_ARGS%" 
            stdoutLogEnabled="false" 
            stdoutLogFile=".logsstdout" />//注意这个路径站点要有写的权限
      </system.webServer>
    </configuration>

              5.运行站点之后注意查看.logsstdout下的日志,基本能够知道托管站点在运行过程中,到底发生了什么错误!

               WebConfig配置细节请参考这里!

  • 相关阅读:
    30天敏捷生活(4): 撰写个人使命宣言
    [智力考题]比尔盖茨只有3分的考题
    推荐下载:MSN机器人源代码(C#),含自动IP地址查询、简单自动问答等(添加详细使用)
    [代码]包括所有特性的目录选择对话框
    开源数据库系统之SQLite3.2.0、FireBird2.0 Alpha1等
    [建议]添加模板功能
    到底SQLite有多强?在我的2台机器上的压力测试
    OMEA Pro,刚刚荣获15届Jolt大奖,综合RSS阅读,邮件、任务等管理的IIM(智能信息管理)
    关于DotNetNuke(DNN)的语言问题
    写你自己的反编译/混淆器
  • 原文地址:https://www.cnblogs.com/andayhou/p/8290235.html
Copyright © 2011-2022 走看看