- TestApp1(Windows应用程序) - TestAppA(Windows应用程序) - TestProj1(类库) - TestProjA(类库)
它们之间的依赖关系如下(指项目引用):
- TestProj1 不依赖任何项目 - TestApp1 依赖于 TestProj1 - TestProjA 依赖于 TestProj1 - TestAppA 依赖于 TestProjA(因此间接依赖于 TestProj1)
换句话说,依赖树如下图所示:
TestApp1
TestProj1
TestProjA
TestProj1
TestAppA
TestProjA
TestProj1
每个项目都有对标准程序集(例如system、system.core等)的引用。
在TestProj1中,我添加了一个文本文件Test.txt。在该文件的属性中,我指定了“生成操作:内容”和“复制到输出目录:始终复制”。
当我构建解决方案时,Test.txt被复制到以下目录:
- TestApp1\bin\Debug
- TestProj1\bin\Debug
- TestProjA\bin\Debug
但是,这个文件并没有被复制到TestAppA\bin\debug,这让我感到奇怪。由于TestProj1依赖于Test.txt才能工作,而TestAppA通过TestProjA又依赖于TestProj1,因此TestApp1将无法正常工作。
如果我直接将TestAppA从TestProj1中添加为项目引用(这样我就会有一个对TestProj1的引用和另一个对TestProjA的引用),那么该文件将被复制到TestAppA\bin\debug文件夹中。
当然,我可以设置自定义构建事件来将Test.txt文件复制到TestAppA\bin\debug,但我有不良经验,宁愿依赖内置的复制机制。
因此我的问题是:为什么Test.txt没有被复制到TestAppA\Bin\debug?