Как "добавить существующий элемент" всю структуру каталогов в Visual Studio?

Я чувствую себя глупо спрашивать это, потому что кажется, что это должно быть так просто, однако я не смог обнаружить ответа на этот вопрос.

У меня есть свободный набор файлов, не связанных с каким-либо проектом C#, которые находятся в сложной вложенной структуре каталогов. Я хочу добавить их в этом формате в другой каталог в ASP.NET веб-приложение, над которым я работаю; сохраняя при этом ту же структуру. Итак, я скопировал папку в цель расположение моего проекта, и я попытался "добавить существующий элемент", чтобы потерять предыдущую иерархию папок. Обычно я воссоздавал каталоги вручную, копировал их один к одному, а затем добавлял существующие элементы. В этом случае просто слишком много каталогов/элементов.

Итак, как вы добавляете существующие каталоги и файлы в Visual Studio 2008?

16 ответов


перетащите файлы / папки из Проводника Windows в Обозреватель решений. Это добавит их всех. Обратите внимание, это не сработает, если Visual Studio в режиме администратора, так как Windows Explorer-это процесс пользовательского режима.


включить "Show All Files" для конкретного проекта (вам может потребоваться нажать "Обновить", чтобы увидеть их)**.

папки/файлы, которые не являются частью вашего проекта appear slightly "lighter" в дереве проекта.

Right click папки/файлы, которые вы хотите добавить, и нажмите кнопку "Include In Project". Он будет рекурсивно добавлять папки / файлы в проект.

* * эти кнопки расположены на панели инструментов mini Solution Explorer.

* * убедитесь, что вы не находитесь в режиме отладки


В Обозревателе Решений:

  1. нажмите Показать все файлы (второй значок слева вверху обозревателя решений)
  2. найдите папку, которую вы хотите добавить
  3. щелкните правой кнопкой мыши и выберите "Включить в проект"

Я использую это для установки дополнений, таких как HTML-редакторы и сторонние браузеры файлов.


Я просто хочу отметить, что оба решения предложили выше
- Перетащите из Проводника Windows
- Показать все файлы, а затем включить в проект.
Не делайте того, о чем спрашивают:
Включить в проект при сохранении структуры каталогов.
По крайней мере, не в моем случае (C++/CLI Project Visual Studio 2013 в Windows 7).
В Visual Studio после возвращения в обычное представление (не показывать все файлы) все добавленные файлы перечислены в высший уровень проекта.
Да, на диске они все еще находятся там, где они были, но в обозревателе решений они свободны.

Я не нашел никакого способа обойти это, кроме воссоздания структуры каталогов в обозревателе решений, а затем добавления существующих элементов в нужное место.


Я не сразу понял это, основываясь на этих описаниях, но вот что я, наконец, наткнулся:

  1. включить "показать все файлы" - на панели инструментов обозревателя решений есть значок
  2. используя Проводник Windows (не проводник решений), переместите файлы в структуру каталогов, где они должны находиться
  3. нажмите "Обновить" также на панели инструментов обозревателя решений
  4. файлы, которые вы переместили должны быть видны "ghosted" в древовидной структуре обозревателя решений, где вы их разместили
  5. щелкните правой кнопкой мыши на ваших призрачных файлов или папок и нажмите кнопку "Включить в проект". Все содержимое папки будет включено

В дополнение к ответам. Ниже приведен значок для'Показать Все Файлы', как раз для легкой ссылки.

enter image description here


это немного поздно, но вы можете изменить свой проект XML, чтобы добавить существующие подпапки и структуры автоматически в свой проект, как "node_modules" из NPM:

Это для пожилых в MSBuild / визуальный студийные версии

<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 на имя вашей папки


enter image description here

нажмите выше в красном круге, ваша папка появится в обозревателе решений

щелкните правой кнопкой мыши на папке - > включить в проект.


вам нужно поместить структуру каталогов в каталог проекта. А затем нажмите значок "показать все файлы"в верхней части панели инструментов обозревателя решений. После этого будет показан добавленный каталог. Затем вам нужно будет выбрать этот каталог, щелкнуть правой кнопкой мыши и выбрать "включить в проект"."


наконец, Visual Studio 2017 позволяет пользователю импортировать весь каталог одним щелчком мыши. VS 2017 имеет новую функциональность "Открыть Папку", что позволяет открыть всю папку, даже без необходимости сохранять ее в качестве решения. Исходный код можно импортировать с помощью следующих методов.

  1. Файл - > Открыть - > папка (ctrl + shift + o)
  2. команду devenv.ехе

Он даже поддерживает построение и отладку cmake проекты.

https://blogs.msdn.microsoft.com/vcblog/2016/10/05/bring-your-c-codebase-to-visual-studio-with-open-folder/


вот что я делаю:

  1. щелкните правой кнопкой мыши на решении - > добавить - > существующий веб-сайт...
  2. выберите папку, в которой находится ваш сайт. Только корневая папка сайта.

затем все будет добавлено в ваше решение из папок в файлы и файлы внутри этих папок.


Что сработало для меня, так это перетащить папку в VS, затем щелкните правой кнопкой мыши папку и выберите "Открыть папку в Проводнике". Затем выберите все и перетащите их в папку в VS.


аккуратный трюк, который я обнаружил, заключается в том, что если вы идете в "Добавить существующий...", вы можете перетащить папку из открытого диалога в свое решение. У меня есть VS для автоматического открытия в режиме администратора, поэтому это было хорошим обходным путем для меня, поскольку я не хотел отменять это, чтобы заставить это работать.


в Windows 7 Вы можете сделать следующее:

щелкните правой кнопкой мыши на своем проекте и выберите "Добавить->существующий элемент". В появившемся диалоговом окне перейдите к корню каталога, который вы хотите добавить. В правом верхнем углу у вас есть окно поиска. Тип *.cs или *.cpp, независимо от типа файлов, которые вы хотите добавить. После завершения поиска выберите все файлы, нажмите кнопку Добавить и подождите некоторое время...


самый чистый способ, который я нашел, чтобы сделать это-создать новый проект библиотеки классов в целевую папку, и перенаправлять все его сборки в другом месте. Он все равно оставляет .файл csproj находится в этой папке, но позволяет увидеть его в Visual Studio и выбрать файлы для включения в проект.


раздражает, что Visual Studio не поддерживает Это изначально,но CMake может генерировать проект Visual Studio как работу.

кроме этого, просто используйте Qt Creator. Затем он может экспортировать проект VS.