War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern

Problembehandlung bei Paketvalidierungswarnungen und -fehlern

Letzte Aktualisierung: Juli 2015

Wenn Sie ein Paket erstellen oder die Azure Cloud Service-Projekte veröffentlichen, können mehrere Warnungen oder Fehler angezeigt werden. Diese Warnungen und Fehler können beim Erkennen und Beheben von Problemen behilflich sein, die das Bereitstellen oder Veröffentlichen des Projekts verhindern würden. Durch das Erhalten einer Warnung oder eines Fehlers bei der Verpackung können Sie Zeit sparen, indem Sie diese Probleme beheben, bevor Sie das Azure-Projekt bereitstellen. Sie müssen nicht warten, bis die Bereitstellung abgeschlossen ist und ein Fehler bei der Bereitstellung auftritt.

Standardmäßig werden Paketüberprüfungsprobleme als Warnungen behandelt, und die Bereitstellung der Rolle wird nicht verhindert. Legen Sie zum Ändern des Standardwerts und zum Verhindern der Bereitstellung die Eigenschaft Warnungen als Fehler behandeln für das Azure-Projekt auf True fest. Siehe Vorgehensweise: Konfigurieren eines Azure Cloud Service-Projekts mit Visual Studio.

Die folgende Tabelle enthält die wichtigsten Warnmeldungen für Paketüberprüfung für ein Azure-Projekt und einen Link zu ausführlicheren Details für alle Warnungen.

 

Fehlernummer

Message

Weitere Informationen

WAT150

Das Projekt "Projektname" ist von der folgenden Assembly abhängig: ‘Assemblyname’. Diese Assembly ist nicht im Paket. Um sicherzustellen, dass die Rolle gestartet wird, fügen Sie diese Assembly als Verweis dem Projekt hinzu, und legen Sie die Eigenschaft Lokale Kopie auf true fest.

Include Files in the Service Package

WAT151

Das Projekt "Projektname" ist von der folgenden Assembly abhängig: ‘Assemblyname’. Diese Assembly ist nicht im Paket und sollte im GAC installiert werden. Um sicherzustellen, dass die Rolle gestartet wird, fügen Sie diese Assembly als Verweis im Projekt hinzu, und legen Sie die Eigenschaft Lokale Kopie auf true fest. Verwenden Sie dann eine Startaufgabe für die Rolle, um die Assembly zum GAC hinzuzufügen.

WAT152

Das Projekt "Projektname" ist von der folgenden Assembly abhängig: ‘Assemblyname’. Die Assembly wird im GAC von einer Windows Installer-Datei (MSI-Datei) installiert. Zum Sicherstellen, dass die Rolle gestartet wird, müssen Sie entweder die Windows Installer-Datei mithilfe einer Startaufgabe für Ihre Rolle installieren oder die Assembly als Verweis im Projekt hinzufügen und die Eigenschaft Lokale Kopie auf true festlegen.

WAT153

Das Projekt "Projektname" ist von der folgenden MVC-Assembly abhängig: Assemblyname. Diese Assemblys müssen zum Paket hinzugefügt oder auf dem virtuellen Computer für Ihre Rolle installiert werden. Weitere Informationen dazu finden Sie auf der folgenden Hilfeseite: http://go.microsoft.com/fwlink/?LinkId=218227.

Veröffentlichen eines MVC-Projekts als eine Webrolle

WAT160

Das Projekt "Projektname" enthält die folgende Assembly: ‘Assemblyname’. Diese Assembly ist nicht kompatibel mit der 64-Bit-Prozessorarchitektur, die von IIS in Azure verwendet wird. Um sicherzustellen, dass die Rolle gestartet wird, müssen Sie diese Assembly mit einer ersetzen, die kompatibel mit dieser Architektur ist.

Wenn Sie eine Startaufgabe besitzen, um ISS zur Ausführung von 32-Bit-Anwendungen zu konfigurieren, können Sie diese Warnmeldung ignorieren. Weitere Informationen hierzu finden Sie unter Aktivieren des 32-Bit-Anwendungsmodus im IIS-Anwendungspool mithilfe einer Startaufgabe.

