程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用同一DLL的多个版本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用同一DLL的多个版本?

开发过程中遇到使用同一DLL的多个版本的问题如何解决?下面主要结合日常开发的经验,给出你关于使用同一DLL的多个版本的解决方法建议,希望对你解决使用同一DLL的多个版本有所启发或帮助;

您可以将另一个版本加载到特定的AppDomain中

可能太详细了,但是这里是一篇文章,演示了在有用的环境中使用AppDomains及其工作方式:

http://msdn.microsoft.com/zh- CN/magazine/cc164072.aspx

从最基本的意义上讲,它取决于以下示例代码:

@H_607_11@    AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolvE);
    ...

    static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
    {
        if (/*some condition*/)
            return Assembly.LoadFrom("DifferentDllFolder\\differentVersion.dll");
        else
            return Assembly.LoadFrom("");
    }

解决方法

我的任务是为应用程序创建新模块,因此,我正在向项目中添加新的DLL。一切都很好。

但是,在我的DLL中,我想使用外部DLL的新版本(无法控制)。如果我仅引用新的DLL并仅使用该DLL,则我的代码可以工作,但是旧代码将停止运行。

@H_607_11@Could not load file or assembly 'itextsharp,Version=5.0.6.0,Culture=neutral,PublicKeyToken=8354ae6d2174ddca' or one of its dependencies. The located assembly's
manifest definition does not match the assembly reference. (Exception from HRESULT:
0x80131040)

我尝试了一个简单的技巧来更改DLL的名称,但这显然对我来说太天真了,以至于认为它不会起作用。我尝试使用外部别名(通过在引用中定义它们),但我仍然不知道如何将两个具有相同名称的文件放入一个BIN文件夹中&Hellip;

该怎么办

大佬总结

以上是大佬教程为你收集整理的使用同一DLL的多个版本全部内容,希望文章能够帮你解决使用同一DLL的多个版本所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。