Ladění aplikací ASP.NET nebo ASP.NET Core v sadě Visual Studio

V sadě Visual Studio můžete ladit aplikace ASP.NET a ASP.NET Core. Proces se liší mezi ASP.NET a ASP.NET Core a to, jestli ho spouštíte na IIS Expressu nebo na místním serveru IIS.

Poznámka:

Následující kroky a nastavení platí jenom pro ladění aplikací na místním serveru. Ladění aplikací na vzdáleném serveru IIS používá funkci Připojit k procesu a ignoruje tato nastavení. Další informace a pokyny pro vzdálené ladění ASP.NET aplikací ve službě IIS naleznete v tématu Vzdálené ladění ASP.NET na počítači služby IIS nebo vzdálené ladění ASP.NET Core na vzdáleném počítači služby IIS.

Součástí sady Visual Studio jsou integrované servery Kestrel a IIS Express. Kestrel je výchozí ladicí server pro projekty ASP.NET Core a je předkonfigurovaný. SLUŽBA IIS Express je výchozí ladicí server pro ASP.NET.

Součástí sady Visual Studio je integrovaný server IIS Express. SLUŽBA IIS Express je výchozí ladicí server pro ASP.NET a ASP.NET základní projekty a je předem nakonfigurovaný. Je to nejjednodušší způsob, jak ladit a ideální pro počáteční ladění a testování.

Pro ASP.NET Core můžete také ladit na webovém serveru Kestrel.

Požadavky pro místní server IIS

Můžete také ladit aplikaci ASP.NET nebo ASP.NET Core na místním serveru IIS (verze 8.0 nebo novější), která je nakonfigurovaná pro spuštění aplikace. Pokud chcete ladit místní službu IIS, musíte splňovat následující požadavky:

  • Pokud není nainstalovaná, nainstalujte ASP.NET a úlohu vývoje webu. (Spusťte znovu Instalační program pro Visual Studio, vyberte Upravit a přidejte tuto úlohu.)

  • Spusťte sadu Visual Studio jako správce.

  • Nainstalujte a správně nakonfigurujte službu IIS s odpovídajícími verzemi ASP.NET a/nebo ASP.NET Core. Další informace o používání služby IIS s ASP.NET Core najdete v tématu Hostitel ASP.NET Core ve Windows se službou IIS. Informace o ASP.NET naleznete v tématu Instalace modulu IIS a ASP.NET.

  • Ujistěte se, že aplikace běží ve službě IIS bez chyb.

Ladění aplikací ASP.NET Core

Může existovat výchozí profil založený na https nebo jednom na základě názvu projektu, který je nakonfigurovaný pro webový server Kestrel. Pokud místo toho ladíte v místní službě IIS, ujistěte se, že splňujete požadavky pro místní ladění služby IIS.

  1. Vyberte projekt ASP.NET Core v sadě Visual Studio Průzkumník řešení a klikněte na ikonu Vlastnosti, nebo stiskněte Alt+ Enter nebo klikněte pravým tlačítkem myši a zvolte Vlastnosti.

  2. Vyberte kartu Ladění a kliknutím na odkaz otevřete uživatelské rozhraní Otevřít spouštěcí profily ladění.

    Zobrazené uživatelské rozhraní odpovídá nastavení v souboru projektu launchSettings.json . Další informace o tomto souboru najdete v části Vývoj a launchSettings.json použití více prostředí v ASP.NET Core.

  3. Vyberte profil, který chcete nakonfigurovat pro ladění.

    • Pro Kestrel vyberte profil https nebo profil pojmenovaný po projektu.
    • V případě služby IIS Express vyberte v rozevíracím seznamu službu IIS Express .
    • V případě místní služby IIS vyberte Nový a vytvořte nový profil služby IIS.
  4. Ujistěte se, že je vybraný prohlížeč Pro spuštění.

  5. Ujistěte se, že je správná adresa URL, adresa URL aplikace a adresa URL SSL aplikace.

    Adresa URL určuje umístění adresy URL hostitele pro .NET nebo .NET Core. Pro profil pojmenovaný po projektu (to znamená vlastnost commandName v launchSettings.json project), server Kestrel naslouchá zadanému portu. U profilu služby IIS je to obvykle stejná hodnota jako adresa URL aplikace. Další informace najdete v části Profil spuštění služby IIS v části Konfigurace projektu.

    Adresa URL aplikace a adresa URL PROTOKOLU SSL aplikace určují adresy URL aplikací. Pro profil pojmenovaný po projektu tato vlastnost určuje adresy URL serveru Kestrel, obvykle https://localhost:5001 a http://localhost:5000. V případě služby IIS Express je adresa URL protokolu SSL aplikace obvykle http://localhost:44334.

  6. V části Proměnné prostředí se ujistěte, že je ASPNETCORE_ENVIRONMENT k dispozici s hodnotou Vývoj. Pokud ne, přidejte proměnnou.

    nastavení ladicího programu ASP.NET Core

    Další informace o proměnných prostředí najdete v tématu Prostředí.

  7. Pokud chcete aplikaci ladit, nastavte v projektu zarážky u nějakého kódu. Na panelu nástrojů sady Visual Studio se ujistěte, že je konfigurace nastavená na Ladění.

  8. Ladění spustíte tak, že na panelu nástrojů vyberete název profilu, například https, IIS Express nebo <název> profilu služby IIS, v nabídce Ladění vyberte Spustit ladění nebo stisknete klávesu F5. Ladicí program se pozastaví na zarážkách. Pokud ladicí program nemůže narazit na zarážky, přečtěte si téma Řešení potíží s laděním.

