У меня есть класс .NET 4.0, который использует Assembly.LoadFrom для загрузки сборки .NET 3.5 в смешанном режиме.Когда этот класс вызывается из приложения .NET 4.0 (с параметром useLegacyV2RuntimeActivationPolicy = "true", указанным в файле конфигурации), все работает нормально.
Однако этот класс также виден COM, и когда я затем вызываю егоиз Excel 2007 (опять же, Excel.exe.config указывает useLegacyV2RuntimeActivationPolicy = "true") Я получаю исключение FileLoadException:
Не удалось загрузить файл или сборку 'Foo ...' или одну из ее зависимостей.Не удалось загрузить среду выполнения.(Исключение из HRESULT: 0x80131700)
Внутреннее исключение - System.Runtime.InteropServices.COMException: Не удалось загрузить среду выполнения.(Исключение из HRESULT: 0x80131700)
Я не получаю эту проблему при вызове из Excel 2003, Excel 2010 или vbscript.Может кто-нибудь объяснить, что происходит и как я могу это исправить?