我有一组独立的文件,完全不属于任何c#项目,它们位于复杂的嵌套目录结构中。
我想以这种格式将它们添加到ASP。NET web应用程序,我正在工作;同时保持相同的结构。所以,我复制文件夹到我的项目的目标位置,我试图“添加现有项目”,只是失去了以前的文件夹层次结构。
通常我手工重新创建目录,逐个复制,然后添加现有的项目。在这种情况下,目录/项太多了。
那么如何在Visual Studio 2008中添加现有的目录和文件呢?
我有一组独立的文件,完全不属于任何c#项目,它们位于复杂的嵌套目录结构中。
我想以这种格式将它们添加到ASP。NET web应用程序,我正在工作;同时保持相同的结构。所以,我复制文件夹到我的项目的目标位置,我试图“添加现有项目”,只是失去了以前的文件夹层次结构。
通常我手工重新创建目录,逐个复制,然后添加现有的项目。在这种情况下,目录/项太多了。
那么如何在Visual Studio 2008中添加现有的目录和文件呢?
当前回答
根据这些描述,我并没有立即理解这一点,但以下是我最终发现的:
打开“显示所有文件”-在“解决方案资源管理器”工具栏上有一个图标 使用Windows资源管理器(不是解决方案资源管理器),将文件移动到您希望它们驻留的目录结构中 同样在“解决方案资源管理器”工具栏上单击“刷新” 您移动的文件应该在您放置它们的“解决方案资源管理器”树结构中可见 右键单击被删除的文件或文件夹,然后单击“包含在项目中”。文件夹中的所有内容都将包括在内
其他回答
对我来说有用的是将文件夹拖到Visual Studio中,然后右键单击文件夹,选择“在文件资源管理器中打开文件夹”。然后全部选中并拖动到Visual Studio的文件夹中。
你可以改变你的项目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更改为您的文件夹名称。
这就是我所做的:
右键单击解决方案->添加->现有网站… 选择网站所在的文件夹。只是网站的根文件夹。
然后,解决方案中的所有内容都将从文件夹添加到文件,以及这些文件夹中的文件。
现在在市场上有一个开源扩展,似乎做了OP所要求的:
文件夹到解决方案文件夹
如果它不能完全实现您想要的功能,那么代码是可用的,因此您可以修改它以适合您的场景。
HTH
我只是想指出之前提出的两个解决方案,
从Windows资源管理器中拖放 显示所有文件,然后包括在项目。
不要做问题要求的事情:
包括在项目中,同时保留目录结构。
至少在我的情况下(Windows 7上的c++ /CLI项目Visual Studio 2013)。
在Visual Studio中,一旦您回到正常视图(而不是显示所有文件),您添加的文件将全部列在项目的顶层。
是的,在磁盘上它们仍然位于原来的位置,但在解决方案资源管理器中它们是松散的。
除了在解决方案资源管理器中重新创建目录结构,然后在正确的位置添加现有项目外,我没有找到解决方法。