dll多版本调用--求大神帮忙

问题描述

我之前安装了某第三方控件,调用的是 A.dll(版本是5.0),现在系统升级该控件,现在使用A.dll(版本为7.0)。我现在想web程序中可以调用这两个版本的dll。由于工程庞大想用一种简单的方法让系统自己去找到调用版本。我的想法是用[全局程序集缓存工具和程序集链接器]来实现,现在实现下来不顺利。希望能有大神指点迷津。

解决方案

解决方案二:
顶,顶,顶,顶
解决方案三:
顶,顶,顶,顶
解决方案四:
mark一下,我也遇到这个问题了,求大神指点
解决方案五:
System.Reflection.Assembly.LoadFrom(string)和System.Activator.CreateInstance()可能帮到你
解决方案六:
高大上(就是看不懂),绑定下吧。dll如果换成方法,或者类,就可以用简单工厂了
解决方案七:
现在想用程序集链接器命令:A.dll之前做过强名称签名(sn),但是,不是我做的,所以不知道密钥对的文件名是什么;也不知道密钥对的容器是什么。有没有方法可以找到A.dll对应的密钥对的文件名和密钥对的容器?al/linksource:policy.config/t:lib/out:policy.X.X.A.dll/keyname:XXXXXX没有文件名或容器名,因此上面粗体部分不知道该填什么。请高手指教。
解决方案八:
我以前遇到过这个问题,记得当时是在用EnterpriseLogging的时候。一个Solution中有多个projectA,B,C.因为ProjectA是我自己加的这个dll,是3.x,而在ProjectB中,用到了一个第三方的dll,而这个dll依赖于5.x的Logging.所以从Nuget获取这个第三方dll的时候一同也就引用了这个5.x的Logging.总之就是,ProjectA用的是3.x的版本,而ProjectB用的是5.x的版本。但是我遇到了问题,就是一旦需要加载Logging这个dll的时候,它就会跑出找出的dll与预期的dll版本不一致的异常。你同时用到两个版本的dll,程序没有跑出任何异常吗?
解决方案九:
引用7楼sundacheng1989的回复:

我以前遇到过这个问题,记得当时是在用EnterpriseLogging的时候。一个Solution中有多个projectA,B,C.因为ProjectA是我自己加的这个dll,是3.x,而在ProjectB中,用到了一个第三方的dll,而这个dll依赖于5.x的Logging.所以从Nuget获取这个第三方dll的时候一同也就引用了这个5.x的Logging.总之就是,ProjectA用的是3.x的版本,而ProjectB用的是5.x的版本。但是我遇到了问题,就是一旦需要加载Logging这个dll的时候,它就会跑出找出的dll与预期的dll版本不一致的异常。你同时用到两个版本的dll,程序没有跑出任何异常吗?

就是想用程序集链接器解决版本冲突问题。现在不知道怎么找到之前dll的强名称签名的密匙容器。
解决方案十:
其实我是想跟你探讨一个问题。在一个solution中,在一般情况下,如果加入了同一个dll的不同的版本,那么会抛出异常吗?

时间: 2024-10-08 08:51:57

dll多版本调用--求大神帮忙的相关文章

调用-求大神帮忙windows下磁盘的直接读写

问题描述 求大神帮忙windows下磁盘的直接读写 不知道怎么调用api ,网上下载的都是缺少windows.h 文件,不知道是什么东西,这里有一个资源,可是不懂下载,求大神帮忙.http://download.csdn.net/download/dadi26833/3077521下好了可以发这个邮箱710263384qq.com

c++-跪求大神帮忙,关于对dll动态链接库加密的问题

问题描述 跪求大神帮忙,关于对dll动态链接库加密的问题 我们在搞一个项目,写了好多个dll文件,现在老板要求对dll文件进行加密,使得这个dll文件只能在特定的电脑上打开,转存,不能被别的电脑随便打开....跪求那个好心的大神给点意见.. 解决方案 不需要对dll加密,你的dll调用的时候传一个序列号,你的dll内部获得主板id,网卡mac或者磁盘卷标等,按照一个加密算法算出序列号,和输入的比较,确认正确才执行,否则丢出错误. 你的序列号放在你的主程序中,这样别人就算拷贝了你的程序,因为机器环

为什么把eclipse的版本设置为1.7,还会报错,求大神帮忙

问题描述 为什么把eclipse的版本设置为1.7,还会报错,求大神帮忙 package java_grammar; public class Example3_1 { public static void main(String arg[]){ int []a={1,2,3,4,5,6,7,8}; for(int i:a){ System.out.println(i); } } } 解决方案 for(int i:a){//不是for,是foreach System.out.println(i)

c++ opencv 分裂合并-求大神帮忙把代码改成调用opencv库的,谢谢。

问题描述 求大神帮忙把代码改成调用opencv库的,谢谢. include using namespace std; #include //需要使用堆栈,对堆栈进行操作 #include "conio.h" include "viLib.h" // 包含头文件 pragma comment( lib, "viLib.lib" ) // 包含viLib.lib库 include "viImage.h" // 包含头文件 prag

调用微信静默授权接口时报错,错误信息如下求大神帮忙看看什么问题

问题描述 调用微信静默授权接口时报错,错误信息如下求大神帮忙看看什么问题 javax.net.ssl.SSLException: java.security.ProviderException: java.security.KeyException at sun.security.ssl.Alerts.getSSLException(Alerts.java:208) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1916)

sap-wsdl2java调用webservce报错,但是用soapui调用没问题,求大神帮忙分析下

问题描述 wsdl2java调用webservce报错,但是用soapui调用没问题,求大神帮忙分析下 AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString: System Error faultActor: faultNode: faultDetail: {http://sap.com/xi/WebService/xi2.0}SystemError:RCV

注册机-我刚装了一个myeclipse,但是不知道是哪个版本的。然后激活不了,求大神帮忙看看怎么弄注册码

问题描述 我刚装了一个myeclipse,但是不知道是哪个版本的.然后激活不了,求大神帮忙看看怎么弄注册码 解决方案 点击Help菜单,About MyEclipse可以查看版本. 解决方案二: 不知道哪个对你有帮助:myeclipse 10怎么安装与激活myeclipse10破解工具下载和破解详细教程myeclipse 9.X/10.X下载与激活,解决激活失败的问题 解决方案三: name:myeclipse8.5 code:zLR8ZC-855550-68567156703100078 na

命令行-求大神帮忙实现windows C/C++调用系统命令,实在是无法实现啊

问题描述 求大神帮忙实现windows C/C++调用系统命令,实在是无法实现啊 两个系统命令如下: 如果在cmd下: netsh trace start capture=yes tracefile=C:Temp.etl 就开始执行,收集数据,停止收集数据时,使用 netsh trace stop 则等待他将数据成功写入指定文件即可 解决方案 system("pause")类似这中吧,你那个字符串放进了就行 或者打开cmd,完后输入流重定向进去啊 解决方案二: 很简单,可以使用匿名管道

xcode5&6版本debug功能内存显示不完整问题 求大神帮忙

问题描述 xcode5&6版本debug功能内存显示不完整问题 求大神帮忙 school里面包含一个对象数组 里面应该有值的 而且也输出值了 但是我的调试界面永远不显示值 重装xcode 和 重建用户 也无法解决这个问题 在别的机子上就可以显示出来 求大神支招! 如了个图: