我在Visual Studio 2008中的“复制到输出”功能有问题。也许我误解了它应该如何工作。Visual Studio 2008项目参考
我有四个项目的解决方案:
- TestApp1(Windows应用程序)
- TestAppA(Windows应用程序)
- TestProj1(类库)
- TestProjA(类库)
依赖关系如下(依赖于项目引用中的依赖关系)。
- TestProj1依赖于什么。
- TestApp1取决于TestProj1
- TestProjA取决于TestProj1
- TestAppA取决于TestProjA(并因此间接地TestProj1)
换言之,依赖树看起来像这样。
TestApp1
TestProj1
TestProjA
TestProj1
TestAppA
TestProjA
TestProj1
(每个项目具有与标准组件(系统,System.Core程序,等),以及一个参考)
在TestProj1,我已经加入一个文本文件,Test.txt的。在这个文件的属性中,我指定了“Build Action:Content”和“Copy to Output Directory:Copy always”。
当我生成解决方案,Test.txt的被复制到
- TestApp1 \ BIN \调试
- TestProj1 \ BIN \调试
- TestProjA \ BIN \调试
的文件是而不是复制到TestAppA \ bin \ debug,这是我发现奇怪的。由于TestProj1依赖Test.txt工作,并且TestAppA依靠TestProj1,通过TestProjA,TestApp1将不起作用。
如果我将TestAppA的项目引用直接添加到TestProj1(所以我有一个引用TestProj1,另一个引用TestProjA),该文件将被复制到TestAppA \ bin \ debug文件夹。
当然,我可以设置一个自定义构建事件来将文件Test.txt复制到TestAppA \ bin \ debug,但是我对自定义构建事件有不好的经验,并且宁愿依靠内置的复制机制。
所以我的问题是:为什么不将Test.txt复制到TestAppA \ Bin \ debug?
+1为封装建议。 – Todd 2009-12-12 17:16:47