gpt4 book ai didi

.net - 当非托管依赖项发生冲突时如何使用 2 个第三方 .net 库?

转载 作者:可可西里 更新时间:2023-11-01 13:47:38 24 4
gpt4 key购买 nike

假设我有一个使用第三方 .net 程序集 B.dll 和第三方 .net 程序集 C.dll 的 .net 程序集 A.dll。

事实证明,B.dll 内部使用非托管程序集 D.dll(版本 1)C.dll 使用非托管程序集 D.dll(版本 2)。

B 和 C 来自不同的供应商,仅使用其正确版本的 D.dll 进行测试。

如何部署 A 以使 B 和 C 正常工作?

编辑:

我认为存在三个不同的问题:

1) 如何从外部控制 B 和 C 寻找 D 的路径。

2) 如何从外部控制 D 用于其自身依赖项的路径。

3) 如何确保流程正确引导函数调用。

我的研究表明,如果没有对所有模块的编译时控制,这可能是不可能的...

最佳答案

我会尝试通过“探测”配置部分来配置多个 bin 文件夹。

<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;bin\B;bin\C"/>
</assemblyBinding>
</runtime>
</configuration>

然后我会将 B.dll 及其非托管依赖项放入 bin\B 文件夹,将 C.dll 及其非托管依赖项放入 bin\C 文件夹。

关于.net - 当非托管依赖项发生冲突时如何使用 2 个第三方 .net 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7433406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com