私はMSBuildにさまざまなプロジェクトのターゲットを処理しています。MSBuild:カスタムタスクを記述して呼び出しますが、MSBuildはTaskFactoryが必要だと思っています
私は、SubWCRevを呼び出して出力を解析するカスタムタスクを書いたプロジェクトの現在のSVNリビジョンを取得する必要があります。これは、私のCIシステムの可能性を理解する助けにもなります。
<Target Name="Version" BeforeTargets="BuildDatabase">
<xxx.Elements.Build.MSBuildTasks.SubWCRev WorkingCopyDir="$(ProjectDir)..">
<Output TaskParameter="LastCommittedRevision" ItemName="LastCommittedRevision" />
<Output TaskParameter="MixedRevisionRangeMinimum" ItemName="MixedRevisionRangeMinimum" />
<Output TaskParameter="MixedRevisionRangeMaximum" ItemName="MixedRevisionRangeMaximum" />
<Output TaskParameter="HasLocalModifications" ItemName="HasLocalModifications" />
</xxx.Elements.Build.MSBuildTasks.SubWCRev>
<Message Text="Revision is @(LastCommittedRevision)" />
</Target>
私の問題は、MSBuildのは、私はthis documentがオプションであると言うTaskFactory属性を、使用主張ということです...私は、タスクを実行
<UsingTask TaskName="xxx.Elements.Build.MSBuildTasks.SubWCRev" AssemblyFile="D:\dev\xxx_presentation\Build\xxx.Elements.Build.dll">
<ParameterGroup>
<LastCommittedRevision ParameterType="System.Int" Required="False" Output="True" />
<MixedRevisionRangeMinimum ParameterType="System.Int" Required="False" Output="True" />
<MixedRevisionRangeMaximum ParameterType="System.Int" Required="False" Output="True" />
<HasLocalModifications ParameterType="System.Boolean" Required="False" Output="True" />
</ParameterGroup>
</UsingTask>
:
私は、この要素を使用して参照します。 。そして、私はまた、TaskFactoryは、私は興味がないのインライン・タスク、ために特にであることを見ている
エラーメッセージは次のとおりです。
必要な属性「TaskFactory」要素UsingTaskから空または欠落しています。
どこが間違っていますか?あなたは伝統的な方法でUsingTaskを指定する際に属性はオプションであることを
(ところで、私が優れていることがMSBuild Sidekick 3を見つけ、かなり複雑なスクリプトになることができます何の抵抗を低減しています。)
ああ、ありがとう。私はそれがそれのようなものになると思った。 –