W programie Visual Studio możemy „Dodaj jako łącze”, aby dodać łącze do pliku w innym projekcie w rozwiązaniu.
Czy można to zrobić dla całych folderów, tak aby cały folder w projekcie A był widoczny w projekcie B, bez konieczności ręcznego tworzenia linków do nowych elementów w tym folderze?
<Content ...>
i dodać,<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
aby program Visual Studio kopiował zasoby podczas kompilacji.<None>...</None>
zamiast<Compile>...</Compile>
. Ale myślę, że i tak skopiuje te pliki, nawet VisualStudio robi to z połączonymi plikami.<Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
aby zapobiec upuszczaniu rozszerzeń z nazw plików.W VS2012 i nowszych wersjach można przeciągnąć folder do innego projektu z wciśniętym klawiszem Alt . To tak samo, jak ręczne, ale szybsze dodawanie każdego pliku jako łącza.
upd : Rozważ użycie projektów udostępnionych, jeśli używasz VS2013 Update 2 (z Menedżerem odniesień do projektów udostępnionych ) lub VS2015.
źródło
Jeden dodatek do odpowiedzi z mo. oraz komentarz Marcusa, jeśli łączysz elementy treści, musisz dołączyć rozszerzenie pliku:
źródło
<Compile ...
w tym. W moim przypadku muszę odnieść.ts
pliki do mojego nowego projektu. jak to jest zrobione. dzięki!Jeśli chodzi o część pierwotnego zapytania, w której folder połączony pojawia się w IDE, jest to możliwe, więc w eksploratorze rozwiązań znajduje się folder ze wszystkimi połączonymi plikami w środku, zamiast wszystkich plików pojawiających się w katalogu głównym rozwiązanie. Aby to osiągnąć, należy dodać:
Spowoduje to uwzględnienie wszystkich plików z połączonego katalogu w nowym folderze w eksploratorze rozwiązań o nazwie MyData. „A” w powyższym kodzie można nazwać dowolnie, ale musi tam być, aby folder się pojawił.
źródło
Jeśli chcesz dodać folder jako odniesienie i nie chcesz go kompilować, użyj:
źródło
Rozbij powłokę i dodaj symboliczne łącze.
runas Administrator
Dowiązanie symboliczne BAM!
/ d określa łącze do katalogu.
Działa w systemie Vista od razu po wyjęciu z pudełka. Można przenieść do XP.
Dokumentacja tutaj: http://technet.microsoft.com/en-us/library/cc753194%28WS.10%29.aspx
Dla tych, którzy nie są zaznajomieni z dowiązaniami symbolicznymi, jest to zasadniczo wskaźnik do innego pliku lub katalogu. Jest przezroczysty dla aplikacji. Jedna kopia na dysku, kilka sposobów rozwiązania tego problemu. Możesz także utworzyć „twarde łącze”, które nie jest wskaźnikiem do innego adresu, ale rzeczywistym wpisem identyfikatora pliku w systemie NTFS dla tego samego pliku.
UWAGA: jak stwierdzono w komentarzach, działałoby to tylko na komputerze, na którym utworzyłeś dowiązanie symboliczne i nie działałoby w systemie kontroli wersji, takim jak git.
źródło