Загрузка библиотеки x64 DLL в проект .NET Standard: произошла непредвиденная ошибка при вызове «Типа» на сервере

В настоящее время я работаю над проектом по миграции проекта .NET 4.7.2 Framework на .NET Core 2.1. Мне нужно использовать DLL, которая была изначально скомпилирована как x86.

Моя многоуровневая логика выглядит так:

  • .NET Core 2.1 проект (Любой ЦП): получить класс обслуживания, внедренный из .NET

  • .NET Стандартный проект (Любой процессор): содержит бизнес-логику (в настоящее время стандарт .net, но будет перенесен в ядро) и загружает DLL из

  • .C ++ / DLL проект: изначально был создан для среды x86, я просто перекомпилировал в x64 DLL, на которую ссылался фактически в обоих проектах выше.

Мой проект .NET Core 2.1 содержит SignalR Hub, который получает экземпляр IMyService, внедренный в конструктор. Я разрешаю зависимость в своем классе Startup в основном проекте, например так:

services.AddSingleton<IMyService, MyService>();

Однако, когда я не ссылаюсь на DLL, все работает нормально, как только я ссылаюсь на DLL и использую тип из внешней библиотеки, я получаю следующее исключение:

An unexpected error occurred invoking 'MyService' on the server. TypeInitializationException: The type initializer for '<Module>' threw an exception.

У вас есть идеи, как я могу решить эту проблему? У меня заканчиваются идеи. Спасибо!!

0

Решение

Задача ещё не решена.

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

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