在使用如下所示的类布局时,我注意到一些非常奇怪的行为:
// Contents of assembly A:
public class MyParentClass
{
public class NestedClass
{
}
}
// Contents of assembly B:
public class AnotherClass : List<MyParentClass.NestedClass>
{
}
我可以将程序集 A 添加为程序集 B 的依赖项。此示例将在没有任何错误消息的情况下编译,但是当涉及到,例如,加载程序集 B 作为单元测试的参考时,我会在需要时收到此错误消息编译单元测试:
无法加载文件或程序集“AssemblyB,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。
此代码生成的程序集确实有效,我可以使用 Redgate Reflector 运行生成的 DLL 并按预期查看我的代码,但单元测试拒绝加载它。
我几乎肯定这个问题与我正在调用另一个程序集中的嵌套类这一事实有关,无论如何我可能最终会重构这个设计,但我真的很想知道为什么这不起作用预期的。如果以这种方式使用类有问题,我希望编译器会抛出异常。
感谢您的时间。