System.BadImageFormatException, когда проект C# создает управляемый объект C++?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 System.BadImageFormatException, когда проект C# создает управляемый объект C++?

Сообщение Гость »


Я пишу игровую среду C++, которая будет использоваться в проектах C# для обеспечения цикла обновления и рендеринга окна. Подумайте о MonoGame, но намного проще.

Проблема

Мой проект настроен следующим образом:
[*]движок (собственный C++, встраивается в .lib) [*]управляемый движком (управляемый C++, ссылается на движок, упрощающий взаимодействие между C++ C#, встроен в .dll) [*]engine-sharp (оболочка C#, ссылается на управляемый механизм и создает оболочки C# для простоты использования, встраивается в .lib) [*]game (проект C#, который я использую для тестирования. ссылается на движок-оболочку и расширяет его класс Entity)
Эти проекты пусты, за исключением нескольких простых классов для проверки взаимодействия. прежде чем я продолжу.

Когда я пытаюсь создать новый управляемый C++ EngineWrapper (из Engine-managed) в моем проекте-оболочке C#, он просто выходит из строя и сообщает мне:

System.BadImageFormatException: не удалось загрузить файл или сборку, управляемую механизмом, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = null. Была предпринята попытка загрузить программу неверного формата. Имя файла: «управляемый двигателем, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = null» ---> System.BadImageFormatException: была предпринята попытка загрузить программу с неверным форматом. (0x8007000B) Что я пробовал?

У меня для проектов C++ установлено значение x64, а для проектов C# установлено значение Любой процессор.

Я настроил проекты так, чтобы игра ссылалась на движок, которая ссылается на движок, которая ссылается на движок.

Мои вопросы:
[*]Как исправить сбой проекта при попытке создать управляемый объект C++ в проекте C#? Проекты правильно ссылаются друг на друга и должны быть нацелены на одну и ту же архитектуру, но когда я дохожу до строки, создающей новый объект, он просто вылетает. [*]Имеет ли такая структура проекта смысл, или я стреляю себе в ногу, не делая что-то еще?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • System.BadImageFormatException, когда проект C# создает управляемый объект C++?
    Гость » » в форуме C++
    0 Ответы
    79 Просмотры
    Последнее сообщение Гость
  • C# — System.BadImageFormatException System.Security
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Метод не найден: 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object)
    Anonymous » » в форуме C#
    0 Ответы
    141 Просмотры
    Последнее сообщение Anonymous
  • System.BadImageFormatException, вызванное проектом NUnit
    Anonymous » » в форуме C#
    0 Ответы
    79 Просмотры
    Последнее сообщение Anonymous
  • Неожиданное исключение System.BadImageFormatException: индекс не найден. Это исправляется перезапуском.
    Anonymous » » в форуме C#
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»