ActiveX控件制作过程问题汇总

Microsoft JScript 运行时错误: 安全透明方法“MacActiveX.MacActive.GetComputerMAC()”尝试访问安全关键方法“System.Management.ManagementClass..ctor(System.String)”失败。

程序集“MacActiveX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”标记为 AllowPartiallyTrustedCallersAttribute 并且使用 2 级安全透明模型。默认情况下,2 级透明将导致 AllowPartiallyTrustedCallers 程序集中的所有方法都变成安全透明的,这可能是导致发生此异常的原因。

解决方法:在类头部增加属性设置:[System.Security.SecuritySafeCritical]

<object classid="clsid:afea693d-7566-4f1e-b77c-80ccc2932296"
codebase="MacActiveXSetup.CAB#version=1,0,0,0" id="helloBossma"></object>

AssemblyInfo.cs 增加以下

using System.Security;

[assembly: AllowPartiallyTrustedCallers()]//授信任规则声明
[assembly: SecurityRules(SecurityRuleSet.Level1)]//增加透明规则声明

参考文档:

http://www.cnblogs.com/yilin/p/csharp-activex.html
http://www.cnblogs.com/weixing/archive/2013/06/28/3161165.html
http://www.cnblogs.com/shuang121/archive/2012/06/04/2534296.html
http://q.cnblogs.com/q/57913/
http://blog.csdn.net/ddllzz2008/article/details/5784737

原文地址:https://www.cnblogs.com/blue-Sea/p/4235902.html