在IIS 8.0上部署MVC 3.0 Web应用程序项目

时间:2013-04-16 07:26:32

标签: windows model-view-controller iis deployment

通常,在webforms中,当您必须部署应用程序时,我们从Visual Studio 发布并将发布的文件夹仅放在服务器(IIS)上。但是,在MVC Web应用程序中,它是如何完成的。

是否遵循相同的方式(仅在服务器上发布文件夹)或其他方法。

我尝试过以下方法,但没有得到任何结果。

  1. Web部署包 - 完成本教程后 - > http://pluralsight.com/training/players/PSODPlayer?author=scott-allen&name=mvc3-building-deploy&mode=live&clip=0&course=aspdotnet-mvc3-intro
  2. 在Web部署包教程下,我找到了如何创建可以在IIS管理工具中导入的Web部署包。然后我发现这个链接帮助我同样的 - >

    http://www.iis.net/learn/publish/using-web-deploy/building-a-web-deploy-package-from-visual-studio-2010

    。但是在完成所有步骤之后我得到了这个错误 - > (见截图)Error after Deployment 此方法中缺少的步骤是什么?

    2. Add roles - Windows Server 2012 - turn certain features of ASP.NET 3.5 and ASP.NET 4.5 on. 
    

    我按照本教程进行了上述步骤 - >

    http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-using-aspnet-35-and-aspnet-45

    根据教程,我应该部署MVC 3.0应用程序,打开“应用程序开发”选项卡下的ASP.NET 3.5和ASP.NET 4.5功能。在此之后,要部署应用程序,我应该在“高级设置”下弹出选择.net V2.0作为应用程序池(参见ScreenShot) enter image description here

    但即使按照教程后我也会收到相同的错误“应用程序中的服务器错误......

      3. Publish under the "File System" Method. 
    

    我们右键单击该项目并选择“发布”,弹出一个对话框,显示各种部署选项。在此我们选择 - “文件系统”(见截图)enter image description here

    我们发布了该项目,但又一次遇到了同样的错误。

    问题/问题 - >

    1。在IIS 8上部署MVC 3.0应用程序的正确完全证明方式是什么?吗

    2。我们是否需要将整个解决方案放在服务器上并从那里运行

    第3。我们是否在上述三种方法中遗漏了一些步骤或一些命令

    4。我们的要求是基本上找到一种方法只将已发布的文件夹放在服务器上并运行,但它是如何在MVC中实际运行的(如Web表单)?

    5。文件系统方法(上面的第3点)是Webforms的常用方法,建议在MVC中也这样做。

    6。部署正在使用localhost,但是当通过创建虚拟目录进行尝试时,它再次无法正常工作。

    工作环境是Visual Studio 2012 - Web服务器Windows Server 2012- IIS 8

    需要帮助来解决困惑。

    此致 Mangesh

1 个答案:

答案 0 :(得分:7)

我找到了在Windows Server 2012上使用IIS8部署MVC 3.0应用程序的完整解决方案。以下是步骤:

  1. 启动Visual Studio并选择"以管理员身份运行"运行IDE时的选项。

  2. 更改Web.config以添加以下代码行。

    <globalization culture="en-US"/>
    
  3. 这可确保即使您的目标服务器具有某些不同的设置,也可以通过提及此行代码来强制执行您自己的设置。否则,您可能会遇到诸如此类的问题 - 提交具有日期字段的表单,您可能无法提交,因为日期将设置为

    01/01/01 :00:00:00:00
    
    1. 构建 - 遵循三个确定的步骤。
    2. 一个。清洁解决方案

      湾构建解决方案

      ℃。重建解决方案

      1. 如果您正在使用共享环境,请完全签入您的解决方案。右键单击Project Solution并选择Publish Option。 (ScreenShot)enter image description here

      2. 这会打开一个像这样的对话框。(截图2)。这将显示可能的部署选项和其他一些设置。

      3. 在此屏幕上,您无需执行太多操作,而且几乎可以自动设置当前发布配置文件的默认设置。

        enter image description here

        下一个屏幕截图:

        单击下一个选项卡,您将看到一系列选项,如下所示:

        第一个选项会要求您提供发布方法。它们有四种选择:

        一个。 Web部署

        湾Web -deploy包

        ℃。文件系统

        d。 FTP

        即FPSE。

        我的发布方法是&#34;文件系统&#34;。我还使用Web-Dpeloy和Web-Deploy Package部署了应用程序,但为了本文的目的,我将坚持使用文件系统。

        下一个参数询问目标位置你想要发布文件夹的位置。这可以是硬盘驱动器上的本地位置,也可以是服务器上的远程位置。我在服务器上选择了一个远程位置,在那里我创建了一个Publish文件夹,在这里我的所有文件都将在Publish之后发送。

        目标网址是可选的。我把它留空了。 enter image description here

        让我们继续下一个屏幕截图。 enter image description here

        “设置”标签为您提供以下选项:

        1. 配置:此下拉菜单中有两个选项 - 调试和发布。选择下达选项。

        2. 确保在发布之前勾选&#34;删除所有现有文件&#34;选项。这将在每次发布项目之前清除所有现有文件。

        3. 此发布方法不支持数据库发布。因此,如果您在项目中创建一个,则不要将其用于发布。在我的情况下,我使用外部数据库绑定到我的模型类,因此这个方法将起作用。

        4. 在下一个屏幕截图中:在发布项目之前预览设置。 enter image description here

          它将显示已发布的文件/文件夹所在的目标文件夹以及它将要发布的项目,并再次显示警告,指出将不会发布数据库。

          点击发布。

          检查输出窗口,因为它将逐行显示发布所需的步骤。

          最后,它将显示“成功发布项目”的消息。

          下一步:转到保存已发布文件的位置。 截图: 你应该得到这样的东西:

          enter image description here

          这是您发布的文件夹和文件。现在让我们调整IIS来运行网站。

          转到IIS8并根据屏幕截图右键单击此选项。 (此镜头可能因系统而异)。 enter image description here

          单击添加网站,打开另一个对话框,如下所示。

          enter image description here

          输入您的站点名称,然后单击&#34;选择&#34;页面右侧的按钮,将打开另一个弹出窗口,如下所示。

          enter image description here

          从此下拉列表中选择适当的框架。由于我的是一个MVC 3.0项目,我去了ASP.NET 4.0设置。 (请尝试使用这些选项来了解适合您的设置。)

          继续,输入/浏览到保存解决方案的物理路径。在我的例子中,我显示了所有已发布文件的屏幕截图。 (有时为了避免文件夹冲突,创建一个单独的文件夹并将其作为您的物理位置输入,只需将文件从您发布到新文件夹的文件夹中复制)

          保留其余条目。如果某个应用程序已在Default -80端口上运行,则提供一个新端口。单击“确定”。

          重新启动IIS。转到浏览器并输入URL。

          就是这样!! 您的MVC 3.0 Web应用程序已成功部署。

          谢谢,

          Mangesh

          (PS-请留下你的评论,如果你发现它有用,请忘记+1:)