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