<p>Quand devons-nous utiliser l’un plutôt que l’autre ?</p>
<p>La décision est un compromis entre compatibilité et accès aux API.</p>
<p>Utilisez une bibliothèque .NET Standard lorsque vous souhaitez augmenter le nombre d’applications qui seront compatibles avec votre bibliothèque, et que vous acceptez une réduction de la surface d’API .NET à laquelle votre bibliothèque peut accéder.</p>
<p>Utilisez une bibliothèque .NET Core lorsque vous souhaitez augmenter la surface d’API .NET à laquelle votre bibliothèque peut accéder, et que vous acceptez que seules les applications .NET Core soient compatibles avec votre bibliothèque.</p>
<p>Par exemple, une bibliothèque ciblant .NET Standard 1.3 <a href="https://learn.microsoft.com/en-us/dotnet/articles/standard/library#net-platforms-support">sera compatible avec</a> les applications ciblant .NET Framework 4.6, .NET Core 1.0, Universal Windows Platform 10.0, et toute autre plateforme prenant en charge .NET Standard 1.3. La bibliothèque n’aura cependant pas accès à certaines parties de l’API .NET. Par exemple, le paquet <a href="https://www.nuget.org/packages/Microsoft.NETCore.Runtime.CoreCLR/"><code>Microsoft.NETCore.CoreCLR</code></a> est compatible avec .NET Core, mais pas avec .NET Standard.</p>
<p>Quelle est la différence entre Bibliothèque de classes (.NET Standard) et Bibliothèque de classes (.NET Core) ?</p>
<p>Compatibilité : Les bibliothèques ciblant .NET Standard fonctionneront sur tout runtime conforme à .NET Standard, comme .NET Core, .NET Framework, <a href="https://en.wikipedia.org/wiki/Mono_%28software%29">Mono</a>/<a href="https://en.wikipedia.org/wiki/Xamarin">Xamarin</a>. En revanche, les bibliothèques ciblant .NET Core ne peuvent fonctionner que sur le runtime .NET Core.</p>
<p>Surface d’API : Les bibliothèques .NET Standard incluent tout ce qui se trouve dans <code>NETStandard.Library</code>, tandis que les bibliothèques .NET Core incluent tout ce qui se trouve dans <code>Microsoft.NETCore.App</code>. Ce dernier comprend environ 20 bibliothèques supplémentaires, dont certaines peuvent être ajoutées manuellement à notre bibliothèque .NET Standard (comme <code>System.Threading.Thread</code>) et d’autres ne sont pas compatibles avec .NET Standard (comme <code>Microsoft.NETCore.CoreCLR</code>).</p>
<p>De plus, les bibliothèques .NET Core spécifient un runtime et sont livrées avec un</p>
<p><em>(Réponse tronquée)</em></p>