O que exatamente é a diferença entre o HintPathem um arquivo .csproj e ReferencePathem um .csproj.userarquivo? Estamos tentando nos comprometer com uma convenção em que as DLLs de dependência estão em um repositório svn "releases" e todos os projetos apontam para um release específico. Como diferentes desenvolvedores têm estruturas de pastas diferentes, as referências relativas não funcionam, então criamos um esquema para usar uma variável de ambiente apontando para a pasta de releases do desenvolvedor em particular para criar uma referência absoluta. Portanto, depois que uma referência é adicionada, editamos manualmente o arquivo do projeto para alterar a referência para um caminho absoluto usando a variável de ambiente
Percebi que isso pode ser feito com o HintPathe o ReferencePath, mas a única diferença que pude encontrar entre eles é que HintPathé resolvido no momento da construção e ReferencePathquando o projeto é carregado no IDE. Não tenho muita certeza de quais são as ramificações disso. Percebi que o VS às vezes reescreve o .csproj.usere tenho que reescrever o ReferencePath, mas não tenho certeza do que desencadeia isso.
Ouvi dizer que é melhor não fazer o check-in do .csproj.userarquivo, uma vez que é específico do usuário, então gostaria de procurar por isso, mas também ouvi dizer que a HintPathDLL especificada não é "garantida" para ser carregada se a mesma DLL está localizada no diretório de saída do projeto. Alguma idéia sobre isso?