【问题标题】:Is Roslyn ready for c# 10?Roslyn 准备好迎接 c# 10 了吗?
【发布时间】:2021-11-08 22:46:36
【问题描述】:

Roslyn 准备好迎接 c# 10 了吗?

这是我的旧代码:

syntaxTrees.AddRange( filesToCompile.ConvertAll( filename => Parse( File.ReadAllText( filename ), filename, CSharpParseOptions.Default.WithLanguageVersion( LanguageVersion.CSharp9 ) ) ) );

似乎更相关的部分:

CSharpParseOptions.Default.WithLanguageVersion( LanguageVersion.CSharp9 )

语言版本似乎还没有 CSharp10 枚举?

【问题讨论】:

  • 你运行的是什么版本的 Visual Studio?
  • Visual Studio 2022
  • 我能够使用 .NET 6 编译我的解决方案,但我的程序也使用内存编译来处理某些事情。这是有效的,但如果我使用 c#10 语言功能(例如文件范围的命名空间 - 我尝试的第一件事),则不会。

标签: c# roslyn c#-10.0


【解决方案1】:

您需要使用Microsoft.CodeAnalysis.CSharp 4.0.0 及更高版本才能使用 C# 10。第一个非预览版是 4.0.1。

dotnet add package Microsoft.CodeAnalysis.CSharp --version 4.0.1

那么你可以使用LanguageVersion.CSharp10

【讨论】:

【解决方案2】:

LanguageVersion.CSharp10 于 6 月添加,目前在 Microsoft.CodeAnalysis.CSharp 版本 4.0.0 预览版 nuget 构建中可用,最新的是 Version 4.0.0-6.final

【讨论】:

    猜你喜欢
    • 2018-03-24
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    相关资源
    最近更新 更多