Anvisningar: Felsöka Windows-containrar i Azure Service Fabric med Visual Studio 2019

Med Visual Studio 2019 kan du felsöka .NET-program i containrar som Service Fabric-tjänster. Den här artikeln visar hur du konfigurerar din miljö och sedan felsöker ett .NET-program i en container som körs i ett lokalt Service Fabric-kluster.

Förutsättningar

Konfigurera utvecklarmiljön för att felsöka containrar

  1. Kontrollera att Docker för Window-tjänsten körs innan du fortsätter med nästa steg.

  2. För att stödja DNS-matchning mellan containrar måste du konfigurera ditt lokala utvecklingskluster med hjälp av datornamnet. De här stegen är också nödvändiga om du vill hantera tjänster via den omvända proxyn.

    1. Öppna PowerShell som administratör

    2. Navigera till installationsmappen för SDK-kluster, vanligtvis C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup.

    3. Kör skriptet DevClusterSetup.ps1

        C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\DevClusterSetup.ps1
      

      Anteckning

      Du kan använda -CreateOneNodeCluster för att konfigurera ett kluster med en nod. Standardvärdet skapar ett lokalt kluster med fem noder.

      Mer information om DNS-tjänsten i Service Fabric finns i DNS-tjänsten i Azure Service Fabric. Mer information om hur du använder omvänd Service Fabric-proxy från tjänster som körs i en container finns i Specialhantering av omvänd proxy för tjänster som körs i containrar.

Kända begränsningar vid felsökning av containrar i Service Fabric

Nedan visas en lista över kända begränsningar med felsökning av containrar i Service Fabric och möjliga lösningar:

  • Att använda localhost för ClusterFQDNorIP stöder inte DNS-matchning i containrar.
    • Lösning: Konfigurera det lokala klustret med datornamnet (se ovan)
  • Om du kör Windows10 på en virtuell dator får du inte DNS-svar tillbaka till containern.
  • Att lösa tjänster i samma program med DNS-tjänstnamnet fungerar inte i Windows10, om programmet har distribuerats med Docker Compose
  • Om du använder IP-adress för ClusterFQDNorIP bryts DNS-funktionen genom att ändra den primära IP-adressen på värden.
    • Lösning: Återskapa klustret med hjälp av den nya primära IP-adressen på värden eller använd datornamnet. Denna brytning är avsiktligt.
  • Om det fullständiga domännamn som klustret skapades med inte kan matchas i nätverket misslyckas DNS.
    • Lösning: Återskapa det lokala klustret med hjälp av värdens primära IP-adress. Det här felet är avsiktligt.
  • När du felsöker en container är docker-loggar endast tillgängliga i Visual Studio-utdatafönstret, inte via Service Fabric-API:er, inklusive Service Fabric Explorer

Felsöka ett .NET-program som körs i docker-containrar i Service Fabric

  1. Kör Visual Studio som administratör.

  2. Öppna ett befintligt .NET-program eller skapa ett nytt.

  3. Högerklicka på projektet och välj Lägg till –> Stöd för Container Orchestrator –> Service Fabric

  4. Tryck på F5 för att börja felsöka programmet.

    Visual Studio stöder konsol- och ASP.NET projekttyper för .NET och .NET Core.

Nästa steg

Mer information om funktionerna i Service Fabric och containrar finns i Översikt över Service Fabric-containrar.