.NET Framework 4.7.2 Web API在IIS Express运行遇ANCM启动失败
问题原因
ANCM(ASP.NET Core Module)原本是为ASP.NET Core应用设计的,但它会影响你的.NET Framework项目,主要是这几个情况导致的:
- 项目的
launchSettings.json配置被污染,比如误加了ASP.NET Core专属的aspNetCore节点,让IIS Express启动时错误加载了ANCM模块。 - 项目里意外引入了ASP.NET Core相关的NuGet包或引用,触发VS工具链加载ANCM的逻辑。
- Windows 11上的IIS Express版本和.NET Framework环境存在兼容性冲突,导致模块加载逻辑混淆。
解决方案
通过.csproj禁用ANCM加载
直接在项目的.csproj文件中添加以下配置,明确告诉工具链这是纯.NET Framework项目,不要加载ANCM:
<PropertyGroup> <UseAspNetCore>false</UseAspNetCore> </PropertyGroup>
其他修复步骤
- 检查并修正
Properties/launchSettings.json:删掉iisSettings下所有aspNetCore相关的配置块,确保配置只针对.NET Framework的IIS Express部署。 - 清理无关依赖:移除项目中所有ASP.NET Core相关的NuGet包(比如
Microsoft.AspNetCore.*开头的包),避免触发不必要的模块加载。 - 重置IIS Express:删除
%userprofile%\Documents\IISExpress目录,重新生成项目,让IIS Express恢复默认配置。
内容的提问来源于stack exchange,提问作者David Keaveny
相关产品推荐
相关产品推荐

