You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#.NET中两个DLL能否在Visual Studio环境下互相引用?

两个.NET DLL项目能否互相引用?

在Visual Studio 2019的C# .NET环境中,两个DLL项目是可以互相引用的——就像你描述的场景(项目B轻微引用C,C大量引用B),只要项目能顺利完成编译,运行阶段也能正常工作。

不过这种循环引用确实不是最佳实践,主要会带来这些问题:

  • 构建效率降低:修改其中一个项目后,另一个往往也需要重新编译,拖慢整体构建速度
  • 代码耦合过度:两个项目互相依赖,难以单独对其中一个做单元测试、单独复用或维护
  • 架构逻辑混乱:违背了依赖倒置、单一职责等设计原则,不利于项目长期迭代和扩展

你当前的重构思路是完全合理的:

  • 创建独立的B2项目,让C仅引用B2,同时保证B2不引用C,彻底打破循环依赖
  • 调整后的依赖关系:
    • 主GUI项目A按需引用B、B2和C
    • 原数据层项目B仅引用C,不再被C引用

这种结构能让每个项目的职责更清晰,降低耦合度,后续维护和扩展都会更顺畅。

内容的提问来源于stack exchange,提问作者JosephDoggie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 04:39:18