IOptionsWriter 4.7.0.1
dotnet add package IOptionsWriter --version 4.7.0.1
NuGet\Install-Package IOptionsWriter -Version 4.7.0.1
<PackageReference Include="IOptionsWriter" Version="4.7.0.1" />
paket add IOptionsWriter --version 4.7.0.1
#r "nuget: IOptionsWriter, 4.7.0.1"
// Install IOptionsWriter as a Cake Addin
#addin nuget:?package=IOptionsWriter&version=4.7.0.1
// Install IOptionsWriter as a Cake Tool
#tool nuget:?package=IOptionsWriter&version=4.7.0.1
IOptionsWriter
Easy way to write appsettings.json or other configuration json file
How to use
Installation
Nuget Package Manager Console:
Install-Package IOptionsWriter
.Net CLI:
dotnet add package IOptionsWriter
Using
IServiceCollection.ConfigureWritable<TOptions>(string sectionName = null, string settingsFile = "appsettings.json", bool reloadAfterWrite = false)
TOptions - type of your settings
sectionName - your configuration section name(default: TOptions type name)
settingsFile - default appsettings.json
reloadAfterWrite - you can enable this option if you have problems detecting file changes or if add the settings file with false value of reloadOnChange parameter (builder.AddJsonFile(appsettings.json, optional: false, reloadOnChange: false);)
Simple sample
appsettings.json:
{
"MySettings": {
"MyOption": "MyValue"
}
}
Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
services
.AddOptions()
.ConfigureWritable<MySettings>();
}
Controllers/MyController.cs:
[Controller]
public class MyController : Controller {
private readonly IOptionsWritable<MySettings> _myOptionsAccessor;
public MyController(IOptionsWritable<MySettings> myOptionsAccessor) {
_myOptionsAccessor = myOptionsAccessor;
}
[HttpPut]
public IActionResult SetMyOptionValue(string value) {
_myOptionsAccessor.Update(options => options.MyOption = value);
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- JStreamAsyncNet (>= 4.7.0.1)
- Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Options (>= 3.1.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 3.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Easy way to write appsettings.json or other configuration json file