假设我在C#中有两个类库,而我想在这些库中使用这些库:
LibA.dll
LibB.dll which also references LibA.dll because it uses some of its classes.
Project C which references both LibA.dll and LibB.dll
让我们在LibB.dll
内部说我有一个从LibA.dll
返回类类型的方法,在我的项目中,我想在调用该方法时立即设置正确的类类型。例如:
LibA.classInsideLibA myObj = LibB.getClassInsideLibAInstance();
这应该有效,但我想知道当LibA.dll
已经引用LibB.dll
时,在我的项目内部引用LibB.dll
和LibA.dll
时是否会出现任何问题。在这种情况下,引用LibB.dll
会自动引用LibA.dll
吗?
答案 0 :(得分:1)
“。在这种情况下,引用LibB.dll会自动引用LibA.dll”
我假设我们正在讨论VS项目中的引用。当然所有dll都必须在运行时可用
这取决于。如果你有projX-> DLLA-> DLLB
如果DLLA使用DLLB但不暴露任何DLLB类型(即在其中一个方法中返回DLLB类),那么ProjA不需要知道DLLB
如果DLLA确实返回DLLB类,则projA需要引用DLLA和DLLB
答案 1 :(得分:1)
你已经一直这样做了。以string
课程为例,假装你是LibA
。我确定您有一个返回string
的库。您还可能在您的主项目中从您的库和引用mscorlib
(其中String
生活)中返回了一个字符串。
这没什么不同。
System.String myString = LibB.GetSomeString();