如何在azure function v1中使用最新的SharePoint PnP Core Online

如何在azure function v1中使用最新的SharePoint PnP Core Online,azure,azure-functions,sharepoint-online,csom,Azure,Azure Functions,Sharepoint Online,Csom,我只需按照以下说明进行操作: 尝试添加新版本的newtonsoft.json,然后安装最新的SharePointPnPCoreOnline。 它在我的项目中运行良好,而且我可以在本地为我的事件网格触发器进行单元测试。 但是在我部署到azure之后,会发生一个错误。函数似乎没有加载正确的DLL Method not found: 'Newtonsoft.Json.Linq.JObject Microsoft.Azure.WebJobs.Extensions.EventGrid.EventGrid

我只需按照以下说明进行操作:

尝试添加新版本的
newtonsoft.json
,然后安装最新的
SharePointPnPCoreOnline
。 它在我的项目中运行良好,而且我可以在本地为我的事件网格触发器进行单元测试。 但是在我部署到azure之后,会发生一个错误。函数似乎没有加载正确的
DLL

Method not found: 'Newtonsoft.Json.Linq.JObject Microsoft.Azure.WebJobs.Extensions.EventGrid.EventGridEvent.get_Data()'.    
并在出现错误时执行此代码

 [FunctionName("ProcessRequest")]
        [Obsolete]
        public static void Run([EventGridTrigger] string eventGridEvent, TraceWriter log)
        {
            EventGridEvent eventGridEventData = JsonConvert.DeserializeObject<EventGridEvent>(eventGridEvent);
            var siteCreationInfo = eventGridEventData.Data.ToObject<SiteRequest>();
}
[FunctionName(“ProcessRequest”)]
[过时]
公共静态无效运行([EventGridTrigger]字符串eventGridEvent,TraceWriter日志)
{
eventGridEventData=JsonConvert.DeserializeObject(EventGridEvent);
var siteCreationInfo=eventGridEventData.Data.ToObject();
}
我对这个问题非常困惑,提出了所有的解决方案,但找不到方向。

检查参考资料

在我的测试项目中,它有警告,但代码运行成功


在这种情况下,如果我们必须同时使用这两个库,那么我们似乎无法直接将对象转换为eventgrid对象

EventGridEvent eventGridEventData = eventGridEvent.ToObject<EventGridEvent>();

我们应该以简单的方式进行数据转换

我只是按照本手册操作,但失败了,错误就发生了。如果我添加了新版本的newtonsoft.json,然后我可以安装新版本的
SharePointPnPCoreOnline
。但是在我的事件网格触发函数中,我必须将变量绑定到JOject,此时该函数将失败并附加我的测试结果。测试没有显示它似乎显示的内容。JSON.NET不包含与Azure函数相关的扩展方法。升级它不会修复任何抱怨缺少Azure函数扩展方法的错误。该错误还抱怨一个
EventGrids
错误,这与SharePoint无关。该答案没有使用任何EventGrid方法,因此它似乎根本没有回答问题。该错误抱怨缺少EventGrid扩展,而不是SharePoint。您是否使用Microsoft.Azure.WebJobs.Extensions.EventGrid添加了
到您的代码?您的项目是否引用该软件包?是的,我的项目中有此软件包,版本为1.0是的,与sharepoint无关。我想为其安装最新的软件包,它取决于新版本的
newtonsoft.json
。您遇到的错误与json.NET无关。它抱怨缺少EventGrid扩展方法。您可能忘记在源文件中使用
语句添加正确的
,或者您需要添加
Microsoft.Azure.WebJobs.Extensions.EventGrid
程序包我的项目中已经安装了此程序包,在函数类中,我还使用Microsoft.Azure.WebJobs.Extensions.EventGrid安装了
。你是说我应该做什么?还是应该升级此软件包?
EventGridEvent eventGridEventData = eventGridEvent.ToObject<EventGridEvent>();
JObject eventGridData = JObject.Parse(eventGridEvent);
        var eventId = eventGridData["id"];
        var siteData = eventGridData["data"];