2009-09-04 2 views
10

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

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

ответ

12

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

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

CorFlags.exe /32BIT+ yourapp.exe 

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

+1

Большое спасибо. На связанных страницах была отличная работа. - разрешил мне выбрать 32 бит из GUI –

+0

CorFlags.exe также работал. благодаря! –

26

Для потомков, вот пост на форуме Adrian связан с:

В VC# Express, это свойство отсутствует, но вы можете создать конфигурацию x86, если вы знаете, где вид.

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

  1. В VC# Express 2005 перейдите в Инструменты -> Параметры.
  2. В левом нижнем углу диалогового окна «Параметры» установите флажок « », «Показать все настройки».
  3. В дереве с левой стороны выберите «Проекты и решения».
  4. В параметрах справа установите флажок «Показать продвинутые « Конфигурации сборки ».
  5. Нажмите OK.
  6. Перейти к сборке -> Менеджер конфигурации ...
  7. В столбце Платформа рядом с вашим проектом щелкните выпадающее сообщение и выберите "".
  8. В настройке «Новая платформа» выберите «x86».
  9. Нажмите OK.
  10. Нажмите Закрыть.

У вас есть конфигурация x86 ! Проще простого! :-)

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

+1

Обратите внимание, что в Visual Studio 2010 вам нужно нажать «Сервис»> «Настройки»> «Параметры эксперта», прежде чем появится меню «Создать». Кроме того, я не думаю, что шаги № 1 ~ 5 необходимы в 2010 году. – Fred

+0

Это именно то, что я ищу. Благодаря :) –