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

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

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

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


当前回答

令人恼火的是,Visual Studio本身并不支持这个功能,但是CMake可以生成Visual Studio项目作为解决方案。

除此之外,只需使用Qt Creator即可。然后它可以导出一个Visual Studio项目。

其他回答

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

我让我的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更改为您的文件夹名称。

在Windows 7中,你可以这样做:

右键单击您的项目并选择“添加->现有项目”。在出现的对话框中,浏览到要添加的目录的根目录。在右上角有一个搜索框。输入*.cs或*.cpp,无论你想添加哪种类型的文件。搜索完成后,选择所有文件,单击添加并等待一段时间…

将文件/文件夹从Windows资源管理器拖到解决方案资源管理器中。它会把它们都加起来。注意,如果Visual Studio处于管理员模式,这将不起作用,因为Windows资源管理器是一个用户模式进程。

根据这些描述,我并没有立即理解这一点,但以下是我最终发现的:

打开“显示所有文件”-在“解决方案资源管理器”工具栏上有一个图标 使用Windows资源管理器(不是解决方案资源管理器),将文件移动到您希望它们驻留的目录结构中 同样在“解决方案资源管理器”工具栏上单击“刷新” 您移动的文件应该在您放置它们的“解决方案资源管理器”树结构中可见 右键单击被删除的文件或文件夹,然后单击“包含在项目中”。文件夹中的所有内容都将包括在内