簡體   English   中英

通過安全透明方法異常嘗試

[英]Attempt by security transparent method exception

我正在使用插件架構創建應用程序。 要加載外部DLL文件,我正在使用MEF框架。 所有這些外部dll在單獨的域中運行。 我想允許創建模塊的人定義該模塊將需要執行的PermissionSet。 但是,由於container.ComposeParts(this);問題,我在加載此類庫時遇到了問題container.ComposeParts(this); 拋出這樣的異常:

Attempt by security transparent method 'System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.Crea
 teInstance(System.Reflection.ConstructorInfo, System.Object[])' to access 
 security critical method 
'Sth.Plugins.Dummy.DummyConfigurer..ctor()' failed.

Assembly 'System.ComponentModel.Composition, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089' is marked with the 
AllowPartiallyTrustedCallersAttribute, and uses the level 2 security 
transparency model.  Level 2 transparency causes all methods in 
AllowPartiallyTrustedCallers assemblies to become security transparent by 
default, which may be the cause of this exception.

目前,我正在使用以下權限:

var permissions = new PermissionSet(PermissionState.None);
permissions.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution | SecurityPermissionFlag.ControlThread));
permissions.AddPermission(new FileIOPermission(FileIOPermissionAccess.Read | FileIOPermissionAccess.PathDiscovery, _codeStorage.RuntimeFolder));

我在想,當我將DLL中加載的類標記為SecuritySafeCritical ,它將起作用,但是我錯了。

我該如何運作?

感謝這篇文章,我設法解決了這個錯誤,它的響應是:

在-需求是換的PermissionSet級系統,安全的PermissionSet版本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM