Jak "dodać istniejący element" całą strukturę katalogów w Visual Studio?

Czuję się śmiesznie zadając to pytanie, ponieważ wydaje się, że powinno być tak proste, jednak nie byłem w stanie znaleźć odpowiedzi na to pytanie.

Mam wolnostojący zestaw plików nie powiązanych z żadnym projektem C#, które znajdują się w skomplikowanej strukturze zagnieżdżonych katalogów. Chcę dodać je w tym formacie do innego katalogu w ASP.NET aplikacja internetowa, nad którą pracuję; zachowując tę samą strukturę. Więc skopiowałem folder do docelowej lokalizacji mojego projekt i próbowałem "dodać istniejący element" tylko stracić poprzedni hierarchii folderów. Zazwyczaj ponownie tworzyłem katalogi ręcznie, kopiowałem je na zasadzie jeden do jednego, a następnie dodałem istniejące elementy. W tym przypadku jest po prostu zbyt wiele katalogów/pozycji.

Jak dodać istniejące katalogi i pliki w Visual Studio 2008?

Author: HoLyVieR, 2008-09-12

16 answers

Przeciągnij pliki / foldery z Eksploratora Windows do Eksploratora rozwiązań. Doda je wszystkie. Uwaga to nie działa, jeśli program Visual Studio jest w trybie administratora, ponieważ Eksplorator Windows jest procesem w trybie użytkownika.

 706
Author: Darren Kopp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-06 22:38:05

Włącz "Show All Files" dla konkretnego projektu (może być konieczne naciśnięcie "Odśwież", aby je zobaczyć)**.

Foldery / pliki, które nie są częścią twojego projektu appear slightly "lighter" w drzewie projektu.

Right click foldery/pliki, które chcesz dodać i kliknij "Include In Project". Będzie rekurencyjnie dodawać foldery / pliki do projektu.

* * te przyciski znajdują się na pasku narzędzi mini Solution Explorer.

** Upewnij się, że nie jesteś w trybie debugowania

 532
Author: Brannon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-29 10:21:30

In Solution Explorer:

  1. Kliknij Pokaż wszystkie pliki (druga ikona od lewej na górze Eksploratora rozwiązań)
  2. Znajdź folder, który chcesz dodać
  3. Kliknij prawym przyciskiem myszy i wybierz "Dołącz do projektu"

Używam tego do instalowania dodatków, takich jak edytory html i przeglądarki plików innych firm.

 91
Author: Tom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-29 09:37:23

Chcę tylko zaznaczyć, że oba rozwiązania oferowane powyżej
- Przeciągnij i upuść z Eksploratora Windows
- Pokaż wszystkie pliki, a następnie dołącz do projektu.
Nie rób tego, o co pytano:
Dołącz do projektu przy zachowaniu struktury katalogów.
Przynajmniej nie w moim przypadku (Projekt C++/CLI Visual Studio 2013 na Windows 7).
W Visual Studio po powrocie do normalnego widoku (nie pokazuje wszystkich plików) dodane pliki są wyświetlane na najwyższym poziomie projekt.
Tak na dysku nadal mieszkają tam, gdzie były, ale w Solution Explorer są luźne.

Nie znalazłem sposobu na obejście tego, poza odtworzeniem struktury katalogów w Eksploratorze rozwiązań, a następnie dodaniem istniejących elementów we właściwym miejscu.

 33
Author: ILIA BROUDNO,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-24 00:22:20

Nie od razu zrozumiałem to na podstawie tych opisów, ale oto, na co w końcu się natknąłem:

  1. Włącz "Pokaż wszystkie pliki" - na pasku narzędzi Eksploratora rozwiązań znajduje się ikona
  2. używając Eksploratora Windows (nie solution explorer), Przenieś pliki do struktury katalogów, w której mają znajdować się
  3. Kliknij "odśwież" również na pasku narzędzi Eksploratora rozwiązań
  4. przeniesione pliki powinny być widoczne "ghosted" w Eksploratorze rozwiązań struktura drzewa, w którym je umieściłeś
  5. Kliknij prawym przyciskiem myszy swoje upiorne pliki lub foldery i kliknij "Dołącz do projektu". Cała zawartość folderu zostanie dołączona
 21
Author: Don Rule,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-08 23:41:50

Oprócz odpowiedzi. Poniżej znajduje się ikona ' Pokaż wszystkie Pliki ', dla łatwego odniesienia.

Tutaj wpisz opis obrazka

 16
Author: Marvin Glenn Lacuna,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-25 07:45:29

