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

.net – 如何引用DLL,无论版本如何?

发布时间:2020-12-13 20:13:33 所属栏目:Windows 来源:网络整理
导读:好的,我是Telerik的控件库,专门用于ASP.NET的重用户.但是,我有一些功能,我想添加到一些控件.现在我可以使用扩展方法来做到这一点.所以我写了一个这样做的小图书馆.显然,这个库需要引用他们的DLL(Telerik.Web.UI.dll). 在我的项目我的DLL项目的引用页面,我有
好的,我是Telerik的控件库,专门用于ASP.NET的重用户.但是,我有一些功能,我想添加到一些控件.现在我可以使用扩展方法来做到这一点.所以我写了一个这样做的小图书馆.显然,这个库需要引用他们的DLL(Telerik.Web.UI.dll).

在我的项目>我的DLL项目的引用页面,我有一个参考Telerik.Web.UI.dll.对于这个引用,我将Specific Version属性设置为False,因为我不希望我的库关心使用什么版本的Telerik DLL.这是我的问题,但.NET编译器似乎不符合此设置.

例如,我有一个引用Telerik DLL和我的网站.我将Telerik库更新到最新版本.现在,当我尝试运行我的网站时,我得到:

无法加载文件或程序集“Telerik.Web.UI,Version = 2012.1.215.40,Culture = neutral,PublicKeyToken = 121fae78165ba3d4”或其一个依赖项.找到的程序集的清单定义与程序集引用不匹配. (HRESULT的异常:0x80131040)

我修复这个通过去我的DLL项目,重新编译它对最新的Telerik DLL,然后更新我的DLL在网站.这正是我每次更新Telerik图书馆时不想做的事情.我认为将“特定版本”设置为false将意味着它可以与任何版本一起使用.没有?还是我完全误会了那个设置呢?

您应该研究使用 bindingRedirect,这将允许您指示.NET框架在运行时使用其他版本的程序集(即,如果您的项目是针对版本1.0编译的,那么它仍然可以使用版本1.1,假设没有API更改).

特定版本属性仅适用于编译时程序集引用.

(编辑:李大同)

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

    推荐文章
      热点阅读