2017-09-14 15 views
1

私は、app.configの設定を持つ4.xアセンブリを参照する.net core web apiプロジェクトを持っています。古いアセンブリを変更せずにapp.configの設定をappsettings.jsonに変換することはできますか?古いアセンブリの設定を使用してapp.configファイルを削除するだけですか? app.configファイルを削除するだけで、公開時にこれらの設定をどのように変更できますか?Core 2.0 Web APIプロジェクトで参照されている.NET Framework 4.xアセンブリのapp.configの移行?

あなたにも古い app.configにこのようにして構成を指すことができます Core 2.0 Web API

答えて

0

私がやったことは、単にapp.configファイルを追加することです。また、app.release.configを追加し、公開プロセスの一部としてapp.configに名前を変更しました。私は設定変換を使うことができませんでした。私はそれをAzure CIで全く働かせることができませんでした。

0

IConfigurationRoot configuration = new ConfigurationBuilder() 
    .AddJsonFile("appsettings.json", optional: true) 
    .AddXmlFile("app.config") 
    .Build(); 

次に、あなたは、例えば、あなたの接続文字列(および他のアプリの設定)にアクセスすることができるようになりますキーでは、(のように見えますコロン区切りのXMLパス)。接続文字列セクションのインスタンスのためには、接続名MyConnectionNameこのように値を取得することができます。

key: "connectionStrings:add:MyConnectionName:connectionString" 
value: "...your connection string..." 

それとも、実装することができ、あなたの詳細にhereを説明し、このような何か持っているように自分のLegacyConfigurationProvider

IConfigurationRoot configuration = new ConfigurationBuilder() 
    .AddJsonFile("appsettings.json", optional: true) 
    .Add(new LegacyConfigurationProvider()) 
    .Build(); 

も参照してください。Configuration in ASP.NET Core

+0

私たちはVSでCore 2.0プロジェクトテンプレートを使用しています。そのテンプレートのStartup.csは 'IConfigurationRoot'もConfigurationBuilderも使用しません。それらはCore 1.xで使用されました。 Core 2.0のデフォルトプロジェクトテンプレートStartup.csを使用した例がありますか? – Bloodhound

+0

public IConfigurationRoot Configurationを追加するだけです(get;セット; }プロパティを起動し、サービスを起動します。設定(構成);詳細はhttps://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration –

+0

を参照してください。Core 1.xと同じようにしますか?私は "public IConfigurationRoot Configuration {get; set;}"を既に "public IConfiguration Configuration {get;}"を宣言しているので、単に既存のテンプレートに追加することはできません。最初から2.0プロジェクトを作成して、何を意味するのかを確認してください。 – Bloodhound

関連する問題