如何在IIS7上安装asp.net mvc 2?

Gar*_*ill 8 asp.net-mvc iis-7

我开发了一个ASP.NET MVC 2网站,现在需要将它部署到我的Web服务器上.我已经克服了一些障碍,因为ASP.NET没有安装等等,但我现在已经到了可以提供普通内容文件的地步,如果我尝试点击我的一个MVC URL,我得到这个:

无法加载文件或程序集'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件.

不足为奇,因为我没有安装MVC2.问题是,我找不到有关如何安装它的任何好信息!

微软下载中心列出了3个文件,其中没有一个看好:

ASP.NET-MVC-2-RTM-RELEASE-Notes.doc

AspNetMVC2_VS2008.exe

mvc2-ms-pl.zip

该网站并不打算解释文件实际是什么,但我认为最后一个文件是源代码.无论如何,这就是它的样子.发行说明没有任何帮助,因为它们都是关于在开发机器上安装的,实际上EXE的名称清楚地说明了所有关于Visual Studio集成的内容.

那么我该如何实际部署这个糟糕的东西呢?

Scott Gu的博客相关联的另一个选项是Microsoft Web Platform Installer.现在,我不想安装不仅仅是MVC2,而且我已经安装了IIS等,所以这看起来有点沉重.但这都是学术性的,因为它拒绝在我的服务器上运行,说"你的系统不受支持"或者说是这样的话.(服务器是Windows Server 2008 Standard SP2,所以我真的不知道它的问题是什么).

救命!

[荒谬的是,这应该是如此艰难 - 或者根本不是很难,但肯定是一个保守的秘密!]

Fen*_*ton 9

要部署MVC应用程序,您只需确保将引用设置为复制到bin文件夹.具体来说,这些DLL将需要在那里......

System.ComponentModel.DataAnnotations.dll
System.Web.Abstractions.dll
System.Web.Mvc.dll
System.Web.Routing.dll
Run Code Online (Sandbox Code Playgroud)

注意:复制对bin文件夹的引用.

实际上,您可以按照以下步骤执行此操作:

  1. 右键单击项目"引用"部分中的引用
  2. 选择"属性"
  3. 找到"复制本地"属性并将其设置为"true"

请注意!

System.Web.Abstractions.dll
System.Web.Routing.dll
Run Code Online (Sandbox Code Playgroud)

如果尚未安装.NET 3.5 SP1,则只需要这两个 - 如果没有SP1,则需要包含这两个dll,它们是SP1的一部分,并且是MVC用于路由的.


Edu*_*eni 5

Darin Dimitrov在这个答案中给出了正确的答案(为方便起见,贴在这里):

您可以执行不需要安装Visual Studio的服务器安装:

msiexec /i AspNetMVC2.msi /l*v .\mvc.log MVC_SERVER_INSTALL="YES"
Run Code Online (Sandbox Code Playgroud)

现在你可能会问这是AspNetMVC2.msi从哪里来的.实际上你AspNetMVC2_VS2008.exe这里下载,重命名为.exeto .zip和inside你会找到你要找的东西(在mvcruntime子文件夹中).