Вы можете пометить несовместимые методы с помощью атрибута [CLSCompliant(false)]
, чтобы избежать предупреждений, но это, кажется, лишает возможности пометить ваши сборки как совместимые в первую очередь: предположительно, вы хотите, чтобы код действительно был CLS совместимый.
Чтобы код соответствовал, вам нужно изменить тип возвращаемого значения метода: uint
/ UInt32
. Открытые неподписанные типы не соответствуют CLS.
Вместо этого вы можете вернуть long
/ Int64
. Тип long
соответствует CLS и будет безопасно обрабатывать любое возможное значение uint
.
Если вы не можете или не хотите редактировать сгенерированный код (чтобы добавить атрибут или изменить тип возвращаемого значения), тогда я думаю, что ваш единственный вариант - переместить этот код в отдельную несовместимую сборку как предлагает Джон .