即使基类组装丢失,继承的类也可以工作

时间:2016-04-23 00:42:57

标签: c# .net clr

对不起,我很模糊,因为这是一个与IP限制的工作有关的问题。

我在程序集中有一个类(程序集A),它继承自另一个程序集(程序集B)中的通用基类。此基类具有静态方法,该方法用作实现继承类的“应用程序”的入口点。

静态方法在程序集B中实现。有一个可插拔的应用程序,可以反射性地在运行时启动程序集A的内容。当我运行这个应用程序时,程序集A似乎工作正常一点,但是当它找不到程序集B时崩溃。我期待这个。装配B目前无法在机器的任何位置使用。

执行顺序:

  1. Launcher应用程序通过命令行启动,DLL包含由文件路径引用的程序集A.
  2. Launcher应用程序反射性地找到在程序集B中实现的魔法静态方法,即使它只能访问程序集A.(计算机B在计算机上找不到。没有GAC,没有文件。)
  3. 静态方法可以在一段时间内工作(并成功使用程序集B中的其他类型)。
  4. 当Launcher的执行最终遇到它无法找到的程序集B中的类型时,抛出异常。
  5. 我不明白,并且互联网没有告诉我(大量搜索),当最初执行的代码在程序集B中实现时,程序集A如何工作一段时间。什么是.NET编译器(或者可能是Roslyn,因为我在VS2015中使用它)包含在程序集B的程序集A中,它允许它运行一点点?这是确定性的吗?这是怎么回事?

0 个答案:

没有答案