Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
| Property | Värde |
|---|---|
| Regel-ID | CA1420 |
| Title | Egenskap, typ eller attribut kräver runtime-marshalling |
| Kategori | Samverkan |
| Korrigeringen är icke-bakåtkompatibel | Brott |
| Aktiverad som standard i .NET 9 | Som varning |
Orsak
En kodfunktion används som kräver runtime-marshalling och runtime-marshalling är uttryckligen inaktiverad.
Regelbeskrivning
Om du använder funktioner som kräver runtime-marshalling när runtime-marshalling inaktiveras resulterar det i körningsundatag.
Så här åtgärdar du överträdelser
Aktivera runtime-marshalling eller ta bort koden som kräver runtime-marshalling.
När du ska ignorera varningar
Ignorera inte en varning från den här regeln.
Exempel
Följande kodfragment visar ett brott mot CA1420:
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[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
Åtgärda överträdelsen genom att DisableRuntimeMarshallingAttribute ta bort på sammansättningen.