[英]Exception “Attempt by security transparent method 'NPOI.OpenXml4Net.OPC.ZipPackage”
[英]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
,它將起作用,但是我錯了。
我該如何運作?
感謝這篇文章,我設法解決了這個錯誤,它的響應是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.