Jaka jest dokładnie różnica między HintPath
w pliku .csproj a ReferencePath
w .csproj.user
pliku? Staramy się przestrzegać konwencji, w której biblioteki DLL zależności znajdują się w repozytorium svn „wydań”, a wszystkie projekty wskazują na określone wydanie. Ponieważ różni programiści mają różne struktury folderów, odniesienia względne nie będą działać, więc wymyśliliśmy schemat użycia zmiennej środowiskowej wskazującej na folder wydań konkretnego programisty, aby utworzyć odniesienie bezwzględne. Dlatego po dodaniu odwołania ręcznie edytujemy plik projektu, aby zmienić odwołanie na ścieżkę bezwzględną za pomocą zmiennej środowiskowej.
Zauważyłem, że można to zrobić za pomocą obu HintPath
i ReferencePath
, ale jedyną różnicą, jaką mogłem znaleźć między nimi, jest to, że HintPath
jest to rozwiązywane w czasie kompilacji i ReferencePath
kiedy projekt jest ładowany do IDE. Nie jestem jednak pewien, jakie są tego konsekwencje. Zauważyłem, że VS czasami przepisuje .csproj.user
i muszę przepisać ReferencePath
, ale nie jestem pewien, co to powoduje.
Słyszałem, że najlepiej nie wpisywać .csproj.user
pliku, ponieważ jest on specyficzny dla użytkownika, więc chciałbym dążyć do tego, ale słyszałem też, że HintPath
określona biblioteka DLL nie jest „gwarantowana” do załadowania, jeśli ta sama biblioteka DLL znajduje się np. w katalogu wyjściowym projektu. Jakieś przemyślenia na ten temat?