如何在Visual Studio 2010中的MSBuild进程中使用Ajax Minifier时使用-clobber选项

时间:2011-05-31 21:36:08

标签: .net ajax visual-studio msbuild microsoft-ajax-minifier

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

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

以下是我的项目(.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 个答案:

答案 0 :(得分:0)

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

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

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

Exec Task

答案 1 :(得分: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。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您只需要正确传递$MyPage = file_get_contents('http://www.example.com/status/page.php'); if ($MyPage == 'OK'){ echo 'Website up'; } else { echo 'Website Error'; } 开关。

更改

-clobber

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