我正在尝试在浏览器,acrobat或任何其他默认pdf程序中打开pdf文件。为此,我需要调用LaunchFileAsync()
,并且需要引用Windows.System才能使用它。但是,这不起作用,我无法调用任何参考。
我尝试寻找特定的库或nuget包,但找不到任何东西。该文档只是告诉我要使用该名称空间,但没有说明如何添加引用。我还尝试通过调用System.Diagnostics.Process.Start(path)
和一些变体来使用另一种方法,但是使用Xamarin显然不起作用。
这基本上是我要实现的内容,但是虽然我确实尝试过实现,但没有找到命名空间事件。
string uriToLaunch = @"file://" + @file;
var uri = new Uri(uriToLaunch);
var success = await Windows.System.Launcher.LaunchUriAsync(uri);
任何帮助将不胜感激。
答案 0 :(得分:0)
您是否尝试过在“参考”菜单中添加部件参考? 在解决方案资源管理器中,右键单击您的项目,然后转到:
Add -> Reference -> Assemblies -> System.*
此外,请确保不要将平台特定的库用于移动项目,因为这可能会导致兼容性问题。 .NET Standard
是必经之路。
答案 1 :(得分:0)
使用Xamarin.Essentials
,因为它为您定义了各种操作系统依赖关系;在UWP上,使用本机Windows.System.Launcher.LaunchUriAsync:
Xamarin.Essentials.Launcher.OpenAsync
re:Xamarin Docs
注意:在UWP中,打开基于file://
的URI非常受限制。
答案 2 :(得分:0)
如果您尚未定位.NET Standard,请确保您要使用系统库。有一些有关此的教程,但是我强烈建议您在从PCL更改为.NET Standard之前备份您的项目