我工作的公司可以选择为我们的主要产品创建插件。我目前正在开发一个插件。该插件需要从Excel文件读入。
我的部分插件尝试按名称获取工作表:
Excel.Application excelApp = new Excel.Application();
Excel.Workbook wb = excelApp.Workbooks.Open(fileName, Type.Missing, Type.Missing,
Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Excel.Worksheet ws = wb.Sheets[SheetName] as Excel.Worksheet;
当我作为独立应用程序运行时(在我们的主应用程序之外),上面的代码工作正常。
但是,当我从上面的代码中运行上面的代码作为插件时,我得到以下的执行:
dynamic operations can only be performed in homogenous appdomain
我做了一些研究,发现传统的安全策略是相关的。由于其他原因,我不知道并且无法更改我们的主要产品必须在启用旧安全策略的情况下运行。
<NetFx40_LegacySecurityPolicy enabled="true"/>
无论这种情况如何,我们的客户仍然希望添加此功能。必须有一些方法可以使Excel功能起作用。