C# 如何在Xamarin项目中引用Windows.System命名空间?

C# 如何在Xamarin项目中引用Windows.System命名空间?,c#,xamarin,uwp,C#,Xamarin,Uwp,我试图在浏览器、acrobat或任何其他默认pdf程序上打开pdf文件。为此,我需要调用LaunchFileAsync(),并且需要引用Windows.System才能使用它。然而,这不起作用,我不能打电话给任何推荐人 我试图寻找一个特定的库或nuget包,但什么也找不到。文档只是告诉我使用该名称空间,但没有说明如何添加引用。我还尝试使用另一种方法,调用System.Diagnostics.Process.Start(path)和一些变体,但使用Xamarin显然不起作用 这基本上就是我试图实现

我试图在浏览器、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);

如有任何帮助,将不胜感激。

您是否尝试过在“参考”菜单中添加部件参考? 在解决方案资源管理器中,右键单击项目并转到:

Add -> Reference -> Assemblies -> System.*

另外,请确保不要将特定于平台的库用于移动项目,因为这可能会导致兼容性问题
.NET Standard
是一种方法。

您是否尝试过在“引用”菜单中添加程序集引用? 在解决方案资源管理器中,右键单击项目并转到:

Add -> Reference -> Assemblies -> System.*

另外,请确保不要将特定于平台的库用于移动项目,因为这可能会导致兼容性问题
.NET Standard
是一个不错的选择。

使用
Xamarin.Essentials
,因为它为您定义了各种操作系统依赖性,并且在UWP上使用了本机:

关于:


注意:在UWP中,打开基于
文件://
的URI非常有限。

使用
Xamarin.Essentials
,因为它为您定义了各种操作系统依赖性,并且在UWP上使用本机:

关于:


注意:在UWP中,打开基于
文件://
的URI受到很大限制。

如果您还没有针对.NET标准,请确保如果您想使用系统库,就这样做。有一些关于这方面的教程,但我强烈建议您在从PCL更改为.NET标准之前备份您的项目

如果您还没有针对.NET标准,请确保如果您想使用系统库,就这样做。关于这方面有一些教程,但我强烈建议您在从PCL更改为.NET标准之前备份您的项目

我尝试了您的方法,但没有任何效果。未在浏览器或acrobat上打开pdf。我错过什么了吗?我确实尝试使用file://打开文件。这就是我正在做的:string uriToLaunch=@“file://“++”P://Receiving inspection//”inspection Reports//“+filename+”.pdf”;var uri=新uri(uriToLaunch);等待Xamarin.Essentials.Launcher.OpenAsync(uri)<代码>…@“文件:/”+@“P://接收检查不是有效的
文件://
Uri我应该用什么来代替?我尝试了你的方法,但没有任何效果。未在浏览器或acrobat上打开pdf。我错过什么了吗?我确实尝试使用file://打开文件。这就是我正在做的:string uriToLaunch=@“file://“++”P://Receiving inspection//”inspection Reports//“+filename+”.pdf”;var uri=新uri(uriToLaunch);等待Xamarin.Essentials.Launcher.OpenAsync(uri)<代码>…@“文件:/”+@“P://接收检查不是有效的
文件://
Uri我应该使用什么?如何确保我使用的是.NET标准库?我不记得我第一次创建项目时选择了什么类型的项目。对于我来说,当我导航到我的主项目文件夹并转到“选项”->“常规”时,第一行显示“目标框架->.NET标准2.0”。虽然我使用的是VS Mac,但我不知道它是否在Windows上的同一位置如何确保我使用的是.NET标准库?我不记得我第一次创建项目时选择了什么类型的项目。对于我来说,当我导航到我的主项目文件夹并转到“选项”->“常规”时,第一行显示“目标框架->.NET标准2.0”。我在VS Mac上,但我不知道它是否在Windows上的相同位置