Я следовал этому руководству: Как создать оболочку CLR из C ++ для использования в C#
Мой проект собирается без проблем, и я использую тот же самый код, что и в учебнике.
Я пытаюсь запустить финальное C# Консольное приложение. (двойной щелчок по встроенному файлу c# .exe)
Вместо ожидаемого вывода на консоль « 4.1 » выдается ошибка:
![Error upon running built .exe file](https://i.stack.imgur.com/O9XqX.png)
Кто-нибудь знает, почему он говорит?:
Необработанное исключение. System.BadImageFormatException: не удалось загрузить файл или сборку 'Clrcs, версия = 1.0.7354.20945, культура = нейтральная, PublicKeyToken = null'. Была предпринята попытка загрузить программу с неверным форматом. Имя файла: 'ClrCs, Версия = 1.0.7354.20945, Культура = нейтральная, PublicKeyToken = null' в Cs.Program.Main (String [] args)
Все 3 подпроекта в моем решении :
- установлены в цель . NET Core .
- были построены как Debug для x86 .
- есть необходимые ссылки.
Почему я пытаюсь добиться этого / есть ли лучшее решение для моей проблемы?:
Я хочу использовать мой SFML | OpenGL | C ++ «движок» для рисования трехмерных объектов с использованием данных из программного обеспечения, работающего на JavaScript.
. Я обнаружил, что это программное обеспечение может быть подключено к C# .dll в файле . js, поэтому я пытаюсь обернуть неуправляемый «движок» в C# как .dll .
Я уже знаю, что можно открыть окно рендеринга из DLL .
Я пробовал это в консольном приложении C ++, где я импортировал свой «движок» как .dl l.
Далее мне просто нужно импортировать оболочку CLR в приложение C# в виде .dll, что объясняется в упомянутом руководстве, но возникают проблемы с запуском файла .exe. И я не могу понять, почему.
Короче:
[SFML | OpenGL] C ++ as .dll > в> C ++ / CLR Wrapper as .dll > в> C# as .exe
Не могли бы вы помочь мне? В любом случае?