2017-08-14 60 views
3

我正在編寫一個適用於VS2015及更高版本的Roslyn診斷分析器。我想知道最新版本的Microsoft.CodeAnalysis我可以使用我的項目,並仍然支持VS2015。我需要使用在Roslyn 1.2.0(AnalysisContext.EnableConcurrentExecution)中添加的API,但我認爲Roslyn版本不包括在VS2015中(IIRC,只有VS2017支持C#7)。這是否意味着我無法在分析儀中使用此API?如果我支持VS2015,我的分析儀可以定位的Roslyn的最新版本是什麼?

+0

爲什麼「需要」調用AnalysisContext.EnableConcurrentExecution?如果你不這樣做,從功能的角度來看,你的分析儀的工作原理是一樣的(儘管可能會慢一些)。 –

+1

@KrisVandermotten好吧,我不需要,我想。這個問題仍然存在。 –

+0

是的,這個問題確實存在。接受的答案告訴你你需要知道什麼。如果(並且只有)你只支持VS 2015 Update 2或更高版本,你可以調用EnableConcurrentExecution。 –

回答

10

是的,Roslyn 2.3.0只適用於Visual Studio 2017.3及更新版本。

一般羅斯林的映射到Visual Studio版本是這樣的:

羅斯林1.0.x系列 - > Visual Studio的2015.0(RTM)

羅斯林1.1.x版本 - > Visual Studio的2015.1(更新1 )

羅斯林的1.2.x - >的Visual Studio 2015.2(更新2)

羅斯林的1.3.x - >的Visual Studio 2015.3(更新3)

Rosl炔2.0.x的 - >的Visual Studio 2017.0(RTM)

羅斯林的2.1.x - >的Visual Studio 2017.1

羅斯林2.2.x的 - >的Visual Studio 2017.2

羅斯林2.3.x版本 - >的Visual Studio 2017.3

+2

+1這是非常有用的,但這是記錄在某處?我有一段時間找到這方面的任何信息(我的意思是,這個帖子就是這樣)。 –

+0

您在分析器項目中選擇哪個Roslyn版本是否有關係,除了它允許您在編譯時訪問所需的API?運行時使用的Roslyn版本是否由使用分析器的主機決定? –

相關問題