首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当我尝试初始化一个COMException时,为什么要得到一个Interop.Word.Application?

当我尝试初始化一个COMException时,为什么要得到一个Interop.Word.Application?
EN

Stack Overflow用户
提问于 2015-11-24 06:05:45
回答 2查看 1.2K关注 0票数 1

我正在尝试从Windows8.1通用应用程序创建、打开、读/写.docx文件。我正在使用2013。

当我初始化Interop.Word.Application时

代码语言:javascript
复制
Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();

我犯了个错误

代码语言:javascript
复制
An exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll but was not handled in user code

Additional information: Creating an instance of the COM component with CLSID 
{000209FF-0000-0000-C000-000000000046} using CoCreateInstanceFromApp failed due 
to the following error: 80040154 Class not registered (Exception from HRESULT:
0x80040154 (REGDB_E_CLASSNOTREG)). Please make sure your COM object is in the 
allowed list of CoCreateInstanceFromApp.

我环顾四周,没有发现任何与我的问题相符的东西。由于权限不足,我看到了这个异常,但我以管理员身份运行,没有运气。

任何帮助都是非常感谢的。如果你需要更多的信息,请告诉我。

编辑1

在创建这个应用程序时,我确实做了一些奇怪的事情。我无法以过去的方式添加对Microsoft.Office.Interop的引用,所以我按照我在网上找到的一些说明添加了它们,只需指向

代码语言:javascript
复制
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Word.dll

我不确定这是否有帮助,但这是我唯一做的似乎不正常的事情。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-24 13:44:34

问题如下(从异常消息中摘录):

请确保您的COM对象在允许的CoCreateInstanceFromApp列表中。

Windows应用程序不能加载任意COM对象。只有COM和Win API的有限(内建)套可以用于存储/通用应用程序。Microsoft Office不在允许的COM对象列表中。

那你有什么选择?你可以

  • 创建桌面应用程序,
  • 将文档处理移到服务器端(如果要使用COM互操作,服务器端会出现完全不同的问题),
  • 在服务器上使用基于OpenXML的方法(OpenXML SDK在商店应用程序中也不起作用)
  • 编写自己的代码,直接修改OpenXML包(例如使用XDocument)
  • 使用为侧加载的Windows应用程序代理Windows运行时组件 (在处理Office应用程序时,这可能不是一个容易的选择)
票数 3
EN

Stack Overflow用户

发布于 2015-11-24 06:19:22

您尝试过在x86模式下编译解决方案吗?这些COM对象可能在您的安装上是32位,如果您从64位计算机上的"All CPU“可执行文件调用它们,工厂就会失败。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33886518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档