2017-12-07 11 views
1

空のAsp.Net Core 2テンプレートから新しいWebサイトを作成し、Microsoft Entity Framework Tutorialに続いてセットアップを手助けします。 Startup.csConfigureServices()方法に新しい.Net Core 2サイトはConfiguration.GetConnectionStringを再設定しません

services.AddDbContext<SchoolContext>(options => 
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); 

:1つの時点で、それはあなたがコードを追加しています。私はこれをしなかったが、Configuraiton.GetConnectionString

Configurationの下で私にその小さな赤い線を与える私のプロジェクトVisual Studioで私がusing声明、あるいはパッケージがありませんでしたが、Visual Studioの2017迅速な行動がusingを特定していないと思っていました使用するステートメントと私はMicrosoft.AspNetCore.Allパッケージがインストールされているので、私はすべてのパッケージを持っている必要があります。

Configurationが認識されないのは何ですか?

編集:エラーが「名 『設定』の現在のコンテキスト内に存在しない」である

Public Void ConfigureServices(IServiceCollection services) 
{ 
    services.AddDbContext<CollectionContext>(Options => options.UseSqlServer(Configuration.GetConnectionSTring("DefaultConnection"))); 
    services.AddMvc(); 
} 
+0

正確なエラーは何ですか? – gldraphael

+2

現在の状態の質問は不完全で不明確であり、何が尋ねられているのかを明確にするにはあまりにも多くの質問が必要です。 [質問]を読んで問題を再現するのに使うことができる[mcve]を入力し、何が尋ねられているのかをよく理解できるようにします。 – Nkosi

+0

Microsoft.Extensions.Configuration Nugetパッケージを試してください。 –

答えて

2

あなたはDI経由IConfigurationオブジェクトを取得する必要があります。
はあなたのStartupのコンストラクタにIConfiguration引数を追加し、Configurationプロパティに割り当て:

public Startup(IConfiguration configuration) 
{ 
    Configuration = configuration; 
} 

public IConfiguration Configuration { get; } 

それはテンプレートの一部ですので、私は、あなたががそれを持っていないどのように驚いています。

+1

ありがとう、私は通常のMVCテンプレートの一部ですが、そのテンプレートは、私はservives.AddMVC()自分の自己を追加する必要があった空のテンプレートに行ったので、私はしたくない他のものを追加するだろう追加する必要があります。明日の昼休みに私はこのプロジェクトをやり直してテストします。 – Matthew

+0

これはうまくいきました。通常のMVCプロジェクトテンプレートを確認しましたが、それはそのテンプレートの一部ですが、空のテンプレートの一部ではありません。 – Matthew

+0

また、Web APIがasp.netコア2でMVC経由で提供されていても、Web APIプロジェクトでは見当たりません。 'Using Microsoft.Extensions.Configuration;'のように見えますが、私が望むのは... – ruffin

関連する問題