相关文章推荐
刚失恋的黄瓜  ·  如何设置属于你的Matlab的字体大小和颜色 ...·  2 月前    · 
爱旅游的椅子  ·  Postman发送JSON格式的post请求 ...·  2 月前    · 
玩手机的蚂蚁  ·  C#中 获取时间相对应的年月日时分秒开发者社区·  1 月前    · 
冷冷的电影票  ·  如何从java的时区ID中获取国家代码?开发者社区·  1 月前    · 
瘦瘦的海豚  ·  嵌套数组和map的json文件如何解析?开发者社区·  4 周前    · 
豪爽的小狗  ·  微信小程序报ReferenceError: ...·  8 月前    · 
越狱的大脸猫  ·  c++ - Why am I ...·  1 年前    · 
鼻子大的酱牛肉  ·  vue控制滚动条滑到某个位置_vue滚动条滚 ...·  1 年前    · 
爱运动的咖啡  ·  vue动态计算元素高度-掘金·  1 年前    · 
贪玩的灌汤包  ·  云凤蝶可视化搭建的推导与实现 - 知乎·  1 年前    · 
Code  ›  .NET Standard 类库的使用技巧开发者社区
社区功能 腾讯
https://cloud.tencent.com/developer/article/1742595
想发财的打火机
1 年前
梁规晓

.NET Standard 类库的使用技巧

腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
梁规晓
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > .NET Standard 类库的使用技巧

.NET Standard 类库的使用技巧

作者头像
梁规晓
发布 于 2020-11-05 11:15:32
543 0
发布 于 2020-11-05 11:15:32
举报
文章被收录于专栏: DotNet程序园 DotNet程序园

在前一篇博客《.NET Standard中配置TargetFrameworks输出多版本类库》中详细介绍了如何创建、配置、条件编译、引用本地程序集、NuGet方式引用程序集、XML文档输出、编码与DEBUG 调试、自动生成内部版本号、文件复制等功能。但是Visual Studio中也存在一些使用不方便的地方,本文介绍一些开发中的小技巧。

一、API适配.NET版本提示

高版本的 Visual Studio 足够智能,能针对不同的API及时给出提示,指出API适用于哪种版本的.NET。比如下图中使用的 fileStream.WriteAsync()方法是异步方法,只在.NET4.5及.NET Standard2.0中受支持,在.NET4.0中没有异步方法,只有对应的 fileStream.Write()同步方法。

将代码修改为如下格式即可实现多版本

所以在编写代码时,建议在项目文件.csproj文件中做如下配置:

  <PropertyGroup>
    <TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
  </PropertyGroup>

也就是将 netstandard2.0 放置在第一个位置,因为在VS中编写代码时当前编辑器环境是针对放置在第一个位置的.NET版本。

二、.NET 目标框架切换

.NET Standard 类库配置多目标框架后,添加引用时无法自动切换版本,必须手动调整配置顺序才可以。

 <PropertyGroup>
    <TargetFrameworks>net40;net45;netstandard2.0;</TargetFrameworks> <!--输出多版本类库-->
  </PropertyGroup>

但是在编码时提供了目标框架切换的功能,这个是非常实用且方便的功能。我做的BIMFACE二次开发的接口的目标是支持 .NET Framework4.0、.NET Framework4.5 以及 .NET Core版本。将鼠标放到代码编辑器界面左上角,自动给出提示“实用下拉列表可查看和切换到此文件所属的其他项目”

下拉框的选项内容是 <TargetFrameworks> 中配置的值

此功能可以判断相同的代码在哪些框架下受支持且能正确编译。比如我再LogUtils类中写了一个异步记录日志的方法,当切换到 .NET Standard 2.0 或者 .NET 4.5时编辑器没有给出错误的提示,说明代码在这两种框架下是受支持的。

当切换到 .NET4.0 时,VS中自动给出了错误提示信息

此时就可以使用条件编译符号来解决此问题

本文参与 腾讯云自媒体分享计划 ,分享自微信公众号。
原始发表:2020-10-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除
.net
api
面向对象编程
打包

本文分享自 DotNet程序园 微信公众号, 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

.net
api
面向对象编程
打包
评论
登录 后参与评论
0 条评论
热度
最新
登录 后参与评论
推荐阅读
LV.
文章
0
获赞
0
领券
  • 社区

    • 专栏文章
    • 阅读清单
    • 互动问答
    • 技术沙龙
    • 技术视频
    • 团队主页
    • 腾讯云TI平台
  • 活动

    • 自媒体分享计划
    • 邀请作者入驻
    • 自荐上首页
    • 技术竞赛
  • 资源

    • 技术周刊
    • 社区标签
    • 开发者手册
    • 开发者实验室
  • 关于

    • 社区规范
    • 免责声明
    • 联系我们
    • 友情链接

腾讯云开发者

扫码关注腾讯云开发者

扫码关注腾讯云开发者

领取腾讯云代金券

热门产品

  • 域名注册
  • 云服务器
  • 区块链服务
  • 消息队列
  • 网络加速
  • 云数据库
  • 域名解析
  • 云存储
  • 视频直播

热门推荐

  • 人脸识别
  • 腾讯会议
  • 企业云
  • CDN加速
  • 视频通话
  • 图像分析
  • MySQL 数据库
  • SSL 证书
  • 语音识别

更多推荐

  • 数据安全
  • 负载均衡
  • 短信
  • 文字识别
  • 云点播
  • 商标注册
  • 小程序开发
  • 网站监控
  • 数据迁移

Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有

深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569

腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287

问题归档 专栏文章 快讯文章归档 关键词归档 开发者手册归档 开发者手册 Section 归档

Copyright © 2013 - 2024 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

登录 后参与评论
 
推荐文章
刚失恋的黄瓜  ·  如何设置属于你的Matlab的字体大小和颜色?开发者社区
2 月前
爱旅游的椅子  ·  Postman发送JSON格式的post请求开发者社区
2 月前
玩手机的蚂蚁  ·  C#中 获取时间相对应的年月日时分秒开发者社区
1 月前
冷冷的电影票  ·  如何从java的时区ID中获取国家代码?开发者社区
1 月前
瘦瘦的海豚  ·  嵌套数组和map的json文件如何解析?开发者社区
4 周前
豪爽的小狗  ·  微信小程序报ReferenceError: require is not defined是什么原因 - CSDN文库
8 月前
越狱的大脸猫  ·  c++ - Why am I getting an error message from Android NDK r11 while my project is built using Android
1 年前
鼻子大的酱牛肉  ·  vue控制滚动条滑到某个位置_vue滚动条滚动到指定位置_付渐渐的博客-CSDN博客
1 年前
爱运动的咖啡  ·  vue动态计算元素高度-掘金
1 年前
贪玩的灌汤包  ·  云凤蝶可视化搭建的推导与实现 - 知乎
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号