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