VS Ultimate 2015 Previewを使用してASP.NET 5 WebAPIプロジェクトを開発しています。この方法でアプリを構成しようとしています(行番号は単なるガイドです)。
1 using Microsoft.Framework.ConfigurationModel;
2
3 public IConfiguration Configuration { get; private set; }
4
5 public Startup()
6 {
7 Configuration = new Configuration()
8 .AddJsonFile("config.json")
9 .AddEnvironmentVariables();
10 }
8行目でエラーが発生します。「構成」に「AddJsonFile」の定義が含まれていません...
なにが問題ですか?
.AddJsonFile()
メソッドを呼び出す場合は、 Microsoft.Extensions.Configuration.Json
NuGetパッケージを含める必要があります。
参照: https://github.com/aspnet/Configuration/tree/dev/src/Microsoft.Framework.ConfigurationModel.Json
詳細については、ニースチュートリアルを参照してください。 ASP.NET vNext可動部品:IConfiguration 。
私はこれが少し古いことを知っていますが、最初のAsp.netコア1.0ブランクプロジェクトをビルドしようとしたときにこの問題に遭遇しました。 AddJsonFileメソッドを使用するには、Microsoft.Extensions.Configuration.Jsonへの参照をNugetを介してプロジェクトに追加する必要があります。
参照をインストールするには、パッケージマネージャーコンソールで次のコマンドを実行します。
PM>インストールパッケージMicrosoft.Extensions.Configuration.Json
他の誰かがこれに問題を抱えている場合、マイクロソフトは2015年8月16日にフレームワークのこの部分に breaking changes を作成しました。適切なバージョンの依存関係をインポートし、新しい方法に切り替える必要があります構成の構築。
私の設定には次が含まれます:
{
"webroot": "wwwroot",
"version": "1.0.0-*",
"dependencies": {
"Microsoft.Framework.Runtime": "1.0.0-*",
"Microsoft.AspNet.Server.IIS": "1.0.0-beta7",
"Microsoft.AspNet.Diagnostics": "1.0.0-beta7",
"Microsoft.AspNet.Mvc": "6.0.0-beta7",
"Microsoft.Framework.Configuration": "1.0.0-beta7",
"Microsoft.Framework.Configuration.Json": "1.0.0-*"
},
...
}
この質問 に触発されたこのコードは、何らかの助けになるかもしれません:
using System;
using Microsoft.AspNet.Builder;
using Microsoft.Framework.DependencyInjection;
using Messenger.Services;
using Microsoft.Framework.Configuration;
using Microsoft.Dnx.Runtime;
using Microsoft.AspNet.Hosting;
namespace Messenger
{
public class Startup
{
public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
{
var configurationBuilder = new ConfigurationBuilder(appEnv.ApplicationBasePath)
.AddJsonFile("config.json")
.AddEnvironmentVariables();
Configuration = configurationBuilder.Build();
}
public IConfiguration Configuration { get; set; }
}
...
}
それが役に立てば幸い。
Project.jsonの下で、依存関係内に追加する必要があります
dependencies {
"Microsoft.Extensions.Configuration.Json": "1.0.0"
}