2013-09-17 1 views
0

У меня есть ссылка на проект (до B.dll) в проекте Asp.Net MVC, который не используется статически. При запуске я просматриваю загруженные сборки и динамически регистрирую типы из них в контейнере IoC.Dlls не загружаются в AppDomain при отладке проекта Asp.Net (второй раз)

Когда я перестраиваю проект MVC и нажимаю F5, я вижу B.dll в списке загруженных сборок, возвращаемых AppDomain.CurrentDomain.GetAssemblies().

Затем я снова нажал Stop и F5. На этот раз в загруженных сборках нет B.dll. Однако, если я позвоню AppDomain.CurrentDomain.Load("B"), он будет загружен правильно.

Если я перестрою цикл проекта повторяется.

Так вопросы:

  1. Я полагаю, что DLLs из bin папок должно быть загружены IIS при запуске, я прав?
  2. Почему поведение Visual Studio на первом и втором сеансах отладки отличается? И что самое главное, как заставить его загружать все библиотеки при запуске?

ответ

1
  1. Да. В первый раз, когда происходит компиляция.
  2. Поскольку эти библиотеки будут загружаться по требованию после их компиляции.

Это должно помочь How to pre-load all deployed assemblies for an AppDomain

+0

спасибо за разъяснения, связь при условии выглядит именно то, что мне нужно, глядя в него – Shaddix

Смежные вопросы