Question

J'ai essayé d'obtenir une minécution et un ensemble de travail sur mon projet MVC3 pendant un certain temps, essayez de nombreux compresseurs et méthodes différents. Je suis enfin installé sur l'utilisation de Microsoft Ajax Minifier via une tâche MSBUILD dans mon fichier de projet. Je ne suis que jusqu'à présent dans ma configuration, mais j'ai frappé un stumage immédiat; Lorsque je miniez et combinez mes scripts JS dans un fichier unique (à l'aide de la définition de la tâche ci-dessous), mon fichier combiné contient toujours deux copies minitives de chaque script.

J'ai coupé toutes les autres tâches de Msbuild compliquées que j'ai ajoutées, supprimées tout sauf un script JS, et cela se produit toujours. Les balises ci-dessous sont la seule partie de mon fichier de projet que j'ai modifié manuellement:

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

combiné.min.js est créé à la racine de mon projet Web (comme prévu), mais il contient deux copies minifiantes du fichier JQuery.js.

J'utilise Microsoft Visual Studio Ultimate 2012 RC (version 11.0.50706.0 QRelRC juillet 2012) et les références "AJAXMInTask.dll" Fichier est la dernière version (4.59.4576.13505) de ici .

Maintenant, voici la chose la plus étrange. En outre, j'ai créé des projets entièrement nouveaux MVC3 dans VS 2010 et VS 2012, et copiés et collés les lignes ci-dessus dans leurs fichiers de projet - ne changeant que le chemin d'accès à AjaxminTask.dll (pour utiliser le même projet cassé) et le chemin vers le fichier jQuery (\ scripts \ jQuery..js) et ils fonctionnent parfaitement bien .

.

Malheureusement, je ne peux pas coller le fichier de projet car il est trop long pour le débordement de la pile, donc je l'ai diffusé avec le fichier JQuery original que j'essaie de minifier / combiner, le fichier "minifié" résultant et le Les assemblées Ajaxmin que j'utilise:

[URL expurgé]

Alternativement, je suis très ouvert à toutes les autres méthodes suggérées qui me permettront de minifier / combiner lorsque je construise en mode de sortie dans Visual Studio 2012, en utilisant .NET 4.0 et MVC 3.

Était-ce utile?

La solution

Eh bien, voici une bizarre gotcha ... j'ai réussi à résoudre ce problème (après des jours de faffing sur!) en modifiant le répertoire "JS" vers un autre nom ("JavaScript"):

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

ou enlever le "** \" depuis le début du chemin:

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

Je soupçonne que ceci est un insecte d'une sorte.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top