MSBuild,清除项目中的多个文件

时间:2010-10-01 19:35:32

标签: msbuild teamcity-5.1

尝试清除项目中的文件时出现以下错误

LC错误LC0000:'找不到文件'E:\ CI \ BuildServer \ RMS-Transition \ Group \ dev \ Controls \ Properties \ licenses.licx'。'

我的MSBuild任务看起来像这样......

<Target Name="ClearLicenseFiles">
    <ItemGroup>
        <LicenseFiles Include="..\**\*.licx"/>
    </ItemGroup>
    <WriteLinesToFile File="%(LicenseFiles.FullPath)" Lines="" Overwrite="true"/>
</Target>

发生了什么事?它似乎发现所有.licx文件都很好但是当它写入它们时,它们不存在......并且根据文档,WriteLinesToFile任务应该创建文件,如果它没有'已经存在了。

1 个答案:

答案 0 :(得分:0)

我开始相信这是MSBuild的一个错误......许可文件正在被 DELETED 覆盖,而不会像您期望的那样被覆盖。其他人也有这个问题(评论this msdn article的底部)

这是我的解决方案......我在msbuild proj旁边创建了一个名为empty.txt的空文件,然后将此文件复制到licx文件中。

<Target Name="ClearLicenseFiles">
    <ItemGroup>
        <LicenseFiles Include="..\**\*.licx"/>
    </ItemGroup>
    <Copy SourceFiles="empty.txt" DestinationFiles="%(LicenseFiles.FullPath)"/>
</Target>