Я работаю над встраиванием mono в свое приложение C ++, чтобы использовать C # в качестве языка сценариев внутри приложения. На стороне C ++ я смог инициализировать моно-среду выполнения, создать управляемые объекты и вызывать эти объекты. Что касается моно-сборки, я попытался выделить некоторый шаблонный код, специфичный для моей системы сценариев, в отдельную сборку, чтобы позволить авторам сценариев сосредоточиться на коде, который они должны написать. Базовая сборка содержит некоторые абстрактные классы, а также другие служебные классы. Некоторые моно классы в сборке, которую я загружаю на стороне C ++, расширяют некоторые абстрактные классы из шаблонной сборки. После того, как я сделал это, когда я пытаюсь создать любые моно объекты на стороне C ++, я получаю следующую ошибку:
Missing method .ctor in assembly <assembly name>, type
System.Runtime.Versioning.TargetFrameworkAttribute
Can't find custom attr constructor image: <assembly name> mtoken: 0x0a000011
* Assertion at class.c:5607, condition `!mono_loader_get_last_error ()' not met
Что будет причиной этой ошибки в моей ситуации, и вообще, как вы используете классы из нескольких сборок при встраивании моно?
Задача ещё не решена.