Andernfalls entfernen Sie die Assembly aus dem Projekt, und fügen Sie eine Assembly hinzu, die kompatibel mit der 64-Bit-Prozessorarchitektur ist. Verpacken Sie dann die Anwendung erneut, oder veröffentlichen Sie sie.

WAT170

Die Konfigurationseinstellung "SettingName" wird eingerichtet, um den lokalen Speicheremulator für die Rolle "RoleName" in der Konfigurationsdatei "FileName" zu verwenden. Für den Zugriff auf Azure-Speicherdienste müssen Sie eine gültige Azure-Speicherverbindungszeichenfolge angeben.

Weitere Informationen dazu, wie Sie eine gültige Azure-Speicherverbindungszeichenfolge hinzufügen, finden Sie unter Einrichten von Diensten, die zum Veröffentlichen eines Cloud-Diensts mit Visual Studio erforderlich sind.

WAT180

Fehler bei der Paketerstellung, weil Validierungsfehler vorliegen. Sie müssen die Fehler beheben, oder Sie können die Eigenschaft Warnungen als Fehler behandeln für dieses Azure-Projekt auf false festlegen.

Weitere Informationen zum Festlegen der Eigenschaft Warnungen als Fehler behandeln finden Sie unter Vorgehensweise: Konfigurieren eines Azure Cloud Service-Projekts mit Visual Studio.

WAT190

Für das Projekt "ProjectName" ist ".NETFrameWorkVersion" als Zielversion festgelegt. Um sicherzustellen, dass die Rolle gestartet wird, muss diese Version von .NET Framework auf dem virtuellen Computer für diese Rolle installiert werden. Sie können eine Startaufgabe verwenden, um die erforderliche Version zu installieren, wenn sie nicht bereits als Teil des Azure-Gastbetriebssystems installiert ist.

Verwenden Sie eine Startaufgabe für eine Rolle, um eine Version von .NET Framework zu installieren.

WAT230

Die Verbindungszeichenfolge "DefaultConnection" verwendet die lokale Datenbank ".\SQLEXPRESS" im Projekt "ProjectName". Diese Verbindungszeichenfolge funktioniert nicht, wenn Sie diese Anwendung in Azure ausführen. Um auf eine andere Datenbank zuzugreifen, sollten Sie die Verbindungszeichenfolge in der Datei "web.config" aktualisieren. Weitere Informationen dazu finden Sie auf der folgenden Hilfeseite: http://go.microsoft.com/fwlink/?LinkId=224877.

Verwenden einer SQL Azure-Datenbank mit den allgemeinen ASP.NET-Anbietern

Wenn eine Rolle nicht gestartet werden kann, sollten Sie das Ausgabefenster für die Paketerstellung/-bereitstellung überprüfen, um sicherzustellen, dass keine Validierungswarnungen oder -fehler aufgetreten sind. Sie können auch eine Remotedesktopverbindung einrichten, wenn Sie Ihr Projekt veröffentlichen, um den Zugriff auf den virtuellen Computer zu ermöglichen und Probleme zu diagnostizieren. Weitere Informationen finden Sie unter Verwenden von Remotedesktop mit Azure-Rollen.

Ein anderer Ansatz, um zu bestimmen, warum eine Rolle nicht gestartet wird, besteht darin, IntelliTrace für Ihre Bereitstellung zu aktivieren. Weitere Informationen finden Sie unter Debuggen eines veröffentlichten Cloud-Diensts mit IntelliTrace und Visual Studio und Problembehandlung von Rollen, die nicht gestartet werden können.

Wenn eine Rolle auf einem virtuellen Computer erstellt wird, können Sie eine Startaufgabe hinzufügen, die ausgeführt wird, nachdem der virtuelle Computer erstellt wurde und bevor die Rolle gestartet wird. Diese Aufgabe stellt sicher, dass die Rolle erfolgreich starten kann. Beispielsweise möchten Sie eine der folgenden Aufgaben ausführen:

  • Installieren Sie eine Windows Installer-Datei.

  • Fügen Sie eine Assembly zum GAC hinzu.

  • Installieren Sie eine bestimmte Version von .NET Framework, die für die Rolle erforderlich ist.

