10

因此,我在 Visual Studio 2015 中构建了一个 MVC6 应用程序,并设法弄清楚了大部分内容,但是,我还没有进行部署。

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

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

我遵循了这个过程,显然设置 IIS 网站并发布到正确的文件夹很简单……但这实际上对我不起作用。

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

4

3 回答 3

8

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

使用 Visual Studio 2015 Preview 作为您的 IDE,

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

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

    • 禁用预编译
    • 选择amd64

      (见下图)

发布设置截图

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

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

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

如果在上图所示的 Publish Web Settings 窗口中勾选了预编译选项,那么您必须

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

    <add key="kre-app-base" value="..\approot\packages\WebApplication10\1.0.0\root" />
    
于 2015-01-11T07:17:42.397 回答
1

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

1) 使用 Visual Studio 将 MVC6 应用程序发布到文件系统中,确保选择正确的 DNX 目标版本,在我的例子中是 dnx-clr-win-x64.1.0.0-rc1-update1。

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

于 2015-12-17T02:04:40.327 回答
0

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

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

对于初学者:

1)确保您在此处安装了 HttpPlatform 处理程序

2) 看起来很明显,但请确保 .net5 已安装在您的服务器

我知道这是如果您要向站点添加应用程序,但目前每个人都应该知道部署过程需要一些陷阱和急需的改进。

于 2016-02-18T08:57:33.963 回答