Ladění aplikací ASP.NET Core

Služba IIS Express je výchozí a je předem nakonfigurovaná. Pokud ladíte v místní službě IIS, ujistěte se, že splňujete požadavky na místní ladění služby IIS.

  1. Vyberte projekt ASP.NET Core v sadě Visual Studio Průzkumník řešení a klikněte na ikonu Vlastnosti, nebo stiskněte Alt+ Enter nebo klikněte pravým tlačítkem myši a zvolte Vlastnosti.

  2. Vyberte kartu Ladění.

  3. V podokně Vlastnosti vedle položky Profil

    • V případě služby IIS Express vyberte v rozevíracím seznamu službu IIS Express .
    • V případě místní služby IIS vyberte v rozevíracím seznamu název aplikace nebo vyberte Nový, vytvořte nový název profilu a vyberte OK.
  4. Vedle možnosti Spustit vyberte v rozevíracím seznamu službu IIS Express nebo IIS.

  5. Ujistěte se, že je vybraný prohlížeč Pro spuštění.

  6. V části Proměnné prostředí se ujistěte, že je ASPNETCORE_ENVIRONMENT k dispozici s hodnotou Vývoj. Pokud ne, vyberte Přidat a přidejte ho.

    nastavení ladicího programu ASP.NET Core

  7. Pomocí příkazu Uložit vybrané položky souboru>nebo Ctrl+S uložte všechny změny.

  8. Pokud chcete aplikaci ladit, nastavte v projektu zarážky u nějakého kódu. Na panelu nástrojů sady Visual Studio se ujistěte, že je konfigurace nastavená na Debug (Ladění) a buď IIS Express, nebo nový název profilu služby IIS, se zobrazí v poli emulátoru.

  9. Chcete-li spustit ladění, vyberte na panelu nástrojů název> profilu služby IIS Express nebo< IIS, v nabídce Ladění vyberte Spustit ladění nebo stiskněte klávesu F5. Ladicí program se pozastaví na zarážkách. Pokud ladicí program nemůže narazit na zarážky, přečtěte si téma Řešení potíží s laděním.

Ladění ASP.NET aplikací

Služba IIS Express je výchozí a je předem nakonfigurovaná. Pokud ladíte v místní službě IIS, ujistěte se, že splňujete požadavky na místní ladění služby IIS.

  1. Vyberte ASP.NET projekt v sadě Visual Studio Průzkumník řešení a klikněte na ikonu Vlastnosti, nebo stiskněte Alt+Enter nebo klikněte pravým tlačítkem myši a zvolte Vlastnosti.

  2. Vyberte kartu Web.

    Pokud nevidíte webovou kartu, přečtěte si téma Ladění ASP.NET aplikací Core. Webová karta se zobrazí pouze pro ASP.NET Framework.

  3. V podokně Vlastnosti v části Servery

    • Pro Kestrel vyberte v rozevíracím seznamu https .
    • V případě služby IIS Express vyberte v rozevíracím seznamu službu IIS Express .
    • Pro místní službu IIS,
      1. V rozevíracím seznamu vyberte Místní iis .
      2. Vedle pole Adresa URL projektu vyberte Vytvořit virtuální adresář, pokud jste ještě nenastavili aplikaci ve službě IIS.
  4. V části Ladicí programy vyberte ASP.NET.

    Snímek obrazovky znázorňující nastavení ladicího programu ASP.NET

  5. Zvolte Uložit vybrané položky souboru>(nebo stiskněte Ctrl+S) a uložte všechny změny.

  6. Pokud chcete aplikaci ladit, nastavte v projektu zarážky u nějakého kódu. Na panelu nástrojů sady Visual Studio se ujistěte, že je konfigurace nastavená na Ladit, a v poli emulátoru se zobrazí požadovaný prohlížeč ve službě IIS Express (<název> prohlížeče) nebo Místní služba IIS (<název> prohlížeče).

  7. Ladění spustíte tak, že na panelu nástrojů vyberete IIS Express (<název> prohlížeče) nebo Místní IIS (<název> prohlížeče), v nabídce Ladění vyberete Spustit ladění nebo stisknete klávesu F5. Ladicí program se pozastaví na zarážkách. Pokud ladicí program nemůže narazit na zarážky, přečtěte si téma Řešení potíží s laděním.

