MethodAccessException

时间:2011-03-15 15:54:05

标签: .net installer code-access-security code-security

我有一个非托管的assebmly(加密功能),VB.NET(2.0)安装程序类在应用程序安装期间用于应用程序服务器上的某些安装诊断。问题是无论何时调用方法,它都会抛出MethodAccessException异常。 当我在应用程序本身(Windows 2.0)中调用该方法时,比如任何其他应用程序程序集的形式,都接受该调用为完全信任。但是,当安装程序类(自定义操作)执行调用时,非托管程序集不允许它并抛出异常。 我做了一些关于caspol工具的研究,但仍然无法掌握足够的代码安全性来解决问题 谢谢。

1 个答案:

答案 0 :(得分:5)

以下是我在MSDN论坛上得到的答案:

在以下情况下抛出此异常[MethodAccessException]:

* A private, protected, or internal method that would not be accessible from normal compiled code is accessed from partially trusted code by using reflection.
* The access level of a method in a class library has changed, and one or more assemblies that reference the library have not been recompiled.

您可以在以下页面查看信息: http://msdn.microsoft.com/en-us/library/system.methodaccessexception(v=VS.90).aspx?appId=Dev10IDEF1&l=EN-US&k=k(APPLICATIONDEPLOYMENT);k(TargetFrameworkMoniker-

我认为你的问题应该是第二种情况。

我通过反思解决了这个问题。谢谢,下面是原始答案的链接 http://social.msdn.microsoft.com/Forums/en/winformssetup/thread/de5dc1a2-c8ab-4d6a-b283-2609ed8859df

快乐的编码。