IIS上的ASP.NET 5项目托管

时间:2014-12-05 21:53:43

标签: asp.net asp.net-mvc iis amazon asp.net-core

我想托管在Amazon免费微实例上使用MVC 6和Entity Framework 7的ASP.NET 5项目。 我找不到关于如何在IIS上托管ASP.NET 5项目的任何分步说明,所有材料都提到这是可能的,但没有任何指南。 基本上,我正在部署到本地文件夹,然后复制到新创建的站点,但没有任何工作。 不幸的是,我不能使用Azure,因为它只有一个月的免费试用,而不是一年。

5 个答案:

答案 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。首先,您需要将站点发布到文件系统:

visual studio 2015 publish window

<强> 2。在IIS中创建一个新应用程序:

Add website IIS manager button Add website IIS manager window

第3。在步骤2的网站目录中解压缩您在步骤1中创建的文件。该文件夹应如下所示:

enter image description here

<强> 4。您可能还需要安装DNVM(以前称为KVM)和DNX Runtime Environment(以前称为KRE):

Install the DNVM - dotnet version Manager (KVM)

Install the DNX runtime environment inside DNVM (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