Почему я не могу использовать инициализаторы объектов в ASP.NET 2.0?

StackOverflow https://stackoverflow.com/questions/483658

  •  20-08-2019
  •  | 
  •  

Вопрос

Почему я могу использовать Object Initializers в проектах Visual Studio 2008 Windows и т. д., ориентированных на .NET 2.0, но не может - в проектах ASP.NET, ориентированных на .NET 2.0?

Я понимаю, что это возможности C# 3.0, но не знаю, почему это можно использовать в проектах .NET 2.0.

Это было полезно?

Решение

Вероятно, потому, что материал ASP.Net, ориентированный на платформу 2.0, предполагает, что он будет работать в режиме, в котором ему, возможно, придется компилировать некоторый код на лету.Поскольку он работает в режиме 2.0, на этом этапе он получит компилятор 2.0 (таким образом, все, что зависит от компилятора 3.0, потерпит неудачу).

При использовании кодовой базы 2.0 из «обычного» проекта компиляция выполняется тут же, поэтому можно полагаться на функциональность компилятора 3.0.

Другие советы

Когда вы ориентируетесь на среду выполнения .NET 2.0, вы также ориентируетесь на компилятор C# 2.0.Эта версия компилятора не поддерживает возможности версии 3.0.

Вот существующий вопрос который посвящен использованию функций C# 3.0 в проектах .NET 2.0.В нем объясняется, какие функции C# 3.0 доступны, а какие нет, и как их использовать.

Чтобы помочь вам с какой-либо конкретной трудностью, нам нужны конкретные детали.

Лучший источник информации о расширенных функциях C# и о том, как они развивались с C# 1.0 до 3.0: Книга Джона Скита.Он здесь, на SO, довольно часто и может даже предложить некоторую дополнительную информацию.Однако книга действительно должна быть у вас.

Обычный веб-сайт ASP.NET компилируется «на лету», что означает, что он будет использовать компилятор, доступный для этого виртуального каталога на вашем веб-сервере.Если для него установлено значение ASP.NET 2.0, он будет использовать компилятор 2.0 (а не компилятор 3.0, предназначенный для .NET 2.0).Я предполагаю, что когда вы преобразуете свой веб-сайт в веб-приложение, вы сможете ориентироваться на 3.0 и по-прежнему использовать некоторые функции 3.0.Предлагаю попробовать, я бы попробовал, но сейчас у меня нет времени.Дайте нам знать, если это сработает ;-)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top