无法授予最低权限请求。 (来自HRESULT的异常:0x80131417)] << [

问题描述 投票:0回答:1
我有一个winforms应用程序,该应用程序使用反射来加载程序集X。它在我的本地计算机上运行良好,但是从网络共享运行时却无法正常运行。我创建了一个代码组,通过共享(通过指定url属性)为程序集授予完全信任(仅用于测试)。该应用程序现在启动。但是,当我尝试执行需要X访问相关程序集Y的操作时,它会炸弹,并显示以下错误:

Could not load file or assembly 'Bloomberg.Api, Version=1.8.0.3, Culture=neutral, PublicKeyToken=65c07ea3148235aa' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)

我正在使用以下代码将程序集X加载到appdomain中:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; using System.IO; using System.Reflection; using TCPSecurityMaster; using System.Windows.Forms; using System.Security.Policy; using System.Security; using System.Security.Permissions; namespace SecurityMasterReflectionTest { class Program { static void Main(string[] args) { try { AppDomainSetup ads = new AppDomainSetup(); ads.ApplicationBase = ConfigurationManager.AppSettings["SecurityMasterBinDir"]; ads.ConfigurationFile = Assembly.GetEntryAssembly().Location + ".config"; AppDomain newAD = AppDomain.CreateDomain("SM", null, ads); string dir = ConfigurationManager.AppSettings["SecurityMasterBinDir"]; string asmName = dir + "\\" + ConfigurationManager.AppSettings["SecurityMasterFacadeAssemblyName"]; string typeName = ConfigurationManager.AppSettings["SecurityMasterFacadeClassName"]; if (File.Exists(asmName)) { object obj = (ISecurityMasterAPI)newAD.CreateInstanceFromAndUnwrap(asmName, typeName); ISecurityMasterAPI api = obj as ISecurityMasterAPI; api.Initialize(); Form f = api.GetSecurityDetailDialog(35516); f.ShowDialog();// this works, but a subsequent operation that requires assembly Y to be loaded doesn't } } catch (Exception ex) { Console.WriteLine(ex.Message); } } } }

我以为在网络共享下授予所有程序集完全信任会解决所有CAS问题。任何提示表示赞赏。

-更新

在我的代码组中,我已将权限设置为“所有”,而不是“完全信任”。更改为“完全信任”可修复该错误。但是,我仍然感到迷惑,我必须调整CAS仅用于使用反射,而非反射代码可以在网络上正常工作。是否没有以编程方式说“我完全相信我通过网络加载的程序集”。对此表示赞赏。

我有一个winforms应用程序,该应用程序使用反射来加载程序集X。它在我的本地计算机上运行良好,但是从网络共享运行时却无法正常运行。我创建了一个授予完全信任的代码组(用于...

c# .net reflection cas
1个回答
0
投票
当我运行以下行时,我在powershell中收到了相同的错误:
© www.soinside.com 2019 - 2024. All rights reserved.