Azure functions 如何在Azure函数中包含对外部程序集的引用
我尝试了以下方法:Azure functions 如何在Azure函数中包含对外部程序集的引用,azure-functions,Azure Functions,我尝试了以下方法: 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}");
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;
}
#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;
}
当我点击Azure portal中的“保存”按钮时,我得到以下信息:
2016-04-05T21:28:31欢迎,您现在已连接到日志流
服务2016-04-05T21:28:33.443函数脚本
“ProbeEventThubTrigger”已更改。重新加载。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”
被找到(是否缺少using指令或程序集引用?)
2016-04-05T21:28:33.568(8,24):错误CS0103:名称“JObject”不正确
在当前上下文中不存在2016-04-05T21:28:33.568编译
失败了
我还尝试了以下方法:
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;
}
#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;
}
在这种情况下,当我点击Azure门户中的“保存”按钮时,我得到以下信息:
2016-04-05T21:35:36欢迎光临,您现在已连接到日志流
服务2016-04-05T21:35:38.428函数脚本
“ProbeEventThubTrigger”已更改。重新加载。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”,但这在门户中似乎不起作用。有什么建议吗?史蒂夫
.NET Framework程序集和一些“共享”程序集:
因此,对于JSON.NET,您可以使用:
#r "Newtonsoft.Json"
添加引用后,您可以像在常规C#项目/文件中一样添加using语句:
using Newtonsoft.Json;
因此,总之,您需要添加对要使用的程序集的引用,和导入该程序集公开的名称空间,以便使用其类型。这类似于在VisualStudio中所做的操作,在VisualStudio中添加程序集引用,然后在需要的地方添加using语句
我希望这有帮助 谢谢。您可能需要考虑更新文档中的示例来显示这一点。谢谢您,史提夫。我们正在积极地制作样本和文档,以覆盖丢失的东西,并使其更易于发现。这里介绍了我分享的一些信息:但是如果你在文档中找不到你想要的信息,请继续询问SO和MSDN。我们会到达那里:)谢谢法比奥。到目前为止,我对您可以从事件中心将消息出列并将其转储到DocumentDB中的简单性印象深刻。干得好!在azure函数中使用错误的变量也可能不会导致编译时错误,但会导致运行时错误,如“内部服务器错误”。感谢Fabio,这有助于解决其他问题