Тип или имя пространства имен 'var' не удалось найти в приложении-службе WCF - PullRequest
22 голосов
/ 17 марта 2011

Когда я пытаюсь использовать «var» в приложении-службе WCF, выдается сообщение об ошибке «Не удалось найти тип или имя пространства имен« var »(отсутствует директива using или ссылка на сборку?)»

Ответы [ 6 ]

62 голосов
/ 17 марта 2011

Вы получите эту ошибку, если попытаетесь использовать var в ученике, например ::10000

public class Foo
{
    var a = 4;
}

var можно использовать только внутри метода, но не в классах, полях или сигнатурах методов.

См. Также: Почему нет полей для полей?

5 голосов
/ 17 марта 2011

Я думаю, это потому, что вы нацелены на фреймворк до c # 4.0.Попробуйте перейти к свойствам ваших проектов и установить целевую платформу на 4.0

.
3 голосов
/ 30 июля 2011

Для моего проекта ASP.NET 3.5 мне нужно было убедиться, что в моем файле web.config есть настройка компилятора фреймворка 3.5, например:

<system.codedom>
  <compilers>
    <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <providerOption name="CompilerVersion" value="v3.5"/>
      <providerOption name="WarnAsError" value="false"/>
    </compiler>
  </compilers>
</system.codedom>
2 голосов
/ 17 марта 2011

Я принимаю здесь дикое предположение, , но : var может использоваться только для локальных переменных (внутри метода).

Используете ли вы его для определения переменных экземпляра

0 голосов
/ 18 сентября 2016

Может быть, вы случайно позвонили csc.exe из каталога, которого вы не ожидали? Я решил проблему, запустив csc.exe, используя полный путь:

set csc=c:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
%csc% try.cs

rem This was wrong:
set path=%path%;c:\Windows\Microsoft.NET\Framework\v4.0.30319
csc.exe
rem This shows csc version, which turned out to be from Framework 2.0.
0 голосов
/ 17 марта 2011

Вы должны убедиться, что вы строите свой сервис для .NET 3.5 или выше.Ключевое слово var ранее не поддерживалось.

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