我设法在2节课中解决了问题,但在3节课中没有通过。
假设我有一个程序集A.DLL,其名称空间=“ City”和一个类=“ NY”

(我将在我的问题中将此班称为“ A”)

在我的新项目中,我的名称空间是=“ City”,并且我有一个类=“ NY”(我将在我的问题中将此类称为“ B”)

因此要实现B:A(B从A继承/扩展)
我创建了对引用A.DLL的支持
并在“ B”类中引用“外部别名oldDll”

namespace City
{
    extern alias oldDll;

    public class NY : oldDll::City.NY
    {
        public NY() : base()
        {
        }
    }
}


这样很好! :)

问题是,当我尝试在另一个仅具有对B.DLL引用的程序集中使用新的assebmly(B.DLL /“ B”类)(我将在我的问题中将此类称为“ C”)并创建一个“ City.NY”的新实例
我得到一个例外,我认为这是因为“ A.DLL”没有加载。

我如何从B加载它(如果这是问题)?我没有访问“ C.EXE”或C代码的权限(他只是从B.DLL创建City.NY)。
*注意:我无法重新编译C。我只能运行它。

所以我有一个类“ C”,它创建了一个继承自“ A”的类“ B”

我想到手动加载“ B”代码中的“ A.DLL”程序集,但是首先发生的是base()构造函数。

感谢您的帮助

最佳答案

纠正我的任何人,因为我不确定100%,但是通常您必须引用这两个程序集才能使其正常工作(这意味着某些程序包具有依赖项,也必须在项目中下载和引用)。

我认为如果没有缺少汇编程序,它也不会编译。

10-08 08:19
查看更多