Я поддерживаю довольно большое количество проектов, которые имеют более 20 конфигураций, и все же некоторые конфигурации добавляются время от времени. Распространение таких изменений во всех проектах - это то, что мы делаем сейчас с VCBuild. Я начал экспериментировать с MSBuild, и, похоже, есть какая-то логика для их выделения в отдельный список свойств, позволяющий вносить изменения в одном месте. Как мне это сделать?
Обратите внимание, что когда я пытался это сделать, Visual Studio жаловался, что в проекте не было никаких конфигураций. Пример того, как я пытался добиться этого, приведен ниже. Заранее спасибо.
configurations.props:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Default" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug_Unicode|Win32">
<Configuration>Debug_Unicode</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
...
</ItemGroup>
проектируемый:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup Label="Globals">
<ProjectName>projname</ProjectName>
<ProjectGuid>{XXX...XXX}</ProjectGuid>
<RootNamespace>proj</RootNamespace> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="configurations.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="other.props" /> </ImportGroup>
...