Решение проблем с зависимостями от репозиториев git

#azure-devops #visual-studio-2019

Вопрос:

Короче говоря, я уже несколько месяцев работаю в компании в качестве младшего специалиста, и все их проекты .NET довольно старые и хранятся в репозиториях git Azure Devops.

Когда я был на борту, эти проекты были клонированы в мою систему с использованием VS2019, но им не хватало (буквально) сотен ссылок на зависимости/пакеты, что означало, что код не будет создан и запущен, если они либо не отправят мне всю папку проекта для использования, либо папку bin, полную зависимостей, которые иногда все равно не будут работать.

неполный список заполненных ошибками ссылок в разделе одного из наших проектов (конфиденциальные пакеты опущены)

Это проблема, которую я могу исправить со своей стороны (с помощью какой-либо команды CLI или функции VS), или это проблема с тем, как мы настроили репозиторий git?

Комментарии:

1. Очень многое зависит от того, как эти ссылки добавляются, на которые ссылаются. Вот почему Nuget существует

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

3. Реальное решение состоит в том, чтобы исправить эти, откровенно говоря, сломанные проекты. Это не проблема Git или VS. Это проблема, которая, по-видимому, была вызвана ужасными практиками

4. В любом случае, здесь нет достаточно информации, чтобы «исправить» это. Я бы посоветовал вам изучить файлы .proj. Это подскажет вам, о чем и где идет речь

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