我尝试了以下内容:
using System;
using Newtonsoft.Json
using Newtonsoft.Linq
public static void Run(string myEventHubMessage, out string document, TraceWriter log)
{
log.Verbose($"C# Event Hub trigger function processed a message: {myEventHubMessage}");
dynamic jsonData = JObject.Parse(myEventHubMessage);
document = jsonData;
}
当我点击" Save" Azure门户中的按钮:
2016-04-05T21:28:31欢迎您,您现在已连接到日志流 服务。 2016-04-05T21:28:33.443功能脚本 ' ProbeEventHubTrigger'改变。重装。 2016-04-05T21:28:33.443 编译函数脚本。 2016-04-05T21:28:33.568(2,22):错误 CS1002 :;预计2016-04-05T21:28:33.568(3,22):错误CS1002 :; 预计2016-04-05T21:28:33.568(2,7):错误CS0246:类型或 命名空间名称' Newtonsoft'无法找到(你错过了吗? 使用指令或汇编引用?)2016-04-05T21:28:33.568 (3,7):错误CS0246:类型或命名空间名称' Newtonsoft'不能 找到(你错过了使用指令或程序集引用吗?) 2016-04-05T21:28:33.568(8,24):错误CS0103:名称' JObject'不 当前上下文中不存在2016-04-05T21:28:33.568编译 失败。
我也尝试了以下内容:
#r "Newtonsoft.Json"
#r "Newtonsoft.Linq"
using System;
public static void Run(string myEventHubMessage, out string document, TraceWriter log)
{
log.Verbose($"C# Event Hub trigger function processed a message: {myEventHubMessage}");
dynamic jsonData = JObject.Parse(myEventHubMessage);
document = jsonData;
}
在这种情况下,当我点击" Save" Azure门户中的按钮:
2016-04-05T21:35:36欢迎您,您现在已连接到日志流 服务。 2016-04-05T21:35:38.428功能脚本 ' ProbeEventHubTrigger'改变。重装。 2016-04-05T21:35:38.428 编译函数脚本。 2016-04-05T21:35:38.571(2,1):错误 CS0006:元数据文件' Newtonsoft.Linq'无法找到 2016-04-05T21:35:38.571(8,24):错误CS0103:名称' JObject'不 在当前上下文中不存在
从文档中可以看出如何引用这些程序集并不明显。我在一个例子中看到语法是"使用Newtonsoft.Json",但这似乎不适用于门户网站。有什么建议吗?
答案 0 :(得分:21)
史蒂夫,
.NET Framework程序集和一些“共享”程序集may be added with the following syntax:
#r "AssemblyName"
因此,对于JSON.NET,您可以使用:
#r "Newtonsoft.Json"
添加引用后,然后就可以像在常规C#项目/文件中一样添加using语句:
using Newtonsoft.Json;
因此,总而言之,您需要添加对要使用的程序集的引用,和导入该程序集公开的名称空间,以便您可以使用其类型。这类似于您在Visual Studio中所做的操作,您可以在其中添加程序集引用,然后在需要的地方添加using语句。
我希望这有帮助!