C# VS2015 ASP.NET 5空项目不';不工作,可以';找不到ConfigurationBuilder.Build

C# VS2015 ASP.NET 5空项目不';不工作,可以';找不到ConfigurationBuilder.Build,c#,asp.net-core,dnx,C#,Asp.net Core,Dnx,尝试新的VS2015项目。我在跟踪,但它遗漏了一些东西。当我运行它时,我得到一个500错误: System.MissingMethodException: Method not found: 'Microsoft.Framework.Configuration.IConfiguration Microsoft.Framework.Configuration.ConfigurationBuilder.Build()'. at Microsoft.AspNet.Loader.IIS.RuntimeH

尝试新的VS2015项目。我在跟踪,但它遗漏了一些东西。当我运行它时,我得到一个500错误:

System.MissingMethodException: Method not found: 'Microsoft.Framework.Configuration.IConfiguration Microsoft.Framework.Configuration.ConfigurationBuilder.Build()'.
at Microsoft.AspNet.Loader.IIS.RuntimeHttpApplication.ApplicationStart(IHttpApplication application)
at Microsoft.AspNet.Loader.IIS.HttpApplicationBase.InvokeApplicationStart(IHttpApplication application)

.NET Framework version 4.0.30319.42000   |   Microsoft.AspNet.Loader.IIS version 1.0.0-beta5-11951   |   IIS version 10.0.10117.0 (fbl_srv2_iis_dev(sujitn).150512-1839)   |   Need help?
经过一番阅读,我发现您需要一个配置实例,尽管我找到的示例对我来说并不适用。它们都将实例设置为配置字段,但该字段似乎不存在。这些配置行都是红色的,因为名称不存在:

public class Startup
{
    public Startup() {
        Configuration = new ConfigurationBuilder();
    }

    public void ConfigureServices(IServiceCollection services)
    {
        Configuration = new ConfigurationBuilder();
        services.AddMvc();
    }

    public void Configure(IApplicationBuilder app)
    {
        Configuration = new ConfigurationBuilder();

        app.Run(async (context) =>
        {
            await context.Response.WriteAsync("Hello World!");
        });

        app.UseMvc(m => {
            m.MapRoute(
                name: "default",
                template: "{controller}/{action}/{id?}",
                defaults: new { controller = "Home", action = "Index" });
        });
    }
}
这是使用空项目中的默认启动类。我手动添加了gulp和angular节点模块。我一定错过了什么,但我不知道

更新:这些是我在Startup.cs中的用法:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Http;
using Microsoft.Framework.DependencyInjection;
using Microsoft.Framework.Configuration;
更新:这是我当前的
project.json
文件(我还没有手动修改):


更新:在将
beta5
s更改为
beta7
s后,根据评论,我通过了此
ConfigurationBuilder
错误,并转到“无法加载文件或程序集'Microsoft.Dnx.Host.Clr'或其依赖项之一”错误,我怀疑这是另一个版本问题,我现在正在研究……但我想这将是一个不同的问题。

您在这里遗漏了一些东西。假设您在beta7上,并且想要一个
config.json
文件:

首先在
Startup
构造函数中构建
IConfiguration
实例:

private IConfiguration Configuration { get; }

public Startup(IApplicationEnvironment appEnv)
{
    var configurationBuilder = new ConfigurationBuilder(appEnv.ApplicationBasePath)
        .AddJsonFile("config.json")
        .AddEnvironmentVariables();

    Configuration = configurationBuilder.Build();
}
不要忘记将
配置
属性添加到类中。此外,您需要
Microsoft.Framework.Configuration.Json
1.0.0-beta7

