我想托管在Amazon免费微实例上使用MVC 6和Entity Framework 7的ASP.NET 5项目。 我找不到关于如何在IIS上托管ASP.NET 5项目的任何分步说明,所有材料都提到这是可能的,但没有任何指南。 基本上,我正在部署到本地文件夹,然后复制到新创建的站点,但没有任何工作。 不幸的是,我不能使用Azure,因为它只有一个月的免费试用,而不是一年。
答案 0 :(得分:23)
我正在使用Visual Studio 2015 Preview来创建ASP.NET 5项目。我认为现在在IIS上部署起来并不困难。 首先通过在VS 2015预览中将其发布为文件系统来发布您的网站,然后将发布的文件夹复制到您的服务器,在IIS中创建应用程序并将应用程序文件夹设置为wwwroot文件夹(而不是根文件夹),这就是全部。 请注意,在发布之前,请检查您的网站project.json中是否存在“Microsoft.AspNet.Server.IIS”。
编辑: 在wwwroot文件夹中应该有一个web.config,web.config的内容可能是这样的(发布时使用预编译选项):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="kpm-package-path" value="..\approot\packages" />
<add key="bootstrapper-version" value="1.0.0-beta1" />
<add key="kre-package-path" value="..\approot\packages" />
<add key="kre-version" value="1.0.0-beta1" />
<add key="kre-clr" value="CoreCLR" />
<add key="kre-app-base" value="..\approot\packages\Rvc.PopUpSite\1.0.0\root" />
</appSettings>
</configuration>
或者像这样(没有预编译选项):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="kpm-package-path" value="..\approot\packages" />
<add key="bootstrapper-version" value="1.0.0-beta1" />
<add key="kre-package-path" value="..\approot\packages" />
<add key="kre-version" value="1.0.0-beta1" />
<add key="kre-clr" value="CoreCLR" />
<add key="kre-app-base" value="..\approot\src\Rvc.PopUpSite" />
</appSettings>
</configuration>
请注意kre-app-base
的值。在Visual Studio中发布后,有时它的值为空字符串。
答案 1 :(得分:3)
<强> 1。首先,您需要将站点发布到文件系统:
<强> 2。在IIS中创建一个新应用程序:
第3。在步骤2的网站目录中解压缩您在步骤1中创建的文件。该文件夹应如下所示:
<强> 4。您可能还需要安装DNVM(以前称为KVM)和DNX Runtime Environment(以前称为KRE):
答案 2 :(得分:3)
我对DNX Beta 4也有同样的问题。
如果有人遇到同样的问题:
在Visual Studio 2015 RC中发布网站时,必须以x64框架(目标DNX版本)为目标,并编写&#34; XXX \ wwwroot&#34;在IIS网站配置中的物理路径中。
答案 3 :(得分:1)
您可以使用文件系统发布方法。请遵循以下步骤:
1 /在Visual Studio的文件夹中生成.dll文件
2 /在IIS管理器中创建一个网站,并在文件夹的路径中提供
答案 4 :(得分:1)
我找到了我错过的内容,我需要在projct.json文件中将网址更改为我的公共DNS:
&#34; web&#34;:&#34; Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://ec2-54-68-21-4.us-west-2.compute.amazonaws.com/
然后在将网站上传到亚马逊后,我需要在网站根目录中运行web.cmd