为什么MsbuildExtension Detokenise类重新加载项目?

为什么MsbuildExtension Detokenise类重新加载项目?,msbuild,msbuild-task,msbuildcommunitytasks,msbuildextensionpack,Msbuild,Msbuild Task,Msbuildcommunitytasks,Msbuildextensionpack,这是有问题的,因为传入的任何属性都会丢失 进一步说明:我将属性传递到项目文件。此属性是.props文件的路径。它包含detokenise类的令牌和替换值。任务显然会重新加载项目,并且不会维护路径。其他任务(例如guid任务)似乎不是这样 在本例中,我使用了一个名为guids.proj的示例项目 使用以下命令调用: <MSBuild.ExtensionPack.FileSystem.Detokenise TaskAction="Detokenise" TargetFiles="@(FileC

这是有问题的,因为传入的任何属性都会丢失

进一步说明:我将属性传递到项目文件。此属性是.props文件的路径。它包含detokenise类的令牌和替换值。任务显然会重新加载项目,并且不会维护路径。其他任务(例如guid任务)似乎不是这样

在本例中,我使用了一个名为guids.proj的示例项目

使用以下命令调用:

<MSBuild.ExtensionPack.FileSystem.Detokenise TaskAction="Detokenise" TargetFiles="@(FileCollectionToBeDetokenized )"/>

Project ToolsVersion="4.0" DefaultTargets="Default" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="$(ParentMSBuildProjectDirectory)\Bin\MSBuild\ExtensionPack\MSBuild.ExtensionPack.tasks" Condition="Exists('$(ParentMSBuildProjectDirectory)\Bin\MSBuild\ExtensionPack\MSBuild.ExtensionPack.tasks')"/>
<Import Project="C:\Program Files (x86)\MSBuild\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks" Condition="!Exists('$(ParentMSBuildProjectDirectory)\Bin\MSBuild\ExtensionPack\MSBuild.ExtensionPack.tasks') AND Exists('C:\Program Files (x86)\MSBuild\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks')"/>

<PropertyGroup>
    <TPath>$(MSBuildProjectDirectory)\..\MSBuild.ExtensionPack.tasks</TPath>
    <TPath Condition="Exists('$(MSBuildProjectDirectory)\..\..\Common\MSBuild.ExtensionPack.tasks')">$(MSBuildProjectDirectory)\..\..\Common\MSBuild.ExtensionPack.tasks</TPath>
    <PROPS>$(DACP)</PROPS>
</PropertyGroup>

<Import Project="$(PROPS)" Condition="'$(DACP)' != ''" />

<Target Name="Default">
    <Message text = "$(DACP)" />
    <!-- Create a new Guid and get the formatted and unformatted values -->
    <MSBuild.ExtensionPack.Framework.Guid TaskAction="Create">
        <Output TaskParameter="FormattedGuidString" PropertyName="FormattedGuidString1" />
        <Output TaskParameter="GuidString" PropertyName="GuidStringItem" />
    </MSBuild.ExtensionPack.Framework.Guid>
    <Message Text="GuidStringItem: $(GuidStringItem)"/>
    <Message Text="FormattedGuidString: $(FormattedGuidString1)"/>
    <!-- Create a new cryptographically strong Guid and get the formatted and unformatted values -->
    <MSBuild.ExtensionPack.Framework.Guid TaskAction="CreateCrypto">
        <Output TaskParameter="FormattedGuidString" PropertyName="FormattedGuidString1" />
        <Output TaskParameter="GuidString" PropertyName="GuidStringItem" />
    </MSBuild.ExtensionPack.Framework.Guid>
    <Message Text="GuidStringItem Crypto: $(GuidStringItem)"/>
    <Message Text="FormattedGuidString Crypto: $(FormattedGuidString1)"/>

    <ItemGroup>
        <FileCollectionToBeDetokenized Include="C:\Code\MSBuildGit\Configuration\TaskExecutorConfigTransforms\App.GREEN.SCRATCH.config"/>
    </ItemGroup>

    <Message text = "BaseUrl        : $(BaseUrl)" />
    <Message text = "DetokenizedTransformFile       : @(FileCollectionToBeDetokenized)" />

    <MSBuild.ExtensionPack.FileSystem.Detokenise TaskAction="Detokenise" TargetFiles="@(FileCollectionToBeDetokenized )"/>


</Target>