将文件添加到XYZ.csproj.FileListAbsolute.txt的正确方法是什么?

时间:2018-09-29 02:01:40

标签: msbuild

我的构建代码在bin文件夹中创建了一个额外的文件。我要在清洗溶液时清洗它。但是,文件的名称由项目的AssemblyName属性确定。因此,如果更改了此属性(很少见,但确实发生了),那么清除旧文件的唯一方法是将其写入XYZ.csproj.FileListAbsolute.txt。

创建文件时我是否只写XYZ.csproj.FileListAbsolute.txt还是有更好的方法?

2 个答案:

答案 0 :(得分:1)

好,我找到了。

只需将文件添加到FileWrites项目列表中,就像这样:

<ItemGroup>
  <FileWrites Include="$(SomeFileYouWantCleanedUpOnClean)"/>
</ItemGroup>

在我的代码中,这是目标的一部分,而不是运行BeforeBuild和BeforeRebuild,但在全局范围内定义时也可以正常工作。

答案 1 :(得分:0)

清理文件的正确方法是在* .csproj文件中编写自己的构建目标。像这样:

<Target Name="MyClean" AfterTargets="Clean">
  <ItemGroup>
    <ToBeCleaned Include="$(SomeFileYouWantCleanedUpOnClean)"/>
  </ItemGroup>
  <Delete Files="@(ToBeCleaned)" />
</Target>

您永远都不需要修改(也不关心)FileListAbsolute.txt文件。