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 8 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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für