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
更多内容推荐
.NET 5 重大变更之 WPF 和 Windows Forms
.NET 5重大变更系列的最后一个主题是WPF和Windows Forms。这些桌面技术在.NET Core 3.0之前是不可用的,因为.NET Core的早期版本主要专注于基于Web的应用程序(ASP.NET Core)。
押注.NET 是件好事
尽管微软用它提供了这么多好东西,但它也有缺点。
35|静态类型检查:ESLint 语法规则和代码风格的检查
linter作为代码检查工具,可以帮助我们将代码出现质量问题的风险降到最低。
2022-12-08
.NET 6 新东西 -- 高性能日志
一提到日志记录,大家就会想到log4net,如果提到.NET中的日志记录,一定会想到ILogger,这个ILogger是.NET中常用的提供的日志记录的方式,下面的代码是.NET Core WebAPI 项目初始化的代码,其中就使用了ILogger来提供日志记录:
2021-12-17
成都.NET 线下技术沙龙倒计时一天
2023年4月15日下午13:30
2023-04-14
08. 目标管理的作用 三
2023-10-17
EPPlus - 用于 .NET 的 Excel 电子表格
我们都会遇到需要用程序操作Excel电子表格的情形。在这里推荐一个.NET非常好用的包EPPlus。
2022-08-24
.NET Standard 停止更新,它将何去何从?
近日,.NET 项目经理 Immo在博客文章中称,.NET Standard 不再发布新版本,并且它会被.NET 5 取代。
微软计划闭源在 VS Code 中的 C#扩展,开发者:无法接受的管理者权力滥用行为
“如果选择任何非 .NET 的编程语言,你会对微软的产品有更好的体验。”
.NET6 新东西 --CallerArgumentExpression
在.NET6中我们可以使用CallerArgumentExpression很方便的获取调用方的信息,它可以帮助开发人员简化很多代码,让代码更加简洁。下面我们就来讲解一下吧。其实在很早.NET就支持自动获取调用方的信息了,在.NET6以前我们如果要获取调用方的信息可以使用这三个C
2021-11-14
被质疑“在开源社区执行微软意愿”,.NET 基金会前董事为其提交的 PR 道歉并辞职
.NET 基金会与社区之间的矛盾开始凸显。
微软发布.NET 5.0 RC1,未来将只有一个.NET
微软发布了.NET 5.0 RC1,这是.NET 5在11月正式发布之前的第一个“go-live”版本。
30. 探索 Sentinel 规则持久化机制
2023-09-29
微软发布 .NET 7 预览版,重点关注容器和云
开发者可以下载适用于 Windows、macOS 和 Linux 的.NET 7 Preview 1 。
.NET6 新东西 -- 隐式命名空间引用
早在 .NET 6 Preview 7版本中微软就已经引入隐式命名空间引用。在.NET Preview 7这个版本中这个功能是默认开启的,如果需要禁用它的化就需要配置DisableImplicitNamespaceImports来禁用,但是到了.NET6 RC1版本的时候这个功能是禁用的,如果要使用就需要通过
2021-11-17
35|自动化:升级 0.72 新架构的步骤和关键
升级 React Native 版本和新架构难免会遇到一些阻碍,我们可以通过三个步骤逐步跨越这些障碍。
2023-07-01
38|编译和打包:通过 Webpack、Babel 做编译和打包
这节课我们来学习JavaScript中编译和打包工具的前世今生和“成功转型”。
2022-12-15
07|分析实操:运用自动化工具诊断分析 Sharing 项目
通过这节课的分析,你可以学会在实际项目中如何结合工具来落地架构分析工作。
2023-02-24
微软正式发布 .NET 6 LTS 版本
号称是“迄今为止最快的 .NET”。
.NET 无侵入自动化探针原理和主流实现
最近,我在微信公众号和博客园分享了一篇关于 .NET 微服务系统迁移至.NET 6.0 的故事 的文章,引起了许多读者的关注。其中,许多人对基于 OpenTelemetry .NET 的观测指标和无侵入自动化探针颇感兴趣。事实上,我已计划抽出时间,与大家分享这方面的内容。
暂无签名
推荐阅读
第二节 目标计划管理“三九”说明书之一——设目标
2023-10-17
2023 年北京.NET 线下技术沙龙圆满落幕!
2023-05-23
.NET 的基元类型包括哪些?Unmanaged 和 Blittable 类型又是什么?一文带你深度解析
2023-06-27
10. 销售活动(一):制定一个具有牵引力的目标
2023-10-17
突破调试瓶颈:Uno 平台的 VS Code 扩展支持调试移动应用程序
.NET 常见的 4 种加密算法
2023-09-18
31. 如何制定员工的个人绩效考核目标
2023-10-17
电子书
大厂实战PPT下载
换一换 Jinhua | 华为 终端 BG 软件部开发者平台部首席架构师
麦玮嘉 | Seal 首席研发工程师
韩旭明 | Google Cloud 合作伙伴架构师
评论