假设我的解决方案包含两个项目 A 和 B 。项目 A 引用项目 B 。项目 B 引用了第三方程序集 C 。 C 依赖于某些本机dll - 它们应与 C 程序集放在同一目录中,以便 C 能够工作。
我想要实现的目标是:当我构建项目 A 时,它的构建目录应该包含下一个文件:
A.dll
B.dll
C.dll
Native_Lib_For_C_1.dll
...
Native_Lib_For_C_N.dll
我有哪些选择?
我曾尝试为项目 B 编写Post-Build操作,以将本机dll复制到输出目录。但是当我构建 A 时,本机dll将转到 B 的输出目录,而不是 A 的那个。
当然我可以为项目 A 编写相同的Post-Build操作,但它违反了DRY原则,因为实际上我有很多项目,例如 A , B < / em>和 C 在我的解决方案中。
另一个选择是为我的所有项目设置相同的输出目录,但它不是理想的解决方案,因为我更喜欢一些项目构建到他们自己的目录中。