将 Net 项目升级 Core项目经验:(一)迁移Net项目为Net Core\Standard项目
遷移Net項目為Net Core\Standard項目
背景:
我們公司內(nèi)部有自己ORM開發(fā)框架,最新因為需要將系統(tǒng)遷移到國產(chǎn)服務器上,所以首先需要將最基礎的ORM框架改造可以運行在國產(chǎn)服務器上。對于我們Net來說,優(yōu)選Net Core。在遷移的過程中,將一些經(jīng)驗和坑記錄下來,幫助自己記憶同時也給有同樣需求的Net朋友一些幫助。
原始項目 Beyonbit.Framework 預覽
看上圖的當前項目,為我們的ORM框架。本次遷移主要將Beyondbit.Framework項目從Net Framework 3.5 遷移為 Net Core\Standard 2.0。
新建一個Net Standard 類庫為Beyonbit.Framework
新建的步驟很簡單,就不截圖說明。
為什么創(chuàng)建一個項目,而不是將現(xiàn)在的項目升級
幾點考慮:
可以看看微軟的建議《組織項目以支持 .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 之間關系》
移植現(xiàn)有代碼到Net Core上
項目創(chuàng)建好了,如何將現(xiàn)在的類文件遷移到新項目上呢。可能有以下方案:
在遷移這方面可以看看凌晨三點半同學的文章《遷移.net framework 工程到.net core》和《度量.net framework 遷移到.net core的工作量》
不過我的做法和凌晨三點半同學的不一樣。我是在參看log4net的開源代碼時,看到的思路,借鑒了這個更簡單的方法。
使用文本編輯器打開新建項目的.csproj文件
我的項目內(nèi)容如下:
<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>netstandard2.0</TargetFramework></PropertyGroup> </Project>在文件中添加一下代碼:
<ItemGroup><Compile Include="..\..\Beyondbit.Framework\**\*.cs" /></ItemGroup>這句代碼的意思是,將Beyondbit.Framework目錄下的所有文件和目錄都用快捷方式包含到項目中。
效果如下:
可以看到新項目的文件和老項目的文件是一模一樣的,并且圖標可以看出是快捷方式添加的。
Build 當前項目
項目已經(jīng)遷移OK了,我們可以Build一下項目,然后將所有錯誤消滅。
我的項目編譯結果如下:
總共有60個錯誤。最后調(diào)整發(fā)現(xiàn)不止60個錯誤,當這60個錯誤處理后,再編譯,產(chǎn)生了新的錯誤,加起來有100個錯誤左右。
總結:
遷移第一步工作結束,后續(xù)第二部的工作是來消滅錯誤,第三部是遷移單元測試和集成測試項目,以及最終的多個平臺運行的測試。
轉(zhuǎn)載于:https://www.cnblogs.com/xakoy/p/8880206.html
總結
以上是生活随笔為你收集整理的将 Net 项目升级 Core项目经验:(一)迁移Net项目为Net Core\Standard项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iShow UI for React 最
- 下一篇: 爬虫_python3_requests_