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