我希望使用msbuildtasks.tigris.org中的fileUpdate任务来修改图像src作为我们的Web设置项目的一部分,以便它们指向静态img子域(或稍后的CDN)
我可以使用以下命令在给定项目中运行任务:
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
<Target Name="AfterBuild">
<FileUpdate
Files="basic.css"
Regex="/images/([^\)]*)"
ReplacementText="http://img.domain.com/images/$1" />
</Target>
但是,我不想覆盖原始的css源文件,但希望将其作为生成msi的部署项目的一部分运行。 这是使用Web安装项目(.vdproj)完成的,该项目也使用自定义操作项目,这只是一个标准.csproj
我的问题是:
1.如何在安装项目中运行此任务,以便替换进入.msi的文件中的内容?
2.有没有办法为文件使用通配符 - 理想情况下我想对所有.css文件执行此操作?
感谢您的帮助
答案 0 :(得分:11)
为了实现这一目标,您需要使用项目组为您创建列表
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
<Target Name="AfterBuild">
<ItemGroup>
<CssFiles Include='$(SolutionRoot)\**\*.css' />
</ItemGroup>
<FileUpdate
Files="@(CssFiles)"
Regex="/images/([^\)]*)"
ReplacementText="http://img.domain.com/images/$1" />
</Target>