Можно ли переместить определения конфигурации в лист свойств с помощью MSBuild? - PullRequest
3 голосов
/ 07 марта 2011

Я поддерживаю довольно большое количество проектов, которые имеют более 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>

    ...

Ответы [ 2 ]

2 голосов
/ 07 марта 2011

Это было сообщено (мной) как ошибка в бета-версии VS 2010, но, к сожалению, исправление не попало в релиз.Я постараюсь выкопать вопрос подключения.Возможно, вы захотите рассмотреть возможность генерации кода с использованием объектной модели MSBuild Project или некоторую проверку времени сборки файлов вашего проекта с использованием того же самого, но в остальном нам придется ждать исправления.

0 голосов
/ 15 июня 2012

Это возможно в VS2012, как я разместил здесь , не тестировалось в VS2010. Однако не могу понять, почему это не сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...