C# 环境
在这一章中,我们将讨论创建 C# 编程所需的工具。我们已经提到 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序。因此,在讨论运行 C# 程序的可用工具之前,让我们先了解一下 C# 与 .Net 框架之间的关系。
.Net 框架(.Net Framework)
.Net 框架是一个创新的平台,能帮您编写出下面类型的应用程序:
- Windows 应用程序
- Web 应用程序
- Web 服务
.Net 框架应用程序是多平台的应用程序。框架的设计方式使它适用于下列各种语言:C#、C++、Visual Basic、Jscript、COBOL 等等。所有这些语言可以访问框架,彼此之间也可以互相交互。
.Net 框架由一个巨大的代码库组成,用于 C# 等客户端语言。下面列出一些 .Net 框架的组件:
- 公共语言运行库(Common Language Runtime - CLR)
- .Net 框架类库(.Net Framework Class Library)
- 公共语言规范(Common Language Specification)
- 通用类型系统(Common Type System)
- 元数据(Metadata)和组件(Assemblies)
- Windows 窗体(Windows Forms)
- ASP.Net 和 ASP.Net AJAX
- ADO.Net
- Windows 工作流基础(Windows Workflow Foundation - WF)
- Windows 显示基础(Windows Presentation Foundation)
- Windows 通信基础(Windows Communication Foundation - WCF)
- LINQ
如需了解每个组件的详细信息,请参阅微软(Microsoft)的文档。
C# 的集成开发环境(Integrated Development Environment - IDE)
微软(Microsoft)提供了下列用于 C# 编程的开发工具:
-
Visual Studio:
- 微软的旗舰IDE(集成开发环境),提供全面的开发工具集,支持C#以及其他多种编程语言。
-
Visual Studio Code:
- 轻量级的代码编辑器,虽然不如Visual Studio功能全面,但非常灵活,支持C#开发,并且可以通过插件扩展功能。
-
.NET SDK:
- 包含编译器、库和工具,用于.NET应用程序的开发,C#是.NET的主要编程语言之一。
-
ReSharper:
- 一个Visual Studio扩展,提供代码质量分析、快速修复以及生产力提升工具。
-
Roslyn:
- .NET Compiler Platform("Roslyn")提供编译器API,允许开发者编写代码分析器和代码生成器。
-
MSBuild:
- 微软的构建系统,用于编译和打包C#项目。
-
NuGet:
- 包管理器,用于.NET项目,可以轻松地管理和安装第三方库。
-
Entity Framework:
- 一个对象关系映射器(ORM),用于简化数据库访问和操作。
-
PowerShell:
- 微软的命令行shell和脚本环境,也可用于自动化C#项目中的某些任务。
-
Azure DevOps:
- 提供项目管理和持续集成/持续部署(CI/CD)服务,支持C#项目的开发和部署。
-
Visual Studio Team Services (VSTS):
- 现在称为Azure DevOps Services,提供版本控制、项目管理和团队协作工具。
-
C# Interactive:
- 一个交互式C#环境,允许开发者在Visual Studio或Visual Studio Code中直接编写和运行C#代码片段。
这些工具和服务共同构成了微软支持C#开发的强大生态系统,使得开发者可以高效地进行C#程序的开发、测试、部署和维护。
您可以从 Microsoft Visual Studio 上进行下载。它会自动安装在您的机器上。请注意,您需要一个可用的网络连接来完成速成版的安装。
在 Linux 或 Mac OS 上编写 C# 程序
虽然 .NET 框架是运行在 Windows 操作系统上,但是也有一些运行于其它操作系统上的版本可供选择。Mono 是 .NET 框架的一个开源版本,它包含了一个 C# 编译器,且可运行于多种操作系统上,比如各种版本的 Linux 和 Mac OS。如需了解更多详情,请访问 Go Mono。
Mono 的目的不仅仅是跨平台地运行微软 .NET 应用程序,而且也为 Linux 开发者提供了更好的开发工具。Mono 可运行在多种操作系统上,包括 Android、BSD、iOS、Linux、OS X、Windows、Solaris 和 UNIX。