FS0009: возможный неподвердиемый код
Это сообщение получается, когда:
- используется функция, помеченная атрибутом
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#. Обратите внимание, что последние два механизма отключают предупреждение для всего проекта, а первый механизм отключит предупреждение только для одного файла.
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по