【问题标题】:Request for the permission of type 'System.Web.AspNetHostingPermission' failed when compiling web site on a Network Share or Intranet Project在网络共享或 Intranet 项目上编译网站时,请求“System.Web.AspNetHostingPermission”类型的权限失败
【发布时间】:2011-02-15 16:15:12
【问题描述】:

我使用 Windows 7 已经有一段时间了,但自从升级后,我就不必使用特定的旧版 Intranet 应用程序了。不幸的是,此应用程序设置为托管在 Intranet 服务器上的 ASP.NET 网站项目。当我在 Visual Studio 2008 中打开网站并尝试对其进行调试时,我收到以下编译器错误:

请求“System.Web.AspNetHostingPermission”类型的权限失败

要在 Windows Vista 机器上解决此问题,我会将机器的 .NET 安全配置信任级别更改为本地 Intranet (fix outlined here) 的完全信任级别。我相信这个配置实用程序依赖于 mscorcfg.msc,从粗略的研究来看,它似乎是 .NET 2.0 SDK 的一部分。我已尝试按照此Microsoft Support article 的说明运行以下命令,但无济于事。

驱动器:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol.exe -m -ag 1 -url "file:////\\computername\sharename\*" FullTrust -exclusive on

目前,我的机器上安装了以下 .NET、ASP.NET 和 .NET SDK 组件

  • Microsoft .NET Compact Framework 2.0 SP2
  • Microsoft .NET Compact Framework 3.5
  • Microsoft .NET Framework 4 客户端配置文件
  • Microsoft .NET Framework 4 扩展版
  • Microsoft .NET Framework 4 多目标包
  • 微软 ASP.NET MVC 1.0
  • 微软 ASP.NET MVC 2
  • Microsoft ASP.NET MVC 2 - Visual Studio 2008 工具
  • Microsoft ASP.NET MVC 2 - Visual Studio 2010 工具
  • Microsoft Windows SDK for Visual Studio 2008 .NET Framework 工具 - enu
  • 适用于 Visual Studio 2008 标头和库的 Microsoft Windows SDK
  • Microsoft Windows SDK for Visual Studio 2008 SDK 参考程序集和 IntelliSense
  • 适用于 Visual Studio 2008 SP1 工具的 Microsoft Windows SDK
  • 适用于 Visual Studio 2008 SP1 Win32 工具的 Microsoft Windows SDK
  • 适用于 Windows Server 2008 的 Microsoft Windows SDK (6001.18000.367)

我需要安装 .NET 2.0 SDK 吗?我是否错误地发出了caspol 命令?我还有什么遗漏的吗?

【问题讨论】:

    标签: .net asp.net visual-studio debugging webforms


    【解决方案1】:

    尝试将应用程序池设置Load User Profile更改为True

    在 Windows 7 中,默认设置为 False。似乎在 Windows Vista IIS 7 中会自动为您设置。

    【讨论】:

    • 对于在 Visual Studio 的 Cassini 下运行的东西是否如此?我没有在本地安装 IIS。
    【解决方案2】:

    在进行了一些额外的挖掘之后,我发现了 Aaron Stebner 的一篇博客文章,内容涉及 Details about setup for the .NET Framework 2.0 configuration tool。 Stebner 详细说明了配置实用程序是如何从 .NET 可再发行组件中删除并仅放置在 SDK 中的。几年前没什么大不了的,但现在社区依赖较新的 SDK 并且只安装框架的可再发行/紧凑版本,我们无法访问 .NET Framework 2.0 配置工具。

    微软的官方回复是Configure Security Policy Using the Code Access Security Policy Tool (Caspol.exe)。不幸的是,这个命令行实用程序对我不起作用。但是,我不排除用户错误导致失败的原因。

    最终,Stebner 解决了我的问题,因为他提供了installer for the configuration tool。一旦我安装了配置实用程序,我就可以按照DotNetSlackers article System.Web.AspNetHostingPermission when Accessing Network or Intranet Projects using Visual Studio 2005 中概述的步骤进行操作,我已将其解释为以下步骤。

    更改本地计算机的 .NET 安全设置转到

    开始 > 控制面板 > 管理工具 > Microsoft .NET Framework 2.0 配置

    完全展开我的电脑并选择运行时安全策略。在右侧,选择调整区域安全。保留默认选项(对此计算机进行更改)并点击下一步。选择本地 Intranet 并将信任级别更改为 完全信任。然后选择下一步,然后选择完成。重新启动 Visual Studio,一切就绪。

    【讨论】:

      【解决方案3】:

      这个问题发生在我身上,解决方法很简单,我只是在物理文件上添加应用程序池用户的权限,然后进行 IISReset,它现在可以工作了。

      【讨论】:

      • 我已经快两年没有想过这个问题了。您能否为您的解决方案提供额外的上下文和一些屏幕截图?就目前而言,这个答案有点模糊。
      猜你喜欢
      • 1970-01-01
      • 2012-11-16
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多