如何配置MVC6应用程序在IIS上工作?

时间:2015-01-09 03:43:11

标签: iis visual-studio-2015 asp.net-core-mvc asp.net-core

所以我在Visual Studio 2015中构建了一个MVC6应用程序,并设法解决了大部分内容,但是,我还没有完成部署。

在MVC4(之前我使用过的)中,我们的流程*发布到文件夹,然后在IIS中设置网站(右键单击Sites - > Add Website)。

  • 实际上,我们的流程是在IIS和TeamCity中设置的,但不是针对这样的测试应用程序:)。

我遵循了这个过程,显然设置IIS网站并发布到正确的文件夹是微不足道的......但这对我来说实际上并不适用。

我们在Windows Server 2012上运行IIS 8,并且已经在服务器上安装了.Net 4.6运行时。

3 个答案:

答案 0 :(得分:8)

以下步骤对我有用,应该可以帮助您在IIS上托管项目。

使用Visual Studio 2015 Preview作为IDE,

  1. 创建一个ASP .NET 5 Starter App。
  2. 检查它是否在IIS之外工作。
  3. 完成后,发布应用程序。在此示例中,我选择了位置C:\PublishWebApp

    3.1。发布您的应用程序时,请确保您拥有:

    • 已禁用预编译
    • 选择amd64

      (见下图)

  4. Publish Settings Screenshot

    1. 成功发布后,转到C:\PublishWebApp。您应该会在里面看到approotwwwroot个文件夹。
    2. 现在打开IIS管理器(我假设您启用了ASP .NET 4.5功能)
    3. 创建一个新网站。

      6.1:选择wwwrooot文件夹作为网站的物理路径。在此示例中,它是C:\PublishWebApp\wwwroot

    4. 检查网站是否有效。如果您遇到任何错误,请在此处发布。

    5. 如果在上图所示的“发布Web设置”窗口中勾选了预编译选项,那么您必须

      1. 转到已发布的Web应用程序的wwwroot文件夹。在此示例中,它是C:\PublishWebApp\wwwroot
      2. 找到web.config
      3. 在已发布应用程序的文件夹中,packages文件夹中有一个approot文件夹,其中应包含一个以应用程序命名的文件夹,下面是该版本的文件夹。该文件夹内应该是名为root的文件夹。在web.config中,将密钥kre-app-base的值设置为root文件夹。供参考,请参阅下面的代码行。在此示例中,应用程序名称为WebApplication10。

        <add key="kre-app-base" value="..\approot\packages\WebApplication10\1.0.0\root" />
        

答案 1 :(得分:1)

我花了几个小时来调试问题,最后得到了它的工作,步骤:

1)使用visual studio将MVC6应用程序发布到文件系统中,确保在我的情况下选择正确的DNX目标版本为dnx-clr-win-x64.1.0.0-rc1-update1。

在输出文件夹地图&#34; wwwroot&#34; IIS中的应用程序文件夹(请勿将其映射到应用程序,只有IIS中的ROOT应用程序与DNX一起使用,例如#34;默认网站&#34;)。

答案 2 :(得分:0)

我花了一天时间试图让这个工作。我发现这个here(搜索GuardRex的帖子)非常宝贵,完成了接受的答案给出的步骤,这是它的开始。

如果您尝试将某个应用程序添加到某个站点,则需要进行大量的变通办法和链接中详细说明的额外配置。

首先:

1)确保安装了HttpPlatform处理程序here

2)似乎很明显但请确保.net5已安装在您的服务器上here

我知道如果您要向网站添加应用程序,但是在每个人都应该注意的那一刻,部署过程需要进行一些陷阱和急需的改进。