我正试图用 ASP.NET vNext弄湿我的脚。我对它的跨平台方面非常感兴趣。出于这个原因,我专注于使用 K 运行时环境。
我已经查看了主页上提供的示例。不过,这些示例对我没有帮助。我有一个结构如下的项目:
/
/client
/server
/controllers
HomeController.cs
/views
/home
Index.cshtml
project.json
Startup.cs
当我使用 project.json 导航到目录时,我从命令行运行以下命令。
C:MyProjectserver>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:MyProjectservercontrollersHomeController.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": {}
}
}
我做错了什么? 谢谢!
正如 Tim 指出的那样,您的控制器中有一些可疑的东西。
编译器要求System.Web
但你不应该使用它。它在某处引用了吗? vNext
正在远离System.Web;我们不应该在MVC 6
中使用它.
您是否正在使用库存新项目?是否使用最新的 CTP/预览版?
如果您使用的是库存新项目,请尝试重新创建项目。是的,我已经通过仅重新创建股票项目解决了VS 2015中的一个错误。
我建议您阅读这篇文章:
http://www.dzone.com/articles/developing-and-self-hosting