CA1420: Eigenschaft, Typ oder Attribut erfordert Runtime-Marshalling
Eigenschaft | Wert |
---|---|
Regel-ID | CA1420 |
Titel | Eigenschaft, Typ oder Attribut erfordert Runtime-Marshalling |
Kategorie | Interoperabilität |
Fix führt oder führt nicht zur Unterbrechung | Breaking |
Standardmäßig in .NET 9 aktiviert | Als Warnung |
Ursache
Es wird ein Codefeature verwendet, das Runtime-Marshalling erfordert, und das Runtime-Marshalling ist explizit deaktiviert.
Regelbeschreibung
Die Verwendung von Features, die Runtime-Marshalling erfordern, wenn das Runtime-Marshalling deaktiviert ist, führt zu Laufzeitausnahmen.
Behandeln von Verstößen
Aktivieren Sie das Runtime-Marshalling, oder entfernen Sie den Code, der Runtime-Marshalling erfordert.
Wann sollten Warnungen unterdrückt werden?
Unterdrücken Sie Warnungen dieser Regel nicht.
Beispiel
Der folgende Codeschnipsel zeigt eine Verletzung von CA1420:
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
[assembly: DisableRuntimeMarshalling]
class C
{
// Violates rule CA1420.
[DllImport("NativeLibrary", SetLastError = true)]
public static extern void MyMethod ();
}
Imports System.Runtime.InteropServices
Imports System.Runtime.CompilerServices
<Assembly: DisableRuntimeMarshalling>
Class C
' Violates rule CA1420.
<DllImport("NativeLibrary", SetLastError:=True)>
Public Shared Sub MyMethod()
'...
End Sub
End Class
Entfernen Sie das DisableRuntimeMarshallingAttribute in der Assembly, um die Verletzung zu beheben.
Arbeiten Sie mit uns auf GitHub zusammen
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.