【问题标题】:Where and How to set 'Embed Interop Types' false in visual studio在 Visual Studio 中将“嵌入互操作类型”设置为 false 的位置和方式
【发布时间】:2015-07-13 07:05:18
【问题描述】:

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

无法嵌入互操作类型“Microsoft.Office.Interop.Word.WdMailSystem” 在两个程序集中发现 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET 文件\root\d5b13769\135f0cf9\assembly\dl3\8de2cc60\9bee7a13_f7a7d001\microsoft.office.interop.word.DLL' 和 'c:\Windows\assembly\GAC\Microsoft.Office.Interop.Word\12.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Word.dll'。 考虑将“嵌入互操作类型”属性设置为 false。

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

【问题讨论】:

    标签: c# asp.net office-interop


    【解决方案1】:

    Office 互操作库无需使用 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 了解更多信息。或者只是找到为服务器端执行而设计的任何第三方组件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-04
      • 2018-03-03
      • 2012-02-27
      • 2017-10-12
      • 1970-01-01
      • 2022-06-17
      • 2019-05-29
      • 1970-01-01
      相关资源
      最近更新 更多