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

.NET Framework 4.6中无法在App_Code文件使用WebRequestHandler的问题

解决App_Code中WebRequestHandler未定义的问题

核心原因

App_Code文件夹内的文件采用运行时动态编译机制,其编译上下文与项目中其他预编译文件存在差异——即便项目整体目标框架为4.6,运行时编译可能未正确加载System.Net.Http程序集引用,或未识别到目标框架版本,导致无法找到WebRequestHandler类。

具体解决步骤

1. 显式添加程序集引用到web.config

在项目根目录的web.config的<compilation>节点下,添加System.Net.Http的程序集引用,确保运行时编译能定位到该程序集:

<compilation debug="true" targetFramework="4.6">
  <assemblies>
    <add assembly="System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
  </assemblies>
</compilation>

2. 检查App_Code的编译属性

右键App_Code文件夹 → 打开属性面板,确认生成操作设置为编译(VB项目对应Compile),而非内容或其他选项。错误的生成操作会导致运行时编译逻辑异常。

3. 清理重建项目

  • 执行「生成」→「清理解决方案」
  • 删除项目目录下的bin和obj文件夹
  • 重新生成项目,确保所有引用文件正确复制到输出目录

4. 对齐运行时与项目目标框架

在web.config的<system.web>节点下,确保httpRuntime的targetFramework与项目目标框架一致:

<system.web>
  <httpRuntime targetFramework="4.6"/>
</system.web>

额外排查点

若以上步骤无效,检查项目是否存在多版本System.Net.Http冲突:

  • 打开「管理NuGet程序包」,确认仅安装了与.NET Framework 4.6兼容的System.Net.Http版本
  • 检查项目引用中的System.Net.Http,确保其版本为4.0.0.0(.NET Framework 4.6自带版本)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 01:10:20