gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 17:23:57 25 4
gpt4 key购买 nike

好吧,我是 Telerik 控件库的重度用户,特别是针对 ASP.NET。但是,我想向某些控件添加一些功能。现在我可以使用扩展方法轻松完成此操作。所以我写了一个小型库来完成这个任务。显然,这个库需要引用它们的 DLL (Telerik.Web.UI.dll)。

在 DLL 项目的My Project > References 页面中,我引用了 Telerik.Web.UI.dll。对于此引用,我将特定版本属性设置为 False,因为我不希望我的库关心正在使用的 Telerik DLL 的版本。但这是我的问题....NET 编译器似乎不支持此设置。

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

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

我通过转到我的 DLL 项目,针对最新的 Telerik DLL 重新编译它,然后更新网站中的 DLL 来解决此问题。这正是我不想每次更新 Telerik 库时都要做的事情。我认为特定版本设置为 false 将意味着它适用于任何版本。不?还是我完全误解了该设置的作用?

最佳答案

您应该考虑使用 bindingRedirect这将允许您指示 .NET 框架在运行时使用另一个版本的程序集(即,如果您的项目是针对版本 1.0 进行编译的,则它仍然可以与版本 1.1 一起使用,假设没有 API 更改) 。

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

关于.net - 无论版本如何,如何引用 DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10657637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com