You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Framework SDK风格项目发布时web.config被注入.NET Core元素

.NET Framework 4.8 SDK风格项目发布后web.config被注入.NET Core配置的问题

问题现象

将.NET Framework 4.8的SDK风格MVC项目通过文件夹发布配置文件发布后,发布目录中的web.config被自动注入了.NET Core相关配置,新增内容如下:

<system.webServer>
  <handlers>
    <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
  </handlers>
  <aspNetCore processPath="dotnet" arguments=".\myApp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>

复现步骤

  • 创建新的ASP.NET Web Application(.NET Framework),选择MVC模板
  • 右键项目选择升级,将其转为SDK风格项目
  • 修复缺失的引用,将项目类型从控制台改为类库
  • 右键项目选择发布,创建文件夹发布配置文件
  • 执行发布,对比项目与发布目录的web.config,可发现后者包含.NET Core配置项

问题原因

SDK风格项目的发布流程采用了统一的Web配置转换逻辑,该逻辑未完全区分.NET Framework传统Web项目与ASP.NET Core项目的差异,会默认向Web项目的web.config中注入ASP.NET Core相关的配置片段。而非SDK风格项目使用的是传统发布流程,不会触发这套通用转换逻辑,因此不会出现该问题。

解决方法

在项目的.csproj文件的第一个<PropertyGroup>节点中添加以下配置,即可阻止该自动注入行为:

<IsWebConfigTransformDisabled>true</IsWebConfigTransformDisabled>

操作步骤:

  • 右键项目,选择「编辑项目文件」
  • 在文件最顶部的第一个<PropertyGroup>标签内插入上述配置代码
  • 保存文件后重新执行发布即可生效

内容的提问来源于stack exchange,提问作者AngryHacker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 05:54:55