NuGetには、ビルド時に使用するために設計されたいくつかのパッケージがあります。例はであり、protoc.exe
を含んでいます。ASP.NETコアでNuGetビルドツールパッケージを使用
.NETコアの前の.csprojシステムでは、Google.Protobuf.Toolsを追加してから、事前ビルドイベントを使用して..\Packages\...\protoc ...
を実行できます。
新しい.NETコアの.csprojシステムでは、いくつかの点でそれはより良いです。
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<CallTarget Targets="DeviceMessages" />
</Target>
<Target Name="DeviceMessages" Inputs="DeviceMessages.proto" Outputs="obj\DeviceMessages.cs">
<Exec Command="..\Packages\Google.Protobuf.Tools.3.4.0\tools\windows_x64\protoc --proto_path=. --csharp_out=obj DeviceMessages.proto" Outputs="obj\DeviceMessages.cs" />
</Target>
問題がこれ以上Packages
フォルダが存在している:あなたは簡単にこのように、ビルドを増分取得するには、ビルドターゲットを手で追加することができますので、たとえば、.csprojファイルは、クリーンアップされます。一般的に、それは良いことです。しかし、MSBuildターゲットで使用するNuGetビルドツールパッケージへの道はどうやって手に入りますか?