Mac Visual Studio Xamarin — тип или пространство имен «Linq» не существует в пространстве имен «Система» (вам не хватает ссылки на сборку?)

В Mac Visual Studio — Xamarin Project я получаю сообщение об ошибке:

  • тип или пространство имен «Linq» не существует в пространстве имен «Система» (вам не хватает ссылки на сборку)

Я попытался решить эту проблему с помощью диспетчера пакетов nuget. В частности, щелкните папку «Пакеты», нажмите «Добавить пакеты…» и добавьте Linq. Тем не менее, он по-прежнему не находит Linq, когда я пишу «используя System.Linq», но я вижу «System.linq» в папке пакета в проекте.

Пробовал: Обновить, Обновить, выключить и включить

Почему он не может найти и использовать пакет?

Изменить: для аналогичной ошибки «HttpStatusCode», где она не найдена в «System.Net», но у меня есть dll (версия 2.0.5.0). Я попытался установить для него новый пакет nuget, System.Net.Primitives (версия 3.0.9.0), где HttpStatusCode хранится в этой новой версии. Когда я ссылаюсь на System.Net.Primitives, это не работает.

Пример:

'\\ The type or namespace name 'Primitives' does not exist in the namespace 'System.Net'
Using System.Net.Primitives;
Using System.Net;
namespace code {
 public class Example
 {
  \\ the type or namespace 'HttpStatusCode' could not be found
  public HttpStatusCode HttpResponse; 
 }
}`

person test test    schedule 04.04.2018    source источник
comment
Пожалуйста, поделитесь своим примером кода   -  person ElasticCode    schedule 04.04.2018
comment
Пример Using System.Net; namespace code { public class Example { public HttpStatusCode HttpResponse; }}   -  person test test    schedule 04.04.2018
comment
Версия 2.0.5.0 указывает, что вы все еще можете использовать устаревшие проекты PCL. Обновите до .NET Standard 2.0, xamarinhelp.com/upgrade-pcl-net -standard-class-library Это может уберечь вас от множества проблем.   -  person Lex Li    schedule 05.04.2018
comment
Спасибо, я ценю помощь, я проверю это, но пока отложу. У меня есть еще один проект, над которым я работаю. Попробую еще раз, наверное, через пару дней.   -  person test test    schedule 05.04.2018
comment
Пожалуйста, разделите эти два вопроса. Поместите сюда только часть linq, а для http создайте новый вопрос. Таким образом, люди смогут лучше понять фактический вопрос.   -  person MCoder    schedule 05.04.2018


Ответы (3)


В одном из моих проектов я решил это следующим образом:

Откройте обозреватель решений. Щелкните ссылки правой кнопкой мыши, щелкните сборки, выберите system.xml.linq.

Добавьте эталонную сборку в проект. Очистить и восстановить. Это должно служить цели.

person MCoder    schedule 04.04.2018
comment
Спасибо очень хороший ответ! Извините, но с моей стороны не получается указать. Это не работает для всех ошибок. У меня такое же сообщение для «HttpStatusCode», которое находится в разделе «System.Net» (версия 2.0.5.0). Ранее я установил пакет для System.Net (версия 3.9.0.0), который имеет «HttpStatusCode» в System.Net.Primitives, и когда я ссылаюсь, он не работает. - person test test; 04.04.2018
comment
System.Net.Primitives* (версия 3.9.0.0) - person test test; 04.04.2018
comment
По какой-то причине он хранится в другом месте в этой версии. - person test test; 04.04.2018
comment
Так какой окончательный статус? Вы можете решить проблему сборки linq или нет? - person MCoder; 04.04.2018
comment
Я попытался добавить пакет через диспетчер пакетов nuget, и он все еще не работает. Однако linq работает. - person test test; 04.04.2018
comment
отредактируйте для уточнения: linq one работает через прямую ссылку, а не через System.Net.Primitives - person test test; 05.04.2018

Добавьте этот .nuget в свое решение. Micosoft.Net.Http.Проверьте здесь.

person Krunal Bagadia    schedule 05.04.2018

Вам нужно просто добавить System.Core к вашему References.

person Marouane Kandara    schedule 21.01.2019