Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 跨平台运行ASP.NET5_C#_Asp.net_Macos - Fatal编程技术网

C# 跨平台运行ASP.NET5

C# 跨平台运行ASP.NET5,c#,asp.net,macos,C#,Asp.net,Macos,我对Windows和Mac OS机器上的ASP.NET 5感兴趣。首先,我在Windows计算机上安装了Visual Studio 2015 RC。我为ASP.NET5(又名vNext)创建了一个新的空网站。我用一个Views目录更新了模板,并包含了MVC和静态文件nuget包。我可以成功运行这个“Hello World”应用程序。我还成功地将其签入GitHub,并将其作为网站自动部署到Azure 然后,我在Mac OS机器上克隆了存储库。我成功地运行了dnu restore以获取软件包。然后我

我对Windows和Mac OS机器上的ASP.NET 5感兴趣。首先,我在Windows计算机上安装了Visual Studio 2015 RC。我为ASP.NET5(又名vNext)创建了一个新的空网站。我用一个Views目录更新了模板,并包含了MVC和静态文件nuget包。我可以成功运行这个“Hello World”应用程序。我还成功地将其签入GitHub,并将其作为网站自动部署到Azure

然后,我在Mac OS机器上克隆了存储库。我成功地运行了
dnu restore
以获取软件包。然后我运行了dnx。运行。当我这样做的时候,我得到了一个错误。错误是:

'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是OSX和Linux的服务器,它基于为其供电的同一个库

(目前我面前没有VS 2015,因此我无法100%确定“空”项目中的默认命令,因此您可能需要添加kestrel命令)

因此,运行以下命令在OS X或Linux上启动服务器:

dnx . kestrel
如果您是从Windows上的命令提示符启动它,您将使用:

dnx . web

注意:您可以根据自己的喜好自定义命令。例如,一个命令可以生成数据库。另一个可能会分析服务器的系统需求。甚至可以卸载该应用程序

非常感谢你。我想知道为什么在我看到的一些示例中有两个条目。感谢您的全面回复。@ZachTempleton那么默认情况下,空的网站模板中有
kestrel
命令?请让我知道,以便我可以更新我的答案。
dnx . web