Как определить задачу сборки protobuff в msbuild?
У меня есть файл протока в projectDirectory/api/api.proto, и я хочу встроить его в базу моего каталога проекта (в.cs). Это основное приложение dotnet. Вот что я пытаюсь:
<ItemGroup>
<PackageReference Include="Google.Protobuf" Version="3.6.0" />
<PackageReference Include="Google.Protobuf.Tools" Version="3.6.0" />
<PackageReference Include="Grpc" Version="1.13.0" />
<PackageReference Include="Grpc.Tools" Version="1.13.0" />
</ItemGroup>
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<CallTarget Targets="BuildAPI" />
</Target>
<Target Name="BuildAPI" Inputs="obj/api.proto" Outputs="obj\api.cs">
<Exec Command="$(NuGetPackageRoot)Google.Protobuf.Tools.3.6.0\tools\windows_x64\protoc -I ./proto/api --charp_out obj api.proto" Outputs="obj\api.cs" />
</Target>
Я получаю сообщение об ошибке MSB3073 Команда "C:\Users\xxx.nuget\packages\Google.Protobuf.Tools.3.6.0\tools\windows_x64\protoc -I ./proto/api --charp_out obj api.proto" завершена с код 3.
Я проверил, что путь к exe-файлу правильный, поэтому я предполагаю, что моя команда неверна.