asp.net-core - “IConfiguration”不包含“获取”的定义

标签 asp.net-core asp.net-core-1.0

最初,我在1.0.0-rc1-beta6中有代码。

 public static IConfiguration Configuration { get; set; }

 public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
    {
        // Setup configuration sources.
        var builder = new ConfigurationBuilder(appEnv.ApplicationBasePath)
            .AddJsonFile("config.json")
            .AddEnvironmentVariables();
        Configuration = builder.Build();
        var test = Configuration.Get("ASPNET_ENV");
    }


现在我想使用1.0.0-rc1-update,代码是:

 public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
    {
        // Setup configuration sources.
        var builder = new ConfigurationBuilder()
            .SetBasePath(appEnv.ApplicationBasePath)
            .AddJsonFile("config.json")
            .AddEnvironmentVariables();
        Configuration = builder.Build();
        var test = Configuration.Get("ASPNET_ENV");
    }


“ ASP.NET_ENV”来自launchSettings.json文件。

"profiles": {
"IIS Express": {
  "commandName": "IISExpress",
  "launchBrowser": true,
  "environmentVariables": {
    "ASPNET_ENV": "Development"
  },
  "sdkVersion": "dnx-clr-win-x64.1.0.0-beta6"
},


但是我仍然在最后一行得到错误。


“ IConfiguration”不包含“ Get”的定义,最佳扩展方法重载“ SessionExtensions.Get(ISession,string)”需要类型为“ ISession”的接收器。


在这里也得到错误。

   public void ConfigureServices(IServiceCollection services)
    {
        // Add MVC services to the services container.
        services.AddMvc(); //error
    }


我的project.json文件

    {
  "webroot": "wwwroot",
  "version": "1.0.0-*",
  "dependencies": {
    "Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta7",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-rc1-final",
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
    "Microsoft.Framework.Configuration.Json": "1.0.0-beta8",
    "Microsoft.Framework.Logging": "1.0.0-beta8",
    "Microsoft.Framework.Logging.Console": "1.0.0-beta8",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final",
    "EntityFramework": "6.1.3",
    "jqGridWebApi": "1.1.4",
    "EnyimMemcached": "2.13.0",
    "xunit": "2.2.0-beta1-build3239",
    "Moq": "4.2.1510.2205",
    "NLog": "2.1.0",
    "CryptSharpOfficial": "2.1.0",
    "System.Linq.Dynamic": "1.0.4"
  },
  "commands": {
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5001",
    "kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5005"
  },
  "frameworks": {
    "dnx451": {
      "frameworkAssemblies": {
        "System.configuration": "4.0.0.0",
        "System.Data": "4.0.0.0"
      }
    }
  },
  "exclude": [
    "wwwroot",
    "node_modules",
    "bower_components"
  ],
  "publishExclude": [
    "node_modules",
    "bower_components",
    "**.xproj",
    "**.user",
    "**.vspscc"
  ],
  "scripts": {
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
  },
  "configurations": {
    "Staging": { }
  }
}


感谢帮助

最佳答案

安装NuGet软件包:

Microsoft.Extensions.Configuration.Binder

重复:Bind a IConfigurationSection to an complex object without aspnetcore

Screen shot of NuGet packages

关于asp.net-core - “IConfiguration”不包含“获取”的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36694099/

相关文章:

.net - 使用 ftp Github Actions 发布和部署 dotnet

asp.net-core - Windows Server 2008 R2 上的 System.DllNotFoundException : Unable to load DLL 'libuv' when publishing . NET Core 网站

c# - IIS 10 上的 ASP.NET Core 404 错误

asp.net - 发布已运行的 dotnet 应用程序

c# - ASP.NET Core JWT - HmacSha512 和 HmacSha512Signature 算法有什么区别?

c# - 在 ASP.NET MVC Core 应用程序 (RC2) 中显示项目版本

c# - Microsoft.AspNetCore.Mvc.Controller 中的 ActionContext 消失了

c# - Asp.Net Core 中 RouteValueDictionary 的路径

c# - 如何手动添加到 swagger 的 schemas 部分?

适用于 .NET Core 的 Facebook SDK