在Visual Studio中设置'嵌入互操作类型'的地方和方法

时间:2015-07-13 07:05:18

标签: c# asp.net office-interop

我是asp.net的新手,我正在使用microsoft.office.interop.word dll显示word文档,并显示错误为

  

无法嵌入互操作类型'Microsoft.Office.Interop.Word.WdMailSystem'   在两个装配中找到   'c:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET   文件\根\ d5b13769 \ 135f0cf9 \组件\ DL3 \ 8de2cc60 \ 9bee7a13_f7a7d001 \ microsoft.office.interop.word.DLL”   和   'C:\ WINDOWS \装配\ GAC \的Microsoft.Office.Interop.Word \ 12.0.0.0__71e9bce111e9429c \ Microsoft.Office.Interop.Word.dll'。   考虑将“嵌入互操作类型”属性设置为false。

如果有人帮助我,那将会很有帮助,谢谢

1 个答案:

答案 0 :(得分:0)

不需要为Office interops libs使用Embed Interop Types属性。

Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定Office在此环境中运行时的行为和/或死锁。

如果要构建在服务器端上下文中运行的解决方案,则应尝试使用已为安全无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方法。如果从服务器端解决方案使用Office应用程序,则应用程序将缺少许多成功运行的必要功能。此外,您将承担整体解决方案稳定性的风险。有关详细信息,请参阅MSDN中的Considerations for server-side Automation of Office文章。

您可以考虑使用Open XML SDK,有关详细信息,请参阅Welcome to the Open XML SDK 2.5 for Office。或者只找到为服务器端执行而设计的任何第三方组件。