【发布时间】:2015-09-25 19:58:40
【问题描述】:
试用新的 VS2015 项目。我在关注this tutorial,但它缺少一些东西。当我运行它时,我得到一个 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 Node 模块。我一定错过了什么,但我不知道是什么......
更新:这些是我在 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 文件(我还没有手动修改过):
{
"webroot": "public",
"version": "1.0.0-*",
"dependencies": {
"Microsoft.AspNet.Mvc": "6.0.0-beta7",
"Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta5"
},
"commands": {
"web": "Microsoft.AspNet.Hosting --config hosting.ini"
},
"frameworks": {
"dnx451": { },
"dnxcore50": { }
},
"publishExclude": [
"node_modules",
"bower_components",
"**.xproj",
"**.user",
"**.vspscc"
],
"exclude": [
"public",
"node_modules",
"bower_components"
]
}
更新:在基于 cmets 将 beta5s 更改为 beta7s 后,我克服了这个 ConfigurationBuilder 错误并转到“无法加载文件或程序集” Microsoft.Dnx.Host.Clr' 或其依赖项之一”错误,我怀疑这是另一个版本问题,我现在正在调查......但我想这将是一个不同的问题。
【问题讨论】:
-
你用的是什么版本? Beta7?
-
看起来 OP 正在使用 beta3,可能有重大的 API 更改。
-
对不起,我应该发布 project.json。我现在就这样做。
-
@Henk,基于该评论,我将“beta5”行更改为“beta7”,保存,此错误消失了。现在我有另一个错误嘿。我想这就是进步。
-
如果某处有冲突/依赖性检查以提醒这样的组合可能会导致问题,那就太好了......尽管管理该图表可能会很困难。
标签: c# asp.net-core dnx