Jest to trochę za późno, ale możesz zmienić swój projekt XML, aby automatycznie dodać istniejące podfoldery i struktury do projektu, takie jak "node_modules"z NPM:

To jest dla starszych wersji MSBuild / Visual Studio

<ItemGroup>
   <Item Include="$([System.IO.Directory]::GetFiles(&quot;$(MSBuildProjectDirectory)\node_modules&quot;,&quot;*&quot;,SearchOption.AllDirectories))"></Item>
</ItemGroup>

Dla obecnych wersji MSBuild / Visual Studio:

Wystarczy umieścić go w węzłach xml:

<Project> 
</Project>

W tym przypadku wystarczy zmienić $(MSBuildProjectDirectory)\node_modules na nazwę folderu

 8
Author: Bjego,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-11 12:20:27

Tutaj wpisz opis obrazka

Kliknij powyżej w czerwonym kółku, Twój folder pojawi się w Eksploratorze rozwiązań

Kliknij prawym przyciskiem myszy folder - > dołącz w projekcie.

 6
Author: Manoj Kalluri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-01 20:02:03

Musisz umieścić swoją strukturę katalogów w katalogu projektu. A następnie kliknij ikonę "Pokaż wszystkie pliki"w górnej części narzędzia Solution Explorer. Następnie zostanie wyświetlony dodany katalog. Następnie musisz wybrać ten katalog, kliknąć prawym przyciskiem myszy i wybrać " Dołącz w projekcie."

 5
Author: nader,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-20 12:44:29

W końcu, Visual Studio 2017 pozwala użytkownikowi importować cały katalog za pomocą jednego kliknięcia. VS 2017 posiada nową funkcjonalność " Otwórz Folder ", która umożliwia otwarcie całego folderu, nawet bez konieczności zapisywania go jako rozwiązania. Kod źródłowy można zaimportować za pomocą następujących metod.

  1. File - > Open - > Folder (ctrl + shift + o)
  2. devenv.exe

Obsługuje nawet budowanie i debugowanie projektów cmake.

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

 4
Author: Naren,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-29 16:53:55

This is what I do:

  1. Kliknij prawym przyciskiem myszy rozwiązanie - > Dodaj - > istniejąca strona...
  2. Wybierz folder, w którym znajduje się Twoja strona internetowa. Tylko główny folder witryny.

Wtedy wszystko zostanie dodane do Twojego rozwiązania od folderów do plików i plików wewnątrz tych folderów.

 2
Author: Willy David Jr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-28 05:43:34

Zadziałało dla mnie przeciągnięcie folderu do VS, następnie kliknij prawym przyciskiem myszy folder i wybierz "Otwórz Folder w Eksploratorze plików". Następnie zaznacz wszystkie i przeciągnij je do folderu w VS.

 1
Author: Nick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-02 20:43:06

Fajna sztuczka, którą odkryłem, polega na tym, że jeśli przejdziesz do "Dodaj istniejące...", możesz przeciągnąć folder z otwartego okna dialogowego do swojego rozwiązania. Mam swoje VS, aby otworzyć się automatycznie w trybie admina, więc było to dla mnie dobre obejście, ponieważ nie chciałem tego cofnąć, aby to zadziałało.

 1
Author: Yatrix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-13 19:52:16

W systemie Windows 7 możesz wykonać następujące czynności:

Kliknij prawym przyciskiem myszy projekt i wybierz "Dodaj - > istniejący element". W oknie dialogowym, które się pojawi, przejdź do katalogu głównego, który chcesz dodać. W prawym górnym rogu znajduje się pole wyszukiwania. Wpisz *.cs lub *.cpp, niezależnie od typu plików, które chcesz dodać. Po zakończeniu wyszukiwania wybierz wszystkie pliki, kliknij Dodaj i poczekaj chwilę...

 0
Author: user1395598,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-29 11:23:44

Najczystszym sposobem, jaki znalazłem, jest utworzenie nowego projektu biblioteki klas w folderze docelowym i przekierowanie całego wyjścia kompilacji gdzie indziej. Nadal pozostawia a .plik csproj znajduje się w tym folderze, ale pozwala zobaczyć go w Visual Studio i wybrać pliki do włączenia do projektu.

 0
Author: Jason Kester,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-07 13:31:12

To irytujące, że Visual Studio nie obsługuje tego natywnie, ale CMake może wygenerować projekt Visual Studio jako obejście.

Poza tym, wystarczy użyć Qt Creator. Następnie można wyeksportować projekt VS.

 -3
Author: lama12345,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-03 04:16:36