Reading app.config file in a Xamarin.Forms Xaml project

If you are a C# developer, you may know about the App.config and Web.config and importance of the config file. You might have a question that Is Xamrin.Forms application also having App.config file?
The answer is no. in Xamarin application there is no App.config file with the project but you can create it manually and apply in the application.

Step 1: Create App.config file

How to add App.config file in Xamarin Project?

You need to create App.config file manually using a text editor like Notepad, Notepad++, Visual Studio etc. Here is the sample for App.config file.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="KEY1" value="VALUE1" />
<add key="KEY2" value="VALUE2" />
<add key="KEY3" value="VALUE3" />
<add key="KEY4" value="VALUE4" />
</appSettings>
</configuration>

Save the above text file as App.config

Now go to your Xamarin project =>Right Click on the Project => Add => Existing file => Select App.config file.

Step 2: Set App.config file build action

Right-click on the App.config file => Properties => Build Action
For Android set Build Action to ‘AndroidAsset’
For UWP set Build Action to ‘Content’

Step 3: Add NuGet package reference

Add the NuGet package reference to your PCL and platforms projects.
Here is the link for Nuget package: https://www.nuget.org/packages/PCLAppConfig

You can add new Nuget package or install using NuGet Package Manager Console

PM> Install-Package PCLAppConfig -Version 1.0.1

Step 4: Initialize ConfigurationManager.AppSettings

Initialize ConfigurationManager.AppSettings on each of your platform project, just after the ‘Xamarin.Forms.Forms.Init’ statement, as per below:

For iOS (AppDelegate.cs)

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

For Android (MainActivity.cs)

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

For UWP

Xamarin.Forms.Forms.Init(e);
ConfigurationManager.Initialise(PCLAppConfig.FileSystemStream.PortableStream.Current);

For Xamarin.Android Project (MainActivity.cs)

base.OnCreate(savedInstanceState);
ConfigurationManager.Initialise(PCLAppConfig.FileSystemStream.PortableStream.Current);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.activity_main);

Step 5: Read your settings

You can read your setting value using ConfigurationManager.AppSettings[“KEY”]
replace KEY with the key name from App.config file.

That’s all done.

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Share this post on social media!

We are sorry that this post was not useful for you!

Let us improve this post!