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 (всегда был, это не новый)
- Все ссылки разрешены, никаких восклицательных знаков в списке ссылок.
