Получение “ComponentActivatorException” с использованием Castle Windsor из приложения .net 4.0 с использованием компонента .net 2.0

StackOverflow https://stackoverflow.com/questions/2276033

Вопрос

У меня есть приложение, которое разрабатывается в VS2010 и использует IoC Castle-Windsor через файл конфигурации.

Один из регистрируемых мной компонентов, также разработанный в VS2010, ссылается на компонент .net 2.0 (LeadTools), поэтому перекомпиляция проекта 2.0 не является вариантом.Когда регистрация завершающего компонента завершена, возникает "ComponentActivatorException", которое завершает "System.Исключение TypeInitializationException", которое, в свою очередь, оборачивает "Исключение System.IO.FileLoadException" сообщением "Сборка в смешанном режиме собрана в соответствии с версией 'v2.0.50727' среды выполнения и не может быть загружена в среду выполнения 4.0 без дополнительной информации о конфигурации".

Я добавил объявление среды выполнения в конфигурационный файл приложения, таким образом:

<!-- useLegacyV2RuntimeActivationPolicy is needed for LEADTools-->
<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  <supportedRuntime version="v2.0.50727" />
</startup>

Это прекрасно работает, если компонент wrapping не зарегистрирован в Windsor, однако в противном случае он, похоже, игнорирует директивы.

Спасибо!

Это было полезно?

Решение 2

Проблема была связана с использованием "define" и "if" в файле конфигурации, в соответствии с Документация по микроядру.Удаление всех этих элементов из файла App.Config позволило создать экземпляры компонентов, независимо от того, были они зарегистрированы в контейнере Windsor или нет.

Другие советы

Я предполагаю, что вы используете регистрацию через XML?

Что произойдет, если вы зарегистрируете компонент в коде?

Можете ли вы попытаться воспроизвести проблему без ошибок?

позвонить Type.GetType("assembly qualified name of the type from .net 2.0 assembly");

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top