gpt4 book ai didi

ASP.net:我可以在 bin 文件夹中有 2 个不同版本的相同 dll/程序集吗?

转载 作者:行者123 更新时间:2023-12-04 19:14:43 27 4
gpt4 key购买 nike

我正在开发一个在 ASP.net 中实现的大型 Web 应用程序。应用程序的主要部分,大部分是由第三方实现的,由其他人管理,所以我对它没有太多控制权。

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

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

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

我不想编辑 web.config顺便提一下,因为这在政治上会很复杂。

最佳答案

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

关于ASP.net:我可以在 bin 文件夹中有 2 个不同版本的相同 dll/程序集吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11207976/

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