Visual Studio:将现有文件夹添加到项目中

Her*_*ton 25 projects-and-solutions visual-studio

有没有办法将现有的文件夹添加到Visual Studio项目,以便我不能按文件执行此文件?

编辑

说清楚:我想添加引用而不是副本.

Joh*_*ith 48

如果文件夹及其内容已经创建并且它实际存在于项目下,则可以单击"显示所有文件"图标(位于"解决方案资源管理器"窗口的顶部),然后当文件夹显示为虚线图标时,单击鼠标右键然后选择Include In Project并添加文件夹及其所有内容.

  • @Joe,我正在使用 vs 2019,它仍然对我有用。您确定您正在查看正确的图标栏吗? (8认同)
  • 听起来不错,但在 vs 2019 中这似乎不是一个选项 (4认同)
  • 如果解决方案具有“解决方案文件夹”,则这不起作用 (3认同)
  • 然而,从 Windows 资源管理器将文件夹拖放到解决方案中是有效的, (2认同)
  • 这就是我一直在寻找的答案。谢谢。 (2认同)
  • 效果很好!我使用vs已经很多年了,但从来没有意识到有这么有用的按钮。 (2认同)

Muh*_*ooq 48

VS 2019

单击解决方案资源管理器窗口顶部的“显示所有文件”图标。

“显示所有文件”图标

然后所选项目的文件夹/文件将显示为虚线图标。您可以右键单击其中任何一个并选择include in project将它们包含在项目中。

对于解决方案文件夹,单击“显示所有文件”图标,然后首先排除所需的文件夹/文件,然后包括它们。

  • 在我尝试添加文件和文件夹的不同方法中,这是唯一似乎没有任何麻烦的方法 (2认同)
  • 很高兴有这种解决方法,但令人失望的是添加现有项目违反了最小惊喜原则。 (2认同)
  • 我使用VS这么多年了,现在才第一次使用这个功能。哇。 (2认同)

foo*_*how 21

@Mark 的答案很好,但是如果有数百或数千个文件,那么添加所有文件将非常麻烦。另外,它不提供新文件。

还有另一种使用 .csproj 文件的方法。我使用它来添加属于没有自己的 .csproj 文件的子模块一部分的内容。

请注意,我使用了该<Content /> 标签,因为在编译期间我不需要任何链接的内容。

<ItemGroup>
  <Content Include="..\my\submodule\directory\**" Link="Directory\In\Main\Project\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

2024 年更新

您可能不想使用该<Content />标签,具体取决于您对要显示的文件的意图。以下是有关一些常见选项的Microsoft 文档,但下面是一些有用选项的摘要。

  • <Content />文件将从编译中排除,但在发布时可能会包含在内(例如 NuGet 包)
  • <Compile />文件将用作编译器的源
  • <None />文件只会在 Visual Studio 中显示
  • <EmbeddedResource />将嵌套在生成的 DLL 或 EXE 文件中


nvo*_*igt 11

我不认为有,但如果你有一个文件夹中的所有文件,你可以一次添加多个文件.只需在添加文件对话框中标记它们即可.

  • 关于在解决方案资源管理器中显示所有文件的答案比此选项更好。 (9认同)
  • "添加现有项目"对话框的"添加"按钮有下拉菜单,可以选择"添加为链接". (8认同)
  • @john-j-smith 提供的答案应标记为正确答案。 (5认同)
  • 这只是为我添加了项目的“根”文件夹中的文件,并且不包括现有的文件夹结构。 (3认同)

Evg*_*nko 9

你可以打开Add Existing Item对话框,选择一堆文件,点击Add's按钮下拉菜单然后选择Add as a link.它会将文件添加为引用,不会复制它.

  • 如果解决方案具有“解决方案文件夹”,则这不起作用 (3认同)

小智 7

您可以拖放整个文件夹.如果所有文件都没有显示,则可以对子文件夹重复执行drag'n'drop过程.

  • 您还可以复制文件资源管理器中的外部文件夹并将其粘贴到 Visual Studio 项目资源管理器中。 (2认同)

小智 6

  1. 右键单击该项目,然后选择“新建解决方案资源管理器视图”,弹出一个窗口。
  2. 然后形成新窗口的工具栏(“解决方案探索窗口”),单击“显示所有文件”图标。
  3. 然后将感兴趣的文件夹包含到您的项目中...


小智 6

如果您使用 VS 2019 Community Edition,我发现您可以:

  1. 打开您要在 Windows 资源管理器中添加的任何文件夹的父文件夹
  2. 右键单击并复制该文件夹
  3. 转到 Visual Studio 中的解决方案资源管理器
  4. 右键单击,然后将文件夹粘贴到解决方案树中您想要的任意位置