簡體   English   中英

運行ASP.NET 5跨平台

[英]Running ASP.NET 5 Cross-Platform

我對Windows和Mac OS機器上的ASP.NET 5感興趣。 首先,我在Windows機器上安裝了Visual Studio 2015 RC。 我為ASP.NET 5(又名vNext)創建了一個新的空網站。 我使用Views目錄更新了模板,並包含了MVC和Static Files nuget包。 我可以成功運行這個“Hello World”應用程序。 我也成功地將其檢入GitHub並自動將其部署到Azure作為網站。

然后,我在Mac OS機器上克隆了存儲庫。 我成功運行了dnu restore來獲取軟件包。 然后我跑了dnx . run dnx . run 當我這樣做時,我收到了一個錯誤。 錯誤是:

'Website' does not contain a static 'Main' method suitable for an entry point

我究竟做錯了什么? 我有一個Startup.cs文件。 我知道它的工作原理是它在Windows和Azure上運行。 然而,我無法弄清楚我錯過了什么。 我的Startup.cs文件如下所示:

Startup.cs

using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.Framework.ConfigurationModel;
using Microsoft.Framework.DependencyInjection;

namespace Test.Site.Web
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }

        public void Configure(IApplicationBuilder app)
        {
            app.UseErrorPage();
            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute("default",
                  "{controller}/{action}/{id}",
                  defaults: new { controller = "Home", action = "Index" });
            });

            app.UseMvc();
            app.UseWelcomePage();
        }
    }
}

我做錯了什么?

project.json文件中,應該有一組命令來運行項目。 默認情況下,其中一個是web ,一個是kestrel Kestrel是OS X和Linux的服務器,它基於libuv ,與Node相同的庫。

"commands": {
    "gen": "Microsoft.Framework.CodeGeneration",
    "kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004",
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5002"
},

(我目前沒有VS 2015在我面前,因此我不能100%確定“空”項目中的默認命令,因此您可能需要添加kestrel命令)。

因此,運行此命令以在OS X或Linux上啟動服務器:

dnx . kestrel

如果從Windows上的命令提示符啟動它,則使用:

dnx . web

請注意,您可以根據需要自定義命令。 例如,一個命令可能會生成數據庫。 另一個可能會分析服務器的系統要求。 有人甚至可以卸載應用程序!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM