Я пишу плагин для другой программы, основанной на общедоступном .NET API. Обычно эти плагины создаются путем создания библиотеки DLL библиотеки классов, которая ссылается на сборку API. Затем класс команд создается путем наследования из базового командного класса в сборке API. Затем приложение устанавливается для ссылки на подключаемый DLL файл, а затем также отвечает за фактический запуск класса пользовательских команд, когда пользователь его запрашивает.
Однако теперь я пытаюсь автоматизировать создание кода с помощью System.CodeDOM
и хочу создать простое консольное приложение, которое автоматически генерирует новые типы классов, основанные на типах, с помощью сборки API.
Тем не менее, когда я пытаюсь запустить мое приложение, я получаю следующее исключение.
Исключено System.BadImageFormatException. unhandled Сообщение: Не удалось загрузить файл или сборку RevitAPI, Версия = 2011.0.0.0, Культура = нейтральная, PublicKeyToken = null или один из его зависимостей. Была сделана попытка загрузить программу с неправильным Формат.
Обычно мне нужно настроить целевую структуру подключаемого модуля на 3.5. Однако теперь я обнаружил, что ошибка выше уходит, если я установил целевую структуру моего консольного приложения в 2.0. Тем не менее, мое консольное приложение уже ссылается на другие мои библиотеки классов, у которых их целевая структура установлена на 3.5. И я бы предпочел не переписывать их вокруг рамки 2.0.