Конфигурация сборки: смешанная платформа против любого процессора

92

В чем разница между различными, Build Configuration settingsнапример, любым процессором, смешанной платформой, WIN32 и т. Д. В Visual Studio.

Рохит
источник

Ответы:

42

Вот ссылка, которая помогает объяснить параметр конфигурации сборки в Visual Studio и ее файлы сборки:

http://web.archive.org/web/20151215192101/http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/

В основном настройка указывает, на какой платформе может работать сборка. Когда выбран AnyCPU, результирующая DLL помечается как способная работать где угодно; когда выбран x86, результирующая DLL помечается как способная работать только в 32-битных системах и не будет работать в 64-битных приложениях или процессах (но будет работать в 64-битной Windows;) и так далее и тому подобное.

Это просто устанавливает флаги для скомпилированной DLL - это вообще не меняет другие аспекты процесса компиляции.

порусан
источник
1
Также ознакомьтесь с этой ссылкой, посвященной взаимодействию файлов решений: social.msdn.microsoft.com/forums/vstudio/en-US/…
Дж. Полфер,
49
Однако это, похоже, не объясняет «смешанные платформы».
Угроза
2
@Menace Насколько я понимаю (из утерянной ссылки), когда вы открываете решение, в котором все проекты не имеют одинаковой конфигурации, Visual Studio показывает / выбирает конфигурацию решения как смешанные платформы. (Если я смогу найти исходную ссылку, я
исправлю
8
Ссылка visualstudiohacks.com/articles/… мертва.
А.
40

Как уже объяснялось на другой платформе. (т.е. X86 для 32-битной версии, x64 только для 64-битной, и «Любой процессор» может работать в обоих). Я сконцентрируюсь на Mixed Platformтом, чем это отличается от Any CPU.

Это Any CPUнастройка уровня проекта, где, как и в реальном решении, у нас есть несколько проектов под одним решением, и есть вероятность, что некоторые из моих проектов используют Any CPU, а другие используют x86илиx64 build.

Так что на уровне решения Mixed Platformбудет автоматически выбран. это означает, что во время сборки / перестройки решения каждый проект строится на основе выбранной платформы.

Неха Джайн
источник
17

Имена конфигураций сборки не имеют большого значения - они увеличиваются, если у вас есть проекты C ++ и C # в одном решении (и даже хуже, если у вас тоже есть мобильные проекты), потому что разные типы проектов используют разные имена конфигурации, поэтому вы заканчиваете с их большим количеством.

Мы стараемся удалять все конфигурации, которые не используем, но иногда это тяжелая работа, так как часто, когда вы добавляете новый проект, нежелательные конфигурации будут добавлены обратно в решение.

Мои рекомендации - решить, какие конфигурации вам нужны (просмотрев фактические настройки в них), а затем удалить все остальное.

Уилл Дин
источник
10

От: этот пост. https://social.msdn.microsoft.com/forums/vstudio/en-US/81c72e8b-6335-4bf4-b7c0-b5c322edcaee/mixed-platforms-vs-any-cpu

Когда все проекты в решении относятся к одному типу (например, проекты C # / VB), конфигурации решения будут точно соответствовать конфигурациям проекта. Если у вас есть проекты в решении с несоответствующими конфигурациями / платформами, Visual Studio создает конфигурации уровня решения «Смешанные платформы / отладка» и, возможно, «Смешанные платформы / выпуск». Эти конфигурации всего лишь сопоставления с конфигурациями на уровне отдельных проектов.

Например, если у вас есть проект C # и проект C ++, обычно «Mixed Platforms / Debug» будет отображаться на «Any CPU / Debug» для проекта C # и «Win32 / Debug» для проекта C ++.

ДжайлсДмидлтон
источник