Quelle est la différence entre les types de projets de bibliothèque de classes .NET Core et .NET Standard ?
Source : Stack Overflow [.net]
Quelle est la différence entre les types de projets de bibliothèque de classes .NET Core et .NET Standard ?
Source : Stack Overflow [.net]
Quand devons-nous utiliser l’un plutôt que l’autre ?
La décision est un compromis entre compatibilité et accès aux API.
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.
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.
Par exemple, une bibliothèque ciblant .NET Standard 1.3 sera compatible avec 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 Microsoft.NETCore.CoreCLR est compatible avec .NET Core, mais pas avec .NET Standard.
Quelle est la différence entre Bibliothèque de classes (.NET Standard) et Bibliothèque de classes (.NET Core) ?
Compatibilité : Les bibliothèques ciblant .NET Standard fonctionneront sur tout runtime conforme à .NET Standard, comme .NET Core, .NET Framework, Mono/Xamarin. En revanche, les bibliothèques ciblant .NET Core ne peuvent fonctionner que sur le runtime .NET Core.
Surface d’API : Les bibliothèques .NET Standard incluent tout ce qui se trouve dans NETStandard.Library, tandis que les bibliothèques .NET Core incluent tout ce qui se trouve dans Microsoft.NETCore.App. Ce dernier comprend environ 20 bibliothèques supplémentaires, dont certaines peuvent être ajoutées manuellement à notre bibliothèque .NET Standard (comme System.Threading.Thread) et d’autres ne sont pas compatibles avec .NET Standard (comme Microsoft.NETCore.CoreCLR).
De plus, les bibliothèques .NET Core spécifient un runtime et sont livrées avec un
(Réponse tronquée)