2017-03-03 46 views
4

的文檔microsoft.net.compilers包(在https://www.nuget.org/packages/Microsoft.Net.Compilers/)表示microsoft.net.compilers包中的編譯器版本是什麼?

的.Net編譯器包。引用該軟件包將導致 項目使用該軟件包中包含的特定版本的C#和Visual 基本編譯器構建,而不是任何系統 安裝的版本。

......這引出了一個問題:軟件包中的編譯器版本是什麼?

該頁面說它支持.NET框架4.5,但這不是編譯器版本,是嗎?

該軟件包有幾個版本。然後我假設包的不同版本可能包含不同版本的編譯器。是否有某個表格指定每個軟件包版本中的哪個編譯器版本?

我猜這個軟件包包含c#和vb編譯器,但我只對c#感興趣。

+0

6版是顯而易見的數量,應該還是對非beta版本。但是現在第7版將在下週發佈,希望他們能夠開始記錄它。 –

+0

@hans passant:這是有道理的。更深層次,我假設每個軟件包版本都有不同的編譯器_minor_版本。也許這是一個不重要的細節。也許我們應該使用最新版本 - 假設它完全兼容,並且在某種程度上比上一個小版本更好。 – steve

+0

C#只有主版本號更改,次版本一直爲0.也許你不應該爲此煩惱太多,最近實際的語法變化是相當溫和的,無論你使用的嵌入式編譯器應該總是能夠從顯示的錯誤消息中告訴他他試圖使用不可用的語法。 –

回答

3

我不知道是否回答你的問題,但這裏是我的理解:

  • 版本1.x平均C#6.0(Visual Studio的2015年和更新)。例如,1.3.2對應於Visual Studio 2015的最新更新(更新3)。
  • 版本2.0表示C#7.0(Visual Studio 2017版本15.0)。
  • 版本2.1仍然是C#7.0,但有一些修復(Visual Studio 2017版本15.1)。
  • 版本2.2仍然是C#7.0,但有一些修補程序(Visual Studio 2017 15.2版)。
  • 版本2.3意味着C#7.1(Visual Studio 2017版本15.3)。

對於語言的功能,請參閱https://github.com/dotnet/csharplang/blob/master/Language-Version-History.md

+0

小心分享此信息的來源?這將有助於保持最新狀態。 –

+0

目前沒有更具權威性的來源。我正在跟蹤這個[文檔問題](https://github.com/dotnet/roslyn/issues/19659)。就目前而言,編譯器/ Roslyn團隊不幸的是部落知識。 –

+0

啊,沒有意識到你是在球隊!謝謝(你的)信息。 –

相關問題