0

次のように定義された ItemGroup があるとします。

  <ItemGroup>
<ReactorFile Include="MyExecutable\bin\x86\Release\MyExecutable.exe"/>
<ReactorFile Include="MyLibrary\bin\x86\Release\MyLibrary*.dll"/>
</ItemGroup>

PropertyGroup を定義:

<PropertyGroup>
<ReactorUnObfuscatedFileExt>.unobfuscated</ReactorUnObfuscatedFileExt>
</PropertyGroup>

また、別のファイルでターゲットを定義しました。

<Target Name="CopyUnprotectedFiles">
  <!-- Copy unobfuscated file to  "unobfuscated file".unobfuscated -->
<Copy
    SourceFiles="@(ReactorFile)"
    DestinationFiles="@(ReactorFile -> '%(Filename)%(Extension)$(ReactorUnObfuscatedFileExt)"
    SkipUnchangedFiles="false"
/>
</Target>

残念ながら、MSBuild の経験が不足しているため、間違っていました。誰かが私のためにそれを修正してもらえますか?

4

1 に答える 1

1

私はそれを理解しました:

%(RelativeDir)アイテムメタデータを追加することが解決策でした。

多分他の人が例としてそれを使うでしょう。修正されたフラグメントは次のとおりです。

<Target Name="CopyUnprotectedFiles">
  <!-- Copy unobfuscated file to  "unobfuscated file".unobfuscated -->
<Copy
    SourceFiles="@(ReactorFile)"
    DestinationFiles="@(ReactorFile -> '%(RelativeDir)%(Filename)%(Extension)$(ReactorUnObfuscatedFileExt)')"
    SkipUnchangedFiles="false"
/>
</Target>
于 2013-03-01T11:23:25.253 に答える