1

B.dll在 Asp.Net MVC 项目中有一个项目参考 (to ),它不是静态使用的。在启动时,我正在查看加载的程序集并在 IoC 容器中动态注册它们的类型。

当我重建 MVC 项目并按 F5 时,我B.dllAppDomain.CurrentDomain.GetAssemblies().

然后我再次按下停止和 F5。这次加载的程序集中没有B.dll。但是,如果我调用AppDomain.CurrentDomain.Load("B")它将正确加载。

如果我重建项目周期重复。

所以问题是:

  1. 我假设,bin文件夹中的 dll 应该在启动时由 IIS 加载,对吗?
  2. 为什么第一个和第二个调试会话上的 Visual Studio 行为不同?最重要的是,如何强制它在启动时加载所有库?
4

1 回答 1

2
  1. 是的。第一次,当编译发生时。
  2. 因为这些库将在编译后按需加载。

这应该有助于如何为 AppDomain 预加载所有已部署的程序集

于 2013-09-17T07:47:54.803 回答