Is there any reason to mark a .NET Standard or a .NET Core library as CLS compliant?
As I understand it: If I build a .NET Framework library with C-sharp and make it totally CLS-compliant all the types/members can be used and called from a .NET Framework library or application written in VB-net, F-sharp etc. (don't know all the CLR-languages), referencing my library.
Is this not relevant anymore when using .NET Standard and .NET Core? What languages other than C-sharp can reference a .NET Standard library?
However, if there are several languages and you want to make the library CLS compliant, it will be hard because many of the .NET Standard types are not CLS compliant.
Some non CLS-compliant types:
- Microsoft.Extensions.FileProviders.IFileProvider
- Microsoft.Extensions.Logging.ILogger
- Microsoft.Extensions.Logging.ILoggerFactory
There are issues about this on GitHub:
But as I understand it, there will be no change: