Porting Assistant for .NET is an analysis tool that scans .NET Framework applications and generates a .NET Core compatibility assessment, helping customers port their applications to Linux faster.
Porting Assistant for .NET quickly scans .NET Framework applications to identify incompatibilities with .NET Core, finds known replacements, and generates detailed compatibility assessment reports. This reduces the manual effort involved in modernizing the applications to Linux.
Porting Assistant Dotnet DataStore
This repository contains the location of data store in S3. The data store contains data files that show package and API compatibility with .NET Core and .NET Standard.
Porting assistant uses these data files for finding the compatibility of packages and their APIs.
For each NuGet package in nuget.org, a separate Json file is defined. Each file captures compatibility information of all its packaged versions.
It shows compatibility information for all the NuGet packages available in nuget.org - 211k unique packages, 2.5 millions packaged versions (The numbers could change over time).
Format of the data file (Json format)
Package Details
Attribute Name
Description
Name
Name of the package. Example: "Name": "AWSSDK.EC2"
Format
Version of the Json document. Example: "Format": "1.0"
Versions
List of packaged versions of this package. Example: "Versions": [ "4.0","4.4"]
Targets
Targets: Compatible targets based on packaged versions. Example: { "netcoreapp3.1" => [ "4.0", "4.1"] }, { "netcoreapp5.0 => ["4.0"] }. “netcoreapp3.1” is supported for package versions - 4.0 and 4.1.
API details
List of APIs. Refer API Details.
License details
License details. Refer License Details
API Details
Attribute Name
Description
Name
Name of the Api. Example: "Name": ".ctor"
Signature
Signature of the Api. Example: "Signature": "AutoMapper.AutoMapperConfigurationException.AutoMapperConfigurationException(string)"
Namespace
Namespace. Example: "NameSpace": "AutoMapper"
ClassName
Class name. Example: "ClassName": "AutoMapper.AutoMapperConfigurationException"
Parameters
Parameters. Example: "Parameters": [ "string" ]
ReturnType
Return type. Example: "ReturnType": "Void"
Targets
Targets: Compatible targets based on packaged versions. Example: { "netcoreapp3.1" => [ "4.0", "4.1"] }, { "netcoreapp5.0 => ["4.0"] }. “netcoreapp3.1” is supported for package versions - 4.0 and 4.1.
Portability Analyzer - Portability Analyzer analyzes assembly files to access API compatibility with various versions of .NET. Porting Assistant for .NET makes use of recommendations and data provided by Portability Analyzer.
THIRD-PARTY - This project would not be possible without additional dependencies listed in THIRD-PARTY.
License
This project is licensed under the Apache-2.0 License.
Porting Assistant for .NET
Porting Assistant for .NET is an analysis tool that scans .NET Framework applications and generates a .NET Core compatibility assessment, helping customers port their applications to Linux faster.
Porting Assistant for .NET quickly scans .NET Framework applications to identify incompatibilities with .NET Core, finds known replacements, and generates detailed compatibility assessment reports. This reduces the manual effort involved in modernizing the applications to Linux.
Porting Assistant Dotnet DataStore
This repository contains the location of data store in S3. The data store contains data files that show package and API compatibility with .NET Core and .NET Standard.
Format of the data file (Json format)
Package Details
Example:
"Name": "AWSSDK.EC2"Example:
"Format": "1.0"Example:
"Versions": [ "4.0","4.4"]Example:
{ "netcoreapp3.1" => [ "4.0", "4.1"] }, { "netcoreapp5.0 => ["4.0"] }.“netcoreapp3.1” is supported for package versions - 4.0 and 4.1.
API Details
Example:
"Name": ".ctor"Example:
"Signature": "AutoMapper.AutoMapperConfigurationException.AutoMapperConfigurationException(string)"Example:
"NameSpace": "AutoMapper"Example:
"ClassName": "AutoMapper.AutoMapperConfigurationException"Example:
"Parameters": [ "string" ]Example:
"ReturnType": "Void"Example:
{ "netcoreapp3.1" => [ "4.0", "4.1"] }, { "netcoreapp5.0 => ["4.0"] }.“netcoreapp3.1” is supported for package versions - 4.0 and 4.1.
License Details
Example:
"License": { "MIT": [ "4.0.0" ], "Apache": [ "4.4.0" ] }Example:
"Title": { "This package is used to analyse C# code": [ "4.0.0", "4.4.0" ] }Example:
"Url": { "https://licenses.nuget.org/MIT": [ "4.0.0", "4.4.0" ] }Example: `”Details”: { “This package is used to analyse C# code”: [ “4.0.0”, “4.4.0” ] }
Contributing
Security
Thank you
License
This project is licensed under the Apache-2.0 License.