Question

Dans la documentation de WebGrease, elle parle de l'utilisation d'une tâche MSBuild faire une minification au moment de la construction.Cependant, lorsque j'ajoute la tâche à mon fichier projet, elle échoue.

Voici les lignes que j'ai ajoutées à mon projet

  <UsingTask TaskName="WebGreaseTask" AssemblyName="WebGrease, Version=1.6.5135.21930, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"/>
  <Target AfterTargets="DotLessBuildTasksDotNet" Name="Minify">
    <WebGreaseTask />
  </Target>

Mais lorsque j'essaye de compiler, j'obtiens l'erreur suivante :

La tâche "WebGreasetask" n'a pas pu être chargée à partir de l'assembly WebGrease, version = 1.6.5135.21930, Culture = Neutre, publicKeyToken = 31BF3856AD364E35, procedarchitecture = MSIL.Impossible de charger le fichier ou l'assemblage 'WebGrease, version = 1.6.5135.21930, Culture = Neutral, PublicKeyToken = 31BF3856AD364E35' ou l'une de ses dépendances.Le système ne peut pas trouver le fichier spécifié.Confirmez que la déclaration est correcte, que l'assemblage et toutes ses dépendances sont disponibles, et que la tâche contient une classe publique qui implémente Microsoft.build.framework.itask.

Pour autant que je sache, c'est le nom correct de l'assembly, car j'utilise la même référence dans mon projet :

<Reference Include="WebGrease, Version=1.6.5135.21930, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath>
</Reference>

Et tout le code fonctionne bien.

Je veux faire la minification au moment de la compilation, ce qui, je crois, est le but de la tâche de construction.Je sais qu'il existe une pléthore d'aides au regroupement et à la minification, mais j'aimerais éviter de récupérer plus de packages que nécessaire.

Modifier:

J'ai essayé les différentes commandes NuGet, mais celles-ci n'affectent pas le UsingTask nœud de quelque manière que ce soit, et ne fait pas non plus fonctionner la construction.Toujours perdu face à cette erreur.

Était-ce utile?

La solution

En regardant dans le code source, il y a une classe https://webgrease.codeplex.com/SourceControl/latest#WebGrease/WebGrease.Build/WebGreaseTask.cs qui ressemble à ce dont vous avez besoin, mais après avoir décompilé mon package nuget WebGrease local, je ne vois pas cette classe ou WebGrease.Build assemblée là-bas du tout.Comme le souligne l'erreur, il ne trouve pas de classe qui implémente ITask et cette classe l'implémente exactement.

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