ASP.NET Core 折腾笔记一
前言:
在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 折腾笔记一的更多相关文章
- ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core
背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...
- 在CentOS7 开发与部署 asp.net core app笔记
原文:在CentOS7 开发与部署 asp.net core app笔记 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lihongzhai/art ...
- ASP.NET Core 入门笔记8,ASP.NET Core MVC 分部视图入门
一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Raz ...
- Asp.Net Core学习笔记:入门篇
Asp.Net Core 学习 基于.Net Core 2.2版本的学习笔记. 常识 像Django那样自动检查代码更新,自动重载服务器(太方便了) dotnet watch run 托管设置 设置项 ...
- ASP.NET Core 学习笔记 第一篇 ASP.NET Core初探
前言 因为工作原因博客断断续续更新,其实在很早以前就有想法做一套关于ASP.NET CORE整体学习度路线,整体来说国内的环境的.NET生态环境还是相对比较严峻的,但是干一行爱一行,还是希望更多人加入 ...
- ASP.NET Core 学习笔记 第五篇 ASP.NET Core 中的选项
前言 还记得上一篇文章中所说的配置吗?本篇文章算是上一篇的延续吧.在 .NET Core 中读取配置文件大多数会为配置选项绑定一个POCO(Plain Old CLR Object)对象,并通过依赖注 ...
- Asp.net core 学习笔记 ( Data protection )
参考 : http://www.cnblogs.com/xishuai/p/aspnet-5-identity-part-one.html http://cnblogs.com/xishuai/p/a ...
- Asp.net core 学习笔记 SignalR
refer : https://kimsereyblog.blogspot.com/2018/07/signalr-with-asp-net-core.html https://github.com/ ...
- Asp.net core (学习笔记 路由和语言 route & language)
https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing?view=aspnetcore-2.1 https://doc ...
随机推荐
- 【.net 深呼吸】细说CodeDom(7):索引器
在开始正题之前,先补充一点前面的内容. 在方法中,如果要引用方法参数,前面的示例中,老周使用的是 CodeVariableReferenceExpression 类,它用于引用变量,也适用于引用方法参 ...
- 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- JS核心系列:浅谈函数的作用域
一.作用域(scope) 所谓作用域就是:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的. function scope(){ var foo = "global&quo ...
- 漫扯:从polling到Websocket
Http被设计成了一个单向的通信的协议,即客户端发起一个request,然后服务器回应一个response.这让服务器很为恼火:我特么才是老大,我居然不能给小弟发消息... 轮询 老大发火了,小弟们自 ...
- Angular源码分析之$compile
@(Angular) $compile,在Angular中即"编译"服务,它涉及到Angular应用的"编译"和"链接"两个阶段,根据从DO ...
- 推荐10款超级有趣的HTML5小游戏
HTML5的发展速度比任何人的都想像都要更快.更加强大有效的和专业的解决方案已经被开发......甚至在游戏世界中!这里跟大家分享有10款超级趣味的HTML5游戏,希望大家能够喜欢! Kern Typ ...
- RMS去除在线认证
在微软 OS 平台创建打开 RMS 文档如何避免时延 相信我们在企业内部的环境中已经部署了微软最新的OS平台,Windows 7和Windows 2008 R2,在这些OS平台上使用IRM功能时,您有 ...
- Atitit.研发管理如何避免公司破产倒闭的业务魔咒
Atitit.如何避免公司破产倒闭的业务魔咒 1. 大型公司的衰落或者倒闭破产案例1 1.1. 摩托罗拉1 1.2. 诺基亚2 1.3. sun2 2. 为什么他们会倒闭?? 常见的一些倒闭元素2 2 ...
- DB2重启数据库实例
DB2重启数据库实例时,有时停止实例会失败,此时需要先确认没有应用链接数据库,然后再关闭数据库实例,并重新启动. 1.查看是否有活动的链接 命令:db2 list applications for d ...
- Linux的locale、LC_ALL和LANG
如果你是一个Linux新手,并且刚刚安装了一个新的英文系统但想要设置成中文系统,肯定会接触到上面几个变量,在网上搜索了一系列解决方法,给一些变量赋一下值,再export一下,或者写到配置文件里面,然后 ...