Не удалось загрузить тип ‘System.Отражение.IntrospectionExtensions’ из сборки ‘mscorlib

#c# #.net #.net-4.0 #inversion-of-control #unity-container

#c# #.net #.net-4.0 #инверсия управления #unity-контейнер

Вопрос:

Я использую Unity IoC (Microsoft.Практика.Unity) и я могу нормально скомпилироваться, но во время выполнения я получаю следующую ошибку:

 Could not load type 'System.Reflection.IntrospectionExtensions' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
 

Версия Unity: 3.0.1026.0

Существует ли проблема совместимости между .Net 4 и этой версией Unity. Кроме того, я получаю ту же ошибку при использовании Unity v2. Если да, то как я могу решить эту проблему?

РЕДАКТИРОВАТЬ: Кроме того, я проверил, что mscorlib упоминается в моем проекте.

Комментарии:

1. убедитесь, что ваш проект является .NET framework 4, а не 4 Профиль клиента

2. Платформа taget для веб-приложения: .NET Framework 4

3. Это класс .NET 4.5. Вы не устанавливали и не удаляли предварительный просмотр разработчика для него, не так ли?

4. Хмммммм. Я проверю, дай мне минутку…

5. @Hans, это было оно! Пожалуйста, дайте ответ, и я его приму!

Ответ №1:

РЕШЕНО.

Действительно, я использовал предварительную версию .NET 4.5, которая ссылалась на класс, которого не существовало в моем мире .NET 4.0. Спасибо Хансу Пассанту за удивительную скорость, с которой вы определили проблему!

Комментарии:

1. Спасибо за это! Мне потребовалось много времени, чтобы разобраться с очень похожей проблемой.. запуск 4.5 dll в 4.0