Я решил эту проблему самостоятельно.
Когда пул приложений перезапускается и создается новый пул приложений, все библиотеки DLL копируются в новую папку шаблонов Asp.Net.
Когда я заставляю загружать все библиотеки DLL «bin» в AppDomain, я регистрирую тип в сборке bin. Не в Asp.net Temp Папка сборки. Так что Unity думала, что это тип разницы.
Теперь я меняю способ загрузки сборки в текущий домен
string binPath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "bin");
foreach (string dll in Directory.GetFiles(binPath, "*.dll", SearchOption.AllDirectories))
{
var assemblyFromCurrentDomain = Assembly.Load(Assembly.LoadFile(dll).FullName);
Debug.Print("Add Assembly : {0}, {1}", assemblyFromCurrentDomain.FullName, assemblyFromCurrentDomain.Location);
}
Тогда проблема исправлена.