我正在研究在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中的特定版本,无论其中存在多少个版本。一种可能的解决方案是要求您的第 3 方供应商强命名其 MainCore1.dll 并将其安装在 GAC 中,每次版本更改时,然后在您的 web.config 中您可以指向特定版本。
归档时间: |
|
查看次数: |
3419 次 |
最近记录: |