Добавить уже существующий каталог в каталог в обозревателе решений


105

Я хочу добавить уже существующий каталог в каталог в обозревателе решений, но всякий раз, когда я щелкаю каталог правой кнопкой мыши и выбираю Add => Existing Item, я могу добавлять только отдельные файлы, но не каталоги.

Как добавить уже существующий каталог в каталог внутри проекта в обозревателе решений?


Вы пытались щелкнуть «Добавить папку» и назвать ее так же, как каталог на диске?
rene

9
Пробовали перетащить папку из проводника Windows в окно решения Visual Studio? Источник: stackoverflow.com/questions/392473/…
Крис

Теперь у меня есть! Это работает, спасибо.
JMK

@Chris Тебе действительно стоит опубликовать это как ответ, потому что ... э ... это хаха
JMK

@Johnny_D Однако ответ с 7 голосами оказался более полезным.
JMK

Ответы:


82

Перетащите папку из проводника Windows в окно решения Visual Studio :)

Источник здесь

или просто скопируйте и вставьте в обозреватель решений.


перетаскивание приводит к потере структуры папок (VS12 Express)
Опсенас

1
@Chris: Нет перетаскивания из проводника в проводник решений. О чем ты говоришь?
ajeh

@ajeh Если у вас открыто окно проводника рядом с Visual Studio, выберите файл из проводника, затем перетащите его в окно обозревателя решений Visual Studio
Крис,

177

Нажмите кнопку «Показать все файлы» в верхней части обозревателя решений, щелкните правой кнопкой мыши нужную папку и выберите «включить в проект».

Кнопка Показать все файлы в обозревателе решений VS2012


1
Не могу найти эту кнопку. Это потому, что у меня только экспресс-выпуск?
Марсель

2
Насколько я могу судить, кнопка «показать все файлы» больше не существует в VS 2012. ПОЖАЛУЙСТА, поправьте меня, если я ошибаюсь, поскольку мне не хватает этой функции. РЕДАКТИРОВАТЬ: По крайней мере, его не существует для проектов веб-сайтов.
Klay 06

1
Привет, Клей. Как я вижу, кнопка «показать все файлы» существует в VS2012, однако ее нет в проекте веб-сайта. Моя рекомендация для вас: Старайтесь не использовать проект веб-сайта, если вам нужна эта функциональность
Раденко Зец

2
Я знаю, что это немного поздно, но если ваш каталог (папка) уже находится в файловой системе, и вы хотите добавить его в свой проект (как об этом проще сказано в комментариях выше) ... просто откройте файл проводник (как обычно ... открытая папка в Windows) и перетащите папку в нужную папку на панели проводника решений ... работа выполнена! Я только что сделал это, и это работает, поскольку у меня тоже нет «показать все файлы», и я все еще хочу использовать «проект веб-сайта» для своего проекта.
rhaag71

16
Тем, у кого возникли проблемы с поиском кнопки, обратите внимание, что кнопки в верхней части обозревателя решений меняются в зависимости от того, что выбрано (по крайней мере, в VS2012). Убедитесь, что ваш проект выбран.
Джон-Эрик

10

VS 2012, похоже, различает «Папки решений», которые представляют собой только папки, содержащие либо другие папки решений, либо содержащие папки проекта. Перетаскивание работает (с моими настройками) только для папок проекта, но не для папок решений. Если я добавлю новую папку с решениями, на машине ничего не произойдет. Если я перетащу папку машины в главное Решение, она откажется принять ее. Если я перетащу папку в папку решений, я получаю сообщение об ошибке, в котором говорится, что это невозможно.


4

В некоторых других ответах отсутствует важный момент: если папки нет в проекте в решении, добавить папку невозможно.

Это решение:

1) Добавьте новую папку в sln - неважно, что папка уже существует на диске, потому что это виртуальная папка в sln

2) Добавьте файл в папку с помощью «добавить существующие файлы»


У меня есть предложение: не делайте свой ответ похожим на комментарий. В вашем исходном ответе была фраза «Мне просто нужно было добавить комментарий ...», что, на мой взгляд, предполагает, что это должен быть комментарий, а не ответ. Если вы начнете свой ответ с такой строки, он может пометить его как «Не ответ». Мне кажется, что ваш ответ действительно пытается ответить на вопрос, поэтому я отредактировал его, чтобы предотвратить флаги NAA.
skrrgwasme

он ответил на вопрос, однако, поскольку я занимался разработкой в ​​течение 35 лет, мой английский оказался резким и точным. Кроме того, код никогда не обижается, когда он не понимает, он просто не работает
Адмирал,

2

При работе с папкой уровня решения, которая была удалена по какой-то причине и теперь ее нужно добавить обратно, откройте файл .sln в текстовом редакторе, таком как notepad ++.

Найдите свое "FolderName" в разделе, который выглядит так ...

Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NewFolder1", "NewFolder1", "{73ED84FC-F250-4CCC-B267-34CEB67F2883}" EndProject

Удалите из «Project» в «EndProject» ТОЛЬКО для конкретного проекта / папки, с которыми у вас возникли проблемы.

В VS2012 вы можете получить сообщение о том, что ваше решение было изменено внешним источником. Выберите вариант «Отменить» ваши изменения для внешних изменений. Наконец, добавьте папку уровня решения и добавьте свои проекты в эту папку как существующие элементы, перетащите их или скопируйте и вставьте в соответствии с вашими предпочтениями.


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

1

Разверните пункт «Проект» в строке меню и выберите «Показать все файлы». Затем найдите папку, которую вы хотите добавить, в обозревателе решений (папки, которые в настоящее время не включены, будут светло-серыми с пунктирным контуром вместо обычного сплошного значка) щелкните правой кнопкой мыши нужную папку и выберите «Включить в проект»

После завершения снова выберите «Показать все файлы» в меню «Проект», чтобы вернуться к обычному виду.

(Это очень похоже на ответ Раденко Зека, но не требует, чтобы кнопка «Показать все файлы» уже присутствовала на панели инструментов. Я бы просто оставил это как ответ на его ответ, но в настоящее время у меня нет репутации оставлять комментарии.)


Я считаю, что вы, возможно, только что просмотрели исходный пост, потому что он действительно давал ответ. Однако я отредактировал сообщение, чтобы сделать этот ответ более ясным. Я не уверен, почему вы информируете меня о необходимости иметь более высокую репутацию, чтобы комментировать сообщения, поскольку я прямо заявил, что в ответе, как часть комментария, объясняющего, что я оставляю дополнительный ответ в качестве нового сообщения а не комментарий из-за этого ограничения репутации. Но спасибо за отзыв!
Daetrin

Этот текст автоматически публикуется всякий раз, когда ответ помечается как несоответствующий. Кроме того, правка делает его более понятным.
Davidmh

1

Для тех, кто догадывался, что это можно сделать, но не смог, ПРИМЕЧАНИЕ: перетащите папку или файлы НА имя проекта в обозревателе решений в наименьшей степени.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.