c # — BadImageFormatException или TypeInitializationException при использовании библиотек VC ++ в приложении MVC

У меня есть приложение MVC, которое ссылается на другой проект (B), который является проектом x86, имеет одну ссылку DLL Vc ++.

Когда я пытаюсь запустить проект B как консольное приложение в качестве запускаемого проекта, он работает правильно.

Но когда я получаю доступ к тому же из приложения MVC, я получаю BadImageFormatException или TypeInitializationException.

Я использовал сборку трассировки и получаю исключения, как показано ниже из каждого места по одному

BinaryAssemblyInfo Исключение:
‘System.Runtime.Serialization.SerializationException’ в mscorlib.dll

Дополнительная информация: Невозможно найти сборку ‘NI.Framework.Logger,
Версия = 2.0.0.0, Культура = нейтральная, PublicKeyToken = b98c50443551b471 ‘.

RealProxy.cs

‘System.Runtime.Serialization.SerializationException’ в mscorlib.dll

Дополнительная информация: Невозможно найти сборку ‘NI.Framework.Logger,
Версия = 2.0.0.0, Культура = нейтральная, PublicKeyToken = b98c50443551b471 ‘.

Исключение: «.ModuleLoadException» в
MsgComWrapper_4.0.dll Дополнительная информация: модуль C ++ не смог
загрузить при попытке инициализации домена приложения по умолчанию.

Метод действия dispatcher.cs: Возникло исключение:
«System.TypeInitializationException» в System.Web.Mvc.dll

Дополнительная информация: инициализатор типа для » бросил
исключение.

AsyncControllerActionInvokers.cs

Возникло исключение: System.TypeInitializationException в
System.Web.Mvc.dll

Дополнительная информация: инициализатор типа для » бросил
исключение.

Я перепробовал много следов и ошибок, но не сработал.

0

Решение

Ну а AFAIK у вас есть 2 варианта:

1. Вы можете создать приложение mvc для x86. Он будет работать на x64, но не будет использовать все возможности архитектуры x64.

2. Вы можете запустить свое приложение на компьютере с архитектурой x86. Это также будет работать

Единственный способ получить «истинное» приложение AnyCpu — это создать все свои библиотеки для AnyCpu. Это очень раздражает и не интуитивно, и я много страдал от этого с течением времени, но это реальность. Я все еще уверен, что есть лучшее решение, о котором я не знаю, хотя я потратил приличное количество времени на его поиск и ничего не нашел

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]