Språk
Kommentar
Å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.
| Egenskap | Värde |
|---|---|
| Regel-ID | CA1420 |
| Title | Egenskap, typ eller attribut kräver runtime-marshalling |
| Kategori | Samverkan |
| Korrigeringen är antingen invasiv eller icke-invasiv | Avbrott |
| Aktiverad som standard i .NET 10 | Som varning |
| Tillämpliga språk | C# och Visual Basic |
Orsak
En kodfunktion används som kräver runtime-marshalling, och runtime-marshalling är uttryckligen avaktiverad.
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 ta bort DisableRuntimeMarshallingAttribute från sammanställningen.