动态操作错误与插件c# - 创建项目没有动态互操作展望

问题描述:

我有一个问题,当一个插件上传到另一个应用程序。我收到错误“动态操作只能在同类AppDomain中执行”。我搜索了解决方案,并找到答案将legacyCasPolicy设置为false。但是,我无法对主程序进行更改,并且无论出于何种原因,该应用程序都将此属性设置为true。 错误是由动态方法造成的创建项目,如下图所示:动态操作错误与插件c# - 创建项目没有动态互操作展望

Microsoft.Office.Interop.Outlook.Application outlookApp = new Microsoft.Office.Interop.Outlook.Application(); 
MessageBox.Show(outlookApp.IsTrusted.ToString()); 

Microsoft.Office.Interop.Outlook.AppointmentItem appointment = (Microsoft.Office.Interop.Outlook.AppointmentItem)outlookApp.**CreateItem**(OlItemType.olAppointmentItem); 

有没有办法不使用动态的方式来创建项目?其他解决方案?任何帮助将是一个救星。

+0

为什么你需要使用动态方法? – 2014-12-13 14:25:17

+0

我试图避免动态方法。我正在卸载我的插件的应用程序不允许它们。 – 2014-12-15 14:44:45

Outlook对象模型中的Application类提供了CreateItem方法。你可以在我写在下面的文章中找到范例代码:

+0

从你的howto解决我的问题中使用CreateAppointmentUsingItemsAdd方法。谢谢! – 2014-12-15 15:06:51

+0

太棒了!谢谢你让我知道。 – 2014-12-15 19:19:47

+0

'ns = OutlookApp.GetNamespace(“MAPI”);''在'OutlookApp'上给我一个错误。它在当前的情况下不存在。 – Si8 2016-03-23 17:33:23

CreateItem方法是好的。这是Outlook.Application对象不支持的IsTrusted属性。

+0

对不起,我打算删除它。我正在使用它来查看这是否是一个信任问题。 CreateItem方法是抛出错误的方法,因为它是一种动态方法。 – 2014-12-15 14:46:08