从GetHostEvidence()获取null
我正在尝试按照http://msdn.microsoft.com/en-us/library/bb763046.aspx创建一个沙箱来运行不受信任的代码。
当我在Sandboxer类中执行它时:
StrongName fullTrustAssembly = typeof(Sandboxer).Assembly.Evidence.GetHostEvidence();
我将返回null。 为什么? 我如何解决它?
根据您链接的页面,所有对GetHostEvidence
的调用都将提供StrongName
作为类型参数。 如果程序集没有强名称(并非全部都是),则返回null。
您必须在申请表上签名。 最简单的方法是:
- 在Solution Explorer中右键单击您的项目 ,然后选择Properties
- 转到签名选项卡
- 检查签署组件
- 从下拉框中选择<新建...>
- 在密钥文件名中键入名称
- 密码是可选的,因此您可以取消选中使用密码保护我的密钥文件
- 单击确定
再次在Sandbox示例中运行Run Partially Trusted Code 。 它应该工作。