Csharp/C#教程:在Windows Phone上启动pdf文件时出现System.Runtime.InteropServices.COMException分享


在Windows Phone上启动pdf文件时出现System.Runtime.InteropServices.COMException

我正在尝试使用以前在其他应用上使用的以下工作代码打开pdf文件,

但是这次当流程命中这行时我得到System.Runtime.InteropServices.COMException:Windows.System.Launcher.LaunchFileAsync(pdffile);

这个例外是什么意思以及如何摆脱它?

请注意,如果不关心此exception(禁用它),

该文件仍然无法打开。

请注意:该文件存在于我的隔离文件夹中(使用wpowertool检查),

我尝试了2个不同的文件,所以它不应该是文件损坏的问题。

public void openFile(string options) { System.Diagnostics.Debug.WriteLine("options: " + options); string optVal = JsonHelper.Deserialize(options)[0]; asyncOpen(optVal); } public async Task asyncOpen(string filename) { filename = filename.Substring(2, filename.Length - 2); filename = filename.Replace("//", "/").Replace("/", "\"); Windows.Storage.StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder; Debug.WriteLine("local: " + local.Path); Windows.Storage.StorageFile pdffile = await local.GetFileAsync(filename); Debug.WriteLine("pdffile: " + pdffile.Name); //// Launch the pdf file. Windows.System.Launcher.LaunchFileAsync(pdffile); } 

这个MSDNpost属于我。 是的,文件已安装,我有acrobat阅读器。

请注意,这个C#代码是一个phonegap / cordova插件 ,在我的混合应用程序中通过javascript调用。

请注意此MSDN文章中的备注- Launcher.LaunchFileAsync(IStorageFile) :

调用API时,调用应用程序必须对用户可见。
必须从ASTA线程(也称为UI线程)调用此API。


巨大的OP分享解决方案。 以下代码应该可以帮助其他人解决此问题:

上述就是C#学习教程:在Windows Phone上启动pdf文件时出现System.Runtime.InteropServices.COMException分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)

 Deployment.Current.Dispatcher.BeginInvoke(() => { asyncOpenFile(options); }); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ctvol.com/cdevelopment/984772.html

(0)
上一篇 2021年12月20日
下一篇 2021年12月20日

精彩推荐