2017-02-22 6 views
1

예를 들어 연결 문자열이있는 appsettings.json 파일에 액세스 할 수 있도록 Startup.cs 파일에 구성 (IConfigurationRoot)을 추가했을 때이 문제가 발생했습니다..Net Core : 패키지를 추가하지 않고 Directive를 사용 하시겠습니까?

그래서 인식하지 내가 IConfigurationRoot 쓰기 처음으로 분명히 표시됩니다, 그래서 나는 그 위에 내 마우스를두고있는 전구에서 Visual Studio를 제안, 확장 : Microsoft.Extension를 사용

  • 을 .Configuration :
  • Microsoft.Extension.Configuration.IConfigurationRoot
  • 생성 유형
  • 추가 패키지 Microsoft.Extension.Configuration.Abstractions 1.1.0

"Microsoft.Extensions.Configuration 사용"을 선택하면 사용 지시문이 내 파일 상단에 추가되고 VS 인식 IConfigurationRoot가 제대로 작동합니다. 하지만 내 프로젝트에서 참조를 확인,이 라이브러리가 추가되지 않은 :

No Reference Added

그렇다면 대신 사용 지침을 따기의, 나는 "패키지 Microsoft.Extensions.Configuration.Abstractions 1.1.0 추가"선택 비주얼 스튜디오는 또한 using 지시문을 추가하지만 또한 그것은 새로운 참조 추가 :

Reference Added

using 지시문 (첫번째 제안을)를 추가하는 이유는, 일이 왜 이해하고 있지 않다가 잘 작동 그것이 때문입니다 참조가 이미 다른 라이브러리에 포함되어 있습니다. ary?, 그렇다면 패키지를 개별적으로 추가해야하는 이유는 무엇입니까? 개별적으로 추가하는 것이 더 좋습니까? 그렇다면 어떻게됩니까? 동일한 라이브러리에 대한 참조를 두 번 추가합니까?

미리 감사드립니다.

+0

패키지 Microsoft.Extension.Configuration.Abstractions는 Microsoft.Extension.Configuration.Json 패키지의 종속성입니다. 패키지 "Microsoft.Extension.Configuration.Json"에서 "Abstraction"패키지가 이미 포함되어 있는지 확인할 수 있습니까? VS2015 용 .NET 코어 툴링은 이상한 일들이 일어나지 않는 매우 미완성입니다 :) –

답변

1

... 참조가 이미 다른 라이브러리에 포함되어 있기 때문에입니까?

예, Microsoft.Extensions.Configuration.FileExtensions 또는 Microsoft.Extensions.Configuration.Json에서 보면 Abstractions 패키지로 이동합니다.

그렇다면 패키지를 개별적으로 추가해야하는 이유는 무엇입니까?

필요하지 않습니다. 전구 툴링은 전체 패키지 의존성 문제로 인해 최대 속도에 도달하지 못할 수도 있습니다.

개별적으로 추가하는 것이 더 좋습니까?

그런데 기본 패키지 중 일부를 제거한 다음 Nuget에서 개별적으로 추가하면 남아있게됩니다.

어떻게하면 어떻게됩니까? 동일한 라이브러리에 대한 참조를 두 번 추가합니까?

간접적으로는 그렇지만 아무런 해가 없습니다. 종속성 트리 뷰는 종속성의 각 계층을 자세히 보여줍니다. 노드를 확장하기 시작하면 많은 "중복"이 나타납니다.

+0

Thanks travis.shepherd –