OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

使用Windows兼容包简化向.NET Core的迁移


分享到


关键字 分享   发布 Harriet666  1514537966156
注意 转载须保留原文链接,译文链接,作者译者等信息。  
从.NET迁移到.NET Core的一个主要原因,在于后者具备在Linux上运行的能力。但是对于大型企业应用,不可能实现一步迁移到位。由此,Microsoft推荐采用一种逐步迁移做法:
  • 第一步,迁移到ASP.NET Core(依然使用.NET Framework);
  • 第二步,迁移到.NET Core(依然运行在Windows上);
  • 第三步,迁移到Linux上;
  • 第四步,迁移到(托管Linux主机的)Azure中。
这一做法理论上可行,但是在第二步中会有阻碍,因为缺乏关键API。用于.NET Core的Windows兼容包的推出,意在解决这一问题。该兼容包是一个NuGet软件包集合,其中包含了近两万个API,目的在于解决Web应用程序开发人员对于优秀软件库的需求。
 
新引入的API大体上可分为两类。一类是仅适用于Windows的API,另一类是跨平台的软件库。其中,仅适用于Windows的API包括:
  • Active directory;
  • 加密;
  • 事件日志和性能计数器;
  • 文件系统安全;
  • 命名管道;
  • 注册表访问(Registry Access);
  • Windows服务。
其中大部分API是与Windows操作系统紧密关联的,而相应的Linux API通常在设计上迥异。
跨平台的软件库包括:
  • 缓存;
  • 配置管理(ConfigurationManager),即处理遗留的app.config和web.config文件;
  • 数据集扩展(DatasetExtensions),用于不使用ORM访问数据库;
  • ODBC数据库访问;
  • System.Configuration.ConfigurationManager(MEF v1);
  • System.Drawing;
  • System.IO.Packaging,用于与MS Office类型的压缩文件交互;
  • System.ServiceModel,即WCF(Windows Communication Foundation)。
需指出的是,这些API是刻意独立于.NET Core的完整发布的。对此,Microsoft的Immo Landwerth给出了如下解释:
以独立软件包提供的原因在于:(一)不少API是仅出于兼容性的考虑而提供的。在新代码中,不应依赖于这些API;(二)不少API仅用于Windows平台。我们不希望将用户引上一条更难以跨平台迁移应用的道路。
为了易于区分仅适用于Windows的和跨平台的API,现在有一种API兼容性分析工具可用。该工具可以标记出那些在应用中不应继续依赖的API。
你可以使用与弃用API相同的抑制选项,但是也可以选择对特定平台给出抑制警告。如果你仅规划在一组特定的平台上支持你的代码,例如只支持Windows和Linux但不支持macOS,这一工具十分有用。为此,你只需编辑项目文件,添加一个PlatformCompatIgnore属性,并在该属性中列出所有要忽略的平台。
原文地址: 点此
社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 关键字 - 分享
  1. IE、Chrome、Firefox浏览器默认首页被改成360导航解决办法(删除daohang88.com)跳转
  2. 一位自由职业者的分享:程序员怎样找兼职?
  3. 对于现代开发来说,JavaScript就是一种垃圾语言
  4. 我为什么不再用Compass写CSS(缺点分析)
  5. Redis/Python被要求更改Master/Slave程序接口名称和描述
  6. 程序员疑似将MySQL用户名密码上传至Github,导致华柱1.3亿条开房数据泄漏
  7. 从 Node 到 Go:一个粗略的比较—GO平均性能比JavaScript快十几倍
  8. Linux上为git无交互添加最低权限的使用用户
  9. 为jquery的ajax请求添加超时timeout时间
  10. 上海行业工资排名:产品经理一骑绝尘,前端排名第二?

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号