日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

将 Net 项目升级 Core项目经验:(一)迁移Net项目为Net Core\Standard项目

發布時間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将 Net 项目升级 Core项目经验:(一)迁移Net项目为Net Core\Standard项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

遷移Net項目為Net Core\Standard項目

背景
我們公司內部有自己ORM開發框架,最新因為需要將系統遷移到國產服務器上,所以首先需要將最基礎的ORM框架改造可以運行在國產服務器上。對于我們Net來說,優選Net Core。在遷移的過程中,將一些經驗和坑記錄下來,幫助自己記憶同時也給有同樣需求的Net朋友一些幫助。

原始項目 Beyonbit.Framework 預覽


看上圖的當前項目,為我們的ORM框架。本次遷移主要將Beyondbit.Framework項目從Net Framework 3.5 遷移為 Net Core\Standard 2.0。

新建一個Net Standard 類庫為Beyonbit.Framework

新建的步驟很簡單,就不截圖說明。

為什么創建一個項目,而不是將現在的項目升級

幾點考慮:

  • 當前類庫是一個非常穩定的類庫
  • 這個類庫是一個歷史類庫,有非常多的功能,并且我不知道所有的功能
  • 在將這個類庫升級成功前,這個類庫需要繼續提供給Net Framework 項目使用
  • 類庫升級成功后,很有可能比不穩定,在穩定的這段期間,依然需要穩定的類庫給Net Framework 使用
  • 為什么不重新復制一份代碼,在這個復制的代碼上改造?當然首先我會建立一個分支。同時,基于以上原因,我希望的是同一份代碼可以編譯出Net Framework和Net Core\Standard類庫
  • 可以看看微軟的建議《組織項目以支持 .NET Framework 和 .NET Core》

    Net Standard和Net Core的關系

    簡單來將 Net Standard就是以前微軟的共享類庫的升級版,dll可以運行在WPF、ASP.NET、WinFrom、Silverlight、UWP的類庫。
    而Net Core生成的類庫,依然只能運行在NetCore運行時上。
    這個了解共享類庫的概念會很好理解,不了解的話,可以看看其他同學寫的文章。
    linezero同學的《.NET Core 2.0及.NET Standard 2.0》
    或微軟的文章《.Net Core, .Net Framework, .Net standard library, Xamarin 之間關系》

    移植現有代碼到Net Core上

    項目創建好了,如何將現在的類文件遷移到新項目上呢。可能有以下方案:

  • 把所有文件復制到新項目上
  • 把所有文件用快捷方式的辦法添加到新項目上
  • 在遷移這方面可以看看凌晨三點半同學的文章《遷移.net framework 工程到.net core》和《度量.net framework 遷移到.net core的工作量》

    不過我的做法和凌晨三點半同學的不一樣。我是在參看log4net的開源代碼時,看到的思路,借鑒了這個更簡單的方法。

    使用文本編輯器打開新建項目的.csproj文件

    我的項目內容如下:

    <Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>netstandard2.0</TargetFramework></PropertyGroup> </Project>

    在文件中添加一下代碼:

    <ItemGroup><Compile Include="..\..\Beyondbit.Framework\**\*.cs" /></ItemGroup>

    這句代碼的意思是,將Beyondbit.Framework目錄下的所有文件和目錄都用快捷方式包含到項目中。
    效果如下:

    可以看到新項目的文件和老項目的文件是一模一樣的,并且圖標可以看出是快捷方式添加的。

    Build 當前項目

    項目已經遷移OK了,我們可以Build一下項目,然后將所有錯誤消滅。
    我的項目編譯結果如下:

    總共有60個錯誤。最后調整發現不止60個錯誤,當這60個錯誤處理后,再編譯,產生了新的錯誤,加起來有100個錯誤左右。

    總結
    遷移第一步工作結束,后續第二部的工作是來消滅錯誤,第三部是遷移單元測試和集成測試項目,以及最終的多個平臺運行的測試。

    轉載于:https://www.cnblogs.com/xakoy/p/8880206.html

    總結

    以上是生活随笔為你收集整理的将 Net 项目升级 Core项目经验:(一)迁移Net项目为Net Core\Standard项目的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。