Was genau ist der Unterschied zwischen der HintPath
in einer .csproj-Datei und der ReferencePath
in einer .csproj.user
Datei? Wir versuchen, uns auf eine Konvention festzulegen, bei der sich Abhängigkeits-DLLs in einem SVN-Repo "Releases" befinden und alle Projekte auf ein bestimmtes Release verweisen. Da verschiedene Entwickler unterschiedliche Ordnerstrukturen haben, funktionieren relative Referenzen nicht. Daher haben wir ein Schema entwickelt, mit dem eine Umgebungsvariable verwendet wird, die auf den Release-Ordner des jeweiligen Entwicklers verweist, um eine absolute Referenz zu erstellen. Nachdem eine Referenz hinzugefügt wurde, bearbeiten wir die Projektdatei manuell, um die Referenz mithilfe der Umgebungsvariablen in einen absoluten Pfad zu ändern.
Ich habe festgestellt, dass dies sowohl mit dem HintPath
als auch mit dem möglich ist ReferencePath
, aber der einzige Unterschied, den ich zwischen ihnen feststellen konnte, besteht darin, dass er HintPath
beim Erstellen und ReferencePath
beim Laden des Projekts in die IDE behoben wird. Ich bin mir jedoch nicht sicher, welche Konsequenzen dies hat. Ich habe bemerkt, dass VS das manchmal umschreibt .csproj.user
und ich das umschreiben muss ReferencePath
, aber ich bin nicht sicher, was das auslöst.
Ich habe gehört, dass es am besten ist, die .csproj.user
Datei nicht einzuchecken, da sie benutzerspezifisch ist, daher möchte ich darauf abzielen, aber ich habe auch gehört, dass das HintPath
Laden der angegebenen DLL nicht "garantiert" ist, wenn Die gleiche DLL befindet sich zB im Ausgabeverzeichnis des Projekts. Irgendwelche Gedanken dazu?