2015-01-09 53 views
9

因此,我在Visual Studio 2015中构建了一个MVC6应用程序,并设法将大部分内容都映射出来,但是,我还没有制定出部署方案。如何配置MVC6应用程序以在IIS上工作?

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

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

我遵循这个过程,显然它是微不足道的安装IIS网站,并发布到正确的文件夹......但实际上并没有为我工作。

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

+0

你能否更详细地描述你为什么认为它不起作用? –

+0

@Cory - 我收到一个错误页面,告诉我我没有权限查看该文件夹。 – Maverick

+0

你能告诉我们文件夹结构吗? –

回答

8

以下步骤适用于我,并应帮助您在IIS上托管您的项目。

使用Visual Studio 2015年预览作为IDE,

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

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

    • 禁用预编译
    • 选择AMD64

      (见下文图)

Publish Settings Screenshot

  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. 在您发布的应用程序的文件夹中,approot文件夹中有一个packages文件夹,该文件夹应该包含一个以应用程序名称命名的文件夹,其中包含下面版本的文件夹。该文件夹内应该是一个名为root的文件夹。在web.config中,将密钥kre-app-base的值设置为root文件夹。有关参考,请参阅下面的代码行。在这个例子中,应用程序名称是WebApplication10。

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

谢谢,我会在星期一试试这个 - 我想我在发布期间有预编译问题,所以希望这是问题:)。 – Maverick

+0

如果预编译选项被打勾,那么它也将工作。但为此,你必须做小设置。我会更新我的答案。 – dotnetstep

+0

为了解决这个问题,我打开了预编译的应用程序配置文件,重要的是将IIS指向了'wwwroot'文件夹。我的实际问题是我有IIS指向我发布到相同的文件夹 - 这是不正确的:)。大规模n00b移动。附:谢谢@dotnetstep! – Maverick

1

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

1)使用视觉工作室到文件系统中发布您的MVC6应用程序,确保您选择正确的DNX目标版本在我的情况下,它的dnx-clr-win-x64.1.0.0-rc1-update1。

在IIS中输出文件夹映射“wwwroot”文件夹到您的应用程序(不要将它映射到应用程序,只有ROOT应用程序在IIS中与DNX一起使用,例如“Default Web Site”)。

+0

这些都已被接受的答案覆盖了吗? – Maverick

0

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

如果您尝试将某个应用程序添加到某个网站,那么需要在链接中详细介绍一些解决方法和额外配置。

对于初学者:

1)请确保您有HttpPlatform处理程序安装here

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

我知道这是,如果您正在向某个网站添加应用程序,但在每个人都应该意识到的时刻,部署过程需要一些陷阱和必要的改进。

相关问题