Как преобразовать функцию NAnt "путь :: комбинировать (путь1, путь2)" в MSBuild? - PullRequest
2 голосов
/ 24 марта 2010

Мне нужно преобразовать функцию "путь :: комбинат (путь1, путь2)". Пожалуйста, помогите мне, если у вас есть идея. Спасибо!

Ответы [ 2 ]

2 голосов
/ 25 марта 2010

Использование задачи CombinePath:

<Project DefaultTargets="DefaultTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <MyBasePath>.\a\b</MyBasePath>
        <MySecondPath>c\d</MySecondPath>
    </PropertyGroup>

    <Target Name="Combine">
        <PropertyGroup>
            <MySecondPath Condition="$(MySecondPath)==''">.\</MySecondPath>
        </PropertyGroup>
        <CombinePath BasePath="$(MyBasePath)" Paths="$(MySecondPath)">
            <Output TaskParameter="CombinedPaths" PropertyName="CombineOutput" />
        </CombinePath>
    </Target>

    <Target Name="DefaultTarget" DependsOnTargets="Combine">
        <Message Text="Result from Combine is $(CombineOutput)" />
    </Target>

</Project>
0 голосов
/ 23 августа 2015

Обновление этого поста для новых версий MsBuild. Начиная с MSBuild 4.0 и выше, вы можете использовать функции свойств

$([System.IO.Path]::Combine($(Path1),$(Path2)))
...