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

C# 内存不足,无法继续执行程序。-Powerpoint文件已打开,c#,iis,asp.net-web-api,interop,office-automation,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 pptPres

我试图在我的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);

如前所述,微软似乎不支持以这种方式使用办公自动化

我也经历过同样的问题,并通过使用答案中引用的解决方案来解决它。不过,这实际上只是通过使用不同的库()来回避问题。在我的例子中,这很好,但我认为这完全取决于你试图做什么。Open XML可能不支持PowerPoint的“所有”功能


我不确定是否还有其他方法可以替代开放式XML,这一点已经讨论过了。

如前所述,Microsoft似乎不支持以这种方式使用Office Automation

我也经历过同样的问题,并通过使用答案中引用的解决方案来解决它。不过,这实际上只是通过使用不同的库()来回避问题。在我的例子中,这很好,但我认为这完全取决于你试图做什么。Open XML可能不支持PowerPoint的“所有”功能

我不确定是否还有其他方法可以替代开放XML,这一点已经讨论过了