C# .dll参考与项目参考
我有一个项目(项目B),它引用了另一个项目(项目C),并使用了这个项目中的一些方法。 现在,我有第三个项目(项目a),它只需要使用项目B方法(这些方法使用项目a方法)——项目a使用项目C,但不直接使用C# .dll参考与项目参考,c#,visual-studio-2012,C#,Visual Studio 2012,我有一个项目(项目B),它引用了另一个项目(项目C),并使用了这个项目中的一些方法。 现在,我有第三个项目(项目a),它只需要使用项目B方法(这些方法使用项目a方法)——项目a使用项目C,但不直接使用 我需要添加对项目C的引用还是只对项目B的引用 如果我要添加一个.dll引用,我可以只添加对项目B的引用吗 您很可能需要两者,因为B取决于C。如果有一个方法签名公开了一种类型的C,那么您肯定需要引用来编译它。否则,您可能需要在运行时使用它 如果可能,始终将其添加为引用,因为IntelliSense会
您很可能需要两者,因为
B
取决于C
。如果有一个方法签名公开了一种类型的C
,那么您肯定需要引用来编译它。否则,您可能需要在运行时使用它
如果可能,始终将其添加为引用,因为IntelliSense会在编译之前注意到项目引用并注意到方法更改。您很可能需要两者,因为
B
取决于C
。如果有一个方法签名公开了一种类型的C
,那么您肯定需要引用来编译它。否则,您可能需要在运行时使用它
如果可能,请始终将其添加为引用,因为IntelliSense会在编译之前注意到项目引用和方法更改
B
的项目引用就足够了。在编译时,项目(B和C)的DLL都将复制到A的可执行路径中
如果我要添加一个.dll引用,我可以只添加对项目B的引用吗
在这种情况下,您只需要添加对项目B
dll的引用,但是项目C
的dll也应该位于可执行文件夹中,因为项目B
依赖于它
在这两种情况下,您都不必显式引用project C,因为project A不会直接调用project C。但请记住,在这两种情况下,您的项目中都会有project C dll作为可执行文件
你可以看到:
看到@David's,您的项目中不能有循环引用。项目A使用项目B的方法,项目B使用项目A的方法,您将无法编译此代码。你需要重新设计你的代码,在你的项目中有层次结构,比如A->B->C
见:
我需要添加对项目C的引用还是只对项目B的引用
只要B就够了。如果要在Visual Studio中添加项目引用,添加B
的项目引用就足够了。在编译时,项目(B和C)的DLL都将复制到A的可执行路径中
如果我要添加一个.dll引用,我可以只添加对项目B的引用吗
在这种情况下,您只需要添加对项目B
dll的引用,但是项目C
的dll也应该位于可执行文件夹中,因为项目B
依赖于它
在这两种情况下,您都不必显式引用project C,因为project A不会直接调用project C。但请记住,在这两种情况下,您的项目中都会有project C dll作为可执行文件
你可以看到:
看到@David's,您的项目中不能有循环引用。项目A使用项目B的方法,项目B使用项目A的方法,您将无法编译此代码。你需要重新设计你的代码,在你的项目中有层次结构,比如A->B->C
请参阅:您的意思是什么?集合就是集合。通过文件或项目引用引用,它仍然引用相同的dll文件。引用项目而不是编译的dll的优点是,您可以调试步进到引用的库中,而不是被阻止到对象或类资源管理器。这在没有项目引用的情况下也是可能的。您是什么意思?集合就是集合。通过文件或项目引用进行引用,它仍然引用同一个dll文件。引用项目而不是编译的dll的优点是,您可以调试步进到引用的库中,而不是被阻止到对象或类资源管理器。也可以不引用项目。不,您不需要引用它。“我有第三个项目(项目A)只需要使用项目B方法(这些方法使用项目A方法)“
-所以你有一个循环引用?听起来不太好…不,你不需要引用它“我有第三个项目(项目A),它只需要使用项目B方法(这些方法使用项目A方法)”
-那么你有一个循环引用?听起来不太好。。。