您当前的位置: 首页 >  .net

寒冰屋

暂无认证

  • 0浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

如何在 .NET 项目中设置禁用的 Symbol

寒冰屋 发布时间:2022-08-22 19:30:00 ,浏览量:0

目录

前言

BannedApiAnalyzers 分析器

结论

 

前言

上次,我们在《C#怎么测试静态方法》中介绍了使用接口IClock替代DateTime.Now,方便测试。

但是,可能还是有人会无意识地在代码中使用DateTime.Now。

那么,我们希望开发人员不能再使用DateTime.Now

怎么实现呢?

我们可以利用代码分析器帮助我们达到目的。

BannedApiAnalyzers 分析器

Microsoft.CodeAnalysis.BannedApiAnalyzers 允许设置项目中禁用的 Symbol(类型、方法、属性等)的列表。当开发人员使用其中一个被禁用的 Symbol 时,分析器将报告警告。

首先,将BannedSymbols.txt添加到项目中:


  

并将禁用的 Symbol 按以下格式填入文件:

{Documentation Comment ID string for the symbol}[;Description Text]

比如禁用DateTime.Now:

P:System.DateTime.Now;请使用 IClock

详细格式说明请参看 https://github.com/dotnet/roslyn-analyzers/blob/master/src/Microsoft.CodeAnalysis.BannedApiAnalyzers/BannedApiAnalyzers.Help.md

引用Nuget 包 Microsoft.CodeAnalysis.BannedApiAnalyzers,只要项目中使用了DateTime.Now,编译后会生成警告。

我们也可以将严重性改为错误,强制编译失败:

结论

今天,我们介绍了使用 BannedApiAnalyzers 禁用 Symbol。

 

关注
打赏
1665926880
查看更多评论
立即登录/注册

微信扫码登录

0.0462s