These are recommended actions to take for APIs that are not supported on a .NET platform. The .NET Portability Analyzer consumes these as they are updated, so the latest recommendations are used.
- Copy the template: ! Template.md
- Fill in a Twitter-sized Recommended Action
- Fill in "Affected APIs"
- Find the highest level that your recommended action affects and use that docId
- Find docIds using:
- http://dotnetstatus.azurewebsites.net or
- Using the console tool and running:
ApiPort.exe docidsearch
- Place the file in the following folder structure: namespace => recommended_action.md
- Create a pull request!
I have a recommended change for the class System.Threading.Thread
. My change could look like this:
Full Path: docs/RecommendedChanges/System.Threading/Use Task library.md
Content:
### Recommended Action
Use Task library instead.
### Affected APIs
* `T:System.Threading.Thread`
- Find the
namespace
of the recommendation you want to update - Locate the folder with that
namespace
underdocs/RecommendedChanges
- Find the .md file with the recommendation
- Update the contents
- Create a pull request!
The .NET Portability Service is aware of the hierarchy of APIs. First, it looks for a recommended change containing that exact docId, then it searches the ancestors of that docId until it reaches the first recommended change or the namespace level.
Each API is represented as an ID string that is constructed using the guidelines specified in Processing the XML File. Microsoft.Fx.Portability.MetadataReader decodes docIds using this specification (ie. DependencyFinderEngineHelper.cs)