Basistyp ist nicht CLS-kompatibel, welche Gründe für diese Warnung?
-
26-09-2019 - |
Frage
Ich habe Warnung Thema bekommt auf einem meiner Klassen. Eigentlich ist die Klasse sehr einfach, nur ein Erbe meines generischen Basistypen. Ich habe auch einige andere Erben von dieser allgemeinen Klasse über die Lösung, und es gibt keine solche Warnungen.
Was ist der Grund sein könnte (n) davon? Compiler nicht gibt keine Anhaltspunkte dafür, warum Basistyp nicht CLS-kompatibel
istLösung
Sie haben wahrscheinlich [assembly:CLSCompliant(true)]
irgendwo in diesem spezifischen Projekt. Dies löst der Compiler alle Arten zu überprüfen CLS-kompatibel zu sein. Sie können für eine Art oder Methode oder etwas mit [CLSCompliant(false)]
überschreiben diese.
Andere Tipps
Ich denke, man einen abgeleiteten Typen als CLSCompliant markiert hat, aber die Basis ist es nicht.
Schreiben CLS kompatiblem Code Das bekannteste Beispiel ist ein UInt32 verwendet, die nicht Teil der Common Language Specification ist (CLS) -. Daher müssen Sie Int64 verwenden CLS-kompatibel oder entfernen Sie das Attribut sein (erklären Sie sich nicht-cls-konform)
mehr Code benötigen die beanstandeten Zeile Code zu identifizieren. Weitere Informationen über Fehler Sie bekommen.