Die Startaufgaben, die Sie für eine Rolle hinzufügen, werden über die Befehlszeile ausgeführt. Sie können entweder eine Batchdatei zur Ausführung eines Befehlssatzes erstellen oder die spezifischen Befehle, die Sie ausführen möchten, hinzufügen. Sie fügen die Dateien für die Startaufgabe zu Ihrem Projekt hinzu, so dass sie installiert sind, wenn das Dienstpaket bereitgestellt wird. Die Startaufgabe wird unter Verwendung dieser Dateien ausgeführt, nachdem der virtuelle Computer für diese Rolle erstellt wurde.

ImportantWichtig
Wenn sich Ihre Dateien für die Startaufgabe in einem Unterordner befinden, muss die Startaufgabe möglicherweise auf das Verzeichnis der Batchdatei zugreifen, wenn die Befehle auf dem virtuellen Computer ausgeführt werden. Mit der folgenden Variablen können Sie auf das Verzeichnis der Batchdatei zugreifen: %~dp0. Beachten Sie, dass diese Variable das Laufwerk und den Pfad für die Batchdatei enthält und einen umgekehrten Schrägstrich am Ende des Pfads einfügt. Sie können beispielsweise den folgenden Befehl verwenden, um eine EXE-Datei (StartUp.exe) auszuführen, die sich im gleichen Ordner wie die Batchdatei befindet: %~dp0StartUp.exe.

  1. (Optional) Sie können eine Batchdatei erstellen, wenn Sie verschiedene Befehle zusammen für die Startaufgabe ausführen möchten. Die Datei, die Sie erstellen, um eine Startaufgabe auszuführen, darf keine Bytereihenfolge-Marke enthalten. Um dieses Problem zu vermeiden, können Sie die Datei entweder so erstellen, dass sie die Startaufgabe mithilfe von Editor ausführt, oder sicherstellen, dass Sie eine Datei, die Sie in Visual Studio erstellen, mit Codierung speichern. Zum Speichern einer Datei mit Codierung in Visual Studio führen Sie die folgenden Schritte aus:

    1. Um eine Datei in Visual Studio mit Codierung zu speichern, stellen Sie sicher, dass die Datei im Visual Studio-Editor-Fenster angezeigt wird. Wählen Sie auf der Menüleiste Datei, <Dateiname> speichern unter aus.

      Das Dialogfeld Speichern unter wird angezeigt.

    2. Um die Datei mit Codierung speichern, klicken Sie auf den Dropdownpfeil auf der Schaltfläche Speichern, und wählen Sie Mit Codierung speichern.

      Das Dialogfeld Erweiterte Speicheroptionen wird angezeigt.

    3. Wählen Sie in der Liste Codierung die Option Unicode (UTF-8 mit Signatur) - Codepage 65001 aus, und klicken Sie anschließend auf OK.

  2. Um einen Ordner für Ihre Startaufgabe hinzuzufügen, erstellen Sie einen Ordner im Projekt für die Rolle, die eine Startaufgabe benötigt. Wenn es sich z. B. um ein Webrollenprojekt mit dem Namen WebRole1 handelt, das die Installation einer Windows Installer-Datei erfordert, fügen Sie dem Webrollenprojekt einen Ordner namens Start hinzu.

  3. Um die Dateien zu diesem Ordner hinzuzufügen, öffnen Sie das Kontextmenü für den Ordner, und wählen Sie dann Hinzufügen, Vorhandenes Element. Wählen Sie die Dateien aus, die für die Startaufgabe erforderlich sind, einschließlich aller Batchdateien, und klicken Sie dann auf die Schaltfläche Hinzufügen.

    Die Dateien werden im Projektmappen-Explorer unterhalb des Ordners, den Sie erstellt haben, angezeigt.

  4. Um diese Dateien in das Dienstpaket aufzunehmen, aber nicht zu erstellen, öffnen Sie das Kontextmenü für jede Datei, und wählen Sie Eigenschaften. Wählen Sie in der Ansicht Eigenschaften in der Dropdownliste Buildvorgang die Option Keine und in der Dropdownliste In Ausgabeverzeichnis kopieren die Option Kopieren, wenn neuer aus.

  5. Um der Rolle die Startaufgabe hinzuzufügen, öffnen Sie das Kontextmenü für die Dienstdefinitionsdatei ServiceDefinition.csdef, und wählen Sie Öffnen. Fügen Sie die folgenden XML-Anweisungen zum Rollenelement hinzu, für die diese Startaufgabe erforderlich ist. Bei diesem Befehl wird davon ausgegangen, dass Sie für die Startaufgaben den Ordner Start erstellt haben und dass diese Batchdatei oder dieser Befehl erhöhte Rechte erfordert. Beim Befehl kann es sich um eine EXE-Datei, eine Batch-Datei, eine MSI-Datei oder eine gültige Befehlszeilenanweisung handeln.

    
    <Startup>
       <Task commandLine="startup\<command>" executionContext="elevated" taskType="simple" />
    </Startup>
    
    

    Dies ist ein Beispiel für das Element webrole in einer Dienstdefinitionsdatei mit einer hinzugefügten Startaufgabe:

    
    <WebRole name="WebRole1">
        <Sites>
          <Site name="Web">
            <Bindings>
              <Binding name="Endpoint1" endpointName="Endpoint1" />
            </Bindings>
          </Site>
        </Sites>
        <Endpoints>
          <InputEndpoint name="Endpoint1" protocol="http" port="80" />
        </Endpoints>
        <Imports>
          <Import moduleName="Diagnostics" />
          <Import moduleName="RemoteAccess" />
          <Import moduleName="RemoteForwarder" />
        </Imports>
        <Startup>
          <Task commandLine="startup\StartUpTask.cmd" executionContext="elevated" />
        </Startup>
    </WebRole>
    
    
  6. Um sicherzustellen, dass die Startaufgabe ausgeführt wird, veröffentlichen Sie das Azure-Projekt. Bei Bedarf können Sie für den virtuellen Computer für Ihre Rolle eine Remotedesktopverbindung erstellen, wenn Sie Ihr Projekt veröffentlichen. Sie können anschließend eine Verbindung zum virtuellen Computer herstellen und überprüfen, ob die Startaufgabe ordnungsgemäß ausgeführt wurde. Weitere Informationen zum Verwenden von Remotedesktop mit Azure-Rollen finden Sie unter Verwenden von Remotedesktop mit Azure-Rollen.

