2010-10-25 7 views
8

Mam obecnie projekt, nad którym pracuję, który ma cel .NET Framework 3.5. Używam Visual Studio 2010; jednak moi współpracownicy używają Visual Studio 2008. Jestem w stanie używać funkcji C# 4.0, takich jak opcjonalne parametry funkcji, ale jeśli próbują zbudować ten sam kod z tym samym celem, nie są w stanie. Rozumiem, że mimo że korzystałem z Visual Studio 2010, nie będę mógł korzystać z funkcji .NET 4.0, ponieważ celem jest .NET 3.5.Projekt skompilowany na platformie .NET Framework 3.5 umożliwia funkcje C# 4.0

Odpowiedz

14

Domyślnie struktura obejmująca wiele celów ogranicza jedynie zestaw funkcji, które mogłyby powodować problemy ze zgodnością z CLR (a nie z kodem źródłowym). Stąd nazwane i opcjonalne jest legalne, ponieważ nie ma problemu z wykorzystaniem go w CLR 2.0 lub 3.5.

Jeśli chcesz ograniczyć zestaw funkcji C# do tych legalnych w kompilatorze 3.5, musisz zmienić opcję wersji językowej.

  • prawym przyciskiem myszy na projekt i wybrać Właściwości
  • Idź do budowy zakładka
  • Kliknij przycisk Zaawansowane
  • przełączyć Wersja językowa kombi "C# 3.0"

alt text