Конфигурация сборки: смешанная платформа против любого процессора - PullRequest
81 голосов
/ 18 апреля 2011

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

Ответы [ 4 ]

38 голосов
/ 18 апреля 2011

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

http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/

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 - это совершенно не меняет другие аспекты процесса компиляции.

23 голосов
/ 30 августа 2016

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

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

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

16 голосов
/ 18 апреля 2011

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

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

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

9 голосов
/ 08 октября 2015

От: этот пост. 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 ++.

...