Как я могу ссылаться на пространство имен Windows.System в проекте Xamarin? - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь открыть файл 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);

Любая помощь будет оценена.

Ответы [ 3 ]

0 голосов
/ 25 апреля 2019

Используйте Xamarin.Essentials, поскольку он определяет различные зависимости ОС для вас, а в UWP используется собственный Windows.System.Launcher.LaunchUriAsync :

 Xamarin.Essentials.Launcher.OpenAsync

re: Xamarin Docs

Примечание. Открытие URI на основе file:// в UWP очень ограничено.

0 голосов
/ 25 апреля 2019

Если вы еще не ориентируетесь на .NET Standard, убедитесь, что вы делаете это, если хотите использовать системные библиотеки. Есть несколько руководств по этому вопросу, но я настоятельно рекомендую вам сделать резервную копию вашего проекта, прежде чем переходить с PCL на .NET Standard

0 голосов
/ 25 апреля 2019

Вы пытались добавить ссылку на сборку в меню Справка? В обозревателе решений щелкните правой кнопкой мыши свой проект и перейдите по адресу:

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

Кроме того, убедитесь, что не используете библиотеки платформы для мобильного проекта, так как это может вызвать проблемы совместимости. .NET Standard это путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...