在程序中加载依赖项(dll的不同版本)的常见做法

问题描述:

假设有一个使用2个第三方dll的代码.一个是用于登录的 NLog.Extensions.Logging 版本 1.6.1 ,另一个是用.net标准2.0编写的 CryptoProvider.dll .内部使用 Microsoft.Extensions.Logging 版本 2.1.0 内部 NLog.Extensions.Logging ,而内部使用 CryptoProvider.dll Microsoft.Extensions.Logging 版本 2.0.0 .因此,现在存在有关版本不匹配的问题.所以我应该如何设计CryptoProvider dll.以便解决问题.

Suppose there is a code which use 2 third party dll's. one is NLog.Extensions.Logging version 1.6.1 for logging other is lets say CryptoProvider.dll written in .net standard 2.0. NLog.Extensions.Logging internally using Microsoft.Extensions.Logging version 2.1.0 while CryptoProvider.dll internally use Microsoft.Extensions.Logging version 2.0.0. So now there is a issue regarding version mismatch. So how should I design to CryptoProvider dll. so that resolve the issue .