雖然這篇nuget打不開鄉民發文沒有被收入到精華區:在nuget打不開這個話題中,我們另外找到其它相關的精選爆讚文章
在 nuget打不開產品中有1篇Facebook貼文,粉絲數超過1萬的網紅91 敏捷開發之路,也在其Facebook貼文中提到, 想要針對既有產品從 .NET migrate 到 .NET Core 的朋友,不只有關注在代碼曾經的相容性或是 package 的相容性。 測試專案、CI 流程還是很多坑的。 可以參考一下熱血的 小林 正在踩的坑... 睡前無聊實驗了一下,如何將部門現有 .NET Framework 撰...
nuget打不開 在 91 敏捷開發之路 Facebook 的精選貼文
想要針對既有產品從 .NET migrate 到 .NET Core 的朋友,不只有關注在代碼曾經的相容性或是 package 的相容性。
測試專案、CI 流程還是很多坑的。
可以參考一下熱血的 小林 正在踩的坑...
睡前無聊實驗了一下,如何將部門現有 .NET Framework 撰寫的元件,轉移上 .NET Core 平台,相關的轉移 SOP 該怎麼制訂。
實驗結果,在開發建置上,沒遭遇到什麼困難。比方說要將現行的程式碼,改以 .NET Core 建置或打包成 NuGet package,基本上沒什麼問題。兩者間的相容性已經相當高,我個人覺得,已經到了可以建議遷移、部署上生產環境的成熟度了。
但要正式做導入,其實反而不是程式碼層級的開發問題,而是 .NET Core 的工具在向下相容上,仍然有不少需要突破的地方。比方說︰
1. 現行所撰寫的單元測試專案,由於我們使用了舊版 MsTest 的一些特殊設定方式 (ex: runsettings file),所以無法轉移上新版的 MsTest 上去,連帶也無法轉換到 .NET Core 平台。
2. 現行我們使用 SpecFlow 所撰寫的整合測試專案,由於上述原因,加上 SpecFlow .NET Core 版仍然在開發中,所以也沒辦法轉移到 .NET Core。
3. 因為第 1 點,所以我們無法使用 MS 建議的 Multi Target Framework 的方式來建立測試專案。只能讓測試專案留在 .NET Framework 平台上。
4. 因為第 3 點,所以我們也無法使用 Multi Target Framework 的方式來建立 Production code 專案。目前只能建立兩種專案檔 (.csproj),一個使用 .NET Framework,另一個則使用 .NET Core。
現階段如果要突破上述的問題,我目前想像的做法是︰
1. 在現行專案目錄上建立 .NET Core 的專案檔 (.csproj)
2. 確保 .NET Core 版專案檔在包含現有程式碼的前提下,處理好相依性,讓它可以正確建置。
3. 如果有 .NET Core 專屬的邏輯,或因為不相容而改寫的部份,改在 .NET Core 平台下的測試專案中進行對應測試。
4. 針對 .NET Core 的 CI 流程,合併進行 .NET Framework 版與 .NET Core 版的測試。如果兩者都通過才進行 NuGet package 打包與發佈。
大概是這樣,可以睡了 XD