Visual Studio skacze do pliku [decompiled] zamiast oryginalnego

Po utworzeniu domyślnego projektu Avalonia (C#) przy użyciu kreatora Visual Studio może się okazać, że skakanie do definicji typów będzie otwierało [decompiled] źródła zamiast oryginalnych plików. To może być frustrujące, kiedy chcemy podpatrzeć jak Avalonia robi coś pod spodem. Naprawmy to.

Upewnij się, że masz zaznaczone następujące opcje w Tools > Options:

Jeśli pomimo zaznaczenia tych opcji skakanie do źródeł nie działa, to następnym krokiem będzie dodanie paczki do filtrów, które zezwolą IDE na pobranie źródeł Avalonia.

Zaznacz nuget.org jako źródło do źródeł Tools > Options > NuGet Package Manager > Package Sources

Na koniec w Tools > Options > NuGet Package Manager > Package Source Mapping dodaj regułę Avalonia.*

Add New Package Source Mapping

Na koniec kliknij OK, aby zapisać zmiany.

Możesz teraz przejść do Project > Manage NuGet Packages... i w zakładce Installed wybierz jakąś paczkę Avalonia. W oknie po prawej stronie powinen pojawiś się zielony znaczek z informacją: Package source mapping found.

avalonia-package-source-mapping-found

Przy niektórych paczkach może się pojawić zamiast tego informacja

A package source mapping will be created.

To oznacza, że źródła nie są pobrane w całości i będą zaciągane w miarę potrzeb. Może się zdarzyć, że skok do definicji typu przeniesie nas do kodu zdekompilowanego. Należy wtedy odczekać chwilę i spróbować skoczyć do typu ponownie. Jeśli źródła zostaną raz pobrane, to następne skoki będą już błyskawiczne. Visual Studio zapisuje pobrane pliki w katalogu %LocalAppData%\SourceServer\.

Powyższa procedura powinna również działać dla bibliotek innych niż Avalonia.