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

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

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

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


当前回答

最后,Visual Studio 2017允许用户通过一次单击导入整个目录。Visual Studio 2017有一个新功能“打开文件夹”,允许打开整个文件夹,甚至不需要将其保存为解决方案。可以使用以下方法导入源代码。

菜单文件→打开→*文件夹(Ctrl + Shift + O) Devenv.exe <源文件夹>

它甚至支持构建和调试CMake项目。

使用“打开文件夹”将c++代码库导入Visual Studio

其他回答

我只是想指出之前提出的两个解决方案,

从Windows资源管理器中拖放 显示所有文件,然后包括在项目。

不要做问题要求的事情:

包括在项目中,同时保留目录结构。

至少在我的情况下(Windows 7上的c++ /CLI项目Visual Studio 2013)。

在Visual Studio中,一旦您回到正常视图(而不是显示所有文件),您添加的文件将全部列在项目的顶层。

是的,在磁盘上它们仍然位于原来的位置,但在解决方案资源管理器中它们是松散的。

除了在解决方案资源管理器中重新创建目录结构,然后在正确的位置添加现有项目外,我没有找到解决方法。

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

我发现的最干净的方法是在目标文件夹中创建一个新的Class Library项目,并将其所有构建输出重定向到其他地方。它仍然在该文件夹中保留一个.csproj文件,但它允许您在Visual Studio中看到它并选择要包含在项目中的文件。

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

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

为特定项目启用“显示所有文件”(你可能需要点击“刷新”才能看到它们)**。

不属于项目的文件夹/文件在项目树中略显“轻”。

右键单击要添加的文件夹/文件,然后单击“包含在项目中”。它将递归地向项目添加文件夹/文件。

**这些按钮位于迷你解决方案资源管理器工具栏上。

**确保你不是在调试模式。