Установка 32-разрядной цели сборки x86 в Visual С# 2008 Express Edition?

Я создаю приложение С#, которое загружает 32-битную COM-dll. Скомпилированное приложение отлично работает на 32-битных Windows, но barfs на 64-битной Windows, потому что он не может загрузить 32-битный COM. Есть ли способ установить 32-битную цель сборки в VС# 2008 Express Edition?

В качестве альтернативы существует ли способ заставить приложение .NET, скомпилированное для цели сборки AnyCPU, запускаться в 32-разрядном режиме в 64-разрядной Windows?

Ответ 1

Вы не можете явно установить его в 32-разрядный в пользовательском интерфейсе в VS Express, но, по-видимому (у меня только есть версия Professional), это можно сделать, используя небольшую настройку. В этом сообщении на форуме есть сведения о том, как это сделать.

Что вы также можете сделать, это использовать инструмент CorFlags, который поставляется с .Net Framework SDK, чтобы установить скомпилированный вывод в 32-разрядный. Чтобы установить 32-битный флаг с помощью CorFlags, запустите его из командной строки:

CorFlags.exe /32BIT+ yourapp.exe

Это установит флаг в заголовке вашего EXE, чтобы он передал .Net, что он должен быть запущен как 32-разрядный.

Ответ 2

Для потомков, вот сообщение форума adrian, связанное с:

В VС# Express это свойство отсутствует, но вы все равно можете создать x86, если вы знаете, где смотреть.

Он выглядит как длинный список шагов, но как только вы знаете, где эти вещи это намного проще. Любой, кто только имеет VС# Express, вероятно, найдет это полезно. Как только вы узнаете о Configuration Manager, это будет много более интуитивно понятным в следующий раз.

  • В VС# Express 2005 перейдите в Инструменты → Параметры.
  • В левом нижнем углу диалогового окна "Параметры" установите флажок, говорит: "Показать все настройки".
  • В дереве с левой стороны выберите "Проекты и решения".
  • В параметрах справа установите флажок "Показать расширенные строить конфигурации".
  • Нажмите "ОК".
  • Перейти к сборке → Configuration Manager...
  • В столбце Платформа рядом с вашим проектом щелкните поле со списком и выберите ".
  • В настройке" Новая платформа "выберите" x86".
  • Нажмите "ОК".
  • Нажмите "Закрыть".

Там, теперь у вас есть x86 Конфигурация! Проще простого!: -)

Я также рекомендую использовать конфигурацию Менеджер для удаления любого процессора Платформа. Вы действительно не хотите, чтобы если у вас когда-либо возникли проблемы с 32-разрядными родственные DLL (даже косвенные зависимостей).