部署 ASP.NET MVC 项目

Posted

技术标签:

【中文标题】部署 ASP.NET MVC 项目【英文标题】:Deploying ASP.NET MVC Project 【发布时间】:2017-03-07 02:18:51 【问题描述】:

我正在尝试将默认 MVC 项目(来自 Visual Studio 2013)部署到远程服务器上。他们要求程序在中等信任模式下运行,我遇到了问题。我已将<trust level="Medium" originUrl="" /> 添加到Web.config 的<system.web> 部分。然后,当我尝试在本地机器上运行程序时,此行会引发 SecurityException:

@html.ActionLink("Application name", "Index", "Home", new area = "" , new @class = "navbar-brand" )

这位于 _Layout.cshtml 文件中,我没有从生成的模板中修改该文件(当您创建新的 MVC 5 项目时)。

我的问题是:我需要做什么才能让我的项目在中等信任模式下运行?

【问题讨论】:

看看this answer。似乎 [assembly: AllowPartiallyTrustedCallers] 属性已在 MVC5 中删除,这可能是 html 帮助程序中异常的原因 MS 还在known issues 中声明“ASP.NET MVC 5 不再支持部分信任....”(也许是时候换一个新的托管服务提供商了?) 叹气,谢谢。你是第一个能给我这个理由的人。如果您将其发布为答案,我会将其标记为答案。 Is trying to develop for Medium Trust a lost cause?的可能重复 【参考方案1】:

当前版本的 ASP.NET 现在只支持完全信任。 MS 在Release Notes: Known Issues 中声明:

ASP.NET MVC 5 不再支持部分信任......

特别是[assembly: AllowPartiallyTrustedCallers] 属性已从源代码中删除。您可以在 Levi 对is-trying-to-develop-for-medium-trust-a-lost-cause 的回答中阅读更多关于 ASP.NET 官方立场的信息,其中还包含有关为何移除支持的更多链接。

【讨论】:

以上是关于部署 ASP.NET MVC 项目的主要内容,如果未能解决你的问题,请参考以下文章

调试 ASP.NET MVC 应用程序时避免部署

Ubuntu 上对 ASP.NET Core Mvc进行 Docker 部署

在ASP.NET MVC部署AngularJs

在构建后事件中使用命令部署 asp.net mvc 网站

ASP.NET MVC教程三:ASP.NET MVC部署方式

ASP.NET CORE MVC使用SCD(独立部署)发布