How do I “Add Existing Item” an entire directory structure in Visual Studio?我有一组独立的文件,这些文件根本不属于任何C项目,它们驻留在一个复杂的嵌套目录结构中。 我希望以这种格式将它们添加到我正在处理的ASP.NET Web应用程序中的其他目录中,同时保留相同的结构。因此,我将文件夹复制到了项目的目标位置,并试图"添加现有项",但结果却丢失了以前的文件夹层次结构。 通常我已经手工重新创建目录,一对一地复制目录,然后添加现有项目。在这种情况下,目录/项目太多了。 那么,如何在Visual Studio 2008中添加现有目录和文件呢? 将文件/文件夹从Windows资源管理器拖到解决方案资源管理器中。它将把它们全部加起来。注意:如果Visual Studio处于管理员模式,这将不起作用,因为Windows资源管理器是一个用户模式进程。 为特定项目启用"显示所有文件"(可能需要单击"刷新"才能看到它们)**。 不属于项目的文件夹/文件在项目树中显示得稍微"轻一些"。 右键单击要添加的文件夹/文件,然后单击"包含在项目中"。它将递归地向项目添加文件夹/文件。 **这些按钮位于迷你解决方案资源管理器工具栏上。 **确保您没有处于调试模式。 在解决方案资源管理器中: 我使用它安装HTML编辑器和第三方文件浏览器等附加组件。 我只想指出之前提供的两个解决方案,
不要做问题要求的事情: 在保留目录结构的同时包含在项目中。 至少在我的情况下(C++/CLI项目Visual Studio 2013在Windows & Nbsp 7)上没有。 在Visual Studio中,当您返回正常视图(而不是显示所有文件)时,您添加的文件都将列在项目的顶层。 是的,在磁盘上,它们仍然驻留在原来的位置,但在解决方案资源管理器中,它们是松散的。 除了在解决方案资源管理器中重新创建目录结构,然后在正确的位置添加现有项之外,我找不到解决方案的方法。 基于这些描述,我并没有立即理解这一点,但我最终发现的是: 下面是"显示所有文件"的图标,仅供参考。 点击上面的红色圆圈。您的文件夹将显示在解决方案资源管理器中。 右键单击文件夹->包含在项目中。 您可以更改项目XML以自动将现有子文件夹和结构添加到项目中,如NPM中的"节点模块": 这适用于旧的msbuild/Visual Studio版本
对于当前的msbuild/Visual Studio版本: 只需将它放在XML的节点中:
在这种情况下,只需将$(msbuildprojectdirectory)ode_模块更改为文件夹名称。 您需要将目录结构放在项目目录中。然后单击解决方案资源管理器工具箱顶部的"显示所有文件"图标。之后,将显示添加的目录。然后您需要选择此目录,右键单击,然后选择"包括在项目中"。 最后,Visual Studio 2017允许用户通过单击导入整个目录。Visual Studio 2017有一个新功能"打开文件夹",允许打开整个文件夹,即使不需要将其另存为解决方案。可以使用以下方法导入源代码。 它甚至支持构建和调试cmake项目。 将您的C++代码库带到"VisualStudio""打开文件夹" 我就是这样做的: 然后,所有内容都将添加到解决方案中,从文件夹到文件,以及这些文件夹中的文件。 我发现的一个很好的技巧是,如果您转到"添加现有…",您可以将文件夹从"打开"对话框拖到解决方案中。 我的Visual Studio可以在管理模式下自动打开,所以这对我来说是一个很好的解决方法,因为我不想为了让它正常工作而撤销它。 对我来说有效的方法是将文件夹拖到Visual Studio中,然后右键单击该文件夹并选择"在文件资源管理器中打开文件夹"。然后选择全部并将它们拖到Visual Studio的文件夹中。 现在市场上有一个开源的扩展,似乎可以满足OP的要求: 文件夹到解决方案文件夹 如果它不能完全满足您的需要,那么代码是可用的,因此您可以修改它以适应您的场景。 高温高压 我找到的最干净的方法是在目标文件夹中创建一个新的类库项目,并将其所有生成输出重定向到其他地方。它仍然会在该文件夹中留下一个.csproj文件,但它确实会让您在Visual Studio中看到它,并选择要在项目中包含哪些文件。 在Windows 7中,您可以执行以下操作: 右键单击项目并选择"添加->现有项"。在出现的对话框中,浏览到要添加的目录的根目录。在右上角有一个搜索框。键入 Visual Studio本机不支持这一点很令人恼火,但CMake可以生成Visual Studio项目作为解决方案。 除此之外,只需使用qt creator。然后它可以导出一个Visual Studio项目。 |