程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> ASP.NET Core 折騰筆記一,asp.netcore

ASP.NET Core 折騰筆記一,asp.netcore

編輯:關於.NET

ASP.NET Core 折騰筆記一,asp.netcore


前言:

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

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

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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved