异常详细信息: System.Security.Policy.PolicyException: 无法获取所需的权限。 iis &express+ vs2013 换系统换环境时候调试出的问题

 环境: vs2013  @ windows10 @ parallel desktop @ macos big sur

项目: .net framework 2.0 + 4.0串儿, dll + web 串

起因:

从工作室电脑上 也是pd下的win系统 装了 iis的  创建的这么个网站解决方案,然后引用了里面的dll的分项目  回家来编辑的时候, win10里面装了iis以后,启动不起来,出错,然后再删除iis 还是出这样的问题.

建议:

如果你不是跟我一样差不多的复杂的话,建议看一些其他的简单的文章.在解决这种跨电脑,跨系统这类的问题的时候,

多考虑权限问题和历史记录问题,

解决方案究竟会保留哪些东西在文件中,哪些会影响你在别的地方别的环境下的产出情况.

不要怕麻烦,从最小系统开始.而不是一点一点的往下去做减法.


运行网站出这样的错误

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

异常详细信息: System.Security.SecurityException: 请求“System.Web.AspNetHostingPermission,

“/”应用程序中的服务器错误。
无法获取所需的权限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Security.Policy.PolicyException: 无法获取所需的权限。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

删除他所提示的引用的dll,(以为是dll问题)在vs中调试出这样的错误:

还是提示这个错误

“/”应用程序中的服务器错误。
无法获取所需的权限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Security.Policy.PolicyException: 无法获取所需的权限。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

文件我都删除了呀,应该是未找到引用的错误才对!

我干脆,把所有的引用的dll都给删除了.结果出了提示

再生成一次

再访问 还是这个问题,为什么呢? 因为iis express也需要重启

好了 问题又复现了

“/”应用程序中的服务器错误。
无法获取所需的权限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Security.Policy.PolicyException: 无法获取所需的权限。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

 还是在引用mycode的时候发生的

mycode中 有定义的static的类和static的字段.不知道这样做是不是不安全被iis给干了.

那我就从字面意思下手,从这个文件下手 是不是  文件夹权限不够?

额 , 这个文件夹是我在mac中存储的,windows中的开发环境是映射的磁盘,所以,这个文件夹并不能直接编辑权限,不能在里面增加aspnet账号的权限


那么,想办法解决,想了两个方案都是不装iis的方案,因为我刚卸载完不想装了.

a选项.

把文件复制出来,放在别的真实磁盘的地方使用iis express试试看.

 我把他复制到c盘,重新打开一下,也是不行

账户名于安全标识间无任何映射完成 aspnet

什么鬼毛病,使用iis express 里面添加一个C盘下的文件夹作为映射也不行

这又是啥毛病咧!!!

手动添加了一个叫ASPNET的账户,然后在IIS_IUSRS组和administrators这两个组中加入这个账号,然后再在iis_express中添加网站,然后添加文件夹的映射  不转换为应用程序  调试  再在提示下转换为应用程序  解决

这个错误信息是我后台输出的并不是真的错了.大家应该知道只要有输出,说明文件加载没问题. 


b选项.

把网站删掉使用原来的文件+iis express重新创建试试 

原来的文件其实意味着两个方案 一个是使用k盘(映射到\\Mac\xxxx下的某个文件夹)

另外一个就是直接使用 \\Mac\xxx  这两种可能存在uac路径相关的差异

(也有可能在系统内部,没差异,毕竟是映射的)

解决方案右键,添加,现有网站,出现下面页面

点右面四个按钮当中的第一个

创建出来了如上名字的 iisexpress在k盘网站

然后选中这个网站,再点第三个图标,起好名,可以随便起个名字,然后定位到文件夹

 这个创建iis应用程序可以直接点上也可以不点 不点的话一会调试的时候会提示你创建

如果点击创建iis应用程序的话  确定后会自动弹出这个

意思就是前面勾选那个创建iis应用 是会自动创建高版本的,现在发现你的页面是低版本的,是用哪个版本.

运行,调试  可以的

接下来选择用uac路径作为iis express目录

\\Mac\Home\Documents\Visual Studio 2008\Projects\测试\FakeHISClient\IIS

嗯哦霍? 这样也可以.那么,说明之前的问题 不是账户的问题,就是解决方案或者项目路径的相关问题,删除重新添加一次网站到解决方案中就可以了????

那我删除aspnet账户试试 

一个连击,我就给他删了.再来 调试

ok 小意思.最后说明什么? 

 还是解决方案(sln)里面保存的网站信息相关问题,在笔记本电脑和台式机的开发环境不一样导致.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Afterwards_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值