web-dev-qa-db-ja.com

ASP.NET Core構成のappsettings.jsonで別のjsonファイルを参照する

XML構成を使用する「昔」では、 this のような別のファイルから部分的な構成を含めることが可能でした。

<appSettings file="relative file name">
    <!-- Remaining configuration settings -->
</appSettings>

ASP.NET Coreで、appsettings.Development.jsonappsettings.Staging.jsonなどの構成を共有したいと思います。 <appSettings file="">のようなものもjson設定を使用して利用できましたか?

10
Kapé

スタートアップクラスに複数の構成ファイルを追加できます。

public class Startup
{
    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(env.ContentRootPath)
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
            .AddJsonFile("appsettings-Development.json", optional: false)
            .AddJsonFile("appsettings-Staging.json", optional: false)
            .AddEnvironmentVariables();
        Configuration = builder.Build();
    }

詳細については、こちらをご覧ください: https://docs.Microsoft.com/en-us/aspnet/core/fundamentals/configuration ...

12
anserk

プロジェクトソリューションフォルダーの外部にファイルを追加する場合は、「別のファイル」のように設定します。

any-class-name.csファイル:

using Microsoft.Extensions.Configuration;
namespace your-name
{
    static class ConfigurationManager
    {
        public static IConfiguration AppSetting { get; }
        static ConfigurationManager()
        {
            AppSetting = new ConfigurationBuilder()
                    .SetBasePath("C:/Users/Name/Documents/AnotherSettings/") //instead of .SetBasePath(Directory.GetCurrentDirectory())
                    .AddJsonFile("appsettings.json")
                    .Build();
        }
    }
}

お役に立てれば。

0
Dmitri K