我有一组独立的文件,完全不属于任何c#项目,它们位于复杂的嵌套目录结构中。

我想以这种格式将它们添加到ASP。NET web应用程序,我正在工作;同时保持相同的结构。所以,我复制文件夹到我的项目的目标位置,我试图“添加现有项目”,只是失去了以前的文件夹层次结构。

通常我手工重新创建目录,逐个复制,然后添加现有的项目。在这种情况下,目录/项太多了。

那么如何在Visual Studio 2008中添加现有的目录和文件呢?


当前回答

最后,Visual Studio 2017允许用户通过一次单击导入整个目录。Visual Studio 2017有一个新功能“打开文件夹”,允许打开整个文件夹,甚至不需要将其保存为解决方案。可以使用以下方法导入源代码。

菜单文件→打开→*文件夹(Ctrl + Shift + O) Devenv.exe <源文件夹>

它甚至支持构建和调试CMake项目。

使用“打开文件夹”将c++代码库导入Visual Studio

其他回答

你可以改变你的项目XML来自动添加现有的子文件夹和结构到你的项目中,比如NPM中的"node_modules":

这适用于较旧的MSBuild / Visual Studio版本

<ItemGroup>
   <Item Include="$([System.IO.Directory]::GetFiles(&quot;$(MSBuildProjectDirectory)\node_modules&quot;,&quot;*&quot;,SearchOption.AllDirectories))"></Item>
</ItemGroup>

对于当前MSBuild / Visual Studio版本:

把它放在xml的节点中:

<Project>
</Project>

在这种情况下,只需将$(MSBuildProjectDirectory)\node_modules更改为您的文件夹名称。

为特定项目启用“显示所有文件”(你可能需要点击“刷新”才能看到它们)**。

不属于项目的文件夹/文件在项目树中略显“轻”。

右键单击要添加的文件夹/文件,然后单击“包含在项目中”。它将递归地向项目添加文件夹/文件。

**这些按钮位于迷你解决方案资源管理器工具栏上。

**确保你不是在调试模式。

我发现了一个巧妙的技巧,如果你点击“Add existing…”,你可以将文件夹从打开的对话框拖到你的解决方案中。

我让我的Visual Studio在管理模式下自动打开,所以这对我来说是一个很好的解决方案,因为我不想为了让它工作而不得不撤消它。

最后,Visual Studio 2017允许用户通过一次单击导入整个目录。Visual Studio 2017有一个新功能“打开文件夹”,允许打开整个文件夹,甚至不需要将其保存为解决方案。可以使用以下方法导入源代码。

菜单文件→打开→*文件夹(Ctrl + Shift + O) Devenv.exe <源文件夹>

它甚至支持构建和调试CMake项目。

使用“打开文件夹”将c++代码库导入Visual Studio

对我来说有用的是将文件夹拖到Visual Studio中,然后右键单击文件夹,选择“在文件资源管理器中打开文件夹”。然后全部选中并拖动到Visual Studio的文件夹中。