Roslyn和csc的关系?C#编程语言的命令行用法?C#编译器支持的版本?
Roslyn和csc的关系?
C#编译器最新是用Roslyn, 对于C#语言,它就是csc的新版本,对于VB.NET,它就是vbc的新版本。
- .NET/C#
- .NET版本和C#编译器版本是独立的,例如C# 6.0对应.NET Framework 4.6和.NET Core 1.x.
- 早期的.NET Framework的csc.exe版本和Roslyn csc编译器版本是完全两套,不要混淆。
支持的 Roslyn 包版本映射 - Visual Studio (Windows)
- C#编译器
- 最初是C++编写,后来改用C#编写,开源项目Roslyn, 即C#写C#编译器。Github Roslyn .NET compiler
- RyuJIT采用C++.
C#编程语言的命令行用法
- C#
dotnet或csc (dotnet大概于.NET Core 1.0开始发布),dotnet并不是单纯的调用csc这种关系。- dotnet new console
dotnet build // 编译默认生成的是程序集,而非可执行文件,一般是.dll
dotnet run
想用dotnet生成可执行文件,需要用dotnet publish命令。 - csc xxx.cs // 默认会生成可执行文件
- dotnet new console
C#编译器支持的版本
- C# csc
可用csc /langversion:? 获取可支持的版本。例如:- default
- 1
- 2
- 3
- 4
- 5
- 6
- 7.0
- 7.1
- 7.2
- 7.3
- 8.0
- 9.0
- 10.0 (default)
- latestmajor
- preview
- latest
若文章对您有帮助,欢迎关注。助您在编程路上越走越好!
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。