Visual Studio: ссылки на относительные сборки - PullRequest
85 голосов
/ 31 июля 2009

При добавлении ссылки на сборку, расположенную в каталоге решения, есть ли способ добавить ее относительно, чтобы при входе и выходе из хранилища на нее правильно ссылались в проектах?

Ответы [ 5 ]

116 голосов
/ 18 ноября 2009

Расширение исходного комментария Павла Минаева - GUI для Visual Studio поддерживает относительные ссылки с предположением, что ваш .sln является корнем относительной ссылки. Поэтому, если у вас есть решение C:\myProj\myProj.sln, любые ссылки, которые вы добавляете в подпапки C:\myProj\, автоматически добавляются как относительные ссылки.

Чтобы добавить относительную ссылку в отдельный каталог, например C:/myReferences/myDLL.dll, выполните следующие действия:

  1. Добавьте ссылку в графическом интерфейсе Visual Studio, щелкнув правой кнопкой мыши проект в обозревателе решений и выбрав Добавить ссылку ...
  2. Найдите * .csproj, где эта ссылка существует, и откройте его в текстовом редакторе
  3. Измените так, чтобы он равнялся

    <HintPath>..\..\myReferences\myDLL.dll</HintPath>

Теперь это ссылки C:\myReferences\myDLL.dll.

Надеюсь, это поможет.

8 голосов
/ 31 июля 2009

Да, просто создайте каталог в своем решении, например lib /, а затем добавьте свою dll в этот каталог в файловой системе и добавьте его в проект (Add-> Existing Item-> etc). Затем добавьте ссылку на основе вашего проекта.

Я делал это несколько раз под svn и под cvs.

2 голосов
/ 21 июня 2018

В VS 2017 это автоматически. Так что просто Add Reference как обычно.

Обратите внимание, что в Reference Properties отображается абсолютный путь, но в .vbproj/.csproj используется относительный.

<Reference Include="NETnetworkmanager">
      <HintPath>..\..\libs\NETnetworkmanager.dll</HintPath>
      <EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
2 голосов
/ 31 июля 2009

Вероятно, самый простой способ добиться этого - просто добавить ссылку на сборку и затем (вручную) исправить текстовое представление ссылки в соответствующем файле проекта Visual Studio (расширение .csproj) так, чтобы оно стало относительным.

Я много раз делал это в VS 2005 без проблем.

0 голосов
/ 06 июля 2015

Как упоминалось ранее, вы можете вручную отредактировать файл .csproj вашего проекта, чтобы применить его вручную.

Я также заметил, что Visual Studio 2013 пытается применить относительный путь к ссылочной подсказке, возможно, из-за попытки сделать файл проекта более переносимым.

...