Когда Configuration Manager (или соответствующие окна на панели инструментов) имеет x64
Release
и свойства сборки имеет x86
Debug
(без 'Active
') и F5 щелкают - VS следует Configuration Manager. Итак, что такое свойства Build для?Менеджер конфигурации Vs. Особенности сборки
Edit:
Это всегда определяет действие:
Это никогда не делает , даже если он не установлен на 'Активный':
Проверено со следующим кодом:
public Form1()
{
InitializeComponent();
#if (DEBUG)
Text = "DEBUG";
#else
Text = "Release";
#endif
Text += Environment.Is64BitProcess;
}
С Configuration Manager установлен для отладки + x86 (несмотря на будучи 64 компьютера), и язычок сборки в свойствах проекта выпустить + x64 (не «активный») , В результате получилось: «DEBUGfalse».
Итак, каков последний (вкладка «Сборка»)?
Спасибо. Я предполагаю, что ваш первый абзац говорит о Configuration Manager ('Build' не имеет флажка для его отключения). 'Единственная настройка, которая имеет значение, это Project + Properties, Build tab' - на самом деле, как я писал - Visual Studio следует за Configuration Manager, а не с вкладкой Build. (Я пробовал это с помощью простого проекта, который использовал '#if (DEBUG)' и 'Environment.Is64BitProcess'. – ispiro
' управляемый код, естественно, не обращает внимания на целевую архитектуру'. Я предполагаю, что вы имели в виду, что 'Любой CPU' будет работать на обоих , а не то, что это действительно неудовлетворительно, потому что причина, по которой я использовал другую платформу, заключается в том, что Ngen не работал в 'Any CPU' или на' x64' (как в моем другом вопросе, который вы ответили) - и переходе на 'x86' решил, что. – ispiro
Нет, имеет значение только настройка целевой платформы. У разных конфигураций могут быть разные настройки для этой опции, вы можете получить ее правильно случайно.Все это не относится к ngen, версия, которую вы запускаете, определяет, для какой архитектуры она генерирует собственные изображения. Пока ваш проект EXE представляет собой AnyCPU, 64-разрядная версия ngen.exe будет генерировать правильные собственные изображения на 64-битной машине. Если по какой-то причине он вынужден на x86, вы должны использовать 32-разрядную версию ngen.exe. –