An error occurred while starting the application

本文介绍了解决.NET Core应用程序在IIS部署时出现的启动错误问题,通过修改web.config文件使得错误日志得以记录,并根据日志发现缺少AutoMapper组件的问题,最终给出了修复方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

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?

在这里插入图片描述
本地与测试库正常,发布到正式环境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 文件下

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

在这里插入图片描述
根据时间打开最近的.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删除就好了

### 在 PyCharm 中为项目创建启动脚本的方法 在 PyCharm 中为项目创建启动脚本的过程可以分为几个部分,包括定义脚本文件、配置运行环境以及测试脚本的功能。以下是详细的说明: #### 创建 Python 启动脚本 首先需要在一个新的或现有的项目中创建一个用于启动的 Python 脚本文件。这可以通过右键单击项目目录,选择 `New` -> `Python File` 来完成[^3]。命名这个文件时可以选择具有描述性的名字,例如 `start_project.py`。 #### 编写启动逻辑 打开刚刚创建的 Python 文件,在其中编写必要的启动逻辑。对于普通的 Python 项目,这可能只是导入和初始化某些模块;而对于更复杂的框架(如 Django),则需调用相应的管理命令来启动服务。下面是一个简单的例子展示如何构建基本的应用程序入口点: ```python if __name__ == "__main__": import module_to_initialize # 初始化应用所需的资源和服务 app = module_to_initialize.Application() try: print("Starting the application...") app.run() # 假设有一个 run 方法用来启动应用程序的主要循环或者服务器 except Exception as e: print(f"An error occurred while starting the application: {e}") ``` 如果是在 Django 环境下,则可以直接通过调用 `manage.py` 的相关函数实现自定义启动行为[^4]: ```python import os import sys from django.core.management import execute_from_command_line def main(): """Run administrative tasks.""" os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_django_project.settings') try: from django.core.management import execute_from_command_line except ImportError as exc: raise ImportError( "Couldn't import Django. Are you sure it's installed and " "available on your PYTHONPATH environment variable? Did you " "forget to activate a virtualenv?" ) from exc execute_from_command_line(sys.argv) if __name__ == '__main__': main() ``` #### 配置运行/调试配置 为了让 PyCharm 正确识别并执行该启动脚本,还需要适当调整其运行配置: 1. 进入菜单栏中的 `Run` -> `Edit Configurations...`. 2. 添加一个新的 `Python` 类型配置项。 3. 设置 Script path 字段指向刚才创建的 `.py` 文件路径。 4. 根据实际需求填写参数和其他选项,比如工作目录 (Working Directory) 和解释器选项等。 保存更改后即可直接点击绿色三角形按钮来运行该项目了[^1]。 #### 测试与验证 最后一步就是确保一切正常运作——即按照预期方式加载整个应用程序结构,并能够响应用户的交互请求。如果有任何异常情况发生,请检查日志输出寻找线索解决问题。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值