I've got a method that reads settings from my config file like this:
var value = ConfigurationManager.AppSettings[key];
It compiles fine when targeting .NET Standard 2.0 only.
Now I need multiple targets, so I updated my project file with:
<TargetFrameworks>netcoreapp2.0;net461;netstandard2.0</TargetFrameworks>
But now, the compilation fails for netcoreapp2.0
with the following error message:
Error CS0103 The name 'ConfigurationManager' does not exist in the current context (netcoreapp2.0)
Separately, I created a new .NET Core 2.0 console application (only targeting .NET Core 2.0 this time), but likewise there seems to be no ConfigurationManager
under the namespace System.Configuration
.
I'm quite confused because it's available under .NET Standard 2.0, so I would expect it to be available in .NET Core 2.0, as .NET Core 2.0 is .NET Standard 2.0 compliant.
What am I missing?
Once you have the packages setup, you'll need to create either an app.config or web.config and add something like the following:
Yes,
ConfigurationManager.AppSettings
is available in .NET Core 2.0 after referencing NuGet packageSystem.Configuration.ConfigurationManager
.Credits goes to @JeroenMostert for giving me the solution.
I installed
System.Configuration.ConfigurationManager
from Nuget into my .net core 2.2 application.I then reference
using System.Configuration;
Next, I changed
So far I believe this is correct.