Mam rozwiązanie Visual Studio. Obecnie jest to puste rozwiązanie (= brak projektów) i dodałem kilka folderów rozwiązań.
Foldery rozwiązań wydają się tylko „folderami wirtualnymi”, ponieważ nie są tworzone w systemie plików, a pliki w folderach rozwiązań po prostu znajdują się w tym samym folderze co plik .sln.
Czy istnieje ustawienie, które przeoczyłem, które nakazuje programowi Visual Studio traktowanie folderów rozwiązań jako folderów „prawdziwych”, czyli tworzenie ich w systemie plików i przenoszenie do niego plików, gdy przenoszę je wewnątrz rozwiązania do jednego z tych folderów?
Edycja: dzięki. W takim razie mam zamiar zasugerować VS2010 :)
visual-studio
Michael Stum
źródło
źródło
Odpowiedzi:
Bez specjalnego ustawienia. Myślę, że nie jest obsługiwany.
Możesz tworzyć prawdziwe foldery w „projekcie” w rozwiązaniu, ale nie w samym rozwiązaniu.
źródło
Istnieje obejście, które faktycznie działa zgodnie z oczekiwaniami .
Gotowe. Teraz Eksplorator rozwiązań odzwierciedli wszelkie zmiany w systemie plików i odwrotnie (w tym podfoldery).
(Tęsknię) używam go do specyfikacji, dokumentacji, PM i niektórych skryptów DevOps, które są udostępniane w zespole. Łatwo jest wybrać, co uwzględnić w kontroli źródła, czy nie, i (jeśli skonfigurowano poprawnie) nie powoduje konfliktu z kompilacją.
Wiem, że ta funkcja nie jest przeznaczona do tego przypadku, ale poza być może mylącą ikoną „Projekt” nie znalazłem jeszcze żadnych braków w tym hacku. Nadal istnieją przypadki użycia, w których klasyczne (wirtualne) foldery rozwiązań oferowane przez VS pasują do obrazu. Co myślisz?
źródło
.*proj
format oparty na systemie plików .W programie Visual Studio 2017 kliknij ikonę „Rozwiązania i foldery” w oknie Eksplorator rozwiązań. Ten przycisk przełącza z wirtualnego widoku „rozwiązania” do „widoku źródła”, który odpowiada układowi folderów i plików w systemie plików. Po dodaniu nowego folderu folder jest fizycznie tworzony w oczekiwanej lokalizacji. .
źródło
Wybrana odpowiedź sugeruje, że byłoby możliwe użycie rzeczywistych projektów zamiast folderów rozwiązań, ale tak naprawdę nie wyjaśnia, jak to zrobić. Myślę, że to, co tu opisuję, jest prawdopodobnie najmniej niezręcznym sposobem osiągnięcia tego ... :-P
Problem ze zwykłymi plikami projektów polega na tym, że ostatecznie zostaną skompilowane przez
MSBUILD
. A jeśli chcesz mieć projekt, który zawiera tylko niekompilowalne pliki, będzie to problem.Ale jakiś czas temu Visual Studio wprowadziło nowy typ projektu: Projekt współdzielony (rozszerzenie .shproj). Ten typ projektu nie jest domyślnie kompilowany, ale tylko wtedy, gdy (i tylko wtedy) odwołuje się do niego inny projekt.
Tak więc jedną częścią tej sztuczki jest użycie współdzielonych projektów zamiast folderów rozwiązań . Oczywiście możliwe jest dodanie projektu współdzielonego, do którego nie odwołuje się żaden inny projekt, co oznacza, że możemy uniknąć problemu przedstawionego powyżej.
Następnie, używając
<None Include="**/*" />
klauzuli w pliku .shproj, możemy automatycznie odzwierciedlić nowe pliki i / lub podfoldery.Zasadniczo zrób to:
Na przykład w moim przypadku utworzyłem DockerDev.shproj, więc mogę pogrupować niektóre skrypty związane z dockerem, które uruchamiamy tylko na naszych maszynach programistycznych:
Ten plik .shproj będzie śledzić każdy plik w dowolnym podfolderze tego nowego
DockerDev
folderu w moim rozwiązaniu.O ile mogłem zobaczyć, to rozwiązanie działa prawie tak, jak żądał OP: będzie działać jako niekompilowalne odniesienie do folderu i automatycznie odzwierciedli wszelkie wprowadzone w nim zmiany.
źródło
Sara Ford przesłała makro, aby to zrobić. W programie Visual Studio 2010 po otwarciu Eksploratora makr zobaczysz makro o nazwie „GenerateSlnFolderOnDirStructure”. Zautomatyzuje to tworzenie folderów rozwiązań i dodawanie plików.
źródło
Folder To Solution Folder Autor: Cecilia Wirén - CeciliaSHARP
Pozbądź się kłopotów z dodawaniem kilku plików do folderu rozwiązania. Wystarczy skorzystać z menu kontekstowego rozwiązania, a tuż pod opcją tworzenia nowego folderu rozwiązania znajduje się teraz „Dodaj folder jako folder rozwiązania”. Spowoduje to utworzenie folderu rozwiązania o takiej samej nazwie, jak wybrana, i dodanie elementów w tym folderze do folderu rozwiązania. Nie spowoduje to przeniesienia plików na dysku.
źródło
Nie, to nie jest obsługiwane. Jak podejrzewasz, foldery rozwiązań to po prostu wirtualne pozycje podrzędne w pliku .sln, nie mające nic wspólnego z systemem plików.
źródło
Visual Studio nie obsługuje tego. Zrobiłem jednak rozszerzenie, które robi coś podobnego dla VS2013. Mapuje foldery rozwiązań do folderów fizycznych na dysku twardym, chociaż mapowanie jest jednokierunkowe (z dysku twardego na rozwiązanie). Oznacza to, że zawartość folderu rozwiązania będzie odzwierciedlać zawartość folderu na dysku twardym, a nie na odwrót.
Po usunięciu tego rozszerzenie może nadal być przydatne. Obsługuje mapowanie folderów rozwiązań do folderów fizycznych, filtrowanie plików i katalogów na podstawie wyrażeń regularnych oraz zapamiętywanie mapowań w pliku .sln. Właściwości są nieinwazyjne, więc programiści bez rozszerzenia mogą nadal otwierać sln i nie mają na nie wpływu.
Hostowany w galerii Visual Studio: https://visualstudiogallery.msdn.microsoft.com/69e19ea6-4442-4cb6-b300-044dd21f02bd
Edycja: przesłane do bitbucket. Teraz open source. Licencja MIT.https://bitbucket.org/LSS_NorthWind/physical-solution-folders
źródło
Uwaga: tak, jest to możliwe, możesz utworzyć folder w katalogu głównym, ale jest to trochę trudne ....
Dając dodatkowe wysiłki, możesz to zrobić. Jak? Postępujmy zgodnie z krokiem
6. Przenieś repozytorium do nowej lokalizacji.
Skończyłeś ...
jeśli nadal nie możesz zobaczyć swojego folderu -----
Gratulacje, gotowe ...
Jeśli napotkasz jakiś problem, po prostu napisz do mnie o pomoc
źródło
Utwórz „folder rozwiązań”. Spowoduje to utworzenie folderu logicznego, ale nie fizycznego. Kliknij prawym przyciskiem myszy folder rozwiązania i otwórz nowe okno dialogowe projektu. Ale zanim klikniesz OK, musisz zmienić lokalizację projektu na żądany folder fizyczny, a VS utworzy go i umieści projekt w środku.
źródło
Możesz dodać prawdziwe foldery, wybierając opcję „Dodaj nowy filtr” dla pliku projektu programu Visual Studio. Możesz także zrobić „Dodaj nowy filtr” w istniejącym folderze. Po utworzeniu folderu zmień jego nazwę i dodaj plik źródłowy lub nagłówkowy lub cokolwiek pasuje do twojego projektu. Jest to jedyny znany mi sposób, który pozwala nam tworzyć prawdziwe foldery za pośrednictwem środowiska IDE programu Visual Studio.
źródło
Folder utworzony pod rozwiązaniem będzie wirtualny, jak powiedziano. Być może można to nazwać obejściem, ale możesz fizycznie utworzyć folder na dysku przed lub podczas dodawania nowego elementu / projektu, a Robert powinien być rodzeństwem twojego taty.
ps- po bliższym przyjrzeniu się, może powinienem wyjaśnić, że „Bob jest twoim wujem” oznacza, że jesteś w porządku / posortowany.
źródło
Sam chciałem tę funkcję kilka razy, ale koniec końców naprawdę NIE chcesz mieć takiej możliwości. Pomyśl o swoim rozwiązaniu (pliku) jako katalogu głównym aplikacji internetowej i pomyśl o folderach rozwiązań jako o katalogach wirtualnych (dosłownie i funkcjonalnie). Zawartość wirtualnego katalogu WWW może znajdować się fizycznie na innym serwerze. Program Visual Studio zagmatwał koncepcję folderów rozwiązań, umożliwiając tworzenie nowych plików w folderze. Podczas dodawania treści należy zawsze „Dodaj istniejące” . Po dodaniu istniejącego tworzy łącze do lokalizacji źródłowej pliku.
Jednak powodem, dla którego nie chcesz, aby foldery rozwiązań zachowywały się jak foldery „fizyczne”, jest to, że układ rozwiązania niekoniecznie musi korzystać z tej samej konwencji, co układ kontroli źródła. Foldery rozwiązań umożliwiają dostosowanie hierarchii projektów, dzięki czemu można grupować projekty i elementy w dowolny sposób, a następnie zdecydować, że się nie podoba, i zmienić to ponownie bez konieczności przechodzenia przez koszmar przenoszenia elementów kontroli źródła wokół i irytuje resztę zespołu.
źródło
src
,test
,tools
, itd. Można by na pewno chcesz, aby tę decyzję na początku projektu do punktu o irytujące zespół, ale dotyczy to większości decyzji architektonicznych.Mam trochę obejścia tego problemu (nie jest świetne, ale działa).
To nie jest świetne, ponieważ będziesz musiał ręcznie zarządzać odniesieniami do plików, ale działa dla mnie.
źródło