Часто случается, что одно решение С# содержит некоторые проекты, специфичные для x86 (обычно с использованием собственных зависимостей), а другие - "Любой процессор" .
До недавнего времени я всегда заходил в диспетчер конфигурации и следил за тем, чтобы платформа решений была "Any CPU". Это не слишком большая проблема; это требует особых трюков как упомянутых здесь, но в целом не так уж плохо.
Однако, я недавно начал задаваться вопросом, ошибочны ли эти усилия. Я явно против того, чтобы Visual Studio 2010 (и ранее Visual Studio 2008) был разработан для этого. "Смешанные платформы" на самом деле являются точным описанием, и, хотя изначально он чувствует, что что-то не так, при дальнейших размышлениях я должен сделать вывод, что он не более прав, чем "Любой процессор" .
Итак, в последнее время я пытаюсь выбирать между сохранением "Смешанных платформ" или заменой на "x86" в качестве платформы решений в таких случаях. Последнее отражает намерение: окончательный EXE файл - x86 и работает в 32-битном режиме на 64-битных операционных системах. Первое - это то, что Visual Studio действительно хочет, чтобы это было.
По вашему опыту, есть ли какая-то конкретная платформа решений, которая больше подходит для других в этой ситуации?
Примечание 1: в каждом случае, с которым я столкнулся, "x86" оправдывается родными зависимостями, а "Любой процессор" оправдан, будучи внешней библиотекой, которая действительно не зависит от платформы.
Примечание 2: если я правильно понимаю, платформа решений не имеет большого значения; это просто имя. Кажется, что при добавлении новых проектов по умолчанию изменяется статус "строить-или не строить", но это единственный эффект, который он имеет. Правильно?