How to Choose .NET Standard Version for Your Library
๐ก Concept Name
Choosing the Right .NET Standard Version
๐ Quick Intro
.NET Standard is a specification of APIs available across all .NET implementations. Choosing the right version ensures your class library works on as many platforms as needed, like .NET Core, Framework, Xamarin, or Unity.
๐ง Analogy / Short Story
Imagine you're writing a book and want it to be read in multiple countries. The simpler your language, the more people can understand it. Choosing a lower .NET Standard version is like writing in basic language โ more platforms can "read" it. Higher versions add newer words (APIs) but fewer readers (platforms) support them.
๐ง Technical Explanation
.NET Standard defines a base set of APIs. Each version includes all APIs from previous versions plus new ones. The higher the version, the fewer platforms support it.
โ
.NET Standard 1.0โ1.6: Lightweight but supported by many platforms
โ
.NET Standard 2.0: Most commonly used; supported by .NET Core 2.0+, Framework 4.6.1+
โ
.NET Standard 2.1: Includes newer APIs; only supported by .NET Core 3.0+, not .NET Framework
๐ฏ Purpose & Use Case
- โ Use the lowest version that contains the APIs your library needs
- โ Use .NET Standard 2.0 for maximum compatibility
- โ Use 2.1 only if you're not targeting .NET Framework
- โ
Prefer
net6.0
+ for modern .NET apps โ .NET Standard is fading out
๐ป Real Code Example
Targeting .NET Standard 2.0 in a class library:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
</Project>

โ Interview Q&A
Q1: What is .NET Standard used for?
A: To define a common set of APIs for all .NET implementations.
Q2: What is the most widely supported version?
A: .NET Standard 2.0
Q3: Can .NET Framework 4.6.1 use .NET Standard 2.1?
A: No, it supports only up to 2.0
Q4: Is .NET Standard 2.1 supported in .NET Core 2.0?
A: No, only .NET Core 3.0+
Q5: Should I always use the latest version?
A: No, choose based on platform compatibility
Q6: Is .NET Standard the same as .NET Core?
A: No, .NET Standard is a specification
Q7: When should I avoid using .NET Standard?
A: In modern .NET 6+ projects targeting net6.0 directly
Q8: How do I choose the correct version?
A: Based on the platforms your consumers target
Q9: Why was .NET Standard created?
A: To unify API usage across different .NET platforms
Q10: What replaced .NET Standard in .NET 6+?
A: Target frameworks like net6.0, net7.0
๐ MCQs
Q1. What is the purpose of .NET Standard?
- To speed up performance
- To replace NuGet
- To provide a common API set for all .NET implementations
- To host web apps
Q2. Which .NET Standard version is most compatible?
- 1.6
- 2.1
- 3.0
- 2.0
Q3. Which version of .NET Standard is NOT supported by .NET Framework?
- 1.6
- 2.0
- 2.1
- 1.4
Q4. What should influence your .NET Standard version choice?
- App theme
- APIs needed and platform support
- NuGet size
- Runtime language
Q5. Does .NET Core 2.0 support .NET Standard 2.1?
- Yes
- No
- Only with updates
- It depends
Q6. Is .NET Standard a runtime?
- Yes
- No
- Partially
- In preview
Q7. Which .NET version replaces the need for .NET Standard?
- netstandard3.0
- netcoreapp1.1
- net6.0+
- dotnetfx4.8
Q8. Which version supports the most APIs but fewer platforms?
- 1.0
- 2.0
- 2.1
- 1.6
Q9. What is the minimum .NET Framework version to support netstandard2.0?
- 4.5
- 4.6
- 4.6.1
- 4.7
Q10. Why not use the highest version always?
- It breaks async
- It slows builds
- It reduces compatibility with older platforms
- It hides exceptions
๐ก Bonus Insight
Always balance between API richness and compatibility. If your library is to be used in older apps, target .NET Standard 2.0. For newer projects in .NET 6+, you can skip .NET Standard and use net6.0
directly.
๐ PDF Download
Need a handy summary for your notes? Download this topic as a PDF!