APP下载
报价宝  ›  科技  › 

强力推荐 .NET开发的这23种优秀工具_Visual

报价宝 来源:baojiabao.com 发布时间:2019-11-16 11:51:00 09月27日更新
报价宝综合消息强力推荐 .NET开发的这23种优秀工具_Visual

  【51CTO.com快译】为了深入了解.NET工具的不同特点,我们采访了Microsoft、EPAM、AltexSoft、SocketLabs和其他技术公司的工程师们。让他们从软件开发、程式码质量分析、除错、以及其他任务等方面,分享了他们认为最好的23种.NET工具。

我们将这些工具分为了七组,它们分别是:IDE和程式码编辑器、侦错程式和反编译器、包管理器、格式化工具、效能分析、管理工具、以及测试工具。

.NET的IDE和程式码编辑器

Visual Studio IDE:Microsoft开发的最佳IDE

Visual Studio是由Microsoft所提供的全功能开发平台,它涵括了程式程式码的建立、修改和转换等全部过程。Microsoft通过IDE的多步支付计划(https://visualstudio.microsoft.com/vs/pricing/),能让更多的个人和企业使用到其丰富的工具集。它拥有一个Visual Studio社群,免费向个人开发者、以及仅有五个使用者的非企业组织进行开放。

程式码自动完成。该平台的IntelliSense程式码编辑器(https://code.visualstudio.com/docs/editor/intellisense)支援基于语言语义和源代码分析的自动完成,并提供针对程式码的提示和API程式码的编辑。 储存库整合。开发人员使用Team Explorer(https://docs.microsoft.com/en-us/visualstudio/ide/connect-team-project?view=vs-2019)将Visual Studio连线到专案或储存库中。该工具过去主要与Microsoft TFS合作,如今则提供了一整套丰富的选项来向GitHub、GitLab和Bitbucket,提供Git储存库方面的合作。另外,Team Explorer 也提供了简单、精细的图形化界面,方便使用者在不离开Visual Studio视窗的情况下,开展大量日常任务。 数据库开发。SQL Server Explorer(https://visualstudio.microsoft.com/vs/features/ssdt/)是一款VS工具,可直接用于构建Visual Studio和管理SQL数据库。因此,它显著地简化了数据库的各项操作。 生产环境故障排除。如果您怀疑出现了内存泄漏或死锁问题,那么通过捕获内存dump,并在Visual Studio中进行分析,就能够找到明确的答案。凭借著VS优势,您只需右击工作管理员,便可方便地使用本地计算机上的工具选项进行分析。而此类分析对于生产环境中的主机几乎不产生任何影响。 除错。使用Visual Studio IDE,开发人员还可以访问到大量的除错工具。

总之,如果您是首次上手.NET程式设计的话,Visual Studio是一个绝好的开始。

Visual Studio程式码:适用于程式码编辑的轻量级版本

如果您觉得Visual Studio过于庞复,而只需要程式码编辑器的话,则可以选择轻量级的Visual Studio Code(https://code.visualstudio.com/)。它是免费的,可用于许多工程场景的跨平台开发之中(如:Linux、Mac OS和Windows)。与Visual Studio类似,Code也能够完全支援IntelliSense的编码、除错、Git整合、以及扩充套件。与其他诸如JetBrains的Rider的程式码编辑器相比,Visual Studio Code具有更好的可扩充套件性。它不仅可被用于.NET和C#,而且支援几乎任何一种程式语言。

JetBrains的Rider:一种全新的IDE

Rider是一款相对较新的.NET IDE,虽然只提供30天的试用,但是Rider能够支援Windows、Mac OS X和Linux上的.NET和.NET的核心应用。Rider具有执行速度较快,版本控制整合、以及广泛的反编译功能。Rider能够提供各种专案所需的控制台、Web和库。同时,它还包含有导航、搜寻、重构、程式码检查、快速修复、以及与版本控制系统无缝整合等功能。

与Visual Studio相比,JetBrains" Rider不但体验更好、效能更佳,而且其许可证的第一年只要139美元,而Visual Studio专业版每年的费用高达1,199美元,企业版更是每年5,999美元。

Visual Studio扩充套件

JetBrains的ReSharper:VS的必备附加元件

JetBrains的另一款产品是ReSharper(https://www.jetbrains.com/resharper/?gclid=CjwKCAjw7_rlBRBaEiwAc23rhvE2g2LuCdK1ErMYNIz1ZzMMwUsWeuYX8mQRUt315EIA5Y1ZTx2r4BoCe6MQAvD_BwE&gclsrc=aw.ds)。作为一种流行的开发扩充套件工具,它改进了重构、程式码片段、模板引擎,并增加了额外的静态程式码分析功能。另外,ReSharper可以检测各种错误、提供大量的自动修复、能够简化程式码的修改,以及允许开发人员快速地浏览其程式码。

通过分析程式码的质量,ReSharper能够优化程式码的效能、避免内存的泄漏、以及建立建构函式、条件块和新的类。

NDepend:彻底进行程式码分析的绝佳工具

作为Visual Studio的外挂,NDepend(https://www.ndepend.com/)是另一种可以根据使用者的特殊需求进行定制化程式码分析的工具。它可以快速、准确地检查源代码、及其依赖项,并提供详细、精确的各类指标。

Visual Studio Cloud Explorer:能与Azure云互动的解决方案

Cloud Explorer(https://marketplace.visualstudio.com/items?itemName=ms-azuretools.CloudExplorerForVS)工具允许使用者在Visual Studio里直接管理Azure云资源、检查其属性、以及执行开发人员的各项诊断操作。由于不需要访问Azure门户,使用者完全可以在VS中看到所有的Azure云内容,因此大幅节省了时间。

包管理器

包管理器能够通过支援托管使用者的各种包、模组、以及库,来实现整个团队的工作流,并在构建与释出上持续交付。因此,它是.NET生态系统的重要补充。

NuGet:用于建立、共享和使用.NET库的通用工具

NuGet(https://www.nuget.org/)包管理器、及其Gallery是一个能够与.NET一起使用的集中式包储存库。它拥有大约15万个独特的软件包,和超过150万个包的不同版本。由于NuGet将.NET框架、库和模组引入到了.NET专案中,因此您最好将它与其他资源管理器工具一起使用。

NuGet Package Explorer:一种互动、浏览和释出NuGet包的新方法

该开源产品具有友好的使用者界面,可用于建立、浏览、除错和分析NuGet包。同时,它拥有简洁且图形化的使用者界面。

.NET库也适用于npm

近年来,为了方便给Web开发提供源代码,Microsoft Visual Studio还增加了对于npm的支援。同时各种现代化的Web实践工具,以及开源的程式码,也都能够使用.NET Core在后端进行编写了。

除错和反编译工具

通过除错工具,开发人员能够检视程式码,并在任何开发阶段识别问题的根本原因。为了进行排障,我们可以使用反编译工具,将已编译的第三方程式码转换回C#程式。

WinDbg:适用于Windows的独立除错工具

由Microsoft分发的WinDBg(https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools),是专为除错Windows应用程序而构建的。不同于使用除错工具内建的IDE这一传统方式,WinDbg可以在Visual Studio之外被执行。因此它更适合那些喜欢开源和免费软件的开发人员。

该工具用于除错核心模式和使用者模式程式码,检查故障转储和CPU暂存器。

JetBrains的dotPeek:一款不错的免费反编译工具

dotPeek(https://www.jetbrains.com/decompiler/)是一款可靠的基于ReSharper的反编译器,它适用于除错第三方程式的程式码集合。使用dotPeek,您可以在不直接访问源代码的前提下,检查第三方元件中出现的问题。可见,它是一款简单、高效且全面的工具。如果您需要根据某个应用程序特定版本的DLL档案,来恢复已有的程式码,那么dotPeek就能够在最短的时间内恢复那些丢失的程式码。

LSpy:可以替代.NET Reflector LSpy(https://github.com/icsharpcode/ILSpy/releases)是一个.NET assembly浏览器与反编译器。它一款免费的工具,完全可以替代.NET Reflector。该工具可以将任意.NET DLL反编译回Visual Basic或C#。因此,如果您丢失了源代码,ILSpy可以让您了解各种框架DLL背后的程式码工作机制。同时,您也可以通过各种外挂(https://github.com/icsharpcode/ILSpy/wiki/Plugins)来增强其基本包。

格式化工具

格式化工具可以帮助使用者通过遵循某些一致性的程式码样式,来检测并修复各种样式上的漏洞。同时,您也可以在IDE中进行设定,以便它能够在您输入的时候,实时进行运作。

SonarQube:一种维护程式码质量的简便工具

SonarQube(https://www.sonarqube.org/)是一种开源的静态程式码审查工具,它是由一组静态分析工具、资料集市、以及门户所组成,您既可以在其中管理技术债(technical debt),又能够分析.NET的托管程式码。除了具有强大的社群支援,SonarQube还能够以新增外挂的方式,提供各种额外的分析工具。SonarQube不但易于设定与配置,而且具有丰富的内建规则集,包括:编码标准、最佳实践、以及各种安全规则。

在实际应用中,SonarQube允许使用者标准化其程式码、并视觉化已审查的程式码覆盖率,进而提高了程式码的可维护性、整体质量、以及审查的工作量。

StyleCop:.NET程式码样式的可配置工具

StyleCop是一个原生程式码分析器,它能够对源代码强制执行样式、以及一致性规则的检查。它允许开发人员选择如下三种形式的自定义规则:

StyleCop Visual Studio扩充套件(https://visualstudiogallery.msdn.microsoft.com/5441d959-387f-4cb2-a8c0-9998dd1fa49f):可以在Visual Studio中的任何档案、专案或解决方案上执行,无需修改任何源代码。 StyleCop.MSBuild(https://www.nuget.org/packages/StyleCop.MSBuild):执行在.NET 4.0以上的专案中。 StyleCop.ReSharper(https://github.com/StyleCop/StyleCop.ReSharper):是一个外挂,可用于配置ReSharper,使用与StyleCop规则匹配的预设设定。

效能分析与管理

我们在开发过程中,如果遇到了效能问题,往往需要收集与问题相关的各种详细资讯。使用如下工具,.NET开发人员可以跟踪计算机的效能,找出问题背后的原因。

PerfCollect和PerfView:标准的.NET效能优化工具箱

PerfCollect(https://raw.githubusercontent.com/dotnet/corefx-tools/master/src/performance/perfcollect/perfcollect)是一个自动化资料收集的Bash指令码,而PerfView(https://github.com/Microsoft/perfview#perfview-overview)则是一个基于Windows的效能工具。您可以使用PerfCollect来捕获perf的跟踪档案,然后使用PerfView来进行分析。

除了可以调整CPU和内存的分配,PerfView还具有如下优点:

无需安装,只需将应用程序复制到您希望从中捕获效能资料的Windows主机上,然后配置需要分析的内容,便可开始捕获。 无需为了进行分析而修改应用程序,或降低效能。 能以Chrome效能工具相似的方式呈现各种结果。

JetBrains的dotTrace和dotMemory:效能和内存分析

dotTrace(https://www.jetbrains.com/profiler/)和dotMemory(https://www.jetbrains.com/dotmemory/?gclid=Cj0KCQjwkoDmBRCcARIsAG3xzl8Tqjd2pnIRvxGDqXSTcZX33zS9MNEL7OVFXHjLJMyf_UgCRkXco8oaAsZZEALw_wcB&gclsrc=aw.ds)可跟踪与分析.NET应用程序的效能、以及内存问题。它们能够处理大量的资料,并以全面的方式呈现给使用者。

dotTrace的功能包括:效能瓶颈检测、呼叫堆叠分析、效能时间线报告、以及许多其他型别的分析操作。而dotMemory的功能则包括:远端分析、自动检查内存问题、内存流量分析、以及内存快照比较等。

BenchmarkDotNet:用于基准测试的强大.NET库

作为一个开源专案,BenchmarkDotNet(https://benchmarkdotnet.org/)消除了使用者对于效能的猜测,并能够通过自动隔离每一个基准,来执行并测试多次迭代。它是一个小型程式设计工具,通过各种示例,使用者能够测量和比较自己的演算法效能,进而得到可靠结果,并提高生产率。

测试工具

Visual Studio MSTest:一种流行的单元测试框架

MSTest框架在Visual Studio产品系列中占据着独特的位置。由于.NET模式的单元测试会为每个生产专案准备一个单独的测试专案,因此您可以直接在MSTest中通过File->New Project来生成。而在测试时,您可以在IDE中观察到测试结果。

NUnit:优秀的测试工具

NUnit(https://nunit.org/)非常适合在非Microsoft平台、以及自定义的测试中互动式执行。它不但能够实现快速的测试和对测试进行标注,而且可以针对给定测试的多个输入进行简单的规范化。不过,NUnit不能像MSTest那样,可以被无缝地整合到Visual Studio中。

同时,由于NUnit支援广泛的自定义属性,因此使用者可以根据不同的引数分类,轻松地开展测试。此外,凭借著控制台执行程式,NUnit可以被轻松地将测试整合到CI流程中。

xUnit.NET:一种创新的.NET单元测试工具

xUnit为测试语言建立了一套直观的术语。它将测试划分为“事实”与“理论”,进而分别区分“始终为真”和“对于正确资料为真”等情况。作为一种扩充套件,xUnit可被用来开发.NET Core。

JetBrains dotCover:针对持续测试的程式码覆盖工具

dotCover(https://www.jetbrains.com/dotcover/)是一个程式码覆盖工具,它可以分析使用者的程式码、产生单元测试的覆盖范围报告。作为ReSharper软件包的一部分,dotCover既可以独立于ReSharper工作,也可以与ReSharper协同工作。

使用者可以将dotCover作为持续整合流程中的一部分,与JetBrains的TeamCity CI服务器一起使用,以检视单元测试的程式码涵盖率。

其他实用工具

LINQPad:连线数据库的多功能工具

LINQPad(https://www.linqpad.net/)是一个轻量级的.NET应用程序,可用于在没有IDE的情况下,互动式地编写C#程式码。该工具不仅可以实现一系列的查询操作,还具有整合的侦错程式和自动完成等功能(支援IntelliSense)。

通过其数据库查询的能力,LINQPad能够将各种执行转换为纯SQL,以便使用者修改资料、并转换数据库的架构。

另外,使用者还可以使用LINQPad来开发自定义的计费平台,以实现快速原型设计、演算法测试和LINQ查询验证等功能。

dotnet-t:简单的实验指令码

Dotnet-t(https://github.com/filipw/dotnet-t)是一个带有IntelliSense的跨平台.NET Core工具。它可以直接在Visual Studio Code中除错各种指令码。由于支援NuGet包,dotnet-t程式码可以实现相互关联,并存放在同一个档案中。

如何选择自己的.NET工具集?

那么我们该如何在.NET专案的各种可用工具集中进行选择呢?下面是一些经验与建议:

根据专案目标与简单化原则,我们不应在选择工具上花费太多的时间,而应注意工具本身的易用性。 根据日常工作中的实际需求,在开发过程中避免重复性的工作。 能轻松地部署到生产环境中,且带来的影响最小。 在业界和社群里有良好的声誉。 是否提供免费试用或完全免费。 学习曲线是否陡峭复杂。

原文标题:Top 23 Tools for .NET Development: The Experts" Choices,作者:Kseniia Bezugla

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

作者:Kseniia Bezugla

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 汽车价格 电视机价格 小米手机价格 红米手机价格 耳机价格