2013-04-02 7 views
7

Ich versuche, eine Site über GitHub automatisch in Azure zu implementieren, und nach der Übergabe an den Master-Zweig hebt Azure auf und versucht zu implementieren, aber ich bekomme eine Implementierung fehlgeschlagen 'Nachricht mit Fehlern wie folgt aus:MVC4 Azure-Bereitstellung kann keine WebPages- oder WebMatrix-Referenzen finden

App_Start \ AuthConfig.cs (1,21): error CS0234: der Typ oder Namespace Name 'WebPages' existiert nicht im Namensraum 'Microsoft.Web'(sind fehlt Ihnen eine Assemblyreferenz?) [C: \ DWASFiles \ Sites \ xxxxx \ VirtualDirectory0 \ sites \ repository \ xxxxx.UI.Web \ xxxxx.UI.Web.csproj]

Und

Controller \ AccountController.cs (18,7): Fehler CS0246: Der Typ oder Namespace-Name 'WebMatrix' konnte nicht gefunden werden (möglicherweise fehlt eine using -Direktive oder ein Assemblyverweis ?) [C: \ DWASFiles \ Sites \ xxxxx \ VirtualDirectory0 \ site \ repository \ xxxxx.UI.Web \ xxxxx.UI.Web.csproj]

MVC 4 (und die WebMatrix/WebPages Abhängigkeiten) sind in meinem UI.Web-Projekt über NuGet installiert, nicht vom GAC geladen. Copy Local wird in den Assemblyverweisen auf true festgelegt. Irgendeine Idee, warum ich diese Bereitstellungsprobleme bekommen könnte?

+1

Da es sich um einen GitHub Grab and Deploy handelt, sind Sie sicher, dass Ihre Pakete und/oder Bin-Dateien tatsächlich der Quellcodeverwaltung unterliegen und in Ihr Repository verschoben werden? Selbst wenn copy local auf "true" gesetzt ist und Sie diese nicht in Ihren Repo-Ordner schieben, werden sie nicht kopiert. – Tommy

+0

True, aber da sie über NuGet hinzugefügt werden, würde sie diese Pakete nicht nach der Installation installieren? – Scott

+0

Nuget lädt nur die Pakete in einen Paketordner und fügt die entsprechenden Verweise zu Ihrem Projekt hinzu, damit der Compiler beim Erstellen weiß, wohin er sie bringen soll. NuGet hätte nichts damit zu tun, dass Azure deinen Zweig zieht und die Quelle kompiliert. Überprüfen Sie, ob der Paketordner in Ihrer Projektmappe für Ihr Repository festgeschrieben ist, sodass die tatsächlichen NuGet-Downloads für Azure über GitHub verfügbar sind. – Tommy

Antwort

2

Haben Sie versucht, die Bereitstellung mit der NuGet-Paketwiederherstellung durchzuführen? Dann sollte Azure während der Bereitstellung alle Abhängigkeiten herunterladen, und GitHub ist nicht mit Binärdateien übersät.

Klicken Sie einfach mit der rechten Maustaste auf eine Lösung und klicken Sie auf "Enable NuGet Package Restore". Übernehmen Sie mit dem .nuget-Ordner in Ihrem Lösungsverzeichnis mit packages.config in Ihrem Projektverzeichnis, das erstellt wurde.

- Wie für Ihr aktuelles Problem - Sie könnten Ihren GitHub Link, der hilfreich wäre. Vielleicht haben Sie für Visual Studio default .ignore verwendet, und das verhindert das Commit von Binärdateien.