Category Archives: Development Tools

WASM: AggregateException_ctor_DefaultMessage (Could not resolve type with token …)

Narazili jsme po instalaci .NET 9 SDK 9.0.204 (a nepomohl ani 9.0.300) na zajímavou chybu published Blazor WebAssembly front-endů (browser console výstup, front-end nenabíhá):

ManagedError: AggregateException_ctor_DefaultMessage (Could not resolve type with token 01000024 from typeref (expected class 'System.Reflection.Assembly' in assembly 'netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'))
    at an (dotnet.runtime.5nhp1wfg9b.js:3:26894)
    at Kt.resolve_or_reject (dotnet.runtime.5nhp1wfg9b.js:3:26449)
    at dotnet.runtime.5nhp1wfg9b.js:3:172714
    at dotnet.runtime.5nhp1wfg9b.js:3:172778
    at fr (dotnet.runtime.5nhp1wfg9b.js:3:35046)
    at Fc (dotnet.runtime.5nhp1wfg9b.js:3:172361)
    at dotnet.native.swgexbmoy7.wasm:0x1f1a4
    at dotnet.native.swgexbmoy7.wasm:0x1c8ae
    at dotnet.native.swgexbmoy7.wasm:0xea19
    at dotnet.native.swgexbmoy7.wasm:0x1ec88

První podezření bylo na trimming, nicméně když to zkrátím, tak se ukázalo, že se jedná o klasický problém buildů po instalaci nového SDK – je potřeba vymazat pracovní složky build-agentů, pokud každý váš build neběží na úplně čistém prostředí, ale používáte nějakou formu inkrementálního uspořádání. Když to převedu do roviny lokálního vývoje s Visual Studiem, je potřeba udělat Clean solution a vymazat složky bin a obj.

Proč to vůbec píšu? Kdyby někoho potkala stejná chyba, při troše štěstí vygooglí tento post a ušetří si čas s diagnostikou. U nás už jsme si poměrně zvykli, že když po instalaci nové verze SDK padá build, je potřeba před dalším bádáním vymazat pracovní složky build-agentů. Poprvé v historii se nám však stalo, že build úspěšně prošel (nepadal), ale výsledek build byl „vadný“ způsobem, který se projevil až při spuštění Blazor WASM front-endu v browseru.

YAML Pipelines – Azure DevOps [Jiří Kanda, Vzdělávací okénko, 27.3.2025]

V tomto videu se dozvíte vše o našich nových YAML pipelines v Azure DevOps, které prezentuje Jiří Kanda. Jirka vysvětluje, proč jsme se rozhodli přejít na YAML pipelines a jaké výhody nám to přináší.

  • Specifika našich buildů a důvody pro změnu na YAML pipelines.
  • Výhody YAML pipelines, jako jsou lepší parametrizace a paralelizace.
  • Základní syntaxe YAML a struktura YAML pipelines.
  • Paralelní běh jobů a použití více agentů.
  • Volitelné parametry buildů a task scheduler.
  • Podpora pro integrační testy a automatické pull requesty.
  • Použití deduplication a reprodukovatelnost buildů.
  • Validace zranitelností nuget balíčků a definice pipeline v projektech.
  • Problémy s manuálním spuštěním buildů.

Záznam ze Vzdělávacího okénka HAVIT z 27. března 2025.

Go to file member (Visual Studio)

Dlouho mě trápilo, jak se ve větším souboru rychle donavigovat na membera, jehož jméno znám.

Resharper/Rider mají přímo Go to file member Alt+ \.

Visual Studio 2022 má Go to member, který má ale výchozí scope na Current solution.

Je to takový ten klasický Go to… s prefixem m:, který prostě prohledává member, ale v celé solution, ani to nedává výsledky aktuálního souboru na první místo 😭. Chybí tam jakákoliv klávesová zkratka, nebo cesta, která by to otevřela předscopované na Current file.

OVŠEM!!! Má to ovšem jednu pro mě až dnes objevenou vlastnost, která to činí použitelným (pro mě) – pamatuje si to poslední scope, a to samostatně pro jednotlivé use-case. Má to navíc stejnou klávesovou zkratku Alt + \.

Takže:

Jednou to otevřete přes Go to member (Alt+\) a změníte si scope na Current file a napříště to tam zůstane zapamatováno.

Neovlivní to však ostatní use-case. Pro Go to all (Ctrl + T) nebo Go to file (Ctrl + Shift +T) si to u mě dále pamatuje scope Current solution.

Quality of live changer! 🤣🥳

Code review [Tomáš Wagner, Vzdělávací okénko, 29.11.2023]

Záznam ze Vzdělávacího okénka HAVIT, kde Tomáš Wagner ukazoval, jak lze využít pull-requesty v Azure DevOps (Azure Repos) na organizaci code-reviews.

.NET Performance Tuning – záznam a dema [Robert Haken, WUG Days 2023.2 Brno]

Záznam z přednášky pro konferenci WUG Days 2023.2 Brno z 11. září 2023.

Starší provedení přednášky, kde je méně profilingu a více ukázek kódu, najdete též na YT:

Demo samotné najdete tradičně na GitHub: https://github.com/hakenr/PerformanceTuningDotnetCoreDemos

WebTests [Ondřej Václavek, Vzdělávací okénko, 30.6.2021]

Záznam ze Vzdělávacího okénka HAVIT, kde Ondra Václavek povídal o WebTests v Azure a ve Visual Studiu.

HAVIT GIT Workflow Standard [Robert Haken, HAVIT Vzdělávací okénko 14.4.2021]

Záznam ze Vzdělávacího okénka HAVIT z 14. dubna 2021, kde jsem prezentoval náš standard workflow pro používání GIT source control. Je publikován na našem HAVIT YouTube Channelu.

Základní pravidla workflow:

  1. Jediná vývojářská mainline = master.
  2. Rebase upřednostňujeme před merge (přehlednější historie).
  3. Release označujeme tagem „release/…“ (typicky do master).
  4. Hotfixování = v branch „release/…“ z nasazeného commitu (dle version.txt nebo release-tagu) + nový release tag + merge do master + delete branch
  5. Feature branching („feature/…“) pouze ve vybraných situacích, pokud vím co chci, proč to dělám a umím to.
  6. V lokálním repo se invencím meze nekladou, chceme však Continuous Integration (např. častý rebase)

Deplyment aplikací [Jiří Kanda, Vzdělávací okénko, 30.9.2020]

Záznam ze Vzdělávacího okénka HAVIT, kde Jirka Kanda ukazoval, jak nasazujeme aplikace z Azure DevOps Services.

Tvorba Chrome Extension [Jiří Gregor, Vzdělávací okénko, 8.7.2020]

Záznam ze Vzdělávacího okénka HAVIT z 8. července 2020, kde nám Jirka Gregor ukazoval vytvoření Chrome Extension pro Chrome/EDGE, kterým zobrazuje stavy ticketů v JIRA (Service Desk) u Azure DevOps work-items a obarvování položek v ADOS dle vlastních pravidel.

Adobe XD [Dominik Crha, Vzdělávací okénko, 5.2.2020]

Záznam ze Vzdělávacího okénka HAVIT z 5. února 2020, kdy Dominik Crha představoval Adobe XD, nástroj pro rychlé návrhy uživatelského rozhraní webových alikací.

Nahrávka je publikována na našem HAVIT YouTube Channelu.