При добавлении ссылки на сборку, расположенную в каталоге решения, есть ли способ добавить ее относительно, чтобы при возврате и выходе из репозитория на нее правильно ссылались в проектах?
При добавлении ссылки на сборку, расположенную в каталоге решения, есть ли способ добавить ее относительно, чтобы при возврате и выходе из репозитория на нее правильно ссылались в проектах?
Ответы:
Чтобы расширить исходный комментарий Павла Минаева: графический интерфейс для Visual Studio поддерживает относительные ссылки при условии, что ваш .sln является корнем относительной ссылки. Итак, если у вас есть решение C:\myProj\myProj.sln
, любые ссылки, которые вы добавляете в подпапкиC:\myProj\
, автоматически добавляются как относительные ссылки.
Чтобы добавить относительную ссылку в отдельный каталог, например C:/myReferences/myDLL.dll
, выполните следующие действия:
Измените <HintPath>, чтобы он был равен
<HintPath>..\..\myReferences\myDLL.dll</HintPath>
Это сейчас ссылки C:\myReferences\myDLL.dll
.
Надеюсь это поможет.
Да, просто создайте в своем решении каталог, например lib /, а затем добавьте свою dll в этот каталог в файловой системе и добавьте ее в проект (Добавить-> Существующий элемент-> и т. Д.). Затем добавьте ссылку на ваш проект.
Я делал это несколько раз под svn и под cvs.
В VS 2017 это автоматически. Так что простоAdd Reference
как обычно.
Обратите внимание, что Reference Properties
путь отображается в абсолютном, а в .vbproj/.csproj
относительном.
<Reference Include="NETnetworkmanager">
<HintPath>..\..\libs\NETnetworkmanager.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
Вероятно, самый простой способ добиться этого - просто добавить ссылку на сборку и затем (вручную) исправить текстовое представление ссылки в соответствующем файле проекта Visual Studio (расширение .csproj), чтобы оно стало относительным.
Я делал это много раз в VS 2005 без каких-либо проблем.
Я мог бы быть здесь, но кажется, что ответ довольно очевиден: посмотрите на ссылочные пути в свойствах проекта. В нашей настройке я добавил нашу общую папку репозитория в окно GUI пути ссылки, вот так
Таким образом, я могу скопировать свои библиотеки DLL (готовые к публикации) в эту папку, и теперь каждый разработчик получает обновленную DLL каждый раз, когда она собирается из этой папки.
Если dll находится в Решении, разработчик должен отдать приоритет локальной версии над опубликованной командной версией.