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

Posted

技术标签:

【中文标题】ASP.NET 5 - 启动 ASP.NET vNext 项目【英文标题】:ASP.NET 5 - Starting an ASP.NET vNext project 【发布时间】:2015-01-29 20:32:10 【问题描述】:

我正在尝试使用 ASP.NET vNext。我对它的跨平台方面非常感兴趣。因此,我专注于使用 K 运行时环境。

我查看了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": 
  

我做错了什么?谢谢!

【问题讨论】:

查看您的完整错误消息 - 您在第 5 行第 18 位的 HomeController.cs 中出现编译错误:The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly reference?) 这可能会导致 server 问题。跨度> 问题出在我的控制器上。我在引用 System.Web.Mvc; 【参考方案1】:

正如 Tim 所指出的,您的控制器中有问题。

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

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

如果您使用的是现有的新项目,请尝试重新创建该项目。是的,我只通过重新创建股票项目解决了 VS 2015 中的一个错误。

我会推荐你​​阅读这篇文章:http://www.dzone.com/articles/developing-and-self-hosting

【讨论】:

当我做出改变时,我得到一个不同的错误:System.FormatException: The short switch '-server' is not defined in the switch mappings. at Microsoft.Framework.ConfigurationModel.CommandLineConfigurationSource.Load () at Microsoft.Framework.ConfigurationModel.Configuration.Add(IConfigurationSou rce configurationSource) at Microsoft.AspNet.Hosting.Program.Main(String[] args) 我的错,看起来你实际上需要双破折号。我已经用一些建议更新了我的答案,希望能解决您的问题。请让我们更新。

以上是关于ASP.NET 5 - 启动 ASP.NET vNext 项目的主要内容,如果未能解决你的问题,请参考以下文章

奇怪的间歇性 SQL 连接错误,重新启动时修复,3-5 天后恢复 (ASP.NET)

HTTP 错误 500.30 - ASP.NET Core 5 应用程序无法启动

Asp.Net 5 项目托管

IIS上asp.net网站启动不了,错误如下图:

ASP.NET 5 ,想要将实体框架从 Web 项目中分离出来

将 ASP.NET Core 5 Web API 发布到 Azure 应用服务