-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Description
Follow-up to #2638. Because two-years-old issue does not receive much attention, i decided to create this one and declare this as a more formal proposal.
Justification
.NET Docs are currently missing the conceptual overview of reference assemblies. Searching for "net reference assemblies" in Google or Microsoft Docs search mostly gives unrelated information (adding references to assemblies) or some scattered GitHub issues and roslyn design docs. Some information is present in C# compiler options description (-refonly), but that only covers producing reference assemblies and their structure, but not their purpose and usage.
Understanding the concept of reference assemblies is important, because when compiling via command line or Roslyn APIs, the only way to target older .NET Framework version then currently installed is to pass correct reference assemblies as compiler input. Visual Studio handles this transparently, but other build scenarios do not. For .NET Core, this is important as well, because referencing runtime assemblies directly has greater chance to take dependency on implementation details.
TOC location
Under dotnet/standard/assembly/
Abstract
The topic would explain what are reference assemblies in general, when developers should use them, how they are used and generated, and how they are used with .NET Framework / .NET Core Class Library assemblies in particular (targeting packs).
Outline
- Introduction: the definition and purpose of reference assemblies
- Using reference assemblies
- Generating reference assemblies
- Reference assemblies structure
Possible sources of information for this topic can be: