Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это сообщение получается, когда:
- используется функция, помеченная атрибутом
Unverifiable,
let n: nativeptr<bool> = NativeInterop.NativePtr.stackalloc 1
-
fixedиспользуется выражение или
type R = { Address: int }
let useFixed (r: R) =
use f = fixed &r.Address
()
-
LayoutKind.Explicitзадано вStructLayoutAttributeопределении структуры
open System.Runtime.InteropServices
[<Struct; StructLayout(LayoutKind.Explicit)>]
type EmptyStruct =
struct end
В каждом из этих случаев компилятор предоставит следующее сообщение:
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"'
Чтобы исправить это сообщение, можно добавить #nowarn директиву в файл исходного кода, содержащий использование, добавить <NoWarn>9</NoWarn> в файл проекта или вручную добавить --nowarn:9 в вызовы компилятора F#. Обратите внимание, что последние два механизма отключают предупреждение для всего проекта, а первый механизм отключит предупреждение только для одного файла.