.NET 8升级Microsoft.Graph至5.54版本遇代码错误,求解决方案
.NET 8中Microsoft Graph从v4.24升级到v5.54的代码修复方案
将Microsoft.Graph NuGet包从v4.24升级到v5.54后,代码会因API结构变更出现两类错误,以下是具体修复方法:
一、修复MessageAttachmentsCollectionPage相关错误
v5版本中Message.Attachments的类型已变更,不再使用MessageAttachmentsCollectionPage,同时无需手动设置ODataType(强类型对象会自动处理)。修改代码如下:
// 替换原有的MessageAttachmentsCollectionPage实例化方式 email.Attachments = new List<Attachment>(); foreach (var urlAttachment in emailMessage.URLAttachments) { var attachment = new FileAttachment { // 按需补充附件属性,例如Name、ContentBytes、ContentType等 }; email.Attachments.Add(attachment); }
二、修复SendMail方法的CS1955错误
v5重构了API调用逻辑,SendMail不再需要.Request().PostResponseAsync()链式调用,改为直接使用SendMailAsync方法,并通过SendMailPostRequestBody封装参数:
// 构造邮件请求体 var sendMailRequestBody = new SendMailPostRequestBody { Message = email, SaveToSentItems = true // 对应原代码中的第二个参数true }; // 调用升级后的SendMailAsync方法 var graphResponse = await GetGraphServiceClient().Users[FromAddress] .SendMailAsync(sendMailRequestBody);
内容的提问来源于stack exchange,提问作者Sandeep
相关产品推荐
相关产品推荐

