Использование объектов, скомпилированных с /NOAUTOINHERIT внутри проектов c#

#c# #cil

Вопрос:

У меня есть библиотека DLL, содержащая пустой объект, который я хочу использовать в качестве базового объекта. Этот объект был скомпилирован непосредственно из cil с помощью ilasm.exe с /NOAUTOINHERIT , поэтому он не наследуется от системы.Объект. Visual studio отлично загружает DLL, и приложение отлично компилируется, но когда я пытаюсь использовать этот объект в коде (используя классы, которые наследуют этот пустой базовый объект), я получаю исключение во время выполнения, в котором говорится:

 System.TypeLoadException: 'Could not load type 'BaseObject' from assembly 'AssemblyName,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' because the parent does not exist.'
 

Мы создаем компилятор с использованием c# и хотим использовать примитивные типы в языке в нашем помощнике во время выполнения. Мы собираемся скомпилироваться в CIL и в CIL использовать нашу библиотеку DLL примитивов и помощник во время выполнения, а также флаг /NOAUTOINHERIT. Мы хотим написать помощник среды выполнения на c# и также использовать библиотеку DLL примитивов, для чего требуется ее загрузка, что вызывает исключение.
Есть ли что-нибудь с этим поделать? Любая конфигурация, опция проекта, опция компилятора, опция ilasm, которая могла бы позволить мне использовать этот базовый объект в моем проекте C#?

Заранее спасибо!

Комментарии:

1. Зачем вам нужен класс, который не наследуется от object ? Я предполагаю, что ответ «удалить эту опцию ilasm» не может быть и речи?

2. Не уверен, что это поддается проверке или даже допустимо иметь такой тип, я думаю, что это просто для тестирования

3. Мы создаем компилятор с использованием c# и хотим использовать примитивные типы в языке в нашем помощнике во время выполнения. Мы собираемся скомпилироваться в CIL и в CIL использовать нашу библиотеку DLL примитивов и помощник во время выполнения, а также флаг /NOAUTOINHERIT. Мы хотим написать помощник среды выполнения на c# и также использовать библиотеку DLL примитивов, для чего требуется ее загрузка, что вызывает исключение