在网络共享或Intranet项目上编译网站时,请求获得"System.Web.AspNetHostingPermission"类型的权限失败

ahs*_*ele 10 .net asp.net debugging webforms visual-studio

我一直在使用Windows 7,但自升级以来,我不必使用特定的传统Intranet应用程序.不幸的是,此应用程序设置为托管在Intranet服务器上的ASP.NET网站项目.当我在Visual Studio 2008中打开网站并尝试调试它时,我收到以下编译器错误:

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

要在Windows Vista计算机上解决此问题,我会将本机Intranet的计算机的.NET安全配置信任级别更改为完全(此处概述的修复).我相信这个配置实用程序依赖于mscorcfg.msc,它来自一些粗略的研究似乎是.NET 2.0 SDK的一部分.我试图按照此Microsoft支持文章中的说明运行以下命令无效.

Drive:\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 Extended
  • Microsoft .NET Framework 4多目标包
  • Microsoft ASP.NET MVC 1.0
  • Microsoft ASP.NET MVC 2
  • Microsoft ASP.NET MVC 2 - Visual Studio 2008工具
  • Microsoft ASP.NET MVC 2 - Visual Studio 2010工具
  • 用于Visual Studio 2008 .NET Framework工具的Microsoft Windows SDK - enu
  • 用于Visual Studio 2008标头和库的Microsoft Windows SDK
  • 用于Visual Studio 2008 SDK参考程序集和IntelliSense的Microsoft Windows SDK
  • 用于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错误地发出了命令?还有其他我想念的东西吗?

ahs*_*ele 16

经过一些额外的挖掘后,我遇到了Aaron Stebner撰写的博客文章,内容涵盖了.NET Framework 2.0配置工具的设置细节.Stebner详细说明了如何从.NET可再发行组件中删除配置实用程序并仅将其放置在SDK中.几年前并不是什么大不了的事情,但现在社区依赖于更新的SDK并且只安装了框架的可再发行/紧凑版本,我们失去了对.NET Framework 2.0配置工具的访问权限.

Microsoft的官方答复是使用代码访问安全策略工具(Caspol.exe)配置安全策略.不幸的是,这个命令行实用程序对我不起作用.但是,我不排除用户错误的原因.

最终,Stebner解决了我的问题,因为他提供了配置工具安装程序.一旦我安装了配置实用程序,我就可以按照DotNetSlackers文章System.Web.AspNetHostingPermission中概述的步骤使用Visual Studio 2005访问网络或Intranet项目,我已将其解释为以下步骤.

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

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

完全展开我的电脑,选择运行安全策略.在右侧,选择" 调整区域安全性".保留默认选项(对此计算机进行更改),然后单击下一步.选择" 本地Intranet",将信任级别更改为" 完全信任".然后选择Next,然后选择Finish.重新启动Visual Studio,你应该全部设置.


spl*_*tne 8

尝试将应用程序池设置更改Load User ProfileTrue.

在Windows 7中,它False默认设置为.似乎在Windows Vista中,IIS 7会自动为您设置此项.