如何在 Azure Function 中添加框架程序集

How do I add framework assemblies in Azure Function

我需要将 System.Web.Script.Serialization 和 System.Web.Extensions 添加到我的函数应用程序中,以便我可以使用以下代码反序列化 json 字符串:

JavaScriptSerializer serializer = new JavaScriptSerializer(); 
dynamic item = serializer.Deserialize<object>("{ \"test\":\"some data\" }");
string test= item["test"];

这行不通:

#r "System.Web.Script.Serialization"
#r "System.Web.Extensions"

如何解决这个问题?

我无法完成这项工作,所以我最终使用了 Newtonsoft Json serializer/deserializer。您需要做的是,按照 this instruction 将包含此内容的 project.json 文件上传到您的函数应用程序 -

{
   "frameworks": {
   "net46":{
      "dependencies": {
          "Newtonsoft.Json": "9.0.1"
      }
   }
  }
}

这基本上会产生依赖性。然后将此名称 space 添加到您的代码中:"using Newtonsoft.Json.Linq"。瞧,您可以将 json 字符串转换为对象,如下所示:

dynamic item = JObject.Parse("{number:1000}");
log.Info($"My number is: {item.number}");

初始引用可能失败,因为您试图添加对 System.Web.Script.Serialization 的程序集引用,这是一个命名空间。添加对 System.Web.Extensions 的引用应该可行,但无论如何都建议使用 Json.NET。