2012-04-04 3 views
1

Ich verwende YUI Compressor als MsBuild-Aufgabe in meinem Azure-Projekt. Es funktioniert gut lokal, aber wenn ich versuche es zu veröffentlichen, kann ich keine reduzierten Pakete in mein azurblaues Anwendungspaket einfügen. Obwohl ich viele Dinge über das Ändern von Paketen in meiner .csproj-Datei ausprobiert habe, konnte ich es nicht herausfinden. Wie kann ich das machen?Minimieren und Einschließen von JS- und CSS-Dateien in Azure-Projekt

Bearbeiten: Mein Projekt ist keine MVC oder Webforms-Anwendung. Nur HTML und Javascript innerhalb eines ASP.NET-Projekts. Mein Problem ist nicht Minification. Es stellt nur verkleinerte externe Dateien in Azure Package, wenn es veröffentlicht wird, aber wenn es eine andere Methode gibt, die dieses azure Problem löst, kann ich YUI Compressor mit ajaxmin oder google closure ändern ... spielt keine Rolle.

Antwort

1

Ich glaube nicht, das Servicepaket modifiziert wird unterstützt (Sie ändern auch das Manifest). Deshalb würde ich es aus einer anderen Perspektive betrachten. Ich nehme an, Sie haben eine solche Einrichtung:

  • Lösung
    • Leere ASP.NET-Projekt
      • Index.HTML
      • App.js
Jetzt 10

, nachdem Sie kompilieren (und die MSBuild-Aufgabe ausgeführt wird) werden Sie etwas davon haben:

  • Lösung
    • Leere ASP.NET-Projekt
      • Index.HTML
      • App.js
      • App.min.js (nicht im Projekt enthalten, aber im Dateisystem verfügbar)

Jetzt kaufen einfach die App.min inklusive.js-Datei im Projekt, wird beim Packen oder Veröffentlichen Ihrer Anwendung in das Service-Paket aufgenommen. Darüber hinaus werden die MSBuild-Tasks bei jedem Kompilieren ausgeführt, was bedeutet, dass die Datei vor jedem Verpacken der Anwendung aktualisiert wird.

+0

Ja, ich habe es so gemacht. Ich benutze auch tfs. Wenn ich die Datei einchecke, gibt MSBuild-Task einen Fehler über die gesperrte Datei zurück. Hier ist die Lösung: attrib -r "$ (TargetDir) .. \ View \ js \ bundle.js" :) – iboware

+0

Ich gehe davon aus, dass Sie die Datei möglicherweise einchecken möchten. Durch die Verwendung von Attrib -r erkennt VS die ausstehende Änderung nicht. Ich würde empfehlen, einen MSBuild-Task zu verwenden, um die Datei zuerst auszuchecken. MSBuild Tasks: http://msbuildtasks.tigris.org/ oder MSBuild Extension Pack: http://msbuildextensionpack.codeplex.com/ –

+0

Ja, es erkennt nicht die ausstehende Änderung, das ist, was ich genau will. Weil bundle.js wie ein Platzhalter ist. Inhalt ist nicht notwendig. Ich habe gerade einen leeren Check-in gemacht. :) Danke für deinen Rat. Ich werde es mir ansehen. – iboware

0

Wie Sie nicht über etwa festgelegt haben, ob es WebForms oder MVC ist, würde Ich mag die aus der Box Unterstützung hinweisen, für die bundling and minification in ASP.net MVC4. Scott Gu hat es den MVC4 preview demo erklärt.

Sie können es auch Tweek, um einen Weg dafür in ASP.net MVC3 zu arbeiten. Sobald dies erreicht ist, können Sie dies auch in Azure erreichen.

Weitere Artikel:

+0

Es ist nicht mvc oder webforms. Nur HTML und Javascript in einem asp.net Projekt, das mit einem unabhängigen WCF REST Dienst arbeitet, also muss ich etwas wie MSBuild verwenden. – iboware

Verwandte Themen