gpt4 book ai didi

.NET 程序集加载优先级

转载 作者:行者123 更新时间:2023-12-03 13:56:55 25 4
gpt4 key购买 nike

我有一个包含 3 个项目(GUI、BL 和 DAL)的解决方案。 DAL 程序集在 GAC 中签名和部署。

当我构建解决方案时,将编译 DAL,并将程序集放置在主项目的 bin 文件夹中。但是当我运行应用程序时,它会加载 GAC 版本而不是本地版本。为什么是这样?

我意识到这是因为 GAC 中的版本不是最新版本,并且缺少一些方法,尽管它编译得很好。

GAC 是否优先于本地 bin 文件夹?

提前谢谢

最佳答案

简答 ,GAC 优先于本地文件。
这与我们在 native dll 世界中习惯的行为不同(不包括某些系统 dll,无论如何总是从 SYSTEM32 加载)。

为什么?
想象一下,您有多个应用程序具有相同的程序集,现在程序集有一个错误,您如何修复所有应用程序?
很难开始搜索所有驱动程序上的所有应用程序,更容易将单个程序集部署到 GAC 并一次修复所有应用程序。

至于您的问题,如果您更改 API,则需要更改该程序集的程序集版本,这样融合引擎将获取本地文件夹中的版本。

关于.NET 程序集加载优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1606273/

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