保存约会项目时Outlook VSTO出错

保存约会项目时Outlook VSTO出错,outlook,vsto,outlook-addin,outlook-object-model,Outlook,Vsto,Outlook Addin,Outlook Object Model,我们有一个用于Outlook的VSTO插件,它支持预订我们的云系统管理的资源。 此外,我们还支持Exchange中作为房间提供的资源,以支持与其他系统的集成 当我们预订此类房间时,外接程序会将房间的相应Exchange电子邮件地址添加到收件人,因此它也会在Exchange中预订 这过去工作正常,但现在我们收到一位客户的报告,他们无法再使用Exchange集成创建资源预订。他们收到的错误完全没有帮助: System.ArgumentException: Der gik desværre noget

我们有一个用于Outlook的VSTO插件,它支持预订我们的云系统管理的资源。 此外,我们还支持Exchange中作为房间提供的资源,以支持与其他系统的集成

当我们预订此类房间时,外接程序会将房间的相应Exchange电子邮件地址添加到收件人,因此它也会在Exchange中预订

这过去工作正常,但现在我们收到一位客户的报告,他们无法再使用Exchange集成创建资源预订。他们收到的错误完全没有帮助:

System.ArgumentException: Der gik desværre noget galt. Du kan prøve igen.
   ved Microsoft.Office.Interop.Outlook._AppointmentItem.Save()
(英文:“出了点问题,你可以再试一次”)

当外接程序在添加一些自定义属性后尝试保存项目时,会发生这种情况。我认为错误是由向收件人添加Exchange文件室的加载项触发的,因为没有Exchange集成的资源不会发生这种情况

以下是我们用于添加收件人的代码:

var rec=…;//带有收件人信息的自定义DTO
string recipientInfo=string.IsNullOrEmpty(rec.Email)
? rec.OutlookName
:记录电子邮件;
var recRecip=appointment.Recipients.Add(recipientInfo);
recRecip.Type=rec.RecipientType;
if(当前.Settings.IsEnabled(FeatureFlag.ResolveAddedRecipients))
{
使用(LogHelper.TimedTask($“正在解析收件人[{rec}]”,Log))
{
recRecip.Resolve();
}
}
我可以从日志中看到,房间收件人有电子邮件地址,因此上述代码将通过电子邮件添加。此外,还启用了解析收件人的功能标志,因此代码随后将调用resolve

这里会出什么问题


编辑:他们的Outlook版本为16.0.0.5071。

如果问题与用户的计算机无关,我们始终建议我们的IT员工共享分析Outlook安装、数据文件、插件、缓存并执行检查以确定客户端计算机上问题的来源。

任命项目从何而来?Outlook保存约会后是否立即修改并保存约会?@DmitryStreblechenko约会项来自资源管理器对象。用户使用我们的外接程序在Outlook中创建或编辑会议时执行预订。该错误发生在用户保存和发送会议请求之前。您正在处理单个实例、约会还是定期约会的实例?@DmitryStreblechenko很抱歉回复太晚、圣诞节假期等等。这是一个单独的约会(确切地说是会议),不是定期约会的实例。客户报告说,问题已通过删除Outlook配置文件并创建一个新配置文件得到解决。因此,这确实是安装过程中的一个局部问题,与我们的外接程序无关。谢谢