小编Hon*_*tan的帖子

当类型从传递依赖性泄漏时,发布构建失败,Debug很好

我试图解释有关传递依赖性的Release和Debug配置之间奇怪的F#编译器行为.我将Newtonsoft.Json在这里使用package作为基本依赖,因为这是我设法找到问题的最远,并且它使示例有点不那么抽象.

让我们创建一个名为的文库项目SerializerProject,Newtonsoft.Json通过paket 引用.在这个项目中只有一个模块:

module Serializer =
  open System.IO
  open System.Text
  open Newtonsoft.Json

  type OptionConverter() =
    inherit JsonConverter()

    (* only the signature is important, the implementation
       and other methods are not interesting *)
    override x.WriteJson(writer: JsonWriter, value: obj, serializer: JsonSerializer) =
      (* ... *)

  let fromJson<'a> (bytes: byte []): 'a =
      let s = Encoding.UTF8.GetString(bytes)
      use sr = new StringReader(s)
      use jr = new JsonTextReader(sr)
      let serializer = JsonSerializer()
      serializer.Converters.Add(OptionConverter())
      serializer.Deserialize<'a>(jr)
Run Code Online (Sandbox Code Playgroud)

现在让我们SerializerProject通过项目参考在同一个解决方案和参考中创建第二个项目.我想fromJson …

f#

7
推荐指数
0
解决办法
106
查看次数

标签 统计

f# ×1