假设我的解决方案包含两个项目A和B。项目A引用了项目B。项目B参考了第 3 方程序集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编写构建后操作以将本机 dll 复制到输出目录。但是,当我构建A本机 dll 时,它们将进入B的输出目录,而不是A的输出目录。
当然,我可以为项目A编写相同的 Post-Build 操作,但它违反了 DRY 原则,因为事实上我的解决方案中有很多项目,如A、B和C。
另一种选择是为我的所有项目设置相同的输出目录,但这不是理想的解决方案,因为我更喜欢某些项目构建到它们自己的目录中。