Csc.exe和相互依赖的程序集

本文关键字:依赖 程序集 exe Csc | 更新日期: 2023-09-27 18:18:13

我一直在做一个项目,随着项目的发展,我意识到两个不能结合在一起的部分是相互依赖的。

我们称这两个部分为a.exe和b.dll。.dll提供了一个实现,允许a.exe检索数据,但我希望它是它自己的独立程序集,以便它可以很容易地改变出来,使a.exe与不同的数据源通信。

然而,a.exe需要引用b.dll, b.dll需要几个函数,这些函数是a.exe不可分割的一部分。

因为我一直在编译——测试——因为我一直在写这个项目,a.exe和b.dll都存在,我可以编译b.dll对a.exe和a.exe对b.dll,但是我怎么能从源代码重建这两个?

Csc.exe和相互依赖的程序集

我会将您的系统重构为三个组件:

  • a.exe -主EXE不应该引用这个
  • b.dll -正如你今天所拥有的,但不引用a.exe,它引用c.l ll
  • c.dll -这应该包含a和b都需要引用的公共部分/部分

一般来说,重构它是一个好主意,并将共享的依赖项移动到它们自己的程序集(c.dll)中。这样,a.exe和b.dll都可以引用c.dll,这样就可以避免这种循环依赖。

调用csc.exe,将a.exe和b.dll的源代码编译为a.exe,调用csc.exe,将b.dll的源代码编译为b.dll并引用a.exe,然后最后一次调用csc.exe,将a.exe的源代码编译为a.exe并引用b.dll