Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
API Port byl zrušen na úkor binární analýzy pomocí nástroje .NET Upgrade Assistant. Back-endová služba portu rozhraní API byla vypnuta, takže pokud chcete nástroj používat, musíte ho používat offline. Další informace najdete v README portu .NET API.
Chcete, aby vaše knihovny podporovaly více platforem? Chcete zjistit, kolik práce je potřeba k tomu, aby vaše aplikace .NET Framework běžela v .NET Core? Analyzátor .NET Portability Analyzer je nástroj, který analyzuje sestavení a poskytuje podrobnou zprávu o rozhraních .NET API, jež chybí, aby aplikace nebo knihovny byly přenositelné na vámi zadané cílové platformy .NET. Analyzátor přenositelnosti je konzolová aplikace , která analyzuje sestavení zadanými soubory nebo adresářem.
Po převodu projektu na cíl na novou platformu, jako je .NET Core, můžete pomocí analyzátoru kompatibility platformy založeného na Roslyn identifikovat rozhraní API, která můžou PlatformNotSupportedException vyvolat výjimky a další problémy s kompatibilitou.
Běžné cíle
- .NET: Má modulární návrh, podporuje souběžnou instalaci a cílí na scénáře pro různé platformy. Souběžná instalace umožňuje používat nové verze .NET bez přerušení ostatních aplikací. Pokud vaším cílem je přenést aplikaci do .NET a podporovat více platforem, jedná se o doporučený cíl.
- .NET Standard: Zahrnuje rozhraní .NET Standard API dostupná ve všech implementacích .NET.
- ASP.NET Core: Moderní webová architektura založená na .NET. Pokud vaším cílem je přenést webovou aplikaci do .NET (Core) pro podporu více platforem, jedná se o doporučený cíl.
- Rozšíření platformy .NET + : Zahrnuje rozhraní .NET API kromě sady Windows Compatibility Pack, která poskytuje mnoho technologií rozhraní .NET Framework specifických pro Windows.
- .NET Standard + Rozšíření platformy : Zahrnuje .NET Standard API navíc k balíčku Windows Compatibility Pack, který poskytuje mnoho technologií .NET Framework specifických pro Windows.
Jak používat analyzátor přenositelnosti .NET
Pokud chcete začít používat analyzátor přenositelnosti .NET v sadě Visual Studio, musíte nejprve klonovat a sestavit projekt dotnet-apiport. Funguje ve verzích sady Visual Studio 2017 a Visual Studio 2019.
Důležité
Analyzátor přenositelnosti .NET není podporován v sadě Visual Studio 2022 a novějších verzích.
Zobrazení na úrovni řešení
Užitečným krokem při analýze řešení s mnoha projekty je vizualizovat závislosti, abyste pochopili, která podmnožina sestavení závisí na tom, co. Obecné doporučení je použít výsledky analýzy v přístupu zdola nahoru počínaje uzly typu list v grafu závislostí.
Pro spuštění použijte následující příkaz:
ApiPort.exe analyze -r DGML -f [directory or file]
Výsledek by při otevření v programu Visual Studio vypadal následovně:
Analýza přenositelnosti
Zadáním následujícího příkazu analyzujte aktuální adresář:
ApiPort.exe analyze -f .
Pokud chcete analyzovat konkrétní seznam .dll souborů, zadejte následující příkaz:
ApiPort.exe analyze -f first.dll -f second.dll -f third.dll
Pokud chcete cílit na konkrétní verzi, použijte -t parametr:
ApiPort.exe analyze -t ".NET, Version=5.0" -f .
Spusťte ApiPort.exe -? a získejte další nápovědu.
Doporučujeme, abyste zahrnuli všechny související .exe a .dll soubory, které vlastníte a chcete portovat, a vyloučili soubory, na které vaše aplikace závisí, ale nevlastníte a nemůžete je portovat. To vám poskytne nejrelevantnější zprávu o přenositelnosti.
Zobrazení a interpretace výsledku přenositelnosti
V sestavě se zobrazí pouze rozhraní API, která nejsou podporována cílovou platformou. Sestava přenositelnosti rozhraní .NET byla uložena jako soubor ve formátu, který jste zadali. Výchozí hodnota je v excelovém souboru (.xlsx) v aktuálním adresáři.
Souhrn přenositelnosti
Část sestavy Souhrn přenositelnosti zobrazuje procento přenositelnosti pro každou součást zahrnutou v procesu. V předchozím příkladu je v .NET Core + Platform Extensions k dispozici 71,24 % rozhraní API rozhraní .NET Framework použitých v svcutil aplikaci. Pokud spustíte nástroj .NET Portability Analyzer pro více sestavení, každé sestavení by mělo mít řádek v sestavě Souhrn přenositelnosti.
Detaily
V části Podrobnosti sestavy jsou uvedena rozhraní API, která chybí z kterékoli z vybraných cílových platforem.
- Typ cíle: Typ postrádá API na cílové platformě.
- Cílový člen: V cílové platformě chybí metoda.
- Název sestavení: sestavení rozhraní .NET Framework, ve kterém se nachází chybějící rozhraní API.
- Každá z vybraných cílových platforem je jeden sloupec, například .NET Core: Hodnota "Nepodporováno" znamená, že API není na této cílové platformě podporováno.
- Doporučené změny: doporučené rozhraní API nebo technologie, na které se mají změnit. V současné době je toto pole prázdné nebo zastaralé pro mnoho rozhraní API. Vzhledem k velkému počtu rozhraní API je důležité udržovat je v aktualizovaném stavu.
Chybějící sestavení
Ve své zprávě můžete najít oddíl Chybějící sestavy. Tato část obsahuje seznam sestavení, která jsou odkazována vašimi analyzovanými sestaveními a nebyla analyzována. Pokud vlastníte sestavení, zahrňte jej do spuštění analyzátoru přenositelnosti rozhraní API, abyste získali podrobnou sestavu přenositelnosti na úrovni rozhraní API. Pokud se jedná o knihovnu třetí strany, zkontrolujte, jestli existuje novější verze, která podporuje vaši cílovou platformu, a zvažte přechod na novější verzi. Seznam by nakonec měl obsahovat všechna sestavení třetích stran, na kterých vaše aplikace závisí a která mají verzi podporující vaši cílovou platformu.
Viz také
Další informace o analyzátoru přenositelnosti .NET najdete v dokumentaci k GitHubu.