[英]VS2005 Libraries
因此,假设您有3个项目:
ProjectA - Class Library
ProjectB - Class Library
ProjectC - Console Application
现在,假设ProjectB
使用ProjectA
的DLL,而ProjectC
使用ProjectB
的DLL。
当前,我必须为ProjectC
添加对ProjectB
和ProjectA
引用。
有办法避免这种情况吗?
如果Project C不直接使用Project A中的任何类,则无需将Project C引用到ProjectA。
在运行时,您仍然需要可用的Project A dll。
为了阐明“直接使用”-Project C代码中对类,接口,结构的任何引用-在Project A中定义的任何内容以及对在Project B中定义但从基类/继承的类或接口的引用项目A中定义的接口。
这就是使用DI(依赖注入)时的方法-项目B是应用程序(C)与服务实现(A)之间的合同。 它包含接口和POCO。
编译时,应用仅了解合同,运行时DI容器会加载实现。 更改实现不需要重新编译,可以通过交换dll来完成。
没有别的办法了。 您必须在B中添加A的引用,在C中添加B的引用,否则VS.NET将如何知道要使用哪个类库? 但是,我认为C中不需要A和B的引用。如果构建不成功,请检查代码-您可能在C中的某个地方使用了A的类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.