Не удается запустить решение из TFS, поскольку все ссылки отсутствуют

У меня есть проект, который прекрасно работает. Сегодня утром я создал новый проект TFS и опубликовал весь код из Visual Studio 2015.

на другом компьютере, также через VS2015, я вошел в Visual Studio Team Services, чтобы захватить тот же проект и загрузить весь код

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

в тип имени пространства имен "some name" не существует в "....'(пропущена ссылка на сборку?)

Итак, я расширяю ссылки, и мне не хватает почти всех из них. На самом деле, кроме ссылок в моем собственном проекте, остальных нет

просмотр свойств не показывает пути. Вернувшись на исходный ПК, я вижу путь к любому из них .DLL тоже похож

C:UsersMeDocumentsVisual Студия 2015проектыMyProjToTпакетыAntlr.3.5.0.2libAntlr3.Во время выполнения.dll файлы

проблема в том, что, поскольку этот путь не совпадает на "неисправной" машине, он не может показать... Поэтому каково решение этого

enter image description here

Я проверил и отметил, что файлы, похоже, существуют, когда я смотрю на них в Проводнике.

все системные ссылки отсутствуют Visual Studio 2013 NuGet Async не помогите!--1-->

обратите внимание, что это происходит со всеми проектами в моем решении, но не по согласию. Например, EntityFramework отсутствует во всех, но система отсутствует в моем слое пользовательского интерфейса, но не в моем слое BLL

есть ли способ исправить это?

7 ответов


необходимо выполнить команду update-package-reinstall для переустановки всех указанных пакетов.


У меня была та же проблема, сейчас есть много ответов, но я все равно опубликую ее здесь:

1.Закройте Visual Студии 2.Вручную удалите локальную папку" packages" 3.Повторно откройте решение и восстановите его. (Nuget должен восстановить пакеты)

источник: http://robertgreiner.com/2013/09/team-foundation-service-build-error-nuget/


звучит тривиально, но ваши отсутствующие ссылки на систему.xxxx может означать проблему с .NET Framework, какую версию вы используете и правильно ли она установлена на вашей "неисправной" машине. Может быть стоит переустановить/восстановить? Я бы также проверил, какие версии на самом деле ссылаются.

Что касается NuGet, убедитесь, что включить восстановление пакетов указан как:

enter image description here

кроме того, у меня была проблема, похожая на эту, и мне пришлось обновите диспетчер пакетов NuGet до версии 3 в инструменты ->расширения и обновления (вам нужно удалить, а затем переустановить, поскольку обновление не будет работать)

enter image description here

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


проверьте версию .NET:

  1. Откройте панель свойств проекта и проверьте целевую структуру:enter image description here

  2. убедитесь, что эта версия .NET установлена. или измените целевой фреймворк на подходящую версию


сначала перейдите в VS--Tools--Extensions и Updates, чтобы проверить, есть ли обновления, установите все обновления. Затем выберите одну ссылку со значком предупреждения, проверьте Конкретной Версии свойство, если значение True, измените его на False.

Если проблема не устранена, проверьте ссылочные сборки .NET framwork на двух компьютерах, чтобы узнать, находятся ли они в одном месте (предполагается, что .Net framework находится под *C:\Program файлы (x86)\ссылочные сборки\Microsoft\Framework.NETFramework*).

========================================================================= 11/5: чтобы избежать отсутствия ссылок, можно либо проверить все ссылки на систему управления версиями и ссылки из системы управления версиями, либо использовать Диспетчер пакетов Nuget для установки пакетов. Предыдущий не рекомендуется сейчас, попробуйте NuGet Package Manager.


прежде чем удариться головой о стену с миллионом "исправлений" Nuget, вам нужно убедиться, что вы получаете все библиотеки DLL, которые находятся в папке Bin под управлением источника. По какой-то причине простой "получить последнюю версию" недостаточно. Visual Studio будет продолжать говорить вам, что все файлы обновлены, но, по-видимому, это не означает все файлы под контролем источника загружаются (или это так, и то, что случилось со мной, просто нахальная ошибка). В любом случае, чтобы сделать конечно, вы действительно "получаете все", вам нужно принудительно обновить, используя команду" получить конкретную версию "с опцией" перезаписать все", как предлагает VS. Для этого:

  1. перейдите в папку Bin в Проводнике управления версиями (или w.e папка, которую вы действительно хотите получить все)

  2. Щелкните Правой Кнопкой Мыши > Дополнительно > Получить Конкретную Версию

  3. Проверьте "перезаписать все файлы, даже если локальная версия соответствует указанной версии" флажок

  4. Нажмите Get

делая это, я гарантировал, что все указанные библиотеки DLL были загружены из TFS и для меня, что решило проблему. Я с помощью Visual Studio с предприятия 2015.


перейдите в сервис - > диспетчер пакетов nuget - > консоль диспетчера пакетов - > и запустите консоль: обновление-пакет-переустановка . Очистите свое решение, восстановите, и вы готовы!