寓言 F# 生成错误:"No compiled representation for provided namespace"



以前有人遇到过这个错误消息吗?谷歌在源代码中为我找到了它(https://github.com/fsharp/fsharp/blob/master/src/fsharp/tast.fs),但我一点也不知道是什么原因造成的。

当我尝试从升级我的库项目时,这种情况就开始了。NET 5到。NET 6,所以我的问题的真正答案可能是解释我在那里做错了什么。我所做的就是:

  1. 在fsproj中;TargetFramework";从";net5.0";至";net6.0">
  2. 在我的包依赖项文件中;框架";从";net5.0";至";net6.0";。(我也试着把"框架"这一行注释掉。(

然后在运行";paket更新";以及";dotnet构建";我明白那个模糊的错误。("错误FS0192:内部错误:没有为所提供的命名空间编译的表示"(

更新:在经历了一些费力的代码注释/取消注释等之后,我相信我已经将其缩小到我的代码对Fable的使用。RegexProvider程序集。(我使用的是SafeRegex组件。(RegexProvider已经好几年没有更新了。我会提醒那里的人们注意这个问题,如果我学到了什么,我会在这里发布最新消息。(以防其他人遇到这种情况。(

如果其他人遇到这种情况,下面是解决方案(这是上面推荐的@CaringDev解决方案,尽管它只适用于Fable 3.7.18及以后的版本(:

当我在寓言上提出这个问题时。RegexProvider github(请参阅此处的线程:https://github.com/fable-compiler/Fable.RegexProvider/issues/9),最初的想法是尝试。NET 6构建的Fable。RegexProvider。但随后阿方索·加西亚·卡罗意识到,对Fable的后续改进可能已经消除了对SafeRegex的需求。

他最终需要在Fable中进行一些调整,但从3.7.18版本开始,Fable transpiler支持使用FSharp。文本RegexProvider,比如Fable。RegexProvider现在是不必要的。

相关内容

最新更新