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

在Visual Studio扩展中使用Microsoft.AspNetCore.Razor.Language遇加载错误求助

解决方案:Visual Studio扩展中Microsoft.AspNetCore.Razor.Language版本绑定重定向问题

针对你遇到的版本绑定重定向导致的程序集加载失败问题,以下是几个可行的解决方向:

  • 手动添加扩展级别的绑定重定向
    在你的扩展项目中添加app.config文件,配置专属的程序集绑定规则,强制加载你已有的6.0.36.0版本,覆盖devenv.exe.config的全局重定向:

    <configuration>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.AspNetCore.Razor.Language" publicKeyToken="adb9793829ddae60" culture="neutral" />
            <!-- 将所有旧版本重定向到你实际拥有的6.0.36.0 -->
            <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="6.0.36.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>
    

    确保项目中Microsoft.AspNetCore.Razor.Language的复制本地属性设为True,且生成时app.config会被转换为[你的扩展名称].dll.config并输出到扩展目录,这样扩展加载时会优先使用这个本地配置。

  • 将DLL嵌入扩展程序集
    把Microsoft.AspNetCore.Razor.Language.dll设置为项目的嵌入的资源,然后在扩展初始化时手动提取并加载该DLL,绕过系统的版本检查:

    public override void Initialize(AsyncPackage package)
    {
        base.Initialize(package);
        // 加载嵌入的DLL
        var dllName = "Microsoft.AspNetCore.Razor.Language.dll";
        var resourcePath = $"{typeof(YourExtensionClass).Namespace}.{dllName}";
        using var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourcePath);
        if (stream != null)
        {
            byte[] dllBytes = new byte[stream.Length];
            stream.Read(dllBytes, 0, dllBytes.Length);
            Assembly.Load(dllBytes);
        }
    }
    

    注意替换YourExtensionClass为你扩展的实际类名,确保资源路径正确。

  • 安装匹配版本的ASP.NET Core Runtime
    尝试安装9.0.x版本的ASP.NET Core Runtime,让系统能找到9.0.0.0版本的程序集。不过此方法可能影响其他Visual Studio扩展的兼容性,建议在测试环境验证后再使用。

  • 升级扩展项目的目标框架
    将扩展项目的目标框架升级到与9.0.0.0匹配的版本(如.NET 8或.NET 9),然后安装对应版本的Microsoft.AspNetCore.Razor.Language NuGet包,让版本与重定向目标一致,从根源解决版本不匹配问题。此方法需要评估扩展其他依赖的兼容性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 21:33:19