Weitere Informationen finden Sie unter Definieren von Starttasks für eine Rolle. Wenn Sie Umgebungsvariablen mit der Startaufgabe verwenden müssen, können Sie Umgebungsvariablen für eine Rolle in der Dienstdefinitionsdatei definieren. Weitere Informationen finden Sie unter Definieren von Umgebungsvariablen vor dem Starten einer Rolle oder Ausführen von Starttasks in Azure.

Wenn Sie ein MVC-Projekt als Webrolle in Azure veröffentlichen möchten, müssen Sie sicherstellen, dass alle notwendigen MVC-Assemblys verfügbar sind, wenn die Webrolle in Azure ausgeführt wird. Wenn Sie ein MVC-Projekt als eine Webrolle mithilfe der von den neuesten Azure Tools für Visual Studio bereitgestellten Vorlagen erstellen, werden die Assemblys, die Sie benötigen, automatisch zum Dienstpaket hinzugefügt. In diesem Fall sollte keine Warnmeldung bzgl. fehlender MVC-Assemblys angezeigt werden, wenn das Dienstpaket erstellt wird.

Um eine Warnmeldung, dass MVC-Assemblys fehlen, zu beheben, müssen Sie die Schritte in der Prozedur ausführen, die für das MVC-Projekt gilt:

  1. Wenn Sie Visual Studio Service Pack 1 verwenden, um Ihr Azure-Projekt zu veröffentlichen, führen Sie die folgenden Schritte aus, um Verweise auf die Assemblys hinzuzufügen und sie in das Dienstpaket einzuschließen:

    1. Öffnen Sie das Kontextmenü für das MVC-Projekt, und wählen Sie Abhängigkeiten für die Bereitstellung hinzufügen.

      Das Dialogfeld Abhängigkeiten für die Bereitstellung hinzufügen wird angezeigt.

    2. Aktivieren Sie das Kontrollkästchen ASP.NET MVC, und klicken Sie auf OK.

      Die Assemblys werden nun hinzugefügt, wenn Sie ein Dienstpaket erstellen. Dann werden die Assemblys auf dem virtuellen Computer für diese Webrolle installiert, wenn das Dienstpaket bereitgestellt wird.

  2. Wenn Sie nicht Visual Studio Service Pack 1 verwenden, um Ihr Azure-Projekt zu veröffentlichen, können Sie eine der folgenden Aufgaben ausführen, um sicherzustellen, dass Ihr Azure-Projekt ordnungsgemäß ausgeführt wird, wenn es in Azure bereitgestellt wird:

    1. Fügen Sie Verweise zu den folgenden Assemblys zum Webrollenprojekt hinzu, und legen Sie dann die Eigenschaft Lokale Kopie auf True fest:

      • Microsoft.Web.Infrastructure

      • System.Web.Helpers

      • System.Web.Mvc

      • System.Web.Razor

      • System.Web.WebPages

      • System.Web.WebPages.Deployment

      • System.Web.WebPages.Razor

      noteHinweis
      Weitere Informationen dazu, wie Sie einem Webrollenprojekt einen Verweis auf eine Assembly hinzufügen, finden Sie unter Include Files in the Service Package.

    2. Fügen Sie eine Startaufgabe zur Webrolle hinzu, um die MVC3-Assemblys zu installieren. Erstellen Sie einen Ordner in Ihrem Projekt namens "Start". Fügen Sie dann die Datei "AspNetMVC3Setup.exe" zu diesem Ordner hinzu. Fügen Sie schließlich diese XML zur Dienstdefinitionsdatei innerhalb des Webrollenelements hinzu:

      
      <Startup>
         <Task commandLine="startup\AspNetMVC3Setup.exe /q /log mvc3_install.htm" executionContext="elevated" />
      </Startup>
      
      
      noteHinweis
      Lesen Sie einen Blogeintrag zum Hinzufügen einer Startaufgabe für MVC3-Assemblys. Weitere Informationen zu Startaufgaben finden Sie im vorherigen Abschnitt: Erstellen einer Startaufgabe für eine Rolle.

  1. Wenn Sie diese Warnmeldung für ein MVC2-Projekt erhalten, sollte die Referenz für die System.Web.Mvc-Assembly bereits zum Webrollenprojekt hinzugefügt worden sein. Um diese Assembly in das Dienstpaket aufzunehmen, öffnen Sie das Kontextmenü für diese Assembly, und wählen Sie Eigenschaften.

    Das Fenster Eigenschaften wird angezeigt.

  2. Wählen Sie in der Liste Lokale Kopie die Option True aus.

Wenn Sie eine MVC3-Webrolle mit den Azure Tools für Visual Studio erstellen, wird die Webrolle zur Verwendung der allgemeinen ASP.NET-Anbietern eingerichtet. Diese Anbieter sind standardmäßig so konfiguriert, dass eine lokale LocalDB-Datenbank in der DefaultConnection-Verbindungszeichenfolge verwendet wird. Wenn Sie das Azure-Projekt veröffentlichen, müssen Sie die Verbindungszeichenfolge zur Verwendung einer SQL-Datenbankinstanz ändern, die von Azure gehostet wird.

ImportantWichtig
Sie müssen zu diesem Zweck über ein Abonnement verfügen, das die Verwendung einer SQL-Datenbankinstanz ermöglicht, die von Azure gehostet wird. Wenn Sie auf Ihr Abonnement über das Azure-Verwaltungsportal zugreifen, können Sie bestimmen, welche Dienste Ihr Abonnement bietet. Weitere Informationen finden Sie unter Vorgehensweise: Migrieren und Veröffentlichen einer Webanwendung in einem Azure-Clouddienst aus Visual Studio.

Siehe auch

Anzeigen:
© 2015 Microsoft