前言:

在ASP.NET Core 1.0时,曾折腾过一次,后因发现不了System.Data而停止。

更因VS2015提示过期Delete掉VS了,其实主要还是笔记本的硬盘空间吃紧。

快双十一了,本想过重新买台笔本来折腾.NET Core。

睡觉时,莫名脑袋一转,格了系统重来吧,然后就省下一台笔记本的钱了。

花了半天,终于把VS2015环境都装好了,终于又开始作了。

VS环境安装过程:

1:Win7系统,要装SP1,才能安装VS2015(安装后6-7个G大小)

2:下载安装VS2015(安装后快10个G了)

3:安装:Visual Studio 2015 Update 3

4:安装:.NET Core 1.0.1 - VS 2015 Tooling Preview 2

5:安装:.NET Framework 4.6.2

把东东都装齐,一天就过去了。

VS编绎的过程:

目标:编绎一个CYQ.Data的Core版本类库。

结果:只完成了10%。

下面分享作腾的过程:

新建了一个类库项目:

装完VS2015,发现只有Web Application(.NET Core),新建还是空的,无语!

后来到处下东西装了半天,才出来。

安装了4.6.2,发现.NET Framework下拉里也没出来?

好吧,就这样吧,反正能用。

建好项目之后,问题就一个接一个来了:

1:VS环境问题:

想要:用上篇文章可视化调试工具里的技巧,通过复制项目的解决方案,来引用同一个位置的文件。

结果:走不通。

原因:AssemblyInfo.cs 这个文件有点不一样。

.NET Core的是简化版,而且说明和版本号,都移值到project.json里去了。

解决方法:只有悲催的复制一份代码过去,编绎。

悲催的另一个功能:包含或排除项目文件:

只有隐藏和显示,悲催的是,隐藏掉的,也会被编绎,无语问苍天。

结果:只能Delete掉才能避开编绎错误。

2:API缺少的问题:

一编绎,几百上千个错误,吓死小伙伴了,经过一夜的努力,还有100多Error。

下面说说一些API的缺少,以及曲线救过的方法:

1:关于引用。

发现我已经不懂怎么用了,因为:

好在,代码提示里还能引用:

就这样,引入了两个System.Data、System.Data.Common:

2:关于不支持的API

1:System.Data.OleDb

2:System.Data.OracleClient

3:System.Runtime.Serialization.Formatters.Binary

4:System.Web

5:System.Configuration

6:System.Runtime.Cache

7:Winform或WPF系列。

太多了,数不过来,还有一些虽然有名称空间,但是缺少方法或属性。

目前的处理方式:

1:将不支持的功能,用部分类分离到单独的一个文件夹:

以下像引用到Winform或序列化的,直接单独到Extension,后续引到.NET Core时,直接删除这个文件夹。

2:将不支持,但有代替方法的,用扩展方法,或者定义相似方法来替代:

如:

    public class AppDomain
{
public class CurrentDomain
{
public static string BaseDirectory
{
get
{
return AppContext.BaseDirectory;
} } }
}

3:将不支持,也没有代码方法的,只有重写功能了:

比如:Cache,虽然MemoryCache,但原有的文件依赖功能却没有了。

二进制序列化:ToJson容易,从Json回来就还有大量事情要处理了。

4:没有System.Web

刚发现在Microsoft.AspNetCore.Http下,大部分类是相似的。

5:没有DataTable,DBDataReader也没有GetSchemaTable()方法。

6:另外还发现有数不清的不同:

就不一一详述了。

其它:

.NET Core 的开源地址:https://github.com/dotnet/corefx

从源码的提供提交日期看,还是保持着经常性的更新的。

.NET Core 的使用文档:https://docs.asp.net/en/latest/intro.html

补充内容:

.NET Core 微软官方的源码查看:https://source.dot.net

刚扫了一下,看出来了,微软官方的源码比Github上的新,而且一些临临散散的API也都补了或正在补中。

所以,还是可以期待下一个版本的。

总结:

总体而言:在目前阶段,要想把原有的类库迁移到.NET Core,工作量是相当的大啊!!!

而且好多功能得自己脑补,得曲线实现相关的功能,这门槛就大大的提高了!!!

不过总要有前人努力,后人才能乘凉,大伙都还是可以努力一下的!!!

