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á Připojit k procesua ignoruje tato nastavení. Další informace a pokyny pro vzdálené ladění ASP.NET a ASP.NET Core najdete v tématu Vzdálené ladění ASP.NET Core na vzdáleném počítači služby IISa vzdálené ladění služby Azure App Service.
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ý. IIS Express je výchozí ladicí server pro ASP.NET.
Součástí sady Visual Studio je integrovaný server IIS Express. IIS Express je výchozí ladicí server pro projekty ASP.NET a ASP.NET Core 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í nainstalován, nainstalujte ASP.NET a pracovní zátěž pro vývoj webu. (Spusťte instalační program sady Visual Studio znovu, vyberte Upravita přidejte tuto úlohu.)
Spusťte 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 služby IIS a moduly ASP.NET.
Ujistěte se, že aplikace běží ve službě IIS, a otevře se v prohlížeči.
Ladění aplikací ASP.NET Core
Může existovat výchozí profil s názvem https nebo jeden 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 ladění v místní službě IIS.
Vyberte projekt ASP.NET Core v průzkumníku řešení sady Visual Studio a klikněte na ikonu Vlastnosti nebo stiskněte Alt+Enternebo klikněte pravým tlačítkem myši a zvolte Vlastnosti.
Vyberte kartu Ladění a klikněte na odkaz pro otevření uživatelského rozhraní Otevřít spouštěcí profily ladění.
Zobrazené uživatelské rozhraní odpovídá nastavení v souboru
launchSettings.json
projektu. Další informace o tomto souboru naleznete v části Vývoj alaunchSettings.json
v Použití více prostředí v ASP.NET Core.Vyberte profil, který chcete nakonfigurovat pro ladění.
- Pro Kestrel vyberte https profil nebo profil pojmenovaný po projektu.
- V případě služby IIS Express v rozevíracím seznamu vyberte 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á možnost Spustit prohlížeč.
Ujistěte se, že adresy URL, adresy URL aplikace, a adresy URL SSL aplikace jsou správné.
adresa URL určuje umístění adresy URL hostitele pro .NET Core nebo .NET 5 nebo novější. Pro profil pojmenovaný po projektu (tj. vlastnost commandName v
launchSettings.json
je Project), server Kestrel naslouchá zadanému portu. U profilu služby IIS je to obvykle stejná hodnota jako adresa URL aplikace . Další informace naleznete v části spouštěcí profil služby IIS v části Konfigurace projektu.adresa URL aplikace a adresa URL SSL aplikace specifikují adresy URL aplikace.
- U profilu https je vlastnost adresy URL aplikace obvykle
https://localhost:7241;http://localhost:5175
. - Pro profil pojmenovaný po projektu jsou tyto vlastnosti obvykle
http://localhost:5000
ahttps://localhost:5001
. - Pro službu IIS Express je adresa URL SSL aplikace obvykle
https://localhost:44334
.
- U profilu https je vlastnost adresy URL aplikace obvykle
V části Proměnné prostředíse ujistěte, že je přítomna proměnná ASPNETCORE_ENVIRONMENT s hodnotou Development. Pokud ne, přidejte proměnnou.
Další informace o proměnných prostředí naleznete 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í.
Pokud chcete spustit ladění, vyberte název profilu na panelu nástrojů, například https, IIS Expressnebo <název profilu služby IIS> na panelu nástrojů, vyberte Spustit ladění z nabídky Ladění nebo stiskněte F5. Ladicí program se pozastaví na zarážkách. Pokud ladicí program nemůže narazit na zarážky, přečtěte si Ř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 na IIS lokálně, ujistěte se, že splňujete požadavky pro ladění IIS lokálně.
Vyberte projekt ASP.NET Core v průzkumníku řešení sady Visual Studio a klikněte na ikonu Vlastnosti nebo stiskněte Alt+Enternebo klikněte pravým tlačítkem myši a zvolte Vlastnosti.
Vyberte záložku Ladění.
V podokně Vlastnosti vedle Profil,
- V případě služby IIS Express v rozevíracím seznamu vyberte 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 Spustitvyberte v rozevíracím seznamu IIS Express nebo IIS.
Ujistěte se, že je vybraná možnost Spustit prohlížeč.
V části Proměnné prostředíse ujistěte, že ASPNETCORE_ENVIRONMENT je nastavena na hodnotu Development. Pokud ne, vyberte Přidat a přidejte ho.
K uložení změn použijte Soubor>Uložit vybrané položky nebo Ctrl+S.
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ía v poli emulátoru je uveden IIS Expressnebo nový název profilu služby IIS.
Ladění spustíte tak, že na panelu nástrojů vyberete IIS Express nebo <> název profilu služby IIS, vyberete Spustit ladění v nabídce Ladění nebo stisknete F5. Ladicí program se pozastaví na bodech přerušení. Pokud ladicí program nemůže narazit na zarážky, přečtěte si Ř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 ladění místní služby IIS.
Vyberte projekt ASP.NET v Průzkumníku řešení sady Visual Studio a klikněte na ikonu Vlastnosti nebo stiskněte Alt+Enternebo klikněte pravým tlačítkem myši a zvolte Vlastnosti.
Vyberte kartu Web.
Pokud nevidíte záložku Webu, podívejte se na Ladění aplikací ASP.NET Core. Záložka Web se zobrazí pouze pro framework ASP.NET.
V podokně Vlastnosti v části Servery,
- V případě Kestrel vyberte v rozevíracím seznamu https.
- V případě služby IIS Express v rozevíracím seznamu vyberte IIS Express.
- Pro místní IIS,
- V rozevíracím seznamu vyberte Místní IIS.
- Vedle pole adresa URL projektu vyberte Vytvořit virtuální adresář, pokud jste aplikaci ve službě IIS ještě nenastavili.
V části Ladicí programyvyberte ASP.NET.
Zvolte Soubor>Uložit vybrané položky (nebo stisknutím Ctrl+S) uložte 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 Laděnía požadovaný prohlížeč se zobrazí v IIS Express (<název prohlížeče>) nebo Local IIS (<název prohlížeče>) v poli emulátoru.
Ladění spustíte tak, že na panelu nástrojů vyberete IIS Express (<Název prohlížeče>) nebo Místní služba IIS (<Název prohlížeče>), z nabídky Ladění vyberete Spustit ladění, nebo stisknete F5. Ladicí program se pozastaví na zarážkách. Pokud ladicí program nemůže zachytit zarážky, přečtěte si Řešení potíží s laděním.
Řešení potíží s laděním
Pokud místní ladění IIS nemůže pokračovat k bodu přerušení, postupujte podle těchto kroků k odstranění potíží.
Spusťte webovou aplikaci ze služby IIS a ujistěte se, že běží správně. Nechte webovou aplikaci spuštěnou.
Ve Visual Studiu vyberte Ladění > Připojit k procesu nebo stiskněte klávesy Ctrl+Alt+Pa připojte se k procesu ASP.NET nebo ASP.NET Core (obvykle w3wp.exe nebo dotnet.exe). Pro více informací se podívejte na Připojit k procesu a Jak zjistit název procesu ASP.NET.
Pokud se můžete připojit a zasáhnout zarážku pomocí Připojit k procesu, ale ne pomocí Ladění>Spustit ladění nebo F5, pravděpodobně je nastavení nesprávné ve vlastnostech projektu. Pokud používáte soubor HOSTS, ujistěte se, že je správně nakonfigurovaný.
Konfigurace ladění v souboru web.config
Projekty ASP.NET mají ve výchozím nastavení soubory web.config
, které obsahují jak informace o konfiguraci aplikace, tak údaje o jejím 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í soubory web.config
, ale můžete je také nakonfigurovat ručně.
Poznámka
ASP.NET základní projekty nemají zpočátku web.config
soubory, ale pro konfiguraci a spouštění aplikací používejte soubory appsettings.json
a launchSettings.json
. Nasazením aplikace se v projektu vytvoří soubor nebo soubory web.config
, které obvykle neobsahují informace o ladění.
Spropitné
Proces nasazení může aktualizovat nastavení web.config
, takže před pokusem o ladění se ujistěte, že je web.config
nakonfigurované pro ladění.
Ruční konfigurace souboru web.config
pro ladění:
V sadě Visual Studio otevřete soubor
web.config
projektu ASP.NET.Web.config
je soubor XML, takže obsahuje vnořené oddíly označené značkami. Vyhledejte oddílconfiguration/system.web/compilation
. (Pokud prvekcompilation
neexistuje, vytvořte ho.)Ujistěte se, že je atribut
debug
v elementucompilation
nastaven natrue
. (Pokud prvekcompilation
neobsahuje atributdebug
, 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 hodnota atributu
targetFramework
v elementucompilation
odpovídá rozhraní na serveru IIS.Prvek
compilation
souboruweb.config
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
jsou obvykle další oddíly XML a elementcompilation
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ářů s web.config
soubory v každém z nich. ASP.NET aplikace dědí nastavení konfigurace z web.config
souborů na vyšších úrovních v cestě URL. Hierarchické nastavení souboru web.config
platí pro všechny aplikace ASP.NET pod nimi v hierarchii. Nastavení jiné konfigurace v souboru web.config
nižší v hierarchii přepíše nastavení v vyšším souboru.
Pokud například zadáte debug="true"
v www.microsoft.com/aaa/web.config, libovolná aplikace ve složce aaa
nebo v jakékoli podsložce aaa
toto nastavení dědí, s výjimkou případů, kdy některá z těchto aplikací přepíše nastavení vlastním souborem web.config
.
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ýkonu, nastavte debug="false"
v web.config
a zadejte sestavení typu Release.