【问题标题】:Is asp.net MVC2 included in .net 4.0 framework?.net 4.0 框架中是否包含 asp.net MVC2?
【发布时间】:2011-04-04 16:37:23
【问题描述】:

我已经在服务器中安装了 .net 4。
现在我不知道我是否必须为 VS2008 安装 MVC 2 还是什么,因为我收到了这个错误:

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

【问题讨论】:

    标签: asp.net-mvc-2 .net-4.0


    【解决方案1】:

    VS 2010 带有 MVC 2,但它不是 .NET Framework 的一部分。这意味着,如果您下载 .NET Framework 4 可再发行组件,它将不包含 MVC 2 运行时。

    但是由于 MVC 是可二进制部署的,所以这很好。您的应用程序 - 当部署到 .NET 3.5 SP1 或 .NET 4 服务器时 - 只需将 System.Web.Mvc.dll 复制到其 /bin 文件夹,一切都会按预期运行。 MVC 在 Medium Trust 中运行良好。

    要进行服务器范围安装,您需要从here 下载AspNetMVC2_VS2008.exe,将.exe 重命名为.zip,然后在mvcruntime 子文件夹中找到AspNetMVC2.msi 文件。

    然后你必须运行:

    msiexec /i AspNetMVC2.msi /l*v .\mvc.log MVC_SERVER_INSTALL="YES"
    

    【讨论】:

    • @Levi:谢谢。复制本地和作品。 Haacked 和团队必须为 .net 4 准备最终版本
    • @Eduardo - 没有将 MVC 框架纳入 .NET 框架的计划。显然,这种情况可能会改变,但未来的所有版本极有可能继续是带外版本。
    • 我的意思是 MVC 2 的 .net 4 编译设置准备转到共享程序集文件夹。
    • MVC 2 是针对 .NET 3.5 SP1 而不是 .NET 4 编译的。(因此 MVC 2 可以在 .NET 4 上运行,它只是无法利用 .NET 4 特定的功能。)将针对 .NET 4 编译的第一个 MVC 版本是 MVC 3。
    【解决方案2】:

    默认情况下,编译 MVC 2 项目时不包含 System.Web.Mvc.dll; 您必须在 Reference 属性上将“Copy Local”设置更改为 True 才能在 /bin 中获取文件

    【讨论】:

    • 谢谢!这对我很有用。我不需要在我的机器上本地复制文件,但在服务器上运行时确实需要。你能解释一下为什么这是必要的吗?
    猜你喜欢
    • 2011-06-13
    • 2013-02-13
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    相关资源
    最近更新 更多