内存不足,无法继续执行程序。-Powerpoint文件打开

时间:2016-04-22 08:24:33

标签: c# iis asp.net-web-api interop office-automation

我正在尝试在ASP.NET Web API中打开Microsoft PowerPoint文件,但它不断抛出异常:

  

“内存不足,无法继续执行程序。”

我部署此代码的IIS版本是8.5,这是我在Windows Server 2012 R2上运行的生产服务器。

然而,这不是我的开发环境中的问题,它可以正常工作。

开发者机器配置: Windows 7-IIS 7.5

失败的代码片段如下:

Microsoft.Office.Interop.PowerPoint.Presentation pptPresentation = 
    ppApp.Presentations.Open(mappingPptPath,
    Microsoft.Office.Core.MsoTriState.msoFalse,
    Microsoft.Office.Core.MsoTriState.msoFalse,
    Microsoft.Office.Core.MsoTriState.msoFalse);

1 个答案:

答案 0 :(得分:0)

正如here所解释的那样,微软似乎并不支持以这种方式使用Office Automation。

我遇到了同样的问题,并使用this回答中引用的解决方案解决了这个问题。这只是通过使用不同的库(Open XML)来避免问题。在我的例子中,这很好,但我认为这完全取决于你想做什么。 Open XML可能不支持" all" PowerPoint的功能。

我不确定Open XML还有其他替代方法,我们会讨论here