我终于遇到了其他人似乎没有遇到过的东西(至少从我可以说的情况来看)。我尝试使用TypeProviders.SDK构建 F# 类型提供程序。
一旦我构建了解决方案,我就会在第 2090 行和再次在3162 在解决方案的设计时项目中。
我认为这没有用,但测试项目也失败了,因为它找不到 LemonadeProvider.Runtime.dll。我假设这将在运行时项目成功构建时创建。
PS:目前我只是想构建提供的模板,我没有更改代码或向其中添加任何内容。因此我没有附上任何代码,但请随时索取。
我发现问题在于 SDK 创建的 ProvidedTypes.fs 和 ProvidedTypes.fsi 文件。
当我将这些文件替换为“ SDK-dsyme-patch-7 ”中的文件时,这个问题得到了解决,该文件提供了原始 SDK 中缺少的不同 .Net 环境的兼容性。可能还有其他差异,但这是我发现的差异,它解决了我的问题。这些文件可以在 dsyme 补丁的“/src/”下找到。
我所指的代码如下,已两次添加到ProvidedTypes.fs中:
#if NETSTANDARD
asmName.CultureName <- System.Globalization.CultureInfo.InvariantCulture.Name
#else
asmName.CultureInfo <- System.Globalization.CultureInfo.InvariantCulture
#endif
asmName
Run Code Online (Sandbox Code Playgroud)
不知道有没有新的SDK可以解决这个问题。但当问题被问到时,这对我有用。