2012-03-22 1 views
3

Я использую библиотеки классов в моем проекте ASP.NET MVC3.Razor views: Intellisense не работает с C# 3 для библиотек классов

Чтобы получить его работу я сделал следующее:

  1. Использование областей
  2. Использование пользовательского VirtualPathProvider
  3. Использование BuildManager.AddReferencedAssembly для каждой сборки
  4. модифицировали csproj файлы, чтобы добавить поддержку для Razor/wizards (<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>)
  5. Скопировал web.config с веб-проекта в каждый проект библиотеки классов

Все работает, за исключением intellisense в бритве. Я получаю предупреждения, как это:

«лямбда-выражения» Функция не может быть использована, поскольку она не является частью языка C# спецификации ISO-2

Библиотеки классов устанавливаются использовать .NET 4.

Есть некоторые другие вопросы здесь адресации один и тот же вопрос

, но я не могу найти ничего, что бы заставить компилятор работать в 2.0 (и это не было бы сделать мои взгляды не в состоянии во время выполнения?)

ответ

1

Установка рамки версии ISN» t то же самое, что и установка языка.

я могу воспроизвести ту же самую ошибку, создав образец с лямбда-выражения и с помощью:

csc /langversion:ISO-2 Test.cs 

В Visual Studio, это в рамках проекта Свойства/сборки/Advanced .../Язык версии. Мне кажется необычным, что у вас будет проект Razor, установленный на ISO-2, хотя ...

+1

Все строит отлично и работает при запуске проекта. Когда я открываю вид бритвы из библиотеки классов в VStudio, я получаю ошибки. Так что это неправильная настройка сборки. 'Мне кажется необычным, что у вас был бы проект Razor, установленный в ISO-2', который я не указал. Моя проблема в том, что я не знаю, почему VStudio intellisense хочет скомпилировать представления как C# 2.0 при открытии их в редакторе. – jgauffin

+0

@jgauffin: Значит, даже код, который вызывает ошибки в VS, работает, когда вы на самом деле создаете? И это * не происходит, когда у вас есть представления Razor, которых нет в библиотеках классов? Похоже, что это «просто» ошибка в редакторе представлений, но раздражающая :( –

+0

Это раздражает да. Рассматривая другие вопросы, похоже, что есть решение (но их ответы не помогли мне отследить проблему) – jgauffin