c# - 缺少必需的属性 'Id'

标签 c# exception exchangewebservices

在使用 .load() 函数时尝试将文件附件加载到内存中时出现以下异常错误。

The required attribute 'Id' is missing

我无法显式分配 Id 属性,因为它是只读的。有什么想法吗?

EmailMessage email = new EmailMessage(Exchange);
email.Attachments.AddFileAttachment("picture.jpg");
email.Attachments[0].IsInline = true;
email.Attachments[0].ContentId = "picture.jpg";
email.Attachments[0].Load(); // Errors here

最佳答案

Load() 方法通过调用 EWS 加载附件。从您的代码片段来看,它肯定会失败,因为尚未在 Exchange 中创建电子邮件对象,因此它没有要引用的 ID。 (引用:http://msdn.microsoft.com/en-us/library/office/microsoft.exchange.webservices.data.attachment.load(v=exchg.80).aspx)

您能否为您尝试解决的问题提供更多背景信息? 从上面的评论中,您提到能够将电子邮件附加到另一封父电子邮件。您可能有兴趣查看在上面提供的链接@JPRO 中添加 ItemAttachments。 另请参阅 AttachmentCollection 类:http://msdn.microsoft.com/en-us/library/office/microsoft.exchange.webservices.data.attachmentcollection_methods(v=exchg.80).aspx

同样,由于我不知道您要解决的问题,因此这些可能对您有用,也可能没有用。如果您能提供更多背景信息,将会很有帮助。

关于c# - 缺少必需的属性 'Id',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23658532/

相关文章:

c# - 什么是文本编辑器选项下的新 C#_LSP 条目?

python - 检查和访问数组元素没有错误

正则表达式排除

通过客户端 stub 访问 WSDL 时发生 Java InaccessibleWSDLException

c# - 我可以避免存储 MS Exchange 凭据,同时仍然能够进行身份验证(针对 EWS)吗?

c# - 通过使用 LINQ 跳过空值将 Dictionary<int, int?> 转换为 Dictionary<int, int>

c# - 简单集合的有序交换

c# - 从基类列表返回引用返回 'nothing'

python - 如果超时则跳过 URL

PHP-EWS 错误 : Couldn't bind to service