2010-10-29 2 views
4

Я разрабатываю приложение с большим количеством окон .net (C#) с несколькими сборками. Первоначально каждая сборка была построена для Target Platfom «Любой процессор». Из-за проблемы с Crystal Reports на машинах x64 нам пришлось построить весь проект для целевой платформы x86. Я начинаю восстанавливать некоторые из наших проектов для x86, и все работает отлично. Но с одним у меня есть проблемы, когда я пытаюсь использовать его в качестве ссылки на другую сборку, другой не будет загружать его дает следующую ошибку:Загрузка сбоя сбоя из-за неправильного формата

Could not load file or assembly #MyAssembly# or one of its dependencies. An attempt was made to load a program with an incorrect format.

При воспроизведении Around с кристаллами в образце проекта с несколькими сборками я обнаружил, что эта ошибка возникает, когда проекты создаются для разных целевых платформ. Но здесь это не так. Я строю каждый проект для X86 и просто не могу понять, где проблема здесь.

+0

Вы проверили диспетчер задач, если ваше приложение фактически работает в 32-битном режиме? – testalino

ответ

6

Вы можете попробовать, чтобы создать свой основной проект (исполняемый) с целевой платформой «x86» или «x64», все остальные проекты, которые вы задали «Any CPU».

+0

Да, это не работает. Похоже, что сборка, построенная для x86, не может быть включена в приложения, созданные для любого процессора. (По крайней мере, это был мой опыт) – Robert

+1

@Robert Spari: только ваш основной проект (WindowsForms) с Main-Methode должен быть скомпилирован с помощью «x86». Все остальные проекты (Библиотека) должны быть скомпилированы с помощью «Любой процессор». – Jehof

+0

Простите, что вы были абсолютно правы, я просто передал его для тестирования. Большое спасибо – Robert

Смежные вопросы