Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 开放XML SDK:';进程无法访问文件';x';因为它正被另一个进程使用;_C#_Ms Office_Powerpoint_Openxml_Openxml Sdk - Fatal编程技术网

C# 开放XML SDK:';进程无法访问文件';x';因为它正被另一个进程使用;

C# 开放XML SDK:';进程无法访问文件';x';因为它正被另一个进程使用;,c#,ms-office,powerpoint,openxml,openxml-sdk,C#,Ms Office,Powerpoint,Openxml,Openxml Sdk,这是我的代码,用于修改PowerPoint演示文稿,将其保存为新文件,关闭它,然后尝试打开该文件 var doc = PresentationDocument.Open(@"d:\temp.pptx", true); //... proccess presentation doc.SaveAs(@"d:\temp2.pptx"); doc.Close(); var doc2 = PresentationDocument.Open(@"d:\temp2.pptx", false); do

这是我的代码,用于修改PowerPoint演示文稿,将其保存为新文件,关闭它,然后尝试打开该文件

var doc = PresentationDocument.Open(@"d:\temp.pptx", true);    
//... proccess presentation
doc.SaveAs(@"d:\temp2.pptx");
doc.Close();

var doc2 = PresentationDocument.Open(@"d:\temp2.pptx", false);
doc2.Close();
我无法理解为什么运行时抛出异常:

进程无法访问文件“x”,因为它正被使用 另一个过程


您必须使用using语句打开演示文稿。大致如下:

using (var doc = PresentationDocument.Open(@"d:\temp.pptx", true))
{    
//... proccess presentation
doc.SaveAs(@"d:\temp2.pptx");
doc.Close(); //may be unnecessary
}

您必须使用using语句打开演示文稿。大致如下:

using (var doc = PresentationDocument.Open(@"d:\temp.pptx", true))
{    
//... proccess presentation
doc.SaveAs(@"d:\temp2.pptx");
doc.Close(); //may be unnecessary
}

我注意到,
doc.SaveAs()
return对象,我刚刚关闭了它

var savedDoc = doc.SaveAs(@"d:\temp2.pptx") as PresentationDocument;

savedDoc.Close();

我注意到,
doc.SaveAs()
return对象,我刚刚关闭了它

var savedDoc = doc.SaveAs(@"d:\temp2.pptx") as PresentationDocument;

savedDoc.Close();

尝试保存以流式保存并创建新文件,而不是直接调用“SaveAs”。@codetoshare,
doc
是不幸的是,它的对象没有流式保存的方法。请发布足够完整的代码片段,以便重新编写;有关更多信息,请参阅。我会为您测试它,但我没有时间完成整个项目…尝试保存以流式传输并创建新文件,而不是直接调用“SaveAs”。@codethoshare,
doc
是一个对象,不幸的是它没有流式保存的方法。请发布一个足够完整的代码片段,以便重新编写;有关更多信息,请参阅。我会帮你测试的,但我没有时间完成整个项目。。。