c# - 如何在库上设置运行时绑定(bind)重定向

标签 c# dll

我有一堆由 Delphi 应用程序(通过 COM)使用的 .net dll,但出现错误“无法加载 newtonsoft.json 6.0.0.0 版本”

因为 A.dll 引用了 newtonsoft.json 11.0.0.0,B.dll 引用了 HttpClient System.Net.Http.Formatting,这似乎引用了 newtonsoft.json 6.0.0.0。并且所有的 dll 都在一个只有 11.0 版本的文件夹中。

并且所有现有的解决方案都添加了 bindingRedirect,但它只适用于 windows 应用程序和 web 应用程序。我曾尝试将 bindingredict 添加到 A.dll.config、B.dll.config,但这没有用。

我该怎么做才能解决这个问题?

最佳答案

你可以使用这个:

<dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>

关于c# - 如何在库上设置运行时绑定(bind)重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52218135/

相关文章:

c# - 如果使用 Enterprise Library,log4net 是否更适合登录?

c# - 在 Silverlight 中显示与复选框关联的分层数据

c++ - 在多个 DLL 中注册常见的 Qt 元类型

visual-studio-2010 - 如何在不使用 Visual Studio 的情况下编译 DLL?

c++ - 如何将dll文件强加到当前目录下?

c# - 是否有必要将 "in"修饰符与只读结构一起使用?

c# - 无法加载或组装或其依赖项之一

gcc - 关于 .so 和 .dll 文件的一般问题

c# - 检测到严重错误 c0000374 - C++ dll 将已分配内存的指针返回给 C#

c# - 如何将所有路由复制为伪装的子目录