2

基本上,我的最终目标是在构建我的 Visual Studio 解决方案时删除已经存在的 .min.js 和 CSS 文件,而我将Ajax Minifier(4.20 版)作为MSBuild任务之一,用于缩小 .js 和 .css 文件。

根据 Ajax Minifier 文档,我可以使用该-clobber选项来实现上述目标。但是,我无法弄清楚我可以在 Visual Studio MSBuild 项目任务中的哪个位置使用此选项。不过,我成功地使用了-clobberAjax Minifier 命令行工具中的选项。

这是我的项目(.csproj)文件中的配置代码......

<Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\ajaxmin.tasks" />
<Target Name="AfterBuild">
    <ItemGroup>
        <JS Include="**\*.js" Exclude="**\*.min.js;Scripts\*.js" />
    </ItemGroup>
    <ItemGroup>
        <CSS Include="**\*.css" Exclude="**\*.min.css" />
    </ItemGroup>
    <AjaxMin JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js" CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css" clobber="true" />
</Target>

但是,当我编译我的解决方案时,出现以下错误 - 不知道为什么?

“AjaxMin”任务不支持“clobber”参数。验证该参数是否存在于任务中,并且它是一个可设置的公共实例属性。

4

4 回答 4

0

对于使用 AjaxMin.DLL 的构建任务,您不需要 -clobber 开关。只有 AjaxMin.EXE 需要该开关。

于 2012-04-17T16:55:48.757 回答
0

从我从文档中可以看出,clobber 开关似乎不可用。它不可用的事实似乎表明删除过时的文件将由任务处理。让任务负责文件管理对我来说很有意义。话虽这么说,你确定你需要clobber开关吗?

如果这样做,您可以使用 exec 任务调用控制台版本的 AjaxMin:

<Exec Command="C:\PathToAjaxMin\AjaxMin.exe _options_here_" />

执行任务

于 2011-06-11T22:41:07.607 回答
0

C:\"Program Files (x86)"\MicroSoft\"MicroSoft Ajax Minifier"\AjaxMin.exe -css $(ProjectDir)css\style1.css $(ProjectDir)css\style2.css $(ProjectDir)css\style3. css -o $(ProjectDir)css\master.min.css -clobber:true

注意:确保命令在 POSTBuild 事件中的一行中

这就是我正在使用的。如果您正在组合脚本,请将-css更改为-js

基于文档:http ://ajaxmin.codeplex.com/wikipage?title=Command-Line%20Switches

默认情况下,-clobber 设置为 false。所以如果要替换现有的输出文件,需要在最后指定 true。

于 2011-11-22T05:16:33.517 回答
0

您只需要-clobber正确传递开关即可。

改变

<AjaxMin JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js"
CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css"
clobber="true" />

<AjaxMin JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js"
CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css"
Switches="-clobber" />
于 2015-11-08T07:13:34.097 回答