问题

An error occurred while starting the application.
.NET Core 4.6.27617.05 X64 v4.0.0.0 | Microsoft.AspNetCore.Hosting version 2.2.0-rtm-35687 | Microsoft Windows 6.3.9600 | Need help?

An error occurred while starting the application_依赖注入


本地与测试库正常,发布到正式环境IIS报这个错误,首先这个错误,不是版本问题,就是具体错误信息没给显示到页面上被屏蔽了,需要先将真正的报错原因显示出来。

解放方案

打开该网站的站点-发布目录文件夹,找到web.config文件
打开web.config找到stdoutLogEnabled=“false”,把该值改为true,即->stdoutLogEnabled=“true”

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\YDB.GeneralSystem.RenBao.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
</system.webServer>
</location>
</configuration>

重启IIS,再次触发这个报错,日志将会写在网站根目录下(IIS-网站-浏览) logs 文件下

An error occurred while starting the application_运维_02

![在这里插入图片描述](https://img-blog.csdnimg.cn/5d1c8cbde03547c6af6ba179eed38e45.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5qmZ6Imy6Ziz5YWJ,size_20,color_FFFFFF,t_30,g_se,x_16

An error occurred while starting the application_Startup_03


根据时间打开最近的.log 看下具体报错

Application startup exception: System.IO.FileNotFoundException: Could not load file or assembly 'AutoMapper, Version=9.0.0.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005'. 系统找不到指定的文件。
File name: 'AutoMapper, Version=9.0.0.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005'
at YDB.GeneralSystem.RenBao.Startup.ConfigureServices(IServiceCollection services)
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices(IServiceCollection services)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices()
at Microsoft.AspNetCore.Hosting.Internal.WebHost.Initialize()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()


crit: Microsoft.AspNetCore.Hosting.Internal.WebHost[6]
Application startup exception
System.IO.FileNotFoundException: Could not load file or assembly 'AutoMapper, Version=9.0.0.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005'. 系统找不到指定的文件。
File name: 'AutoMapper, Version=9.0.0.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005'
at YDB.GeneralSystem.RenBao.Startup.ConfigureServices(IServiceCollection services)
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices(IServiceCollection services)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices()
at Microsoft.AspNetCore.Hosting.Internal.WebHost.Initialize()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()


Hosting environment: Production
Content root path: D:\www\XXXXXX\XXXX
Application started. Press Ctrl+C to shut down.

我这里是少这个文件AutoMapper 说在在ConfigureServices调用了依赖注入,但是找到对应的.dll然后就挂了, 就是同事添加了新代码暂时被撤销了,依赖注入这里没有对应撤销导致的,将依赖注入中AutoMapper删除就好了