【问题标题】:msbuild fileupdate setup projectmsbuild 文件更新设置项目
【发布时间】:2010-01-07 12:24:13
【问题描述】:

我希望使用 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 文件都这样做?

【问题讨论】:

    标签: msbuild msbuildcommunitytasks


    【解决方案1】:

    为了实现这一点,您需要使用项目组为您创建列表

    <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>
    

    【讨论】:

      猜你喜欢
      • 2017-11-06
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      • 2015-12-22
      • 2014-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多