2009-07-16 3 views
7

У меня странная проблема, и, надеюсь, кто-то может мне помочь.Visual Studio 2008 Свойства проекта Конфигурация конфигурации Отсутствующие параметры

У меня есть решение с 13 отдельными проектами C#. Я использую Vista x64 для разработки, и я хотел бы, чтобы эти проекты были нацелены на платформу x86. Это обычно довольно легко. Я могу перейти к свойствам решения -> Свойства конфигурации и изменить платформу на x86. Странная часть здесь состоит в том, что 3 из моих проектов отказываются разрешить мне выбирать x86.

Итак, я думал, что подойду к каждому из этих трех проектов отдельно и измените его в Project Properties-> Build and change the Platform. И выпадающие меню «Конфигурация» и «Платформа» не существуют для этих проектов. Я немного искал язык и нашел настройку в настройках Tools-> Options-> Projects And Solutions-> Show Advanced build. Выбрав это, при переходе к Project Properties для нарушающих проекты, теперь я вижу оба выпадающих меню, но платформа позволяет мне выбрать Active (Any CPU).

Я также не могу изменить свойства платформы в решении для x86 для этих проектов.

Любые идеи?

ответ

10

Похоже, что конфигурации сборки оказались вялыми. Три проекта, вероятно, были добавлены после того, как решение было настроено, чтобы иметь x86 поддержки (Новые проекты поддерживают только AnyCPU, даже если решение поддерживает больше платформ.)

  • Go Build-> Configuration Manager ...
  • Изменить «Платформа активного решения» на x86 (если она есть. Если есть только AnyCPU, используйте ее.)
  • Для каждого оскорбительного проекта в столбце «Платформа» выберите «Создать»
  • Выберите «Новая платформа как« x86 », , «Копировать настройки» из «Любой процессор» и убедитесь, что флажок НЕ отмечен.
  • Хит ОК.

Получение конфигурации/платформ, совместимых между решением и отдельными проектами, может быть сложным. Диспетчер конфигурации может вести себя непредсказуемо - особенно с настраиваемыми конфигурациями решений. Сначала я предлагаю играть в тестовое решение.

+0

Это работает для меня. Большое спасибо за вашу помощь. – tardomatic

+0

Я не вижу диспетчера конфигурации в своей visual studio 2008. На самом деле, моя версия является модифицированной версией VS 2008, известной как BIDS. – Steam

0

Я бы сравнил текстовое содержимое файлов csproj, чтобы увидеть, есть ли какие-либо настройки, которые выпадали или случайно. Также проверьте содержимое sln, возможно, что-то странное с конфигурациями.

С уважением,

Sebastiaan

+0

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

2

Я также разработать на x64 и x86 развертываемые. Однако я не изменяю платформу от значения по умолчанию (Any CPU), и это работает для меня просто отлично. У вас есть какой-либо код (например, Win interop), который работает по-разному на разных платформах? Ознакомьтесь с this post by Hanselman для получения подробной информации о 32/64 бит .NET-таргетинге.

+0

Привет, спасибо за ответ.К сожалению, мне нужно взаимодействовать с 32-битными перехватами, поэтому необходимо скомпилировать x86. Я думаю, что может возникнуть проблема с предоставленной вами ссылкой. Мне было бы интересно прочитать его. – tardomatic

+0

Исправлена ​​ссылка. Не забудьте подняться :) – zvolkov

+1

Отлично прочитал, спасибо за ссылку. Отмеченный. – tardomatic

-2

Для Visual Studio 2010. Чтобы запустить Access 12.0: R-щелчок по имени проекта в обозревателе решений, выберите «Свойства - сборка» - целевая платформа - x86.

+0

Не публикуйте тривиальные ответы на адекватно отвечаемые вопросы. – durron597

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