Visual studio 2008 VisualStudio2008项目参考
我对VisualStudio2008中的“复制到输出”功能有问题。也许我误解了它的工作原理 我有一个包含四个项目的解决方案:Visual studio 2008 VisualStudio2008项目参考,visual-studio-2008,file,build,reference,copying,Visual Studio 2008,File,Build,Reference,Copying,我对VisualStudio2008中的“复制到输出”功能有问题。也许我误解了它的工作原理 我有一个包含四个项目的解决方案: TestApp1(Windows应用程序) TestAppA(Windows应用程序) TestProj1(类库) TestProjA(类库) 依赖项如下所示(依赖项如项目参考中所示) TestProj1不依赖于任何内容 TestApp1取决于TestProj1 TestProjA依赖于TestProj1 TestAppA依赖于TestProjA(因此间接依赖于Te
- TestApp1(Windows应用程序)
- TestAppA(Windows应用程序)
- TestProj1(类库)
- TestProjA(类库)
- TestProj1不依赖于任何内容
- TestApp1取决于TestProj1
- TestProjA依赖于TestProj1
- TestAppA依赖于TestProjA(因此间接依赖于TestProj1)
TestApp1
TestProj1
TestProjA
TestProj1
TestAppA
TestProjA
TestProj1
(每个项目还参考了标准组件(系统、系统核心等)
在TestProj1中,我添加了一个文本文件Test.txt。在该文件的属性中,我指定了“构建操作:内容”和“复制到输出目录:始终复制”
当我构建解决方案时,Test.txt被复制到
- TestApp1\bin\Debug
- TestProj1\bin\Debug
- TestProjA\bin\Debug
所以我的问题是:为什么Test.txt没有复制到TestAppA\Bin\debug?Visual Studio只查看内容文件的直接引用,所以TestAppA不知道Test.txt存在,因为它在TestProjA项目文件中没有看到它 这是VisualStudio的一个限制,也是为什么许多人最终将所有项目的输出指向同一个文件夹的原因
另一个选项是创建一个“SharedContent”文件夹。然后,您可以将文本文件放在该文件夹中,并通过在每个项目上选择“添加>现有项…”将其添加到依赖它的每个项目中。在“添加项目”对话框中,从共享文件夹中选择文本文件,然后单击“添加”按钮上的小向下箭头。如果选择“添加为链接”,则可以将文件添加到项目中,而无需创建副本。Todd的答案已经很好了,但还有两种常见的解决方案:
- 将生成后步骤添加到依赖项目中,将Test.txt复制到其输出文件夹中
- 将文本文件作为嵌入式资源添加到TestProj1项目的程序集中,完全不需要外部数据文件