Czy podczas dodawania odwołania do zestawu znajdującego się w katalogu rozwiązania istnieje sposób na dodanie go względnie, tak aby po wpisaniu i wyrejestrowaniu z repozytorium odwoływanie się do niego w projektach było prawidłowe?
visual-studio-2008
reference
relative-path
theringostarrs
źródło
źródło
Odpowiedzi:
Aby rozwinąć oryginalny komentarz Pavela Minaeva - interfejs GUI dla programu Visual Studio obsługuje odwołania względne przy założeniu, że plik .sln jest katalogiem głównym odwołania względnego. Więc jeśli masz rozwiązanie
C:\myProj\myProj.sln
, wszelkie odniesienia dodane w podfolderachC:\myProj\
są automatycznie dodawane jako odniesienia względne.Aby dodać odwołanie względne w oddzielnym katalogu, na przykład
C:/myReferences/myDLL.dll
, wykonaj następujące czynności:Edytuj <HintPath>, aby był równy
<HintPath>..\..\myReferences\myDLL.dll</HintPath>
To teraz odnosi się
C:\myReferences\myDLL.dll
.Mam nadzieję że to pomoże.
źródło
Tak, po prostu utwórz katalog w swoim rozwiązaniu, taki jak lib /, a następnie dodaj swoją bibliotekę dll do tego katalogu w systemie plików i dodaj ją do projektu (Dodaj-> Istniejący element-> itd.). Następnie dodaj odniesienie na podstawie projektu.
Robiłem to kilka razy pod svn i pod cvs.
źródło
W VS 2017 jest to automatyczne. Tak
Add Reference
jak zwykle.Zauważ, że w
Reference Properties
bezwzględnej ścieżce jest pokazana, ale w.vbproj/.csproj
względnej jest używana.źródło
Prawdopodobnie najłatwiejszym sposobem osiągnięcia tego jest po prostu dodanie odwołania do zestawu, a następnie (ręcznie) poprawienie tekstowej reprezentacji odwołania w odpowiednim pliku projektu programu Visual Studio (rozszerzenie .csproj), tak aby stało się ono względne.
Robiłem to wiele razy w VS 2005 bez żadnych problemów.
źródło
Mógłbym się tutaj wyłączyć, ale wydaje się, że odpowiedź jest dość oczywista: spójrz na ścieżki odniesienia we właściwościach projektu. W naszej konfiguracji dodałem nasz wspólny folder repozytorium do okna graficznego interfejsu użytkownika ścieżki referencyjnej, tak jak to
W ten sposób mogę skopiować moje biblioteki DLL (gotowe do publikacji) do tego folderu, a każdy programista otrzymuje teraz zaktualizowaną bibliotekę DLL za każdym razem, gdy kompiluje z tego folderu.
Jeśli dll zostanie znaleziona w rozwiązaniu, konstruktor powinien nadać priorytet wersji lokalnej w stosunku do opublikowanej wersji zespołu.
źródło
Jak wspomniano wcześniej, możesz ręcznie edytować
.csproj
plik projektu , aby zastosować go ręcznie.Zauważyłem również, że Visual Studio 2013 próbuje zastosować ścieżkę względną do ścieżki odniesienia, prawdopodobnie z powodu próby zwiększenia przenośności pliku projektu.
źródło