Assembly 类:MSDN
GetCallingAssembly 方法:返回调用当前正在执行的方法的方法的 Assembly(程序集)。
GetExecutingAssembly 方法:获取包含当前执行的代码的程序集。我想问的是:
如果解读这两个方法的解释啊,一个是"当前正在执行的方法的方法的程序集";一个是当前执行的代码的程序集程序集么,就是全部的代码吧,还有啥区分啊 ?

解决方案 »

  1.   

    GetExecutingAssembly 当前在哪个程序集中调用的,比如你在app1中调用,就是app1,app2中调用就是app2
    GetCallingAssembly 是当前调用GetCallingAssembly 的方法所在的程序集很简单,你把msdn上的实例代码放到一个button的点击过程中,就清楚了
      

  2.   

    A.exe,b.exe,c.dll,其中c.dll里面执行GetExecutingAssembly和GetCallingAssembly
    A.exe的代码调用c.dll,
    c.dll的GetExecutingAssembly,返回a.exe的Assembly
    c.dll的GetCallingAssembly,返回c.dll的Assembly
    b.exe的代码调用c.dll,
    c.dll的GetExecutingAssembly,返回b.exe的Assembly
    c.dll的GetCallingAssembly,返回c.dll的Assembly
      

  3.   

    GetCallingAssembly() 是你调用的地方所处的程序集。也就是说,你在哪里调用这个方法的,这个方法是在哪个程序集里面,他就返回哪个程序集。
    GetExecutingAssembly() 是方法执行时所在的程序集。说白了就是方法定义所在的程序集。