FS0009: Mogelijke niet-verifieerbare code

Dit bericht wordt weergegeven wanneer:

  • een functie die is gemarkeerd met het Unverifiable kenmerk wordt gebruikt,
let n: nativeptr<bool> = NativeInterop.NativePtr.stackalloc 1
  • de fixed expressie wordt gebruikt, of
type R = { Address: int }

let useFixed (r: R) = 
    use f = fixed &r.Address
    ()
  • LayoutKind.Explicit is ingesteld in de StructLayoutAttribute definitie van een struct
open System.Runtime.InteropServices

[<Struct; StructLayout(LayoutKind.Explicit)>]
type EmptyStruct = 
    struct end

In elk van deze gevallen geeft de compiler het volgende bericht:

FS0009: Uses of this construct may result in the generation of unverifiable .NET IL code. This warning can be disabled using '--nowarn:9' or '#nowarn "9"'

U kunt dit bericht oplossen door de #nowarn instructie toe te voegen aan het broncodebestand met het gebruik, toe te voegen <NoWarn>9</NoWarn> aan uw projectbestand of handmatig toe te voegen --nowarn:9 aan uw F#-compiler-aanroepen. Houd er rekening mee dat de laatste twee mechanismen de waarschuwing voor uw hele project uitschakelen, terwijl het eerste mechanisme de waarschuwing voor slechts één bestand uitschakelt.