2010-10-25 132 views
8

我目前有一個項目,我正在研究.NET Framework 3.5的目標。我正在使用Visual Studio 2010;但是我的同事使用Visual Studio 2008.我能夠使用C#4.0功能,例如可選的函數參數,但是如果他們嘗試使用相同的目標構建相同的代碼,他們將無法執行此操作。這是我的理解,即使我使用Visual Studio 2010,我將無法使用.NET 4.0功能,因爲目標是.NET 3.5。針對.NET Framework 3.5編譯的項目允許C#4.0功能

回答

14

默認情況下,多目標定位框架僅限制可能導致與CLR(非源代碼)存在兼容性問題的一組功能。因此named和optional是合法的,因爲在2.0或3.5 CLR上沒有問題。

如果您想要將C#功能集合限制爲3.5編譯器的那些合法功能,則需要更改語言版本選項。

  • 右鍵單擊項目並選擇屬性
  • 轉到建立標籤
  • 單擊高級按鈕
  • 切換語言版本組合爲 「C#3.0」

alt text

相關問題