Когда то использовал автоматический анализатор кода для проверки совместимости .NET приложений с Xamarin платформой. Мое приложение тогда показало 100% совместимость, все таки Mono+GtkSharp. Теперь портируя приложения на .Net Core тоже использую подобный анализатор.
Собрать можно с помощью скрипта
.\build.ps1 -Configuration Debug -Platform AnyCPU
после этого посмотреть установленные на компьютере платформы
.\ApiPort.exe listTargets
Проверить, что требует портирования, задав платформы:
.\ApiPort.exe analyze -f "my.exe" -t ".NET Framework, Version=4.6.2" -t ".Net Core, Version=2.1" -r HTML -o AnalysisReport.html
Еще, есть UI, тем более что WPF уже будет в .NET Core 3.0
Вот какого плана создается отчет
Target type | .Net Core,Version=v2.1 | .NET Framework,Version=v4.6.2 | Recommended changes |
---|---|---|---|
Microsoft.AspNetCore.StaticFiles.FileExtensionContentTypeProvider | |||
#ctor | |||
get_Mappings | |||
TryGetContentType(System.String,System.String@) | |||
Microsoft.VisualBasic.Devices.ComputerInfo | |||
#ctor | |||
get_AvailablePhysicalMemory | |||
get_OSFullName | |||
get_TotalPhysicalMemory | |||
System.Configuration.ConfigurationElement | Use configuration appropriate for your application model. For portable Framework Components, expose API for configuration on type. | ||
#ctor | Use configuration appropriate for your application model. For portable Framework Components, expose API for configuration on type. | ||
get_Item(System.String) | Use configuration appropriate for your application model. For portable Framework Components, expose API for configuration on type. | ||
set_Item(System.String,System.Object) | Use configuration appropriate for your application model. For portable Framework Components, expose API for configuration on type. | ||
System.Configuration.ConfigurationManager | Use configuration appropriate for your application model. For portable Framework Components, expose API for configuration on type. | ||
get_AppSettings | Use configuration appropriate for your application model. For portable Framework Components, expose API for configuration on type. | ||
GetSection(System.String) | Use configuration appropriate for your application model. For portable Framework Components, expose API for configuration on type. | ||
System.Configuration.ConfigurationPropertyAttribute | Use configuration appropriate for your application model. For portable Framework Components, expose API for configuration on type. | ||
#ctor(System.String) | Use configuration appropriate for your application model. For portable Framework Components, expose API for configuration on type. | ||
System.Configuration.ConfigurationSection | Use configuration appropriate for your application model. For portable Framework Components, expose API for configuration on type. | ||
#ctor | Use configuration appropriate for your application model. For portable Framework Components, expose API for configuration on type. |