Member 14197773 Ответов: 1

Как удалить автоматически сгенерированные файлы из папки


У меня ниже MSBuild для создания .CS файлы от моего прото файлы. Сборка работает нормально, пока я не сделаю перестройку, где она жалуется на исходный файл 'generated-proto-output/Trade.cs#, указанный несколько раз.

Как я могу удалить свои файлы .cs перед каждой сборкой/перестройкой?

Ошибка

Описание кода серьезности файл проекта Предупреждение о состоянии подавления строки CS2002 исходный файл 'generated-proto-output\ErrorTrade.cs' указан несколько раз MyComp.Trade.Модель C:\dev\workspaces\trade-model-workspace\model\csharp\MyComp.Trade-Да.Модель

фрагмент сборки в файле 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>


Что я уже пробовал:

Я попытался использовать Remove для удаления файлов *.cs, но это не удаляет файлы.
Как я могу удалить файлы в папке до начала сборки/перестройки?

Я также попробовал ниже, но это не сработало
  <ItemGroup>  
     <FilesToDelete Include="%(RelativePath)generated-proto-output/*.*" />
    <Protobuf Include="../../proto/**/*.proto" ProtoRoot="../../proto/" OutputDir="%(RelativePath)generated-proto-output/" GrpcServices="None" />
    <Protobuf Update="../../proto/**/*Service.proto" GrpcServices="Both" />
  </ItemGroup>  
<Delete Files="@(FilesToDelete)" />

1 Ответов

Рейтинг:
1

RickZeeland

Может быть, вы можете использовать такой инструмент автоматизации сборки, как Торт, смотрите обзор здесь: https://www.slant.co/topics/4014/~сделать на основе-сборка-автоматизация-инструменты[^]


Member 14197773

Я фактически перешел от cake к MSBuild. Я бы надеялся, что MSBuild поддерживает что-то подобное, иначе я не вижу смысла в том, чтобы MsBuild продавался как инструмент сборки. Я родом из мира java, поэтому немного удивительно, что с csharp все не так просто.