我可以在 .net 4 中部署我的 ASP.NET MVC 4 应用程序吗

Posted

技术标签:

【中文标题】我可以在 .net 4 中部署我的 ASP.NET MVC 4 应用程序吗【英文标题】:Can I deploy my ASP.NET MVC 4 application in .net 4 【发布时间】:2012-03-21 20:10:51 【问题描述】:

我想知道 IS ASP.NET MVC 4 应用程序可以在 .NET 4 服务器上运行。

我正在尝试部署我的 MVC4 应用程序,但出现了错误。

500 - 内部服务器错误。 你的资源有问题 正在寻找,无法显示。

我的目标是 .net 4 框架,但我仍然遇到此错误。我不确定服务器会发生什么。我正在尝试查看其他帖子,但我没有找到任何可以明确 MVC 4 可以在 .net 服务器上运行的帖子。

【问题讨论】:

“.NET 4 服务器”是什么意思?您是否尝试在自制的服务器应用程序中运行它,而不是做正常的事情并在 IIS 中运行它? @JoeWhite 表示具有 .net 4 应用程序的基于窗口的服务器也可以运行 MVC 4。如果它造成混淆,请编辑我的问题。 500 错误可能意味着几乎任何错误...您可以查看服务器的事件日志吗? @HenkHolterman 实际上我从某人那里得到了一个服务器来测试我自己的脚本。我已经安装在子域/目录。 服务器上是否安装了MVC4?如果没有,您将需要按照haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx 此处的说明进行 bin 部署。这适用于 MVC3,但我认为它应该与 4 相同。此外,如果您发布堆栈跟踪信息也会有所帮助。 【参考方案1】:

是的。 ASP.Net MVC 4 将在 ASP.Net 4 和 ASP.Net 4.5 上运行。我在 ASP.Net 4 上运行一个站点,它也在this blog post by Scott Gu 中得到确认。这假设您的应用程序中没有针对任何新的 4.5 功能。

如果服务器尚未安装所需的 MVC 4 .dll 文件,请确保将它们复制到 bin 文件夹中。 This post by Phil Haack 解释了如何 bin 部署版本 3。Hanselman has a similar article。您需要检查 the version 4 release notes 以获取当前所需的 .dll。

如果您可以提供一些额外的详细信息,我们或许可以提供更具体的答案,并让我们知道您正在运行的 IIS 和 Visual Studio 版本。

【讨论】:

现在有 NuGet 包可以为您解决问题,对吧?【参考方案2】:
    右键单击您的 mvc4/webapi 项目,选择“添加库包引用...”项,选中“ASP.NET MVC”复选框。 在您的服务器上安装 DotNet Framework 4 Client Profile。因为引用项“System.Net.Http”目标框架是 .net4 客户端配置文件。 将您的 mvc4 项目发布到您的服务器 享受......:)_

【讨论】:

【参考方案3】:

Razor 2 是 WebPages/MVC 框架下一波浪潮的一部分,因此它 将需要 MVC4。没有什么能阻止您使用我们的 将 Razor 2 插入 MVC3 的开源代码,但不受支持 场景。

请记住,MVC 4 可以在 .NET 4.0 上运行,并且不需要 .NET 4.5!

ASP.net mvc programmer blog

【讨论】:

不,它不需要 4.5,直到你使用 4.5 的功能,如捆绑/异步/等待,然后你就炸了:) @AdamTuliper,好的。但这不仅仅是mvc4...没有4.5就不能使用async,它与asp.net或asp.net-mvc-4无关 当然可以 - mvc4 源代码中使用了异步,因此它必须与 mvc4 和 .net 4.5 一起使用,但我们都知道最终结果 - 如果你想要,你显然需要 4.5,如果不是,你很高兴。 . 仅供参考,如果您引用 Microsoft.Bcl.Async NuGet 包,MVC4+.NET4.0 中仍然可以使用异步。 (不过需要 VS2012)

以上是关于我可以在 .net 4 中部署我的 ASP.NET MVC 4 应用程序吗的主要内容,如果未能解决你的问题,请参考以下文章

如何将c#做好的asp.net网站部署到iis上

将 ASP.NET 5 远程发布到 IIS

用户'IIS APPPOOL ASP.NET v4.0'登录失败

请问IIS中如何部署asp.net项目?

ASP.NET Core 1.0 部署 HTTPS

在 iis 中部署 asp.net webforms 我根本没有 Css 样式