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.
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.
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 alaunchSettings.json
použití více prostředí v ASP.NET Core.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.
Ujistěte se, že je vybraný prohlížeč Pro spuštění.
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
ahttp://localhost:5000
. V případě služby IIS Express je adresa URL protokolu SSL aplikace obvyklehttp://localhost:44334
.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.
Další informace o proměnných prostředí najdete v tématu Prostředí.
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í.
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.
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.
Vyberte kartu Ladění.
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.
Vedle možnosti Spustit vyberte v rozevíracím seznamu službu IIS Express nebo IIS.
Ujistěte se, že je vybraný prohlížeč Pro spuštění.
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.
Pomocí příkazu Uložit vybrané položky souboru>nebo Ctrl+S uložte všechny změny.
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.
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.
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.
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.
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,
- V rozevíracím seznamu vyberte Místní iis .
- Vedle pole Adresa URL projektu vyberte Vytvořit virtuální adresář, pokud jste ještě nenastavili aplikaci ve službě IIS.
V části Ladicí programy vyberte ASP.NET.
Zvolte Uložit vybrané položky souboru>(nebo stiskněte Ctrl+S) a uložte všechny změny.
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).
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.
Spusťte webovou aplikaci ze služby IIS a ujistěte se, že běží správně. Nechte webovou aplikaci spuštěnou.
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í:
V sadě Visual Studio otevřete soubor projektu
web.config
ASP.NET.Web.config
je soubor XML, takže obsahuje vnořené oddíly označené značkami.configuration/system.web/compilation
Vyhledejte oddíl. (Pokudcompilation
prvek neexistuje, vytvořte ho.)Ujistěte se, že
debug
atribut v elementucompilation
je nastaven natrue
. (Pokudcompilation
prvek neobsahujedebug
atribut, přidejte ho a nastavte ho natrue
.)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 elementucompilation
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 elementechconfiguration
asystem.web
elementech jsou obvykle další oddíly XML acompilation
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.