迁移后的Net Standard版本的类库测试和多平台项目实测
按照第一步的方法,添加一個Net Core的MSTest項目,然后將原來的測試項目下的代碼遷移到新測試 項目中,然后引用新的Beyondbit.Framework Core類庫。然后運行單元測試項目和集成測試項目即可。
測試當中單元測試下項目沒有問題,一遍就過了。但是在集成項目中遇到了一個挺嚴重的問題。App.Config的讀取BUG。
App.config 讀取BUG
實測使用System.Configuration.ConfigurationManager 4.4.1 版本讀取配置時,在Web項目或者控制臺應用,都可以順利讀取。但我在vs2017創建的MSUnit的測試項目運行集成測試時,讀取失敗了。目前還沒找到方法解決,后續我會反饋BUG在github上。
目前我只能建立一個Net Core的控制臺程序來集成測試,在測試過程遇到了兩個問題,都是和SQL SERVER 相關的。
SQL 鏈接
異常:The keyword 'connection reset' is not supported on this platform
<add name="mainDB"connectionString="Database=DemoDB;Server=.;Uid=sa;Pwd=111qqq!;Enlist=true;Pooling=true;Connection Reset=false;Trusted_Connection=no;Connect TimeOut=3000;"providerName="System.Data.SqlClient" />看上面數據庫鏈接字符串總Connection Reset=false;?刪掉這個即可。
異常:Enlisting in Ambient transactions is not supported.
這個異??梢钥磄ithub net core的反饋?提到了在4.5預覽版本已經修復了,實測可以。在寫這篇文章時,我用的 System.Data.SqlClient(4.4.3)。
發布Net Core 程序
控制臺程序
VS 2017 + win 10 + Net Core 2.0 寫的程序,F5調試程序是沒有問題的,但是如果想不通過VS2017來運行程序,按照Net Framework,一般我們Build過后,去bin目錄找debug或release目錄下,找到對應的exe文件運行即可。但是Net Core 生成,在bin\Debug文件下,是不會生成.exe文件了。這個和NetFramework 完全不同。
Net Core 下需要發布才可以做到:
按照微軟的文章《使用 Visual Studio 2017 發布 Hello World 應用程序》
測試結果
WIN 10 系統
Mac OS 10.13.4 High Sierra系統
總結:
至此,以上是遷移Beyonbit.Framework從 Net Framework 3.5 到 Net Core\Standard上的經歷??偣不ㄙM了2天的時間。后續測試更全面一點,會有更多的運行錯誤,到是我會根據情況補充到文章里面。以及后續會遷移更復雜的業務系統,遇到的問題,也會補充到文章里。
這三篇文檔是我花了半天時間寫的,希望能幫助到有需要的人,同時,在文章里面都貼了一些文章鏈接,很感謝這些朋友,里面有一下些鏈接,不知道是不是原文,如有轉帖的,可以私信給我,我會改正。
原文地址?:http://www.cnblogs.com/xakoy/p/8891552.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的迁移后的Net Standard版本的类库测试和多平台项目实测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迁移Net项目为Net Core\Sta
- 下一篇: AspNetCoreApi 跨域处理(C