Подтвердить что ты не робот

Что такое файлы F # FSharp.Core.optdata и FSharp.Core.sigdata?

Оба файла, похоже, находятся в каталоге F # вместе с FSharp.Core.dll. Оба файла кажутся постоянным источником проблем, если вы забываете объединить их с FSharp.Core.dll. Они кажутся двоичными файлами, поэтому я не смог раскрыть их цель.

Я немного искал оба файла, но, похоже, не было четкого ответа на мой вопрос. Итак... Какова их функция в F #?

4b9b3361

Ответ 1

Optdata - это, безусловно, данные оптимизации, она написана как часть функции EncodeOptimizationData в компиляторе. FSharp.Core имеет эту информацию, хранящуюся во внешнем файле, а не встроенную в манифест ресурса.

sigdata кодируется с помощью EncodeInterfaceData и содержит информацию о сигнатурах/интерфейсах для типов F #. FSharp.Core, FSharp.Compiler.Silverlight и FSharp.LanguageService.Compiler все имеют эту информацию, хранящуюся во внешнем файле, а не встроенную в манифест ресурса.

Поскольку FSharp.Core не содержит ни одного из них в манифесте ресурса, они должны присутствовать извне, но я не уверен в этой причине.

Созданные пользователем файлы F #, если они скомпилированы, содержат эту информацию в манифесте ресурса, вы можете увидеть это, если вы посмотрите на метаданные.