我刚才在使用 MSBuild 时遇到了一个奇怪的情况。有一个解决方案包含三个项目:LibX、LibY 和 Exe。Exe 引用了 LibX。LibX 又引用了 LibY,有一些内容文件,还引用了第三方库(安装在 GAC 和本地 lib 文件夹中的几个预构建程序集)。第三方库被标记为“复制本地”(“私有”)并出现在 LibX 项目的输出中,就像 LibY 的输出和 LibX 的内容文件一样。现在,Exe 项目的输出有 LibX 项目输出、LibX 项目的内容文件、LibY 项目输出(来自 LibX),但没有第三方库的程序集。
现在我通过直接在 Exe 项目中引用第三方库来解决这个问题,但我觉得这不是一个“正确”的解决方案。
以前有人遇到过这个问题吗?