ASP.NET Core 折腾笔记一的更多相关文章

  1. ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core

    背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...

  2. 在CentOS7 开发与部署 asp.net core app笔记

    原文:在CentOS7 开发与部署 asp.net core app笔记 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lihongzhai/art ...

  3. ASP.NET Core 入门笔记8,ASP.NET Core MVC 分部视图入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Raz ...

  4. Asp.Net Core学习笔记:入门篇

    Asp.Net Core 学习 基于.Net Core 2.2版本的学习笔记. 常识 像Django那样自动检查代码更新,自动重载服务器(太方便了) dotnet watch run 托管设置 设置项 ...

  5. ASP.NET Core 学习笔记 第一篇 ASP.NET Core初探

    前言 因为工作原因博客断断续续更新,其实在很早以前就有想法做一套关于ASP.NET CORE整体学习度路线,整体来说国内的环境的.NET生态环境还是相对比较严峻的,但是干一行爱一行,还是希望更多人加入 ...

  6. ASP.NET Core 学习笔记 第五篇 ASP.NET Core 中的选项

    前言 还记得上一篇文章中所说的配置吗?本篇文章算是上一篇的延续吧.在 .NET Core 中读取配置文件大多数会为配置选项绑定一个POCO(Plain Old CLR Object)对象,并通过依赖注 ...

  7. Asp.net core 学习笔记 ( Data protection )

    参考 : http://www.cnblogs.com/xishuai/p/aspnet-5-identity-part-one.html http://cnblogs.com/xishuai/p/a ...

  8. Asp.net core 学习笔记 SignalR

    refer : https://kimsereyblog.blogspot.com/2018/07/signalr-with-asp-net-core.html https://github.com/ ...

  9. Asp.net core (学习笔记 路由和语言 route & language)

    https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing?view=aspnetcore-2.1 https://doc ...

随机推荐

  1. HTML渲染过程详解

    无意中看到寒冬关于前端的九个问题,细细想来我也只是对第一.二.九问有所了解,正好也趁着这个机会梳理一下自己的知识体系.由于本人对http协议以及dns对url的解析问题并不了解,所以这里之探讨url请 ...

  2. 最新 去掉 Chrome 新标签页的8个缩略图

    chrome的新标签页的8个缩略图实在让人不爽,网上找了一些去掉这个略缩图的方法,其中很多已经失效.不过其中一个插件虽然按照原来的方法已经不能用了,但是稍微变通一下仍然是可以用的(本方法于2017.1 ...

  3. 23种设计模式--建造者模式-Builder Pattern

    一.建造模式的介绍       建造者模式就是将零件组装成一个整体,用官方一点的话来讲就是将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示.生活中比如说组装电脑,汽车等等这些都是建 ...

  4. 隐马尔科夫模型python实现简单拼音输入法

    在网上看到一篇关于隐马尔科夫模型的介绍,觉得简直不能再神奇,又在网上找到大神的一篇关于如何用隐马尔可夫模型实现中文拼音输入的博客,无奈大神没给可以运行的代码,只能纯手动网上找到了结巴分词的词库,根据此 ...

  5. 13、零配置Struts2开发

    Convention 插件 从 Struts 2.1 开始, Struts 可以使用 Convention 插件来支持零配置: Convention 插件完全抛弃配置信息, 不仅不需要使用 strut ...

  6. 在jekyll模板博客中添加网易云模块

    最近使用GitHub Pages + Jekyll 搭建了个人博客,作为一名重度音乐患者,博客里面可以不配图,但是不能不配音乐啊. 遂在博客里面引入了网易云模块,这里要感谢网易云的分享机制,对开发者非 ...

  7. zookeeper源码分析之六session机制

    zookeeper中session意味着一个物理连接,客户端连接服务器成功之后,会发送一个连接型请求,此时就会有session 产生. session由sessionTracker产生的,sessio ...

  8. 获取微软原版“Windows 10 推送器(GWX)” 卸载工具

    背景: 随着Windows 10 免费更新的结束,针对之前提供推送通知的工具(以下简称GWX)来说使命已经结束,假设您还未将Windows 8.1 和Windows 7 更新到Windows 10 的 ...

  9. nodejs利用ajax实现网页无刷新上传图片

    nodejs利用ajax实现网页无刷新上传图片 标签(空格分隔): nodejs 通常情况下上传图片是要通过提交form表单来实现的,但是这又不可避免的产生了网页转. 利用ajax技术和FormDat ...

  10. linux-linux top 命令各参数详解

    简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...