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

如何在LINQPad中执行程序集绑定重定向?

解决LINQPad中Elastic.Apm.NetCallAll的程序集版本绑定问题

方法一:通过app.config配置绑定重定向

  • 打开LINQPad查询的属性窗口:点击顶部菜单Query → Properties(或按F4)。
  • 切换到Advanced标签页,勾选Use app.config file,点击Edit打开配置编辑器。
  • 在<configuration>节点内添加以下配置:
    <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="Microsoft.AspNetCore.Http.Abstractions" 
                            publicKeyToken="adb9793829ddae60" 
                            culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" 
                          newVersion="2.2.0.0" />
        </dependentAssembly>
      </assemblyBinding>
    </runtime>
    
    注意:若你的2.2.0.0版本程序集公钥令牌不同,可在LINQPad的References面板中右键该程序集,查看Properties获取正确令牌。
  • 保存配置后,确保已引用Elastic.Apm.NetCallAll和2.2.0.0版本的Microsoft.AspNetCore.Http.Abstractions,运行查询即可。

方法二:动态绑定重定向(代码级)

如果app.config方式不生效,可在查询开头添加动态绑定逻辑:

void Main()
{
    AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
    {
        var assemblyName = new AssemblyName(args.Name);
        if (assemblyName.Name.Equals("Microsoft.AspNetCore.Http.Abstractions", StringComparison.OrdinalIgnoreCase))
        {
            // 替换为你本地2.2.0.0版本程序集的实际路径
            return Assembly.LoadFrom(@"C:\Your\Path\Microsoft.AspNetCore.Http.Abstractions.dll");
        }
        return null;
    };

    // 你的业务代码逻辑
    // ...
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 16:10:54