迁移后的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 生成,在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上的经历。总共花费了2天的时间。后续测试更全面一点,会有更多的运行错误,到是我会根据情况补充到文章里面。以及后续会迁移更复杂的业务系统,遇到的问题,也会补充到文章里。

这三篇文档是我花了半天时间写的,希望能帮助到有需要的人,同时,在文章里面都贴了一些文章链接,很感谢这些朋友,里面有一下些链接,不知道是不是原文,如有转帖的,可以私信给我,我会改正。

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

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

    迁移Net项目为Net Core\Standard项目 背景: 我们公司内部有自己ORM开发框架,最新因为需要将系统迁移到国产服务器上,所以首先需要将最基础的ORM框架改造可以运行在国产服务器上.对于 ...

  2. 将 Net 项目升级 Core项目经验:(二)修复迁移后Net Standard项目中的错误

    修复迁移后Net Standard项目中的错误 接上一章,项目编译结果如下: 解决依赖dll引用 在Net Framework项目的引用如下: 各引用和作用: log4net(1.10.0.0) 用于 ...

  3. ASP.NET Core 实战:将 .NET Core 2.0 项目升级到 .NET Core 2.1

    一.前言  最近一两个星期,加班,然后回去后弄自己的博客,把自己的电脑从 Windows 10 改到 Ubuntu 18.10 又弄回 Windows 10,原本计划的学习 Vue 中生命周期的相关知 ...

  4. 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(三)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  5. Webpack + Vue 多页面项目升级 Webpack 4 以及打包优化

    0. 前言 早在 2016 年我就发布过一篇关于在多页面下使用 Webpack + Vue 的配置的文章,当时也是我在做自己一个个人项目时遇到的配置问题,想到别人也可能遇到跟我同样的问题,就把配置的思 ...

  6. 前端项目升级到React-router5中遇到的问题解决方案以及思路

    我胡汉三有日子没回来写写文章了,最近一直再忙着将老项目升级,所以没时间来搞文章,今天突然感觉开了挂一样,爱因斯坦附体,把之前的bug都搞定了,在这里特意把升级中遇到的问题,记录下来,算是把这个坑填上. ...

  7. 将arcEngine9.3和dev9.2.4开发的项目升级成arcObject10.2和dev15.1.3过程中遇到的问题和解决

    好久没碰.net了,arcgis更是感觉都忘干净了,今天将arcEngine9.3和dev9.2.4开发的一个项目升级成arcObject10.2和dev15.1.3过程中遇到了一系问题,留个笔记,留 ...

  8. [.net] 关于Exception的几点思考和在项目中的使用(三)

    本文链接: https://www.cnblogs.com/hubaijia/p/about-exceptions-3.html 系列文章: 关于Exception的几点思考和在项目中的使用(一) 关 ...

  9. C# 利用.NET 升级助手将.NET Framework项目升级为.NET 6

    ​概述 .NET6 正式版本已经发布有一阵子了,今天我就体验一下如何将.NET Framework的项目升级为.NET 6. 升级条件: Windows 操作系统 .NET 6 SDK Visual ...

随机推荐

  1. redis 相关知识

    1. 什么是Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库.Redis全称为:Remote Dictionary Ser ...

  2. 涉及模式之 装饰器模式详解(与IO不解的情缘)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. LZ到目前已经写了九个设计模 ...

  3. linux,windows,ubuntu下git安装与使用

    ubuntu下git安装与使用:首先应该检查本地是否已经安装了git ,如果没有安装的话,在命令模式下输入 sudo apt-get install git 进行安装 输入git命令查看安装状态及常用 ...

  4. [福大软工] W班 软工实践原型设计—成绩公布

    作业地址 https://edu.cnblogs.com/campus/fzu/FZUSoftwareEngineering1715W/homework/909 作业要求 详见作业地址 存在问题 1. ...

  5. 实验四 Android程序设计 实验报告

    实验四 Android程序设计 实验报告 目录 代码托管地址 Android程序设计-1 Android程序设计-2 Android程序设计-3 Android程序设计-4 Android程序设计-5 ...

  6. 201621123050 《Java程序设计》第2周学习总结

    1.本周学习总结 java的数据类型 基本数据类型:介绍了java特有的boolean 引用数据类型 String:不变性:需要频繁修改时使用StringBuilder 包装类:自动拆.装箱 数组 一 ...

  7. 冲刺No.3

    Alpha冲刺第三天 站立式会议 项目进展 今日团队对CSS与JS的基础知识进行了应用,并对网站的UI设计进行了讨论,对数据库设计进行了进一步的探讨,基本确立了各个表单的结构和内容.分割出项目基本模块 ...

  8. HTML5文件操作API

    HTML5文件操作API       一.文件操作API 在之前我们操作本地文件都是使用flash.silverlight或者第三方的activeX插件等技术,由于使用了这些技术后就很难进行跨平台.或 ...

  9. Environment.getExternalStorageDirectory()

    Environment.getExternalStorageDirectory()得到的是storage/emulated/0

  10. HDFS文件读写操作(基础基础超基础)

    环境 OS: Ubuntu 16.04 64-Bit JDK: 1.7.0_80 64-Bit Hadoop: 2.6.5 原理 <权威指南>有两张图,下次po上来好好聊一下 实测 读操作 ...