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

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

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

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


当前回答

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

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

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

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

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

其他回答

这就是我所做的:

右键单击解决方案->添加->现有网站… 选择网站所在的文件夹。只是网站的根文件夹。

然后,解决方案中的所有内容都将从文件夹添加到文件,以及这些文件夹中的文件。

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

现在在市场上有一个开源扩展,似乎做了OP所要求的:

文件夹到解决方案文件夹

如果它不能完全实现您想要的功能,那么代码是可用的,因此您可以修改它以适合您的场景。

HTH

您需要将目录结构放在项目目录中。然后单击“解决方案资源管理器工具箱”顶部的“显示所有文件”图标。之后,将显示添加的目录。然后您需要选择这个目录,右键单击,并选择“Include in Project”。

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

我让我的Visual Studio在管理模式下自动打开,所以这对我来说是一个很好的解决方案,因为我不想为了让它工作而不得不撤消它。