Dan*_*nte 17 .net assemblies gac
我有一个包含3个项目(GUI,BL和DAL)的解决方案.DAL程序集已在GAC中签名和部署.
当我构建解决方案时,编译DAL并将程序集放在主项目的bin文件夹中.但是当我运行应用程序时,它会加载GAC版本而不是本地版本.为什么是这样?
我意识到,因为GAC中的版本不是最新版本,并且有些方法丢失了,尽管编译得很好.
GAC是否优先于本地bin文件夹?
事先提前
Sha*_*men 20
简短回答是的,GAC优先于本地文件.
这与我们在本机dll世界中使用的行为不同(不包括总是从SYSTEM32加载的一些系统dll,无论如何).
为什么?
想象一下,由于程序集有错误,你有多个应用程序使用相同的程序集,你如何修复所有的应用程序?很难开始搜索所有驱动程序上的所有应用程序,更容易将单个程序集部署到GAC并立即修复所有应用程序.
至于您的问题,如果您更改API,则需要更改该程序集的程序集版本,这样融合引擎将获取本地文件夹中的版本.
| 归档时间: |
|
| 查看次数: |
6828 次 |
| 最近记录: |