• 将 Net 项目升级 Core项目经验:(三)迁移后的Net Standard版本的类库测试和多平台项目实测


    迁移后的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.

    这个异常可以看github 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 生成,在binDebug文件下,是不会生成.exe文件了。这个和NetFramework 完全不同
    Net Core 下需要发布才可以做到:
    按照微软的文章《使用 Visual Studio 2017 发布 Hello World 应用程序

    测试结果

    WIN 10 系统

    image

    Mac OS 10.13.4 High Sierra系统

    image

    总结
    至此,以上是迁移Beyonbit.Framework从 Net Framework 3.5 到 Net CoreStandard上的经历。总共花费了2天的时间。后续测试更全面一点,会有更多的运行错误,到是我会根据情况补充到文章里面。以及后续会迁移更复杂的业务系统,遇到的问题,也会补充到文章里。
    这三篇文档是我花了半天时间写的,希望能帮助到有需要的人,同时,在文章里面都贴了一些文章链接,很感谢这些朋友,里面有一下些链接,不知道是不是原文,如有转帖的,可以私信给我,我会改正。

  • 相关阅读:
    [转]Java连接oracle数据库实例
    class.forname().newInstance()
    使用jdbc调用Oracle报错:ORA00911 无效字符
    使用HttpWebRequest需要设置Accept和UserAgent属性
    IIS应用程序池(进程池)假死问题解决办法
    windows调试工具集
    广东电信最新DNS更新了
    Web2.0样式
    一个开源的flash幻灯片展示源码文件
    Microsoft Visio2003 简体中文版 下载
  • 原文地址:https://www.cnblogs.com/xakoy/p/8891552.html
Copyright © 2020-2023  润新知