Programing

Visual Studio에서 AddJsonFile () 메서드가 정의되지 않았다고 알려주는 이유는 무엇입니까?

lottogame 2020. 11. 10. 07:41
반응형

Visual Studio에서 AddJsonFile () 메서드가 정의되지 않았다고 알려주는 이유는 무엇입니까?


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'에 대한 정의가 없습니다 ...

뭐가 잘못 되었 니?


메서드 Microsoft.Extensions.Configuration.Json를 호출하려면 NuGet 패키지 를 포함해야합니다 .AddJsonFile().

참조 : https://github.com/aspnet/Configuration/tree/dev/src/Microsoft.Framework.ConfigurationModel.Json

자세한 내용은 ASP.NET vNext Moving Parts : IConfiguration 입니다.


이것이 조금 오래되었다는 것을 알고 있지만 첫 번째 Asp.net 코어 1.0 빈 프로젝트를 빌드하려고 할 때이 문제가 발생했습니다. AddJsonFile 메서드를 사용하려면 Nuget을 통해 Microsoft.Extensions.Configuration.Json대한 참조를 프로젝트에 추가해야합니다 .

참조를 설치하려면 패키지 관리자 콘솔에서 아래 명령을 실행하십시오.

PM> 설치 패키지 Microsoft.Extensions.Configuration.Json


다른 사람이이 문제를 겪고있는 경우 Microsoft는 2015 년 8 월 16 일 프레임 워크의이 부분을 크게 변경 했습니다. 올바른 버전의 종속성을 가져와 새로운 구성 구축 방법으로 전환해야합니다.

내 구성에는 다음이 포함됩니다.

{
  "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"
}

참고 URL : https://stackoverflow.com/questions/27382481/why-does-visual-studio-tell-me-that-the-addjsonfile-method-is-not-defined

반응형