Как (и когда) использовать TFS с частными библиотеками DLL, которые также могут обслуживаться NuGet/NuPack?

У нас есть пара частных библиотек DLL «Корпоративные службы», которые используются на всех наших веб-сайтах для аутентификации, ведения журналов и т. д. Поскольку они являются частными, мы также контролируем версии и источник этих библиотек DLL. Наши исторические (подверженные ошибкам) ​​шаги после создания File | New Project включают

  1. Добавьте проект «Корпоративные службы».
  2. Добавьте ссылку выше
  3. Отредактируйте разделы web.config, такие как Authentication, HttpHandlers и т. д.

NuGet автоматизирует вышеуказанный процесс

Я только что наткнулся на NuGet (в комплекте с MVC3), который позволяет мне загружать и устанавливать пакеты VS2010 с частного сервера. , и автоматизируйте настройки конфига, которые раньше делали бы вручную.

Вопрос:

  • Имеет ли смысл публиковать мою dll на частном сервере NuGet?
  • Потеряю ли я возможность отлаживать и входить в эту dll, если мне нужно?
  • Что еще следует учитывать, если остальная часть моего проекта основана на TFS?

person halfbit    schedule 31.10.2010    source источник


Ответы (3)


Я согласен с marcind: иметь частную ленту имеет смысл.

Мои 2 цента в том, что вам не нужно настраивать частный сервер: для распространения пакетов достаточно настроить ваш VS на использование общей папки, и его будет легко обновить с помощью ваших сборок TFS: просто создайте пакет NuGet и отбросьте его. в общую папку.

Имейте в виду, что для последних битов NuGet, которые я тестировал, клиент (и консоль, и графический интерфейс) не просматривает другие каналы для обнаружения зависимостей, поэтому он будет жаловаться, что не может разрешить их автоматически: вы будете приходится устанавливать их вручную.

person Ghidello    schedule 02.11.2010

Да, вам имеет смысл иметь частную ленту NuGet.

Я не уверен в том, что нужно входить в dll, но если вы предоставляете PDB в своем пакете NuGet, а также источники библиотеки в общем ресурсе (а затем настройте VS, чтобы знать, где эти источники), тогда вы сможете войти в код так же, как вы можете сегодня для самой платформы .NET.

NuGet был разработан для хорошей работы с проектами, которые сопоставлены с системой управления версиями, поэтому, надеюсь, вам больше ничего не нужно.

person marcind    schedule 31.10.2010

@Ghidello NuGet будет автоматически разрешать зависимости, если вы не используете определенный репозиторий (в раскрывающемся списке источника пакета в консоли установлено значение «Все» вместо вашего частного репо)

person Betty    schedule 22.02.2011