调试项目时(第二次),不会在 AppDomain 中加载 Dll Asp.Net Dll
本文关键字:Dll AppDomain 加载 Asp Net 项目 第二次 调试 | 更新日期: 2023-09-27 18:31:37
我在MVC项目中有一个项目引用(到B.dll
),它不是静态使用的 Asp.Net。启动时,我正在查看加载的程序集,并在 IoC 容器中动态注册它们的类型。
当我重建 MVC 项目并按 F5 时,我在 AppDomain.CurrentDomain.GetAssemblies()
返回的已加载程序集列表中看到B.dll
。
然后我再次点击停止和 F5。这次加载的程序集中没有B.dll
。但是,如果我调用AppDomain.CurrentDomain.Load("B")
它将正确加载。
如果我重建项目周期重复。
所以问题是:
- 我假设,文件夹中
bin
dll应该在启动时由IIS加载,对吗? - 为什么 Visual Studio 在第一次和第二次调试会话上的行为不同?最重要的是,如何强制它在启动时加载所有库?
- 是的。第一次,当编译发生时。
- 因为这些库将在编译后按需加载。
这应该会有所帮助 如何为 AppDomain 预加载所有已部署的程序集