Windows 8.1 Enterprise x64, Visual Studio 2015, MVC 5, EF 6, VS Онлайн с использованием git
Я - относительно новый разработчик с Visual Studio (около девяти месяцев), и с тех пор, как я начал, у меня было невероятно трудное время со ссылками и пакетами NuGet. Все мои рекомендации работали правильно в пятницу, когда я закрыл свой компьютер на выходные. Я не касался компьютера в течение всего выходного дня, теперь я загрузился сегодня, и у меня есть тонна контрольных ошибок:
(Всего 6 262 ошибки, но я, очевидно, не могу скриншоты всего этого.)
Как я уже сказал, такая проблема возникает очень часто, и это невероятно расстраивает. Вещи, которые я пробовал:
- Убедитесь, что ссылки, на которые действительно ссылаются ошибки, ссылаются
- Un/переустановить пакеты, которые бросают ошибки в NuGet
- Полностью удалить содержимое папки
packages
и позволить NuGet восстановить их (все переустановленные, представления имеют те же ошибки, что и раньше) - Убедитесь, что для каждой ссылки установлено значение
Copy Local
- Закройте решение, удалите все папки
bin
иobj
, перезагрузите компьютер, очистите, перестройте - Убедитесь, что все необходимые ссылки находятся в соответствующем
web.config
(внутриViews
или в корневом каталоге) - Проверьте параметр NuGet для восстановления отсутствующих пакетов (не отображается, все пакеты находятся в моей локальной папке
packages
) - Другие вещи на SO, которые, я уверен, я забыл перечислить здесь.
Я с ума сойду с этими пакетами и ссылками. Это другое решение каждый раз, и на этот раз я не могу понять это. Неужели я пропустил какое-то очевидное исправление, чего я забыл? Есть ли способ как-то взять резервную копию, когда она работает, и восстанавливать ее всякий раз, когда что-то ломается? Любые идеи, будь то помощь в текущей проблеме или устранение основной проблемы, будут очень оценены.
Дополнительная заметка
Проблема заключается не только в представлениях - контроллеры также бросают ошибки. В частности:
Невозможно найти имя или имя пространства имен 'Controller' (вам не хватает директивы using или ссылки на сборку?)
(В буквальном смысле это говорит Controller
, что я ничего не изменил для конфиденциальности или еще чего-то.)
Они выбрасываются, несмотря на то, что у меня есть инструкции using
для всех необходимых пространств имен. Операторы using
сами работают правильно, но ошибка вызывается в коде. Предлагаемое автоматическое исправление заключается в том, чтобы вручную ссылаться на все: например, var sb = new StringBuilder();
хочет, чтобы я изменил строку на var sb = new System.Text.StringBuilder();
. Тестирование этого исправления не исправляет проблему, эта же ошибка возникает, но на System
вместо StringBuilder
.
Дополнительная запрашиваемая информация
- Я использую git с VS Team Services (но пакеты игнорируются с помощью
.gitignore
). - Я и еще один человек работают над этим, но другой человек не коснулся его вообще (даже не отрываясь от удаленного репо) через несколько недель.
- Ссылки в файле
.csproj
находятся в формате..\..\..\packages\
(правильный для местоположения относительно файла.csproj
). - Таргетинг .NET 4.6 (всегда был, это не новый)
- Все ссылки разрешены, никаких восклицательных знаков в списке ссылок.