2015-11-23 3 views
0

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

У меня есть пакет nuget, который равен 1.30, и я пытаюсь обновить его до 1.41. Я использовал пользовательский интерфейс NuGet, и я также использовал консоль диспетчера пакетов, чтобы делать это несколько раз с небольшими вариантами, и я продолжаю получать тот же результат. После того, как я сделаю что-то вроде «Update-Package PackageName», мой пакет обновится правильно. NuGet удаляет старую ссылку и старые файлы, а версия 1.41 ссылается на все проекты в решении с использованием этого пакета. Когда я смотрю на код, синтаксических ошибок нет, Visual Studio, похоже, считает, что ссылка просто прекрасна, и я могу даже ctrl + B (re # er) перейти к объявлению. Тем не менее, когда я строй, каждое место, у меня есть «используя PACKAGENAME» в коде выдает ошибку, которая говорит

"The type or namespace name 'Common' does not exist in the namespace 'PackageName' (are you missing an assembly reference?)"  

Я попытался очистки моего решения. Затем здание. Я попытался выполнить сброс через Git, очистив решение, обновив его потом. Я пробовал обновлять, очищать, удалять ссылку, строить (будет получать ошибки явно), а затем добавить ссылку обратно в ручную и строительство. Каждый раз, когда я пытаюсь, я получаю ту же ошибку. Это происходит только для моего основного проекта, но все мои другие проекты зависят от Core, поэтому они все равно не будут строить. Я предполагаю, что этот вопрос все же будет присутствовать, если они смогут построить. Я просмотрел свойства ссылки, ссылается на файл v 1.41 и установлен в Копировать Local = True (я читал где-то кто-то предложил посмотреть на это).

Я открыт для предложений о том, что можно попробовать. У меня нет каких-либо изменений кода, которые я потеряю, я делаю Git Reset, поэтому я могу попробовать что угодно.

Благодаря Интернет.

+0

Скорее всего, обновленная версия перетасовывается вокруг используемых им пространств имен: именно, удаление «Common». Однако, поскольку вы не сказали нам, какой пакет это, нет никакого способа подтвердить это. Вот почему вы не должны обновлять пакеты, если не знаете, что влечет за собой эти обновления, и какие изменения, которые произойдут в вашем приложении, будут внесены в ваше приложение. Всегда читайте примечания к выпуску. –

+0

Вы перезапустили ВС перезагрузки ПК, могли бы помочь .. но, как Чис заявляет .. мы не знаем, что такое Common. – lordkain

+0

@ChrisPratt извините, забыли включить, это внутренний пакет nuget, который мы разместили на нашем внутреннем сервере nuget, поэтому я не потрудился раскрыть то, что такое имя пакета. Я действительно сделал обновление этого пакета, и Common определенно не пропущен или не перетасован. Структура этого конкретного решения не изменилась с момента его создания. – jiggawagga

ответ

0

После того как мы попробовали несколько разных вещей, мы выяснили, что это было несоответствие версии с ASP.NET. Кто-то вытащил новый пакет, который требовал обновления до ASP.NET 4.5, и решение, над которым я работал, по-прежнему составляло ASP.NET 4.0. После обновления до версии 4.5 проблема с рекомендациями была решена. Но мы столкнулись с некоторыми новыми проблемами Automapper. Одно за другим. Однако, если вы избиваете свою голову против своего стола в расстройстве из-за этой проблемы, проверьте версию фреймворка ваших проектов и пакет, который вы обновляете.