2017-09-09 1 views
1

appsettings.json에서 읽으 려하고 DI를 사용하고 싶지 않습니다. 파일에 액세스하기 만하면됩니다. MS가 제안한대로 simple configuration을 팔로우하고 있습니다. Configuration Builder 인스턴스 생성 - 나는 하나를 제외하고 Microsoft.Extensions.Configuration에 대한 참조를 지정할 때구성 빌더 누락으로 인해 DI가없는 appsettings.json을 읽을 수 없습니다.

using System.IO; 
using Microsoft.Extensions.Configuration; 

class Program 
{ 
    public static IConfigurationRoot Configuration { get; set; } 

    static void Main(string[] args) 
    { 
    IConfigurationBuilder builder = new ConfigurationBuilder() 
     .SetBasePath(Directory.GetCurrentDirectory()) 
     .AddJsonFile("appsettings.json"); 

    Configuration = builder.Build(); 
    } 
} 

클래스는 녹색 빨간색 하이라이트에서 얻을. 다음과 같은 오류가 발생합니다. 형식 또는 네임 스페이스 이름 'ConfigurationBuilder이'을 (를) 찾을 수 없습니다

오류 CS0246은 (당신은 using 지시문 또는 어셈블리 참조가?)

모든 예제를 내가 설정되어 발견 한 같은 길. docs for Configuration Builder조차도 거기에있을 수 없다고 말합니다. 계속 진행하는 방법에 대한 손실이 있습니다.

.NET Core 2.0을 사용하는 것이 중요합니다.

+0

나는 이상한 콘솔 앱을 만들었지 만 문제가되지 않습니다. 새로운 빈 .net Core 2.0 콘솔 앱을 만드시겠습니까? – kloarubeek

+0

올바른 패키지를 추가 했습니까? ASP.NET Core Meta 패키지가 없으면 직접 참조해야합니다. 추신 질문은 구성에서 처음에는 필요하지 않았고 ASP에서도 새로운 키워드가 사용 되었기 때문에 DI와 완전히 관련이 없습니다. NET 코어 – Tseng

+0

@kloarubeek 설명 할 수 없으며 둘 다 설명 할 수 없습니다. 'Microsoft.Extensions.Configuration.Json' 패키지가 설치되어 있는지 확인할 수 있습니까? 내가 궁금 해서요. ([like this] (https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json/)와 같이) 설치했을 때, 아래 답변에서 제안했듯이, . * 솔루션 탐색기 *에서 Dependecies/NuGet *을 확인하십시오 (* NuGet Solution Explorer *에는 어떤 이유로 표시되지 않습니다). –

답변

5

AddJsonFile의 방법은 Microsoft.Extensions.Configuration.Json 패키지와 Microsoft.Extensions.Configuration 네임 스페이스에 있습니다.

그래서 Microsoft.Extensions.Configuration.Json 패키지를 프로젝트에 추가해야합니다. 모든 패키지가 성공적으로 복원되면 완벽하게 작동합니다. 이미 추가 한 경우 해당 지점을 컴파일하기 전에 다른 오류로 인해 빌드가 차단 될 수 있습니다.

+0

에헴 ... 내 첫 번째 생각은 "* 바보, stfu *"였지만 겸손하기를, 나는 당신의 제안을 시도하고 무엇을 추측 했는가? - 실제로 작동한다! 그래서 사과하고 감사합니다. 그러나, 나는 지금 나에게 혼란스런 두 가지가있다. (a) 내 솔루션의 DB 프로젝트에서 참조 된'Microsoft.Extensions.Configuration.Json'을 볼 수 있지만, ** 동일한 솔루션의 MVC-API- 프로젝트에서 참조를 볼 수 없습니다. 그리고 다른 프로젝트는 DB 프로젝트를 추가하기 전에'ConfigurationBuilder'를 사용했습니다. 그게 뭐야?! (b) * NuGet Solution Explorer *에 설치된 패키지를 전혀 볼 수 없습니다. 그것에 관한 어떤 생각? –

관련 문제