2014-12-01 74 views
1

我試圖讓我的腳與ASP.NET vNext溼潤。我對它的跨平臺方面非常感興趣。出於這個原因,我專注於使用K運行時環境。ASP.NET 5 - 啓動一個ASP.NET vNext項目

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

看看你完整的錯誤信息 - 你有什麼似乎是一個編譯錯誤的'HomeController.cs'第5行,第18位:'的類型或命名空間名稱'Mvc'不存在於名爲'System.Web'的命名空間中(您是否缺少程序集引用?)'這可能導致'server'問題。 – Tim 2014-12-01 18:54:42

+0

問題出在我的控制器上。我正在引用System.Web.Mvc; – 2014-12-01 21:05:25

回答

2

正如Tim指出的那樣,控制器中有些東西是可疑的。編號爲System.Web,但不應該使用它。它在某處被引用了嗎? vNext正在遠離System.Web;我們不應該在MVC 6中使用它。

您是否使用股票新項目?你使用最新的CTP /預覽版嗎?

如果您正在使用庫存New Project,請嘗試重新創建項目。是的,我通過重新創建股票項目來解決VS 2015中的錯誤。

我建議你閱讀這篇文章:
http://www.dzone.com/articles/developing-and-self-hosting

+0

當我做出這種改變時,我得到了一個不同的錯誤:'System.FormatException:在開關 映射中未定義短開關'-server'。 在Microsoft.Framework.ConfigurationModel.CommandLineConfigurationSource.Load () 在Microsoft.Framework.ConfigurationModel.Configuration.Add(IConfigurationSou RCE configurationSource) 在Microsoft.AspNet.Hosting.Program.Main(字串[] args)' – 2014-12-01 19:59:42

+0

我的不好,看起來你實際上需要雙重破折號。我已經更新了我的答案,並提出了一些建議,希望能夠解決您的問題。請讓我們更新。 – 2014-12-01 20:26:56

相關問題