在Visual Studio C ++ 2009中将源文件存储在项目文件目录之外

时间:2010-01-19 17:38:27

标签: visual-studio visual-c++ directory-structure project-files

Visual Studio项目假设属于项目的所有文件都与项目文件位于同一目录中,或者位于项目文件下面。

对于特定项目(在非Visual Studio意义上),这不是我想要的。我想将MSVC特定的文件存储在另一个文件夹中,因为可能还有其他方法来构建应用程序,例如使用SCons。此外,MSVC所有东西都会破坏源目录。

示例:

/source
/scons
/msvc <- here is where I want my MSVC-specific stuff

我可以在资源管理器中手动将文件添加到source目录,然后在Visual Studio中将它们与项目链接。它不是世界末日,但它让我感到恼火的是,Visual Studio试图决定我项目的文件夹结构。

我正在查看schemas项目文件,但意识到这个令人讨厌的假设是在IDE中,而不是项目文件的格式。

除了从source目录手动将文件链接到项目之外,有人知道更简洁的解决方法吗?

2 个答案:

答案 0 :(得分:3)

我有时使用它,非常确定它是你想要的:

  • 确保解决方案资源管理器中的Show All Files选项已启用。
  • 创建一个以源目录为目标的符号链接,并将链接放在与项目相同的级别,如果想要更精细的控制,则更低。命令为mklink /j target source

对于您显示的示例项目结构,您将运行mklink /msvc/source /source,并且在项目中,源目录将显示为在项目目录中(好吧,实际上是)。额外的好处:通过VS添加新项目也会自动将它们放在正确的目录中。

答案 1 :(得分:3)

您可以添加带有这样的链接的文件,它们是可搜索的,可查看的,但是如果您尝试更改它们,它们也不会结帐,Visual Studio也会保留通配符:

  <ItemGroup>
    <Content Include="..\Database Schema\Views\*.sql">
      <Link>Views\*.sql</Link>
    </Content>
  </ItemGroup>

这是在.proj文件中。