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

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

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

Ответы [ 5 ]

7 голосов
/ 27 января 2009

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

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

1 голос
/ 27 января 2009

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

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

1 голос
/ 27 января 2009

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

0 голосов
/ 27 января 2009

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

0 голосов
/ 27 января 2009

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

...