Nástroje a šablony projektů v .NET Core

Miroslav Holec       07.08.2020       .NET Tips, .NET Core, ASP.NET Core       6334 zobrazení

Už dávno neplatí, že NuGet balíčky reprezentují pouze aplikační kód zkompilovaný do DLL a zabelený do balíčku. Druhů NuGet balíčků existuje již celá řada. Kromě těch tradičních máme například balíčky reprezentující analyzery, speciální metabalíčky zastřešující sadu jiných NuGetů a od nedávna také tzv. dotnet tools a čerstvě i dotnet templates.

Díky globálnímu repozitáři nuget.org mají vývojáři volný přístup k více než 200 tisícům NuGet balíčků. Další tisíce NuGet balíčků pak vývojářské týmy sdílí v rámci firemních infrastruktur pomocí Azure DevOps a dalších služeb. V tomto krátkém článku bych rád sepsal pár důležitých postřehů, které by měl každý .NET vývojář znát a zároveň i zásady, kterých se v této oblasti držím.

  • class libraries je v současné době vhodné targetovat na NET Standard 2.0 (výjimky ovšem potvrzují pravidlo)
  • každou class library vytvořenou s novými csproj lze automaticky buildovat do podoby NuGet balíčku
  • související class libraries mi vyhovuje držet v jednom monorepository tak, že projekty mám mezi sebou nalinkované a z nich mi právě vznikají NuGet balíčky… usnadňuje to vývoj a testování
  • pokud se opakuje určitá rutina v rámci libovolné aplikace, vytvářím pro ni konzolovku a tu taktéž generuji do podoby NuGet balíčku (tzv. dotnet tool)
  • dotnet tools, které jsou použitelné na více projektech instaluji na počítači jako globální dotnet tool
  • v případě komplexnějších konzolovek si vždy ručně přidávám podporu pro DI, konfiguraci a logování
  • v případě primitivních konzolovek všechno bastlím do metody Main
  • konzolovky se snažím stavit vždy nad .NET Core 3.1 - nejen kvůli performance ale i kvůli podpoře diagnostiky na pozadí
  • pro opakující se nastavení projektů (například mikroslužby nebo web api) si lze vytvořit projektové šablony a ty opět publikovat jako NuGet balíček
  • pro webové aplikace často používám diagnostické nástroje (diagnostics dotnet tools) – memory dumps, memory profiling, performance counters + podpora perfview / speedscope

Jsou-li pro Vás některé termíny neznámé, doporučuji se seznámit s MS dokumentací. Výše uvedené funkce Vám mohou ušetřit velké množství času. Díky tomu, že jsou local a global tools verzované, můžete mít podpůrné utilitky související s konkrétními verzemi aplikací. Navíc se dají tyto utilitky velmi snadno spouštět například na build serverech.


WEBINÁŘ: Vývoj a správa nástrojů v .net core

Pokud Vás téma zaujalo, už 22. září se můžete připojit on-line k webináři, na kterém Vás s problematikou dotnet tools seznámím. Tradiční součástí webináře budou odkazy k dalšímu studiu a praktické dema k okamžitému experimentování a použití.

Registrovat na webinář se můžete zde.


 

hodnocení článku

0       Hodnotit mohou jen registrované uživatelé.

 

 

 

Nový příspěvek

 

Příspěvky zaslané pod tento článek se neobjeví hned, ale až po schválení administrátorem.

                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

Příspěvky zaslané pod tento článek se neobjeví hned, ale až po schválení administrátorem.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback