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# 编程的开发工具:

  1. Visual Studio

    • 微软的旗舰IDE(集成开发环境),提供全面的开发工具集,支持C#以及其他多种编程语言。
  2. Visual Studio Code

    • 轻量级的代码编辑器,虽然不如Visual Studio功能全面,但非常灵活,支持C#开发,并且可以通过插件扩展功能。
  3. .NET SDK

    • 包含编译器、库和工具,用于.NET应用程序的开发,C#是.NET的主要编程语言之一。
  4. ReSharper

    • 一个Visual Studio扩展,提供代码质量分析、快速修复以及生产力提升工具。
  5. Roslyn

    • .NET Compiler Platform("Roslyn")提供编译器API,允许开发者编写代码分析器和代码生成器。
  6. MSBuild

    • 微软的构建系统,用于编译和打包C#项目。
  7. NuGet

    • 包管理器,用于.NET项目,可以轻松地管理和安装第三方库。
  8. Entity Framework

    • 一个对象关系映射器(ORM),用于简化数据库访问和操作。
  9. PowerShell

    • 微软的命令行shell和脚本环境,也可用于自动化C#项目中的某些任务。
  10. Azure DevOps

    • 提供项目管理和持续集成/持续部署(CI/CD)服务,支持C#项目的开发和部署。
  11. Visual Studio Team Services (VSTS)

    • 现在称为Azure DevOps Services,提供版本控制、项目管理和团队协作工具。
  12. 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。