2010-09-07 3 views
0

Является ли компилятор командной строки .NET (csc.exe) в VS2010 полным компилятором .NET 4.0? Кроме того (и это может показаться глупым), если я пишу код в .NET 4.0, но он использует только возможности .NET 2.0 и ничего кроме этого, будет ли он компилироваться с компилятором .NET 2.0?Вопрос о совместимости csc.exe для обратной/прямой

Thanksa

ответ

0

В Visual Studio 2010 можно настроить таргетинг на любой рамочный версию с .NET 2.0 для .NET 4.0 с помощью нового компилятора.

1

Вам нужно различать версии .NET и версии C#.

Если вы пишете код в VS 2010 (или компилируете его с помощью компилятора C# 4), но используете только функции C# 2 и только целевые типы в платформе .NET 2.0, то да, вы сможете скомпилировать с помощью C# 2 (в Visual Studio 2005). Конечно, файл вашего проекта может работать или не работать, но исходный исходный код должен быть в порядке.

Обратите внимание, что иногда вы можете использовать новые функции, не зная, что вы делаете это - времена, когда более поздние версии языка делают допустимыми ранее недопустимые преобразования, например, могут изменять, какая перегрузка метода выбрана или какое преобразование метода применены. Это угловые случаи, но они могут случиться. Обратите внимание, что сообщение csc для компиляции со старой версией языка не всегда отключает эти преобразования ... бывают случаи, когда компилятор C# 3 будет вести себя по-разному с компилятором C# 4, использующим версию 3.