我对这个问题感到很荒谬,因为看起来应该这么简单,但是我无法找到这个问题的答案 .
我有一个独立于任何C#项目的独立文件集,它们位于复杂的嵌套目录结构中 . 我想以这种格式将它们添加到我正在处理的ASP.NET Web应用程序中的不同目录中;同时保留相同的结构 . 所以,我将文件夹复制到我的项目的目标位置,我试图“添加现有项目”只是为了丢失以前的文件夹层次结构 . 通常我手动重新创建目录,一对一地复制,然后添加现有项目 . 在这种情况下,目录/项目太多了 .
那么如何在Visual Studio 2008中添加现有目录和文件?
16 回答
最后,Visual Studio 2017允许用户只需单击即可导入整个目录 . VS 2017有一个新功能 "Open Folder “允许打开整个文件夹,即使不需要将其保存为解决方案 . 源代码可以使用以下方法导入 .
文件 - >打开 - >文件夹(ctrl shift o)
devenv.exe <源文件夹>
它甚至支持构建和调试cmake项目 .
https://blogs.msdn.microsoft.com/vcblog/2016/10/05/bring-your-c-codebase-to-visual-studio-with-open-folder/
在Windows 7中,您可以执行以下操作:
右键单击您的项目并选择"Add->Existing Item" . 在出现的对话框中,浏览到要添加的目录的根目录 . 在右上角,您有一个搜索框 . 无论您要添加什么类型的文件,都要键入
*.cs
或*.cpp
. 搜索完成后,选择所有文件,单击添加并等待一段时间...点击上面的红色圆圈,您的文件夹将出现在解决方案资源管理器中
右键单击文件夹 - >包含在项目中 .
为特定项目启用
"Show All Files"
(您可能需要按"Refresh"才能看到它们)** .项目树中不属于项目
appear slightly "lighter"
的文件夹/文件 .Right click
要添加的文件夹/文件,然后单击"Include In Project"
. 它将以递归方式将文件夹/文件添加到项目中 .**这些按钮位于迷你Solution Explorer工具栏上 .
**确保您没有处于调试模式
这就是我做的:
右键单击解决方案 - >添加 - >现有网站...
选择您网站所在的文件夹 . 只是网站的根文件夹 .
然后,从文件夹到文件以及这些文件夹中的文件,您的解决方案中将添加所有内容 .
您需要将目录结构放在项目目录中 . 然后单击“解决方案资源管理器”工具箱顶部的“显示所有文件”图标 . 之后,添加的目录将显示出来 . 然后,您需要选择此目录,右键单击,然后选择“包含在项目中” .
我只想指出上面提供的两种解决方案
不要做问题要求:
在保存目录结构的同时包含在项目中 .
至少在我的情况下(Windows 7上的C / CLI Project Visual Studio 2013) .
在Visual Studio中,一旦返回到普通视图(而不是“显示所有文件”),您添加的文件将全部列在项目的顶层 .
在磁盘上是的,它们仍然位于它们所在的位置,但在解决方案资源管
我没有找到任何方法,除了在解决方案资源管理器中重新创建目录结构,然后在正确的位置添加现有项目 .
在Solution Explorer中:
单击“显示所有文件”(解决方案资源管理器顶部左侧的第二个图标)
找到要添加的文件夹
右键单击并选择"Include in Project"
我用它来安装html编辑器和第三方文件浏览器等附加组件 .
将文件/文件夹从Windows资源管理器拖到解决方案资源管理器它会将它们全部添加 . 请注意,如果Visual Studio处于管理员模式,则此操作无效,因为Windows资源管理器是用户模式进程 .
我发现这样做最干净的方法是在目标文件夹中创建一个新的类库项目,并将其所有构建输出重定向到其他位置 . 它仍然会在该文件夹中保留一个.csproj文件,但它确实允许您在Visual Studio中看到它并选择要包含在项目中的文件 .
我没有根据这些描述立即理解这一点,但这是我最后偶然发现的:
打开"Show All Files" - 解决方案资源管理器工具栏上有一个图标
使用Windows资源管理器(不是解决方案资源管理器),将文件移动到您希望它们驻留的目录结构中
在解决方案资源管理器工具栏上也单击"Refresh"
您_140862已放置它们的文件
右键单击您的幻影文件或文件夹,然后单击"Include in Project" . 将包含文件夹的所有内容
它的令人讨厌的是Visual Studio本身不支持这种做法,但CMake可以生成Visual Studio项目作为解决方法 .
除此之外,只需使用QT Creator . 然后它可以导出VS项目 .
除了答案 . 下面是' Show All Files '的图标,仅供参考 .
我发现一个巧妙的技巧是,如果你去“添加现有...”,你可以将文件夹从打开的对话框拖到你的解决方案 . 我让我的VS自动在管理模式下打开,所以这对我来说是一个很好的解决方法,因为我不想撤消它只是为了让它工作 .
这有点晚了但您可以更改项目XML以将现有的子文件夹和结构自动添加到项目中,如NPM中的“node_modules”:
这适用于较旧的MSBuild / Visual Studio版本
对于当前的MSBuild / Visual Studio版本:
只需将其放在xml的节点中:
在这种情况下,只需将$(MSBuildProjectDirectory)\ node_modules更改为您的文件夹名称
对我有用的是将文件夹拖到VS中,然后右键单击该文件夹并选择“在文件资源管理器中打开文件夹” . 然后选择all并将它们拖到VS中的文件夹中 .