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

升级.NET 6后Web项目运行报System.Security.Cryptography编译库找不到错误求解

排查思路

  • 升级MiniProfiler版本:你当前使用的MiniProfiler.AspNetCore.Mvc 4.2.2版本针对旧.NET Core版本开发,对.NET 6的Razor运行时编译逻辑存在兼容缺陷,优先升级到适配.NET 6的最新稳定版,可解决绝大多数版本兼容导致的引用异常。
  • 校验项目文件配置:打开项目根目录的.csproj文件,确认PropertyGroup节点下添加了以下两个配置,确保编译时保留完整的依赖引用上下文,供Razor运行时编译读取:
    <PreserveCompilationContext>true</PreserveCompilationContext>
    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
    
  • 调整Razor运行时编译逻辑:
    如果你不需要开发时的Razor视图热更新,可直接移除Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation包的引用,改为发布时预编译Razor视图,即可绕过该引用检查错误。
    如果需要保留运行时编译能力,可在注册服务时过滤掉加密相关包的引用检查:
    builder.Services.AddControllersWithViews()
        .AddRazorRuntimeCompilation(options =>
        {
            options.AdditionalReferencePaths = options.AdditionalReferencePaths
                .Where(p => !p.Contains("System.Security.Cryptography"))
                .ToList();
        });
    
  • 清理残留缓存:删除项目的bin、obj文件夹,执行dotnet nuget locals all --clear清理本地NuGet缓存后,重新还原包、编译运行,排除旧依赖缓存导致的加载异常。
  • 统一加密类包版本:确认所有System.Security.Cryptography开头的NuGet包版本一致,.NET 6已内置大部分加密相关的基础库,无特殊需求无需额外安装独立的低版本加密包,避免版本冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:18:07