Поиск…


Чтение файла app.config в проекте Xamarin.Forms Xaml

В то время как на всех мобильных платформах есть собственное управление настройками api, нет встроенных способов считывания настроек из старого старого файла app.config типа .net style.config; Это связано с множеством веских причин, в частности, управление конфигурацией инфраструктуры .NET. Api находится на стороне тяжеловеса, и каждая платформа имеет свою собственную файловую систему api.

Таким образом, мы создали простую библиотеку PCLAppConfig , красиво упакованную для немедленного потребления.

Эта библиотека использует прекрасную библиотеку PCLStorage

В этом примере предполагается, что вы разрабатываете проект Xamarin.Forms Xaml, где вам нужно будет получить доступ к настройкам из вашей общей модели просмотра.

  1. Инициализируйте ConfigurationManager.AppSettings в каждом из ваших проектов платформы сразу после инструкции «Xamarin.Forms.Forms.Init», как показано ниже:

iOS (AppDelegate.cs)

global::Xamarin.Forms.Forms.Init();
ConfigurationManager.Initialise(PCLAppConfig.FileSystemStream.PortableStream.Current);
LoadApplication(new App());

Android (MainActivity.cs)

global::Xamarin.Forms.Forms.Init(this, bundle);
ConfigurationManager.Initialise(PCLAppConfig.FileSystemStream.PortableStream.Current);
LoadApplication(new App());

UWP / Windows 8.1 / WP 8.1 (App.xaml.cs)

Xamarin.Forms.Forms.Init(e);
ConfigurationManager.Initialise(PCLAppConfig.FileSystemStream.PortableStream.Current);
  1. Добавьте файл app.config в общий проект PCL и добавьте записи appSettings, как и в любом файле app.config.
<configuration>
    <appSettings>
        <add key="config.text" value="hello from app.settings!" />
    </appSettings>
</configuration>
  1. Добавьте этот файл приложения PCL app.config в виде связанного файла во всех проектах вашей платформы. Для android убедитесь, что действие сборки установлено на «AndroidAsset» , для UWP установите действие сборки в «Содержимое»,

  2. Доступ к настройкам: ConfigurationManager.AppSettings["config.text"];



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow