Может сборка, которая включает в себя ссылку на соответствие Non-CLS BE CLS-совместимым?

StackOverflow https://stackoverflow.com/questions/4975589

  •  12-11-2019
  •  | 
  •  

Вопрос

У меня есть существующая DLL, которая не соответствует CLS, который я ссылаюсь на мой собственный проект.Когда я отмечу мою сборку в качестве CLS-совместимого, я получаю предупреждения компилятора, которые имена на ссылочной сборке не являются CLS-совместимым.

Есть ли способ, которым я могу сохранить мою сборку CLS-совместимую и пометить ссылку на один как нет?

Это было полезно?

Решение

Да, ваша DLL может быть соответствовать CLS, если она не подвергается воздействию никаких членов, соответствующих не CLS со ссылочной сборки - то есть не упоминается об нихименном языке.Члены или типы.(Он все еще может использовать их в частных и внутренних членах и типах.)

Если ваша DLL должна выставить типы непосредственно из несоблюдации DLL, вы можете либо попробовать инкапсулировать эти типы в своих собственных обертках (например, метод может вернуть генеракодицетагкод вместо генеракодицетагода), или вы можете отметить соответствующиеЧлены вашего API MyWrapperAroundNaughtyType, чтобы выбрать только те участники проверки компилятора.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top