Porting Articles: Overview and Structure (#315)

* Add overview of the porting process

Also added a new file, Analyzing your third party dependencies.  The original TOC did not include this, but it is an essential part of the porting process.

* address mairaw feedback

* address mairaw feedback

* Address @richlander feedback and remove non-porting info

* reword porting and remove project system details
This commit is contained in:
Phillip Carter 2016-06-25 14:20:01 -07:00 коммит произвёл GitHub
Родитель 9382a9e012
Коммит e8781f27f7
4 изменённых файлов: 85 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,3 @@
# Porting your libraries
TODO

Просмотреть файл

@ -0,0 +1,25 @@
# Porting NuGet Packages
If you have a NuGet package that is based on .NET Framework, you may be interested in porting that code so that it can be made available for .NET Core as well.
## Prerequisities
This article also assumes that you have successfully [ported your library or framework to .NET Core](libraries.md). If you have not read that article and done so already, you should do that before continuing.
**TODO** list of tools
## Using the .NET CLI Toolchain to Generate a NuGet Package
**TODO**
## Using the NuGet Command Line to Generate a NuGet Package
**TODO**
## Using Visual Studio to Generate a NuGet Package
**TODO**
## Advanced Scenarios
You may have advanced configuration via a `.nuspec` file in your NuGet package. Documentation for how to do that with NuGet are located [in the official NuGet docs](http://docs.nuget.org/).

38
docs/porting/overview.md Normal file
Просмотреть файл

@ -0,0 +1,38 @@
# Porting to .NET Core 1.0
If you've got code running on the .NET Framework, you may be interested in running your code on .NET Core 1.0. This article covers an overview of the porting process and a list of the tools you may find helpful when porting to .NET Core.
## Overview of the Porting Process
The recommended process for porting follows the following series of steps. Each of these parts of the process are covered in more detail in further articles.
1. Identify and account for your third-party dependencies.
This will involve understanding what your third-party dependencies are, how you depend on them, how to see if they also run on .NET Core, and steps you can take if they don't.
2. Retarget all projects you wish to port to target .NET Framework 4.6.2.
This ensures that you can use API alternatives for .NET Framework-specific targets in the cases where .NET Core can't support a particular API.
3. Use the [API Portability Analyzer tool](tooling.md) to analyze your assemblies and develop a plan to port based on its results.
The API Portability Analyzer tool will analyze your compiled assemblies and generate a report which shows a high-level portability summary and a breakdown of each API you're using that isn't available on .NET Core. You can use this report alongside an analysis of your codebase to develop a plan for how you'll port your code over.
4. Port your tests code.
Because porting to .NET Core is such a big change to your codebase, it's highly recommended to get your tests ported so that you can run tests as you port code over. MSTest, xUnit, and NUnit all support .NET Core 1.0 today.
6. Execute your plan for porting!
## Tools to help
Here's a short list of the tools you'll find helpful:
* NuGet - [Nuget Client](https://dist.nuget.org/index.html) or [NuGet Package Explorer](https://github.com/NuGetPackageExplorer/NuGetPackageExplorer), the package manager for the .NET Platform.
* Api Portability Analyzer - [command line tool](https://github.com/Microsoft/dotnet-apiport/releases) or [Visual Studio Extension](https://visualstudiogallery.msdn.microsoft.com/1177943e-cfb7-4822-a8a6-e56c7905292b), a toolchain that can generate a report of how portable your code is between .NET Framework and .NET Core, with an assembly-by-assembly breakdown of issues. See [Tooling to help you on the process](tooling.md) for more information.
* Reverse Package Search - A [useful web service](https://packagesearch.azurewebsites.net) that allows you to search for a type and find packages containing that type.
## Next steps
[Analyzing your third-party dependencies.](third-party-deps.md)

Просмотреть файл

@ -0,0 +1,19 @@
# Analyzing your 3rd Party Dependencies
TODO intro
## Prerequisites
TODO prerequisites
## Analyzing NuGet Packages
TODO nuget
## Analyzing Dependencies which aren't NuGet Packages
TODO non-NuGet
## Next steps
TODO apps, libraries, etc