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,工作量是相當的大啊!!!

而且好多功能得自己腦補,得曲線實現相關的功能,這門檻就大大的提高了!!!

不過總要有前人努力,后人才能乘涼,大伙都還是可以努力一下的!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM