Skip to content

Instantly share code, notes, and snippets.

@buchizo
Created December 19, 2024 18:42
Show Gist options
  • Save buchizo/3a3ee38d839ce5596834ad5ead986865 to your computer and use it in GitHub Desktop.
Save buchizo/3a3ee38d839ce5596834ad5ead986865 to your computer and use it in GitHub Desktop.
{
"FromJsonValue": "from json!"
}
using ConsoleAppFramework;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
var app = ConsoleApp.Create()
.ConfigureDefaultConfiguration(config =>
{
config.AddEnvironmentVariables();
})
.ConfigureServices((configuration, service) =>
{
service.Configure<HogeOptions>(configuration);
});
app.Add("", ([FromServices] IOptions<HogeOptions> hoge) =>
{
var a = hoge.Value.FromJsonValue; // ok
var b = Environment.GetEnvironmentVariable("FromJsonValue"); // NG (null)
});
app.Run(args);
public class HogeOptions
{
public string FromJsonValue { get; set; } = string.Empty;
}
using ConsoleAppFramework;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
var app = ConsoleApp.Create()
.ConfigureDefaultConfiguration(config =>
{
config.AddEnvironmentVariables();
})
.ConfigureServices((configuration, service) =>
{
foreach(var v in configuration.AsEnumerable())
{
Environment.SetEnvironmentVariable(v.Key, v.Value);
}
service.Configure<HogeOptions>(configuration);
});
app.Add("", ([FromServices] IOptions<HogeOptions> hoge) =>
{
var a = hoge.Value.FromJsonValue; // ok
var b = Environment.GetEnvironmentVariable("FromJsonValue"); // ok
});
app.Run(args);
public class HogeOptions
{
public string FromJsonValue { get; set; } = string.Empty;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment