2015-03-05 3 views
1

У меня есть проект C#, который ссылается на некоторую dll.Visual Studio 2010 - Ссылка на dll в TFS

Я хочу проверить эту DLL в TFS, в папку «Ассемблемы», и установить ссылку на этот путь.

Возможно ли это?

+1

Это не важно для этого, но, надеюсь, вы знаете, что официальная поддержка MS Mainstream Visual Studio 2010 заканчивается в июле этого года. –

ответ

0

Обычно системы контроля версий не заботятся о том, что вы добавляете к ним.

В прошлом я обычно создавал папку Lib или Library для размещения всех моих сторонних DLL-файлов. Эта папка обычно создается в вашем решении или проекте. Затем вы можете добавить эти файлы в Source Control.

Совсем недавно я создал пакеты Nuget для всех своих DLL. Это значит, что мне не нужно проверять их непосредственно в Системе контроля версий. Вместо этого я разрешаю Nuget управлять зависимостями DLL. Используя файл Nuget Config and Packages, вы можете сообщить своему решению/проекту, какие файлы нужны и где их получить. Таким образом, вы не раздуваете свой VCS с помощью DLL.

+0

Я попытаюсь прояснить свой вопрос: я знаю, что не проблема добавить dll в tfs, эталонная часть - это то, что я хочу. Предполагая, что у вас есть несколько разработчиков, работающих над одним и тем же решением, и каждый со своими собственными файловыми сопоставлениями решения, как вы можете заставить их ссылаться на одну и ту же DLL? Я первоначально хотел создать виртуальный диск для dll, но я хочу его избежать –

+0

Вы действительно не хотели бы, чтобы все они ссылались на одну и ту же DLL. Думайте, что это обычный нормальный файл кода, вы бы не хотели, чтобы все обращались к одному и тому же файлу кода? Когда вы вытаскиваете последние и/или создаете ветку, у вас будет локальная копия всех файлов кода, включая библиотеки DLL. Предполагая, что вы абсолютно хотели, чтобы они ссылались на одну и ту же DLL, вы могли бы просто создать сетевую долю, к которой все они имели доступ. –

+0

Ссылки на папку «Ассембли» являются относительными ссылками. Если папка «Ассембли» находится в вашем проекте после добавления ссылки на ваш DLL-файл, вы увидите изменения, как показано ниже в вашем файле .csproj: False .. \ .. \ Assemblies \ ...dll True ds19

2

Лично мне не нравятся проверки двоичных файлов в контроле версий. Я делаю это только тогда, когда у меня нет другого выбора, и если я это сделаю, я бы попытался создать собственный пакет nuget и проверить, что проект пакета nuget в управление версиями, постройте пакет, а затем переместите его в локальный репозиторий nuget (либо локальный nuget или двоичный репозиторий, такой как artifactory или sonatype nexus, оба из которых имеют версии с открытым исходным кодом) или онлайн-репозиторий nuget, например ProGet или MyGet.

Затем я использовал Nuget в режиме восстановления пакетов, чтобы загрузить ссылку при необходимости при создании.

Если вы по какой-то причине не хотите использовать Nuget (и доверяете мне, вы должны использовать его и пропустить любые аргументы, почему бы не использовать его), а затем проверить DLL на каждый проект, который в ней нуждается, и ссылайтесь на нее относительно от проекта.

В крайнем случае, если ни один из этих вариантов не будет работать для вас, я бы проверил DLL в папке «архив» где-то в управлении версиями, а затем просто скопировал этот файл где-нибудь в вашей сети, чтобы ссылаться в вашем проекте , Таким образом, файл находится в управлении версиями и имеет абсолютную ссылку, но только одну копию в исходном элементе управления ... но это потребует, чтобы кто-то «помнил» все это и сохранял его в актуальном состоянии.

Смежные вопросы