Řešení potíží s laděním

Pokud místní ladění IIS nemůže přejít na zarážku, postupujte podle těchto kroků a vyřešte potíže.

  1. Spusťte webovou aplikaci ze služby IIS a ujistěte se, že běží správně. Nechte webovou aplikaci spuštěnou.

  2. V sadě Visual Studio vyberte Připojit k procesu ladění > nebo stiskněte kombinaci kláves Ctrl+Alt+P a připojte se k procesu ASP.NET nebo ASP.NET Core (obvykle w3wp.exe nebo dotnet.exe). Další informace naleznete v tématu Připojit k procesu a Jak najít název procesu ASP.NET.

Pokud se můžete připojit a stisknout zarážku pomocí funkce Připojit k procesu, ale ne pomocí ladění>spustit ladění nebo F5, pravděpodobně není nastavení ve vlastnostech projektu správné. Pokud používáte soubor HOSTS, ujistěte se, že je správně nakonfigurovaný.

Konfigurace ladění v souboru web.config

ASP.NET projekty mají web.config ve výchozím nastavení soubory, které obsahují informace o konfiguraci aplikace a spuštění, včetně nastavení ladění. Soubory web.config musí být správně nakonfigurované pro ladění. Nastavení Vlastnosti v předchozích částech aktualizují web.config soubory, ale můžete je také nakonfigurovat ručně.

Poznámka:

ASP.NET základní projekty nemají soubory web.config , ale používají appsettings.json soubory a launchSettings.json soubory pro konfiguraci a spouštění aplikací. Nasazení aplikace vytvoří web.config soubor nebo soubory v projektu, ale obvykle neobsahují informace o ladění.

Tip

Proces nasazení může aktualizovat web.config nastavení, takže před pokusem o ladění se ujistěte, že web.config je nakonfigurovaný pro ladění.

Ruční konfigurace web.config souboru pro ladění:

  1. V sadě Visual Studio otevřete soubor projektu web.config ASP.NET.

  2. Web.config je soubor XML, takže obsahuje vnořené oddíly označené značkami. configuration/system.web/compilation Vyhledejte oddíl. (Pokud compilation prvek neexistuje, vytvořte ho.)

  3. Ujistěte se, že debug atribut v elementu compilation je nastaven na true. (Pokud compilation prvek neobsahuje debug atribut, přidejte ho a nastavte ho na true.)

    Pokud používáte místní službu IIS místo výchozího serveru IIS Express, ujistěte se, že targetFramework hodnota atributu v elementu compilation odpovídá rozhraní na serveru IIS.

    Prvek compilation web.config souboru by měl vypadat jako v následujícím příkladu:

    Poznámka:

    Tento příklad je částečným web.config souborem. V elementech configuration a system.web elementech jsou obvykle další oddíly XML a compilation element může obsahovat i další atributy a prvky.

    <configuration>
       ...
       <system.web>
           <compilation  debug="true"  targetFramework="4.6.1" ... >
              ...
           </compilation>
       </system.web>
    </configuration>
    

ASP.NET automaticky rozpozná všechny změny web.config souborů a použije nové nastavení konfigurace. Aby se změny projevily, nemusíte restartovat počítač ani server služby IIS.

Web může obsahovat několik virtuálních adresářů a podadresářů, přičemž web.config každý z nich obsahuje soubory. ASP.NET aplikace dědí nastavení konfigurace ze web.config souborů na vyšších úrovních v cestě URL. Nastavení hierarchického web.config souboru platí pro všechny aplikace ASP.NET pod nimi v hierarchii. Nastavení jiné konfigurace v web.config souboru nižším v hierarchii přepíše nastavení v vyšším souboru.

Pokud například zadáte debug="true" v www.microsoft.com/aaa/web.config, každá aplikace ve aaa složce nebo v jakékoli podsložce aaa dědí toto nastavení, s výjimkou případů, kdy některá z těchto aplikací přepíše nastavení vlastním web.config souborem.

Důležité

Režim ladění výrazně snižuje výkon vaší aplikace. Když nasadíte produkční aplikaci nebo provedete měření výkonuweb.config, nastavte debug="false" v sestavení vydané verze a zadejte ho.