WCFサービスの「プロキシ」アセンブリとして複数のアセンブリを1つにマージしようとしています。現在、プロキシのユーザーは、データコントラクトを含むアセンブリと、継承スキームのためにドメインアセンブリを参照する必要があります。
これにはILMergeを使用したいと思います。特に、ILMerge-Tasksプロジェクトは有望に見えます。特に、プロジェクトホームからのこの行は次のとおりです。
ILMerge-タスクプロジェクトホーム:
... ILMerge.exeが存在しなくてもタスクを使用できるように、ILMergeとタスクdllをマージするビルド後のイベントも含まれています。
これはまさに私が達成したいことですが、私はそれをどうやって行うのか本当にわかりません。助けてください!
その他の関連する(おそらく)情報:
- TFSで自動ビルドを使用しているため、ilmerge.exeが存在しないことは大きなプラスになります
アップデート:
そこで、プロジェクトにILMerge.MSBUild.Tasks.dllを含め、ビルドファイルに次のものを追加しました(ilmergeプロジェクトのホームから取得)。
<Target Name="AfterBuild">
<UsingTask TaskName="ILMerge.MSBuild.Tasks.ILMerge"
AssemblyFile="ILMerge.MSBuild.Tasks.ILMerge"/>
<ItemGroup>
<MergeAsm Include="BarProject.dll" />
<MergeAsm Include="FooProject.dll" />
</ItemGroup>
<ILMerge InputAssemblies="@(MergeAsm)" OutputFile="FooBar.dll" />
</Target>
しかし、今、私は次のエラーを受け取ります:
「UsingTask」タスクが見つかりませんでした。以下を確認してください。1。)プロジェクトファイル内のタスクの名前は、タスククラスの名前と同じです。2.)タスククラスは「パブリック」であり、Microsoft.Build.Framework.ITaskインターフェイスを実装します。3.)タスクは、プロジェクトファイル、または「C:\ Windows \ Microsoft.NET \ Framework\v4.0.30319」ディレクトリにある*.tasksファイルで正しく宣言されています。