Пытаясь использовать SQLTypeProvider с postgres, я получаю следующую ошибку при запуске
dotnet build
ошибка FS3033: поставщик типа «FSharp.Data.Sql.SqlTypeProvider» сообщил об ошибке: не удалось загрузить файл или сборку «System.Runtime.CompilerServices.Unsafe, версия = 4.0.4.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a». Система не может найти указанный файл. [/home/sashan/code/titan/src/Server/Server.fsproj]
мой поставщик данных:
type SQL = SqlDataProvider<
ConnectionString = pg_dev_conn_string,
DatabaseVendor = Common.DatabaseProviderTypes.POSTGRESQL,
UseOptionTypes = true >
Если я изменю его на следующий
type SQL = SqlDataProvider<
ConnectionString = pg_dev_conn_string,
DatabaseVendor = Common.DatabaseProviderTypes.POSTGRESQL,
ResolutionPath = "/home/sashan/code/dotnet/2.1.500/sdk/NuGetFallbackFolder/system.runtime.compilerservices.unsafe/4.5.1/lib/netcoreapp2.0",
UseOptionTypes = true >
Ошибка исчезает, но я не понимаю почему. Исправление кажется действительно странным. Почему я должен указывать его на файл вне моего проекта? Разве System.Runtime.CompilerServices.Unsafe.dll не должен находиться где-нибудь в одном из подкаталогов проекта, где его может найти компилятор?