¿Cuál es exactamente la diferencia entre HintPathen un archivo .csproj y ReferencePathen un .csproj.userarchivo? Estamos tratando de comprometernos con una convención donde las DLL de dependencia se encuentran en un repositorio svn de "versiones" y todos los proyectos apuntan a una versión en particular. Dado que los diferentes desarrolladores tienen diferentes estructuras de carpetas, las referencias relativas no funcionarán, por lo que se nos ocurrió un esquema para usar una variable de entorno que apunta a la carpeta de versiones del desarrollador en particular para crear una referencia absoluta. Entonces, después de agregar una referencia, editamos manualmente el archivo del proyecto para cambiar la referencia a una ruta absoluta usando la variable de entorno.
Me di cuenta de que esto se puede hacer tanto con el HintPathcomo con el ReferencePath, pero la única diferencia que pude encontrar entre ellos es que HintPathse resuelve en el momento de la compilación y ReferencePathcuando el proyecto se carga en el IDE. Sin embargo, no estoy seguro de cuáles son las ramificaciones de eso. He notado que VS a veces reescribe el .csproj.usery tengo que reescribirlo ReferencePath, pero no estoy seguro de qué lo desencadena.
Escuché que es mejor no registrar el .csproj.userarchivo ya que es específico del usuario, así que me gustaría apuntar a eso, pero también escuché que la HintPathDLL especificada no está "garantizada" para ser cargada si la misma DLL se encuentra, por ejemplo, en el directorio de salida del proyecto. Tiene alguna idea sobre esto?