C# 不安装office,Microsoft.office.interop.word.dll是否可以工作?

C# 不安装office,Microsoft.office.interop.word.dll是否可以工作?,c#,ms-word,office-interop,C#,Ms Word,Office Interop,我的ASP.Net-C应用程序与mailmerge和名为Microsoft.Office.Interop.Word.dll V14.0.0.0的dll一起工作。我的桌面(安装office的地方)一切正常。但是,在生产计算机上部署此应用程序时,会引发以下错误: System.Runtime.InteropServices.COMException(0x80040154):检索CLSID为{000209FF-0000-0000-C000-0000000000 46}的组件的COM类工厂失败,原因是以

我的ASP.Net-C应用程序与mailmerge和名为Microsoft.Office.Interop.Word.dll V14.0.0.0的dll一起工作。我的桌面(安装office的地方)一切正常。但是,在生产计算机上部署此应用程序时,会引发以下错误:

System.Runtime.InteropServices.COMException(0x80040154):检索CLSID为{000209FF-0000-0000-C000-0000000000 46}的组件的COM类工厂失败,原因是以下错误:80040154类未注册(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))

注册类时,发现以下错误:

已加载Microsoft.Office.Interop.Word.dll,但未找到入口点DLLRegisterServer。请确保这是有效的dll或OCX,然后重试


如何解决此问题?Office suite无法安装在生产计算机上。

不,互操作库只是实际Office库代码的外壳。因此,您需要在应用程序运行的位置安装Office


我也完全同意约翰·桑德斯的上述评论。您确实应该避免在服务器应用程序上使用这些包装器。

如果您不能在生产服务器上安装Office,则可以使用。如果使用Interop,则需要安装Office。您想做什么?从ASP.NET或其他服务器技术使用Office互操作是一个可怕的想法。这些API是为在桌面应用程序中使用而编写的,用于自动化Office(一套桌面应用程序)。服务器应用程序在许多方面都不同,因此在其中使用Office互操作是一个非常非常糟糕的主意。它也不受Microsoft支持,可能会违反您的Office许可证。请参阅Hi John,很抱歉在一篇很旧的帖子上回复,但需要您对office互操作的替代方案提出建议。在ASP.NET网站中,我想在PowerPoint中导出一些图像和数据表,但读完这篇文章后,我对使用什么感到困惑。。请建议。。