繁体   English   中英

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

[英]How to configure an MVC6 app to work on IIS?

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

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

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

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

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

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

使用Visual Studio 2015 Preview作为IDE,

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

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

    • 禁用预编译
    • 选择amd64

      (见下图)

发布设置屏幕截图

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

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

  4. 检查网站,看它是否正常工作。 如果您遇到任何错误,请在此处发布。

如果在上图所示的“发布Web设置”窗口中勾选了预编译选项,则必须执行此操作

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

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

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

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

在输出文件夹中将“wwwroot”文件夹映射到IIS中的应用程序(不要将其映射到应用程序,只有IIS中的ROOT应用程序与DNX一起使用,例如“默认网站”)。

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

几乎如果您尝试将应用程序添加到站点,则需要在链接中详细说明需要解决方法和额外配置。

对于初学者:

1)确保您已经安装了HttpPlatform处理器这里

2)似乎是显而易见的,但要确保.net5已安装在服务器上的位置

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM