.NET Core 2.0 应用程序高级调试:完全掌握Linux、macOS和Windows跨平台调试技术
上QQ阅读APP看书,第一时间看更新

1.3 .NET Core的一些重要工具

.NET Core虽然提供了很强大的类库和编译器,但是在开发过程中,开发者仍然需要一些辅助工具来提升开发效率。下面介绍一些常用的.NET Core开发工具。

1.Visual Studio for Mac

Visual Studio for Mac是微软针对macOS操作系统推出的一款IDE产品。它的前身是Xamarin Studio,而Xamarin Studio又是从MonoDevelop衍生而来。

Visual Studio for Mac目前可以支持以Xamarin开发框架为基础的客户端应用程序开发到以.NET Core为开发框架的服务器端程序,如REST API或者ASP.NET Web网站等。Visual Studio for Mac是与Visual Studio同级别的IDE产品,集源代码管理、编码、调试运行为一体。

Visual Studio for Mac也提供免费社区版本,有兴趣的读者可以通过https://www. visualstudio.com/vs/mobile-app-development/下载。

2.Visual Studio Code

与Visual Studio不同,Visual Studio Code的产品定位是跨操作系统平台的轻量级代码编辑器。它的竞争产品是IntelliJ、Atom等。目前有越来越多的开发者为Visual Sudio Code编写扩展插件,Visual Studio对绝大多数主流语言都具备语法提示以及编译和调试的能力。

Visual Studio Code的下载地址为http://code.visualstudio.com。

3.API Portability Tool

API Portability Tool是一款辅助.NET开发者在不同的开发框架上迁移源代码工程的静态代码审查工具。

由于.NET Framework具有多个历史版本,并且.NET Core以及Xamarin等开发框架在基础类库中实现的API数量和类型有很多的不一致情况,.NET开发者要想把自身源代码升级到更高的.NET版本或者迁移到其他的.NET开发框架上,会面临很多API调用不兼容的问题。

API Portability Tool可以帮助.NET开发者审查.NET项目的源代码,并生成审查报告,帮助.NET开发者找到API调用不兼容的代码行以及帮助.NET开发者评估迁移工作量。

API Portability Tool本身也是一个.NET Core开源项目,可以访问https://github. com/Microsoft/dotnet-apiport获得API Portability Tool的源代码和使用方法文档。

4..NET API Availability Catalog

当.NET开发者想调用一个API,又不确定这个API在某个特定的.NET开发框架上是否支持该怎么办?.NET API Availability Catalog网站就可以帮助.NET开发者解答这个问题。这个网站保存着全部的.NET开发框架以及开发框架的API以及他们适用的版本。.NET开发者可以随时随地进行查询。网站的地址:https://apisof.net/catalog。

5.Package Availability Information

目前的情况是,很多.NET开发者都有意愿把自己的项目迁移到.NET Core开发框架上来。由于自身项目引用了很多第三方的NuGet包,开发者一时很难确定这些NuGet包是否已经支持了.NET Core。

这个网站就可以帮助.NET开发者解决这个问题。在这个网站上,.NET开发者只要上传.NET项目文件,如project.json或者.csproj文件到网站(因为项目文件中含有NuGet包引用定义),网站就会自行搜索NuGet网站验证这些NuGet包是否都已经支持了.NET Core框架。

这个工具可以为何时将.NET应用程序迁移到.NET Core框架上提供决策参考。网站地址为https://icanhasdot.net/。

6.NuGet Package Explorer

这是用来帮助开发者将自己的项目制作成NuGet包的可视化工具。通过这个工具可以帮助开发者快速地创建自己的NuGet包并发布到NuGet网站上供其他开发者使用。这个工具自身也是开源的,代码仓库位于https://github.com/NuGetPackageExplorer/。

7.ILDasm

ILDasm是.NET Core SDK中自带的IL源代码反汇编工具。传统上,这个工具也存在于.NET Framework SDK中。只不过.NET Framework SDK中的ILDasm具有可视化用户界面,而.NET Core中的这个工具仅仅是一个命令行工具。

8.ILSpy

ILSpy是一款开源的运行在Windows平台上的图形化用户界面的程序集反汇编工具。可以把已经编译好的.dll反汇编成为C#/VB.NET/F#语言源代码。ILSpy本身是为了.NET Framework创建的。由于.NET Core和.NET Framework运行时互相兼容,所以ILSpy也可以兼容.NET Core的程序集。

ILSpy唯一令人遗憾的是目前仅仅支持Windows平台,并没有对Linux和macOS提供支持。ILSpy官方网站为http://ilspy.net。

9.Postman

Postman是一款支持跨平台的应用程序,用来帮助开发者快速构建和测试REST API服务。Postman可以模拟HTTP请求的所有谓词,用于REST API的测试。由于Postman是一款具有图形化用户界面的产品,因此非常受开发者的欢迎。

Postman的下载地址为https://www.getpostman.com/。

10.Fiddler

Fiddler也是一款作者个人非常喜欢的HTTP调试器。Fiddler调试器支持基于进程、Session等模式的HTTP调试。其功能非常强大,并且免费。同ILSpy一样,Fiddler也主要是支持Windows平台。Fiddler后期发布了支持IE、Chrome和Firefox的扩展插件,让Web开发者可以更方便地配合Web浏览器进行HTTP调试。

Fiddler的下载地址为https://www.telerik.com/fiddler。

11.dnSpy

dnSpy是一个开源的支持.NET Framework、Unity和.NET Core的调试器和程序集编辑器。dnSpy的优点是:即使没有任何源代码文件,也可以使用它来编辑和调试程序集。它可视化地支持开发者在IL、VB.NET和C#语法环境中编辑程序集的元数据并进行调试。dnSpy引用了开源项目ILSpy反编译引擎和Roslyn编译器等著名开源项目。

dnSpy项目地址为https://github.com/0xd4d/dnSpy。