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

使用RazorEngineCore时Microsoft.CodeAnalysis程序集加载失败求助

解决方法
  • 检查并更新Web.config的绑定重定向
    确保Microsoft.CodeAnalysis相关的所有程序集(包括Microsoft.CodeAnalysis、Microsoft.CodeAnalysis.CSharp等)都配置了正确的绑定重定向,将版本指向网站实际引用的版本。比如网站使用的是4.6.0.0版本,就把oldVersion范围覆盖到4.7.0.0,newVersion设为实际存在的版本:

    <dependentAssembly>
      <assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-4.7.0.0" newVersion="4.6.0.0" />
    </dependentAssembly>
    

    注意:ASP.NET Website项目的绑定重定向不会自动生成,必须手动确认所有相关程序集的重定向规则都已添加。

  • 统一共享类库与网站的Microsoft.CodeAnalysis版本
    共享类库是多目标框架(net48+net6.0),要保证net48目标下引用的Microsoft.CodeAnalysis版本和网站package.config里的版本完全一致。在类库的.csproj中针对net48框架明确指定版本:

    <ItemGroup Condition="'$(TargetFramework)' == 'net48'">
      <PackageReference Include="Microsoft.CodeAnalysis" Version="4.6.0.0" />
      <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.6.0.0" />
    </ItemGroup>
    

    之后清理解决方案,删除所有项目的bin和obj文件夹,重新编译整个解决方案。

  • 验证网站bin目录的程序集版本
    运行前检查网站的bin文件夹,确认Microsoft.CodeAnalysis.dll的版本和绑定重定向里的newVersion一致。如果版本不匹配,右键解决方案选择「还原NuGet包」,之后重新生成项目。

  • 禁用类库的自动绑定重定向
    多目标类库的自动绑定重定向可能引发版本冲突,在类库的.csproj中添加以下配置,禁用自动生成重定向规则:

    <PropertyGroup>
      <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
      <GenerateBindingRedirectsOutputType>false</GenerateBindingRedirectsOutputType>
    </PropertyGroup>
    
  • 检查RazorEngineCore的依赖兼容性
    RazorEngineCore可能依赖特定版本的Microsoft.CodeAnalysis,查看它的NuGet依赖信息,确认版本和你的项目兼容。如果存在冲突,升级或降级RazorEngineCore到匹配版本,或者通过NuGet的依赖约束强制统一版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:19:49