Visual Studio 2008 中新引入的多重目标(Multi-targeting)引发了一系列的问题。因为.NET 3.5 对核心程序集的功能进行了扩充,所以在设定目标为.NET 2.0 时必须要格外注意。否则应用程序可能在编译时一切正常,不过在运行时却由于缺失方法定义而失败。为了避免这类可能发生的问题,我们可以借助于 Krzysztof Cwalina 为多重目标编写的 FxCop 规则。
FxCop 是一个为 Visual Studio 提供代码分析的工具,并允许开发者创建自定义的规则。FxCop 的规则将应用于 IL 之上而不是源代码级别,因此对于任何.NET 语言均能适用。
Krzysztof 提供了一个示例规则,该规则将在你使用某个新的类或者方法时产生一个警告。这些新的类和方法的列表随其源代码发布。这个规则也适用于预防代码中使用与当前项目不匹配的类型。例如尝试使用一些尚未被实现的Mono 类型等。
查看英文原文: FxCop Rule for Multi-Targeting
更多内容推荐
18|年度总结:eBPF 的 2022 之旅
过去一年,不仅 Linux 内核极大地丰富了 eBPF 的功能特性,eBPF 的生态和实践也取得了突飞猛进的发展。
2022-12-30
30. 探索 Sentinel 规则持久化机制
2023-09-29
17|难点解析:eBPF 多内核版本兼容详解
如何让 eBPF 程序兼容新旧版本的内核
2022-06-30
加餐|聊聊 Go 1.17 版本的那些新特性
今天这讲,我们就来聊聊Go 1.17版本中的新特性,目的是让那些没用过Go 1.17版本,或者用过Go 1.17版本但还不知道它新特性变化的Go开发者,对Go 1.17有一个全面的了解。
2021-12-17
Mono 现状与未来: 从 Xamarin 到 WebAssembly、Blazor 及.NET 5
InfoQ采访了Mono项目的原作者Miguel de Icaza,讨论了Mono的当前状态及其在.NET生态系统中的未来。
.NET6 新东西 -- 隐式命名空间引用
早在 .NET 6 Preview 7版本中微软就已经引入隐式命名空间引用。在.NET Preview 7这个版本中这个功能是默认开启的,如果需要禁用它的化就需要配置DisableImplicitNamespaceImports来禁用,但是到了.NET6 RC1版本的时候这个功能是禁用的,如果要使用就需要通过
2021-11-17
微软正式发布 .NET 6 LTS 版本
号称是“迄今为止最快的 .NET”。
微软发布.NET 5.0 RC1,未来将只有一个.NET
微软发布了.NET 5.0 RC1,这是.NET 5在11月正式发布之前的第一个“go-live”版本。
C#的未来:协变返回类型
一个常见的API设计问题是无法在重写方法时使用更具体的返回类型。提案49(现在是C# 9的候选)试图纠正这个问题。
35|静态类型检查:ESLint 语法规则和代码风格的检查
linter作为代码检查工具,可以帮助我们将代码出现质量问题的风险降到最低。
2022-12-08
AWS Lambda 增加对 .NET 6 的支持
AWS Lambda 做了哪些针对性改进?
.NET 6 新东西 -- 高性能日志
一提到日志记录,大家就会想到log4net,如果提到.NET中的日志记录,一定会想到ILogger,这个ILogger是.NET中常用的提供的日志记录的方式,下面的代码是.NET Core WebAPI 项目初始化的代码,其中就使用了ILogger来提供日志记录:
2021-12-17
InfoQ 2022 年趋势报告:.NET 篇
在InfoQ,.NET领域包含了所有与.NET直接相关的技术,不仅包含了.NET官方版本的内容,还包括直接影响.NET生态系统的框架和技术、使用.NET的项目和计划、主要用例以及专门针对该领域的方法。
06|构建模式:Go 是怎么解决包依赖管理问题的?
是时候拥抱Go Moudule了!
2021-10-25
.NET Standard 停止更新,它将何去何从?
近日,.NET 项目经理 Immo在博客文章中称,.NET Standard 不再发布新版本,并且它会被.NET 5 取代。
被质疑“在开源社区执行微软意愿”,.NET 基金会前董事为其提交的 PR 道歉并辞职
.NET 基金会与社区之间的矛盾开始凸显。
EPPlus - 用于 .NET 的 Excel 电子表格
我们都会遇到需要用程序操作Excel电子表格的情形。在这里推荐一个.NET非常好用的包EPPlus。
2022-08-24
.NET6 新东西 --CallerArgumentExpression
在.NET6中我们可以使用CallerArgumentExpression很方便的获取调用方的信息,它可以帮助开发人员简化很多代码,让代码更加简洁。下面我们就来讲解一下吧。其实在很早.NET就支持自动获取调用方的信息了,在.NET6以前我们如果要获取调用方的信息可以使用这三个C
2021-11-14
2023 年成都.NET 线下技术沙龙来了!大咖分享,报名从速
MASA技术团队来成都啦!我们联合了成都.NET俱乐部,将在成都市举办一场.NET线下技术沙龙,为.NET开发者创造一次交流学习的契机,我们邀请到的几位技术大咖,将会围绕各自的主题向大家分享他们的技术心得。
2023-04-06
.NET 5 重大变更之 WPF 和 Windows Forms
.NET 5重大变更系列的最后一个主题是WPF和Windows Forms。这些桌面技术在.NET Core 3.0之前是不可用的,因为.NET Core的早期版本主要专注于基于Web的应用程序(ASP.NET Core)。
暂无签名
推荐阅读
11. 沟通的第一步为何必须明确双方的目标?
2023-10-17
06. 目标管理的作用 一
2023-10-17
.NET 的基元类型包括哪些?Unmanaged 和 Blittable 类型又是什么?一文带你深度解析
2023-06-27
.NET 无侵入自动化探针原理和主流实现
31. 如何制定员工的个人绩效考核目标
2023-10-17
2023 年北京.NET 线下技术沙龙圆满落幕!
2023-05-23
.NET 常见的 4 种加密算法
2023-09-18
电子书
大厂实战PPT下载
换一换 肖福剑 | 华为云 高级工程师
叶剑豪 | 喜马拉雅 珠峰 AI 算法负责人
王育军 | 小米 语音技术负责人
评论