В чем именно разница между HintPathв файле .csproj и ReferencePathв .csproj.userфайле? Мы пытаемся придерживаться соглашения, в котором библиотеки зависимостей находятся в репозитории svn «выпусков», а все проекты указывают на конкретный выпуск. Поскольку у разных разработчиков разные структуры папок, относительные ссылки работать не будут, поэтому мы придумали схему использования переменной среды, указывающей на папку релизов конкретного разработчика, для создания абсолютной ссылки. Итак, после добавления ссылки мы вручную редактируем файл проекта, чтобы изменить ссылку на абсолютный путь с помощью переменной среды.
Я заметил, что это можно сделать как с помощью, так HintPathи с помощью ReferencePath, но единственное различие, которое я смог найти между ними, заключается в том, что HintPathоно разрешается во время сборки и ReferencePathкогда проект загружается в IDE. Я не совсем уверен, каковы последствия этого. Я заметил, что VS иногда переписывает, .csproj.userи мне приходится переписывать ReferencePath, но я не уверен, что это вызывает.
Я слышал, что лучше не проверять .csproj.userфайл, поскольку он специфичен для пользователя, поэтому я бы хотел добиться этого, но я также слышал, что HintPathуказанная DLL не "гарантированно" будет загружена, если та же DLL находится, например, в выходном каталоге проекта. Есть мысли по этому поводу?