Есть ли причина помечать .NET Standard или .NET Core библиотеку как CLS-совместимую? - PullRequest
0 голосов
/ 11 октября 2018

Есть ли причина помечать библиотеку .NET Standard или .NET Core как CLS-совместимую?

Как я понимаю: если я собираю библиотеку .NET Framework с C-sharp и сделать его полностью CLS-совместимым, все типы / члены могут использоваться и вызываться из библиотеки .NET Framework или приложения, написанного на VB-net, F-sharp и т. д. (не знаю всех языков CLR), ссылаясь на мою библиотеку.

Это больше не актуально при использовании .NET Standard и .NET Core?Какие языки, кроме C-sharp, могут ссылаться на стандартную библиотеку .NET?

Однако, если существует несколько языков и вы хотите сделать библиотеку CLS-совместимой, это будет сложно, поскольку многие из них.Типы NET Standard не совместимы с CLS.

Некоторые типы, не совместимые с CLS:

  • Microsoft.Extensions.FileProviders.IFileProvider
  • Microsoft.Extensions.Logging.ILogger
  • Microsoft.Extensions.Logging.ILoggerFactory

Есть проблемы по этому поводу на GitHub:

Но, насколько я понимаю, изменений не будет:

С уважением, Ганс

1 Ответ

0 голосов
/ 11 октября 2018

Хотите ли вы создавать CLS-совместимые библиотеки, решать только вам.Мы не можем решить это для вас.

Обратите внимание, что анализатор требует только от вас правильной маркировки вашей сборки.Он не говорит, должен ли он быть помечен как соответствующий или нет.Он только говорит, что вы должны быть явным о том, соответствует ли он требованиям, что может быть явным "нет, это не так".

...