ссылки в VS IDE, как правило, ведут себя странно. По моему опыту, они, как правило, переоцениваются относительными путями, когда я хочу абсолютного, но мне еще предстоит попробовать связанный файл. Есть, по сути, два варианта, которые я могу увидеть, чтобы исправить эту проблему.
Во-первых, если вы беспокоитесь об абсолютном или относительном пути, откройте текст файла .csproj. Если вы этого еще не сделали, вы заметите, что все это в XML. Затем вручную отредактируйте записи с относительным путем, имея в виду $(SolutionDir) macro и «..» в Windows означает «на один уровень». Пока вы не перерисовываете эти ссылки, VS обычно оставляет такие записи отдельно, в частности, потому что есть много и больше вещей, которые вы можете сделать с отредактированным файлом (разные ссылки на платформе, вероятно, являются моим любимым трюком здесь)
Второй вариант, который я рекомендую гораздо больше, - использовать функциональные возможности вашего управления контентом (будь то Git, SVN или Mercurial), который позволяет встраивать другие репозитории («Subrepos» или «Externals») - это будет позволяют вам редактировать функциональные возможности исходного документа, в то время как он встроен в структуру вашего проекта и, следовательно, агностик к файловой структуре, ведущей к ней. Даже лучше, у вас есть общие файлы на своем собственном репо, даже если это репо клонируется в свое место где-то еще на вашем диске
Вариант B звучит как лучшее долгосрочное решение, хотя я буду делать A в в краткосрочной перспективе. BTW, есть ли способ интегрировать GIT в VS напрямую, поэтому мне не нужно использовать внешний клиент? –
Из-за того, что MS пытается поддерживать собственный Team Foundation Server, это невозможно без сторонних плагинов. Я сам не использовал ни один из этих плагинов и не имею рекомендаций по какой-либо конкретной реализации, но рудиментарный поиск Google показывает, что есть несколько вариантов. – David