3

WriteCodeFragmentMSBuild タスクを使用してAssemblyVersion属性を作成しようとしています。ITaskItem処理に必要な配列を正しく渡すためのプロパティ グループの作成に問題があります。誰かが例を手伝ってくれますか?

4

1 に答える 1

15

これにより、 の属性をBuildVersion.cs持つ という名前のファイルが作成されます。を削除すると、代わりにランダムに生成されたファイル名が使用されます。アイテム名は、そのアイテムをコンパイル アイテム (ビルドに含める) に自動的に追加します。アイテム名により、Clean 中にファイルを削除できます。AssemblyVersion123.123.123.123OutputFileCompileBuildVersion.csFileWrites

<Target Name="BeforeBuild">
  <ItemGroup>
     <AssemblyAttributes Include="AssemblyVersion">
       <_Parameter1>123.123.123.123</_Parameter1>
     </AssemblyAttributes>
  </ItemGroup>
  <WriteCodeFragment AssemblyAttributes="@(AssemblyAttributes)"
                     Language="C#"
                     OutputDirectory="$(IntermediateOutputPath)"
                     OutputFile="BuildVersion.cs">
    <Output TaskParameter="OutputFile" ItemName="Compile" />
    <Output TaskParameter="OutputFile" ItemName="FileWrites" />
  </WriteCodeFragment>
</Target>
于 2010-11-29T17:11:37.373 に答える