Analizator przenośności platformy .NET
Ważne
Port interfejsu API został przestarzały na rzecz analizy binarnej za pomocą narzędzia Asystenta uaktualniania platformy .NET. Usługa zaplecza portu interfejsu API została zamknięta, więc aby użyć narzędzia, musisz użyć go w trybie offline. Aby uzyskać więcej informacji, zobacz PLIK README portu interfejsu API platformy .NET.
Chcesz, aby biblioteki obsługiwały wiele platform? Chcesz sprawdzić, ile pracy jest wymagane, aby aplikacja .NET Framework działała na platformie .NET Core? Analizator przenośności platformy .NET to narzędzie, które analizuje zestawy i udostępnia szczegółowy raport na temat interfejsów API platformy .NET, których brakuje, aby aplikacje lub biblioteki zostały przenośne na określonych docelowych platformach .NET. Analizator Przenośności to aplikacja konsolowa , która analizuje biblioteki na podstawie zadanych plików lub katalogu.
Po przekonwertowaniu projektu na nową platformę, na przykład .NET Core, możesz użyć analizatora zgodności platformy opartej na platformie Roslyn, aby zidentyfikować interfejsy API, które zgłaszają PlatformNotSupportedException wyjątki i inne problemy ze zgodnością.
Typowe cele
- .NET: ma modułową konstrukcję, obsługuje instalację równoległą i obsługuje scenariusze obejmujące wiele platform. Instalacja równoległa umożliwia wdrażanie nowych wersji platformy .NET bez przerywania działania innych aplikacji. Jeśli Twoim celem jest przeniesienie aplikacji na platformę .NET i wspieranie wielu platform, jest to zalecany cel.
- .NET Standard: obejmuje interfejsy API .NET Standard dostępne we wszystkich implementacjach platformy .NET.
- ASP.NET Core: nowoczesna struktura internetowa oparta na platformie .NET. Jeśli Twoim celem jest przenoszenie aplikacji internetowej do platformy .NET (Core) w celu obsługi wielu platform, jest to zalecany cel.
- Rozszerzenia platformy .NET + : zawiera interfejsy API platformy .NET oprócz pakietu zgodności systemu Windows, który udostępnia wiele technologii .NET Framework specyficznych dla systemu Windows.
- .NET Standard + Platform Extensions: zawiera interfejsy API .NET Standard oprócz pakietu zgodności systemu Windows, który udostępnia wiele technologii .NET Framework specyficznych dla systemu Windows.
Jak używać analizatora przenośności platformy .NET
Aby rozpocząć korzystanie z analizatora przenośności .NET w programie Visual Studio, najpierw należy sklonować i skompilować projekt dotnet-apiport. Działa w wersjach programu Visual Studio 2017 i Visual Studio 2019.
Ważne
Analizator przenośności platformy .NET nie jest obsługiwany w programie Visual Studio 2022.
Widok obejmujący całe rozwiązanie
Przydatnym krokiem w analizie rozwiązania z wieloma projektami jest wizualizacja zależności, aby zrozumieć, od czego zależy dany podzbiór bibliotek. Ogólne zalecenie polega na zastosowaniu wyników analizy w podejściu dolnym, zaczynając od węzłów liścia na wykresie zależności.
Aby to pobrać, uruchom następujące polecenie:
ApiPort.exe analyze -r DGML -f [directory or file]
W wyniku tego będzie wyglądać następująco po otwarciu w programie Visual Studio:
Analizowanie przenośności
Wprowadź następujące polecenie, aby przeanalizować bieżący katalog:
ApiPort.exe analyze -f .
Aby przeanalizować określoną listę plików .dll, wprowadź następujące polecenie:
ApiPort.exe analyze -f first.dll -f second.dll -f third.dll
Aby zastosować określoną wersję, użyj parametru -t
:
ApiPort.exe analyze -t ".NET, Version=5.0" -f .
Uruchom polecenie ApiPort.exe -?
, aby uzyskać więcej pomocy.
Zaleca się, aby uwzględnić wszystkich powiązanych plików .exe i .dll, których jesteś właścicielem i które chcesz przenosić, oraz wykluczać plików, od których zależy aplikacja, ale nie jesteś właścicielem i nie możesz ich przenosić. Zapewni to najbardziej odpowiedni raport o przenośności.
Wyświetlanie i interpretowanie wyniku przenośności
W raporcie są wyświetlane tylko interfejsy API, które nie są obsługiwane przez platformę docelową. Raport przenośności platformy .NET jest zapisywany jako plik w określonym formacie. Wartość domyślna to plik programu Excel (.xlsx) w bieżącym katalogu.
Podsumowanie przenośności
Sekcja Podsumowanie przenośności raportu przedstawia procent przenośności dla każdego zestawu uwzględnionego w przebiegu. W poprzednim przykładzie 71,24% interfejsów API programu .NET Framework używanych w svcutil
aplikacji jest dostępnych na platformie .NET Core + Rozszerzenia platformy. Jeśli uruchomisz narzędzie .NET Portability Analyzer dla wielu zestawów, każdy zestaw powinien mieć wiersz w raporcie Podsumowanie przenośności.
Szczegóły
Sekcja Szczegóły raportu zawiera listę brakujących interfejsów API z dowolnej z wybranych platform docelowych.
- Typ docelowy: typowi brakuje interfejsu API na platformie docelowej.
- Członek docelowy: metoda brakująca z platformy docelowej.
- Nazwa zestawu: zestaw .NET Framework, w ramach którego znajduje się brakujący interfejs API.
- Każda z wybranych platform docelowych jest jedną kolumną, taką jak ".NET Core": "Nieobsługiwane" wartość oznacza, że interfejs API nie jest obsługiwany na tej platformie docelowej.
- Zalecane zmiany: zalecany interfejs API lub technologia do zmiany. Obecnie to pole jest puste lub nieaktualne dla wielu interfejsów API. Ze względu na dużą liczbę interfejsów API jest to istotne wyzwanie, aby zachować aktualność.
Brakujące komponenty
W raporcie może znajdować się sekcja Brakujące zestawy. Ta sekcja zawiera listę zestawów, do których odwołuje się analizowane zestawy i nie zostały przeanalizowane. Jeśli jest to zestaw, którego jesteś właścicielem, dołącz go do uruchomienia analizatora przenośności interfejsu API, aby uzyskać szczegółowy raport przenośności na poziomie interfejsu API. Jeśli jest to biblioteka innej firmy, sprawdź, czy jest nowsza wersja, która obsługuje platformę docelową, i rozważ przejście do nowszej wersji. W końcu lista powinna zawierać wszystkie zestawy innych firm, od których aplikacja zależy od wersji obsługującej platformę docelową.
Zobacz też
Aby uzyskać więcej informacji na temat analizatora portability platformy .NET, odwiedź dokumentację usługi GitHub.