Що ж являє собою різницю між HintPathв файлі .csproj і ReferencePathв .csproj.userфайлі? Ми намагаємося взяти на себе конвенцію, де DLL-файли залежності знаходяться у репозиторії svn repo та всі проекти вказують на певний випуск. Оскільки різні розробники мають різні структури папок, відносні посилання не працюватимуть, тому ми створили схему використання змінної середовища, яка вказує на папку випусків конкретного розробника для створення абсолютної посилання. Тож після додавання посилання ми вручну редагуємо файл проекту, щоб змінити посилання на абсолютний шлях за допомогою змінної середовища.
Я помітив, що це можна зробити як з, так HintPathі з ReferencePath, але єдина різниця, яку я можу знайти між ними, полягає в тому, що HintPathце вирішується під час збирання і ReferencePathколи проект завантажується в IDE. Я не дуже впевнений, які наслідки цього є. Я помітив, що VS іноді переписує .csproj.userі мені доводиться переписувати ReferencePath, але я не впевнений, що викликає це.
Я чув, що найкраще не перевіряти .csproj.userфайл, оскільки він є специфічним для користувача, тому я хотів би прагнути до цього, але також чув, що HintPathDLL-специфіку не гарантовано завантажується, якщо та сама DLL знаходиться, наприклад, у вихідному каталозі проекту. Будь-які думки з цього приводу?