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

MVC发布应用报错:无法加载netstandard 2.1.0.0程序集

解决.NET Framework 4.5.2 MVC应用发布后找不到netstandard 2.1程序集的问题

针对你遇到的发布后System.IO.FileNotFoundException找不到netstandard 2.1程序集的问题,可尝试以下几种解决办法:

  • 检查并调整依赖包版本
    你的项目目标是.NET Framework 4.5.2,该版本仅支持到netstandard 2.0,不兼容netstandard 2.1。检查项目中引用的NuGet包(尤其是DevExpress相关组件),确认是否有依赖netstandard 2.1的包。如果有,将这些包降级到适配.NET Framework 4.5.2的版本——比如选择明确标注支持.NET Framework 4.5.2或netstandard 2.0的版本。

  • 添加程序集绑定重定向
    在项目的web.config文件中添加netstandard程序集的绑定重定向配置,让系统将对2.1版本的请求指向兼容的2.0版本。配置示例如下:

    <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="netstandard" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.0.0.0" />
        </dependentAssembly>
      </assemblyBinding>
    </runtime>
    

    注意:如果项目中还未安装NETStandard.Library包,先通过NuGet安装NETStandard.Library(版本选2.0.3,这是适配4.5.2的稳定版本)。

  • 确保发布时包含所有依赖程序集

    1. 右键项目 → 选择「属性」→ 切换到「发布」标签页;
    2. 点击「配置」按钮,在弹出的窗口中勾选「包含所有项目输出」和「包含来自NuGet包的所有程序集」;
    3. 发布后检查目标服务器的bin目录,确认是否存在netstandard.dll,如果缺失,手动从本地项目的packages/NETStandard.Library.2.0.3/build/netstandard2.0目录中复制该文件到服务器bin目录。
  • 更新服务器的.NET Framework环境
    确保服务器已安装.NET Framework 4.5.2,并且安装了补丁KB3102436——该补丁是.NET Framework 4.5.2支持netstandard 2.0的必要组件,缺失会导致无法正确加载netstandard相关程序集。

  • 清理并重新发布项目
    清理解决方案(菜单「生成」→「清理解决方案」),删除项目目录下的bin和obj文件夹,然后重新生成项目,再执行发布操作,避免旧的缓存文件干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:10:30