0

结合我一直在试图获得缩小和捆绑对我有一段时间了MVC3项目的工作,尝试了很多不同的压缩机和方法时,JS文件重复。我终于决定通过我的项目文件中的msbuild任务使用Microsoft Ajax Minifier。我只是到了我的配置,但我立即遇到了绊脚石;当我将JS脚本缩小并合并到单个文件中(使用下面的任务定义)时,我的组合文件总是包含每个脚本的两个缩小副本。的Ajax Minifier:通过项目文件/ MSBuild任务

我剪了所有其他复杂的MSBuild任务我已经添加,删除所有,但一个JS脚本,它仍然发生。下面的标签是我的项目文件的唯一部分,我手动修改:

<UsingTask TaskName="AjaxMin" AssemblyFile="$(MSBuildProjectDirectory)\..\_Build\AjaxMinTask.dll" /> 
<Target Name="AfterBuild"> 
    <ItemGroup> 
     <JsFiles Include="**\res\js\libs\jquery.js" /> 
    </ItemGroup> 
    <AjaxMin Switches="-global:jQuery,$" JsSourceFiles="@(JsFiles)" JsCombinedFileName="Combined.min.js" /> 
</Target> 

Combined.min.js在我的web项目(如预期)的根目录中创建的,但它包含了两个缩小的副本jquery.js文件。

我使用Microsoft Visual Studio Ultimate 2012 RC(版本11.0.50706.0 QRELRC 2012年7月)和参考“AjaxMinTask.dll”文件是从here最新版本(4.59.4576.13505)。

现在,这里是最奇怪的事情。另外,我已经在VS 2010和VS 2012中创建了全新的MVC3项目,并且复制了&将上面的代码粘贴到了他们的项目文件中 - 只是将路径更改为AjaxMinTask.dll(与破损的项目一样使用)以及路径JQuery的文件(\脚本\ jquery..js)和它们完美做工精细

不幸的是,我不能粘贴项目文件,因为它太长,堆栈溢出,所以我已经压缩了原始的jquery文件,我试图缩小/合并,产生的“缩小”文件,和我使用的AjaxMin组件:

[URL删除]

另外,我对任何其他建议的方法,让我来缩小/当我建立的Visual Studio 2012结合在释放模式非常开放使用.NET 4.0和MVC 3

回答

0

嗯,这里是一个奇怪的疑难杂症...我已经设法解决这个问题(faffing约的天!)被EI疗法改变了 “JS” 目录复制到另一个名称( “JavaScript的”):

<JsFiles Include="**\res\javascript\libs\jquery.js" /> 

或删除 “** \” 从路径的开始:

<JsFiles Include="res\js\libs\jquery.js" /> 

我怀疑这是一个某种错误。

+0

我敢打赌,.js文件的**被拿起副本bin文件夹下,这样每个文件的两倍,但是从两个不同的位置 – 2012-07-28 23:42:01

+0

我不知道,但我找不到任何详细的文档,并找不到任何不包含**前缀的示例。现在排序,感谢上帝......这不是经常把我的头发拉出这么长时间! – Spikeh 2012-07-29 06:37:58