¿Cuál es exactamente la diferencia entre HintPath
en un archivo .csproj y ReferencePath
en un .csproj.user
archivo? 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 HintPath
como con el ReferencePath
, pero la única diferencia que pude encontrar entre ellos es que HintPath
se resuelve en el momento de la compilación y ReferencePath
cuando 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.user
y tengo que reescribirlo ReferencePath
, pero no estoy seguro de qué lo desencadena.
Escuché que es mejor no registrar el .csproj.user
archivo ya que es específico del usuario, así que me gustaría apuntar a eso, pero también escuché que la HintPath
DLL 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?