Списки свойств могут легко решить эту и некоторые другие проблемы, связанные с недвижимостью.
Короче говоря, все свойства в проекте - это просто узлы в документе XML, и узлы группы свойств могут иметь атрибут condition
. Их легко изменить в любом текстовом редакторе, но менее известной функцией является возможность импорта других документов XML, которые могут предоставлять настройки (для всех, кроме нескольких проектов).
В этом блоге есть хорошее руководство по использованию листов проекта, а также дополнительная информация по этому вопросу . Вы можете создавать их в Visual Studio, редактировать их (включая копирование существующих настроек проекта), а затем присоединять их к своему проекту со свойством manager (не окном свойств).
Группы в вашем окне свойств используют тот же синтаксис, что и обычные настройки, и могут быть установлены для всех конфигураций или отфильтрованы, чтобы применяться только к некоторым. Они также могут быть отфильтрованы по имени проекта и нескольким другим вещам, используя систему переменных и условий VS. Например, я использую:
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<Optimization>Disabled</Optimization>
<EnablePREfast>true</EnablePREfast>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
для некоторых моих сборок, чтобы применить одинаковые настройки ко всему проекту ( полный файл здесь ).
Одним из наиболее удобных способов использования является предоставление в файле каталога для сборки, поэтому все ваши проекты собираются одинаково в одном каталоге (обязательно используйте имя проекта для вывода).