Тип или имя пространства имен 'Linq' не существует - PullRequest
5 голосов
/ 20 июля 2011

Играя с Наудио, я нашел этот код.Я компилирую это как:

csc.exe /reference:Naudio.dll play.cs

и получаю ошибку:

play.cs (3,14): ошибка CS0234: имя типа или пространства имен 'Linq' делаетне существует в пространстве имен 'System' (отсутствует ссылка на сборку?)

Версия csc: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ csc.EXE

При поиске я нашел поток, который говорит, что мне нужно добавить ссылку System.core, но что-то вроде: /reference:System.core.dll или /reference:System.core не решает проблему.

Ответы [ 5 ]

5 голосов
/ 20 июля 2011

версия v2.0.50727 изначально не поддерживает Linq. Чтобы решить вашу проблему, вы можете попробовать эти два метода:

  1. Если возможно, удалите ссылку на Linq (как уже было предложено С.С. Каином).
  2. Если удаление Linq нежелательно для вас, используйте более высокую версию. Вместо того, чтобы использовать csc из C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.EXE, я бы предложил обновить его до последней версии .NET (при условии, что в вашем развертывании нет проблем с этим) и попробовать использовать csc.exe оттуда.

    Я использую C:\Windows\Microsoft.NET\Framework\v4.0.30319\, и это прекрасно работает для меня.

    Также обратите внимание, что если вы используете командную строку Visual Studio 2010, этот путь по умолчанию не добавляется в переменную PATH env, поэтому вам придется добавить его вручную.

    set PATH=%PATH%;C:\Windows\Microsoft.NET\Framework\v4.0.30319\

4 голосов
/ 20 июля 2011

Я считаю, что 2.0.50727 не поддерживает Linq, удалите Linq из ссылок и из "употреблений" и надеюсь, что в коде

нет операторов Linq
2 голосов
/ 20 июля 2011

Linq не является частью .NET Framework 2, который вы используете.Вместо этого попробуйте более новую версию.

1 голос
/ 24 апреля 2014

У меня была ссылка на System.Xml.Linq, но я все еще получил ошибку.

Решение для меня было:

  1. Swap .net ver на 2.0
  2. Перестроить (не удается)
  3. Заменить .net ver на 3.5 (в моем случае),
  4. Перестроить (работает).
1 голос
/ 20 июля 2011

Похоже, вы должны удалить

using System.Linq;

в верхней части файла play.cs, поскольку эта ссылка недоступна в .Net 2.0, который вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...