现在,在
ConfigureServices
方法中,您可以从中绑定设置。例如:

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<AppSettings>(Config.GetSection("AppSettings"));

    // ...
}
public void配置服务(IServiceCollection服务)
{
Configure(Config.GetSection(“AppSettings”);
// ...
}

这里缺少一些东西。假设您在beta7上,并且想要一个
config.json
文件:

首先在
Startup
构造函数中构建
IConfiguration
实例:

private IConfiguration Configuration { get; }

public Startup(IApplicationEnvironment appEnv)
{
    var configurationBuilder = new ConfigurationBuilder(appEnv.ApplicationBasePath)
        .AddJsonFile("config.json")
        .AddEnvironmentVariables();

    Configuration = configurationBuilder.Build();
}
不要忘记将
配置
属性添加到类中。此外,您需要
Microsoft.Framework.Configuration.Json
1.0.0-beta7

现在,在
ConfigureServices
方法中,您可以从中绑定设置。例如:

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<AppSettings>(Config.GetSection("AppSettings"));

    // ...
}
public void配置服务(IServiceCollection服务)
{
Configure(Config.GetSection(“AppSettings”);
// ...
}

这里缺少一些东西。假设您在beta7上,并且想要一个
config.json
文件:

首先在
Startup
构造函数中构建
IConfiguration
实例:

private IConfiguration Configuration { get; }

public Startup(IApplicationEnvironment appEnv)
{
    var configurationBuilder = new ConfigurationBuilder(appEnv.ApplicationBasePath)
        .AddJsonFile("config.json")
        .AddEnvironmentVariables();

    Configuration = configurationBuilder.Build();
}
不要忘记将
配置
属性添加到类中。此外,您需要
Microsoft.Framework.Configuration.Json
1.0.0-beta7

现在,在
ConfigureServices
方法中,您可以从中绑定设置。例如:

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<AppSettings>(Config.GetSection("AppSettings"));

    // ...
}
public void配置服务(IServiceCollection服务)
{
Configure(Config.GetSection(“AppSettings”);
// ...
}

这里缺少一些东西。假设您在beta7上,并且想要一个
config.json
文件:

首先在
Startup
构造函数中构建
IConfiguration
实例:

private IConfiguration Configuration { get; }

public Startup(IApplicationEnvironment appEnv)
{
    var configurationBuilder = new ConfigurationBuilder(appEnv.ApplicationBasePath)
        .AddJsonFile("config.json")
        .AddEnvironmentVariables();

    Configuration = configurationBuilder.Build();
}
不要忘记将
配置
属性添加到类中。此外,您需要
Microsoft.Framework.Configuration.Json
1.0.0-beta7

现在,在
ConfigureServices
方法中,您可以从中绑定设置。例如:

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<AppSettings>(Config.GetSection("AppSettings"));

    // ...
}
public void配置服务(IServiceCollection服务)
{
Configure(Config.GetSection(“AppSettings”);
// ...
}

正如Henk Mollema在评论中指出的那样,找不到配置生成器.Build的原因,我的
配置
行是红色的,因为我有混合的包版本(一些是beta5,一些是beta7)。此功能要么是在beta5之后的版本中添加的,要么由于库不匹配而找不到。在
project.json中升级到beta7修复了它


我提到的后续错误是。

正如Henk Mollema在评论中指出的那样,没有找到原因
ConfigurationBuilder.Build
,我的
配置
行是红色的,因为我有混合的包版本(一些是beta5,一些是beta7)。此功能要么是在beta5之后的版本中添加的,要么由于库不匹配而找不到。在
project.json中升级到beta7修复了它


我提到的后续错误是。

正如Henk Mollema在评论中指出的那样,没有找到原因
ConfigurationBuilder.Build
,我的
配置
行是红色的,因为我有混合的包版本(一些是beta5,一些是beta7)。此功能要么是在beta5之后的版本中添加的,要么由于库不匹配而找不到。在
project.json中升级到beta7修复了它


我提到的后续错误是。

正如Henk Mollema在评论中指出的那样,没有找到原因
ConfigurationBuilder.Build
,我的
配置
行是红色的,因为我有混合的包版本(一些是beta5,一些是beta7)。此功能要么是在beta5之后的版本中添加的,要么由于库不匹配而找不到。在
project.json中升级到beta7修复了它



我提到的后续错误是。

您使用的是什么版本?Beta7?看起来OP正在使用beta3,可能会有中断的API更改。很抱歉,我应该发布project.json。我现在就这么做。@Henk,基于那个评论,我把我的“beta5”行改为“beta7”,保存了,这个错误就消失了。现在我又犯了一个错误。我想这是一个进步。如果有什么地方