我有一个奇怪的问题:我部署了一个使用反射的.NET 2.0应用程序,一旦调用Assembly.LoadFile,我就得到了一个Policy Exception。错误如下:
Could not load file or assembly 'xxx, Version=11.5.23.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. PolicyException thrown. (Exception from HRESULT: 0x80131416) at System.Reflection.Assembly.nLoadFile(String path, Evidence evidence) at System.Reflection.Assembly.LoadFile(String path)
要加载的程序集位于调用程序集的子文件夹中。该应用程序在其他环境中运行良好,我从未遇到过这种问题。我想这个问题的发生是因为我从网上下载了包含程序集的zip文件,并且二进制文件标记为不可信,我不得不“解锁”每个文件。
目标电脑正在运行W2008 R2。 在同一台电脑上,我正在运行另一种软件,它以相同的方式使用反射并且工作正常。 我试图重新安装应用程序,但我遇到了同样的问题。我找不到在pc中为.NET程序集设置默认信任级别的方法。
任何想法都会受到赞赏。
提前致谢。
答案 0 :(得分:0)
当我将相同的组策略添加到同一文件夹时,我遇到了这个问题。我执行以下步骤来解决此问题:
查看群组权限列表:
CD C:\Windows\Microsoft.NET\Framework\v2.0.50727
Caspol -a -listgroups
查找重复的组权限,并通过运行以下命令删除重复的组权限:
Caspol -rg {Add here the group policy number}