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