我具有以下MSBuild,可从我的原型文件生成.cs文件。在我进行重建之前,该构建工作正常,直到它抱怨多次指定源文件'generated-proto-output / Trade.cs#。
如何在每次构建/重建之前删除我的.cs文件?
错误
严重性代码描述项目文件行抑制状态 警告CS2002源文件'generated-proto-output \ ErrorTrade.cs'被多次指定MyComp.Trade.Model C:\ dev \ workspaces \ trade-model-workspace \ model \ csharp \ MyComp.Trade.Model
在csproj文件中构建代码段
componentDidCatch
更新-完整的CSProj文件(根据兰斯的要求)
<ItemGroup>
<Protobuf Remove="%(RelativePath)generated-proto-output/**/*.cs" />
<Protobuf Include="../../proto/**/*.proto" ProtoRoot="../../proto/" OutputDir="%(RelativePath)generated-proto-output/" GrpcServices="None" />
<Protobuf Update="../../proto/**/*Service.proto" GrpcServices="Both" />
</ItemGroup>
答案 0 :(得分:0)
如何在每次构建/重建之前删除.cs文件?
使用下面的BeforeTargets尝试以下脚本:
go Tools=>Options=>Project and Solutions=>Build and Run
此外:
没有看到您的.csproj的全部内容,因此我无法弄清楚为什么您使用的构建片段无法正常工作。但是message task可能会帮助输出一些消息,无论引擎是否通过给定的路径找到文件。
在Visual Studio中,如果您将Detailed
的构建详细程度更改为Ctrl+F
,则在每次构建并重新构建后,您都会看到详细的输出消息。INI
并键入目标名称将找到有关删除过程的详细信息:
希望它对您的故障排除有所帮助。
答案 1 :(得分:0)
尝试将CompileOutputs="false"
添加到指令中。这将消除警告,并且不需要您在构建csharp protobuf build integration