15

我在运行我的网站时遇到了问题。

我已经开发了网站,当我点击 F5 查看结果时,我看到了这个错误

说明:应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请联系您的系统管理员或在配置文件中更改应用程序的信任级别。

异常详细信息:System.Security.SecurityException:请求“System.Web.AspNetHostingPermission,System,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”类型的权限失败。

错误页面

我怎么解决这个问题。

4

13 回答 13

16

如果您在网络驱动器上映射应用程序文件夹或从 UNC 路径打开解决方案文件,通常会发生此错误。像这样的东西:

无效示例: \\my-server\my-project

尝试从直接路径打开您的解决方案

有效示例:C:\Project\MyProject

您还可以更改您的App Pool Identity权限,但不建议这样做:

Web 服务器 (IIS) > 应用程序池标识 > 高级设置 > 将标识设置为 网络服务

于 2014-01-21T07:55:53.833 回答
9

对我有用的一次性解决方案是将应用程序池标识(高级设置)设置为网络服务

于 2014-10-28T06:37:44.250 回答
5

尝试将应用程序池的“加载用户配置文件”值设置为“真”。它对我有用。

于 2015-11-25T09:41:23.387 回答
4

对于它的价值,我发现AjaxControlKit.dll部署的服务器上的 被阻止了。为了解决这个问题,我将 dll 复制到一个新文件夹,然后复制并粘贴到该bin文件夹​​中。我猜.net 不喜欢将 dll 直接复制到 web 文件夹

于 2014-05-02T16:55:12.033 回答
3

您可以运行以下命令将 FullTrust 授予远程共享:

C:\Windows\Microsoft.NET\Framework\v2.0.50727>caspol.exe -m -ag 1 -url "file:////\yourcomputername\yoursharename*" FullTrust -exclusive on

希望这可以帮助。

于 2012-11-28T11:19:36.740 回答
2

我尝试了此处发布的所有解决方案以及其他许多地方,但对我没有任何帮助。在我尝试在我的项目中使用 AjaxControlToolkit 2.0 之前,我的项目位于网络驱动器上。显然,有关网络驱动器权限的某些内容不允许工具包中的控件运行。我将我的项目移回本地硬盘,一切都开始工作了。

于 2013-12-06T15:24:39.307 回答
2

我也遇到过这个问题,但在任何地方都没有看到这个特定的解决方案。

在检查 IIS 用户的权限、模拟用户并授予应用程序完全信任后,仍然出现错误,我在运行 IIS 的服务器上安装了 Procmon.exe 并注意到 IIS 试图访问一些 Framework64 文件违规网站。我检查了应用程序池高级设置,发现“启用 32 位应用程序”设置为 false。将此设置更改为 true 被证明是正确的操作。生活很好。

于 2016-07-22T14:42:01.060 回答
1

我面临同样的问题,然后我意识到我正在从远程文件夹运行解决方案。将必要的文件复制到本地文件夹将解决问题。但请确保您的文件夹具有完全权限

于 2013-07-04T08:30:55.197 回答
0

虽然此页面上的所有其他答案可能是任何人的问题的原因,但最常见的是由于 Windows Server 2012 及更高版本中的操作系统安全性更改。从 Internet 下载的任何文件都会被 Windows 标记为可疑文件,并且需要在 IIS 中使用之前手动解除阻止。因此,如果您 FTP 代码、通过电子邮件发送代码或通过云提供商传输代码,它将被标记和阻止。

最好的解决方案是使用 Visual Studio 中内置的 Web 发布工具,或者如果您在域中,则通过网络共享进行传输,每个都可以避免这个问题。但是,如果您必须通过我上面描述的一种方式将代码复制到另一台服务器,您应该在传输之前压缩所有内容,这样您就只剩下一个文件来解锁。如果您在取消阻止之前解压缩,则每个文件都将被阻止,并且多选不会让您选择取消阻止。

所以最后......解除阻止:右键单击文件并选择属性。在靠近底部的第一页上,您会看到一个取消阻止按钮以及该文件是从 Internet 下载的警告!

于 2018-04-14T19:58:10.257 回答
0

我找到了一个适用于我的系统的潜在解决方案,并且不需要更改为Network Service.

转到应用程序池 -> 高级设置 -> 进程模型 -> 加载用户配置文件:True

这个答案的来源

于 2021-06-22T17:18:12.963 回答
0

如果使用此选项编译 dll(不要合并。为每个页面和控件创建单独的程序集),请确保 dll 是最新的。由于aspx文件是新文件,我遇到了错误,但dll仍然使用旧文件。

于 2019-11-08T11:06:13.493 回答
-1

我遇到了这个错误,它似乎是一个通用错误。由于这个问题有几个答案,我将添加我的。在远程服务器上重新发布网站似乎为我解决了这个问题。

于 2016-01-29T17:31:53.967 回答
-1

解决此问题的最佳方法是以“管理员”身份运行 Visual Studio。右键单击 Visual Studio 图标并选择“以管理员身份运行”。

以完全管理员权限打开 Visual Studio 后,您将能够毫无问题地访问该页面。

于 2015-10-08T11:50:19.670 回答