2017-10-28 3 views
0

内蔵の.NETコアコンソールアプリケーションを作成しようとしています。 私のアプリケーションでは、設定ファイルappsettings.jsonを追加しました。 アプリケーションが実行中(および公開中)に設定ファイルを変更する必要があることを目標にしています。ASP.NETコアの設定ファイルを変更します。

私はいくつかのガイドを見つけましたが、それらはすべて次の機能:

 public void ConfigureServices(IServiceCollection services) 
    { 
     // Adds services required for using options. 
     services.AddOptions(); 

     // Register the IConfiguration instance which MyOptions binds against. 
     services.Configure<DBSetting>(Configuration); 

     // Add framework services. 
     services.AddMvc(); 
    } 

しかし、これを行うと、すべてのサービス方法が赤色になります。私がIserviceCollectionを見れば、ドキュメントは廃止されたと言っています。 は、私は私が私の設定ファイルにデータをフェッチすることができます私のProgram.csに

  var builder = new ConfigurationBuilder() 
      .AddJsonFile(@"C:\Users\Maarten\Documents\Visual Studio 2015\Projects\CorporationBot\CorporationBotCore\appsettings.json", optional: true, reloadOnChange:true);     
     Configuration = builder.Build(); 

を追加しました。 これで、アプリケーションの実行中に設定を変更する方法が必要になりました。 最新の方法はありますか?

+0

バージョンは何? '.csproj'ファイルにどのような依存関係がありますか? – omajid

答えて

1

Microsftの設定によれば、組み込みプロバイダーに書き込まれる設定は保持されません。したがって、カスタムプロバイダを作成してそこに保存する必要があるかもしれません。以下のリンクは、asp.netの設定とサンプルのカスタムEFプロバイダに関する詳細を提供します。サイドノートとして

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration?tabs=basicconfiguration

、値がruntime.Database又はも可能で代替することができるいくつかの他の場所で変化する傾向がある場合。

+0

あなたが私に与えたリンクには、私が使っているコードと同じコードがあり、うまくいきません。メソッドにエラーが表示されます。 それらは常に変化しません。サーバー管理者は、アプリケーションが設定ファイルのデータベース値を変更し始めたときに変更することができます。 – Captain

+0

そして、その文書のコメントによると、.NET Core 2.0の時代遅れになっているようです。 – Captain

+0

エラー? Webアプリケーションでない場合は、configureサービスを追加する必要はありません。 – nandithakw

関連する問題