我有一个被许多依赖项目引用的项目,并且该项目中的一些文件必须位于依赖项目的二进制目录中才能运行依赖项目。
目前,我定义了几个自定义 AfterBuild 目标:一个在引用的项目中将必要的文件复制到共享位置,然后在每个依赖项目中进行一个以将文件从共享位置复制到它们的 bin 目录。这行得通,但维护起来很烦人,而且感觉很脆弱和笨拙。
我想要实现的是让我的文件进入引用项目的主要项目输出(即与.dll和.pdb一起),这样文件在构建时通过自动复制到依赖项目的输出目录MSBuild 项目参考。
这可能吗?如果是这样,发现主要输出的机制是什么?我必须将文件添加到哪些项目组?MSBuild 是否“硬编码”以仅查找 .dll 和 .pdb?
作为参考,我认为自己高于 MSBuild 新手,但远低于 MSBuild 专家。我已经阅读了 Hashimi 的“Inside the Microsoft Build Engine”,基本理解了它,并且我已经能够为其他任务多次挖掘 MS 目标文件,并取得了一定的成功。不过,到目前为止,这个问题超出了我的范围。
另外,我已经查看了这个看起来相似的问题,但它没有解决项目参考;只生成带有项目的附加文件。