ASP.NET 5 - 启动ASP.NET vNext项目

时间:2014-12-01 18:49:13

标签: c# asp.net asp.net-core

我试图用ASP.NET vNext弄湿我的脚。我对它的跨平台方面非常感兴趣。出于这个原因,我专注于使用K Runtime Environment。

我查看了home page上提供的示例。那些样本对我没有帮助。我有一个像这样结构的项目:

/
 /client
 /server
  /controllers
   HomeController.cs
  /views
   /home
     Index.cshtml
  project.json
  Startup.cs

当我使用project.json导航到目录时,我从命令行运行以下命令。

C:\MyProject\server>k web

我收到以下错误:

System.IO.FileLoadException: Could not load file or assembly 'server' or one of its dependencies. General Exception (Exception from HRESULT: 0x80131500)
File name: 'server' ---> Microsoft.Framework.Runtime.Roslyn.RoslynCompilationException: C:\MyProject\server\controllers\HomeController.cs(5,18): error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)

我觉得Startup.cs正在寻找名为server的内容。但它并不存在。我怀疑project.json缺少某些东西。但是,我不知道是什么。我的project.json如下所示:

{
    "dependencies": {
        "Kestrel": "1.0.0-beta1",
        "Microsoft.AspNet.Diagnostics": "1.0.0-beta1",
        "Microsoft.AspNet.Hosting": "1.0.0-beta1",
        "Microsoft.AspNet.Mvc": "6.0.0-beta1",
        "Microsoft.AspNet.Server.WebListener": "1.0.0-beta1"
    },
    "commands": {
        "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5001"
    },
     "frameworks": {
        "aspnet50": {},
        "aspnetcore50": {}
  }
}

我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:2)

正如蒂姆所指出的那样,你的控制器中有些东西是可疑的。

编译器要求System.Web,但您不应该使用它。它被引用到某个地方吗? vNext正在远离System.Web;我们不应该在MVC 6中使用它。

您使用的是新项目吗?您使用的是最新的CTP /预览版吗?

如果您正在使用新项目库存,请尝试重新创建项目。是的,我通过仅重新创建库存项目解决了VS 2015中的错误。

我建议你阅读这篇文章:
http://www.dzone.com/articles/developing-and-self-hosting