我有一个 .net 程序集,其方法无法验证。
我正在尝试将此程序集加载到沙盒应用程序域中。
如果我使用跳过验证加载,而不是使用非托管加载,我会收到验证异常。像这样:
new SecurityPermission(SecurityPermissionFlag.Execution |
SecurityPermissionFlag.SkipVerification);
如果我使用非托管权限加载它可以工作,但是应用程序域将不够“沙盒”。
new SecurityPermission(SecurityPermissionFlag.Execution |
SecurityPermissionFlag.SkipVerification |
SecurityPermissionFlag.UnmanagedCode);
另外-我正在运行.Net 4,并且要使上述工作正常,我必须切换到transperancy模型级别1,如下所示:
[assembly:SecurityRules(SecurityRuleSet.Level1)]
所以,我的问题是:
- 有没有办法在没有 UnamangedCode 权限的情况下运行未经验证的代码。
- 有没有办法使用 Level2 安全规则集进行上述工作。
谢谢!