加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.net:我可以在bin文件夹中拥有2个不同版本的相同dll / assem

发布时间:2020-12-16 06:59:38 所属栏目:asp.Net 来源:网络整理
导读:我正在研究在ASP.net中实现的大型Web应用程序.应用程序的主要部分,大部分是由第三方实现的,由其他人管理,所以我对它没有多少控制权. 我已经实现了8个ASP.net自定义控件,它们被编译为单独的DLL并被放入应用程序的bin文件夹中.这些控件必须链接到主应用程序中
我正在研究在ASP.net中实现的大型Web应用程序.应用程序的主要部分,大部分是由第三方实现的,由其他人管理,所以我对它没有多少控制权.

我已经实现了8个ASP.net自定义控件,它们被编译为单独的DLL并被放入应用程序的bin文件夹中.这些控件必须链接到主应用程序中的两个DLL(或应该是程序集?),这些DLL也存储在bin文件夹中.我们称它们为MainAppCore1.dll和MainAppCore2.dll.这些似乎是托管.NET代码.

我的问题是主应用程序已经更新,更糟糕的是看起来在不久的将来经常更新,由于错误问题我已经编译了我的所有控件与主应用程序dll的原始版本,所以现在他们不会加载.显然,我可以通过重新编译针对新版本的MainAppCore1.dll和MainAppCore2.dll的所有控件来解决问题,但我正在寻找一种更智能的方法

我的问题是:是否可以将2个版本的主应用程序dll保留在bin文件夹中,以便每次主应用程序升级时我的控件都可以继续工作(可能)?

我不想编辑web.config文件,因为这在政治上很复杂.

解决方法

简而言之,你做不到.从广义上讲,在一个文件夹中有两个版本的.net程序集只能在GAC(全局程序集缓存)文件夹中进行,该文件夹是一个特殊的文件夹,可以运行多个版本的.Net程序集,并且您的控件程序集可以指向GAC中的特定版本,不管那里有多少个版本.一种可能的解决方案是让您的第三方供应商强烈命名他们的MainCore1.dll并在每次版本更改时将其安装在GAC中,然后在您的web.config中指向特定版本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读