把.net Core 项目迁移到VS2019 for MAC

把.net Core 项目迁移到VS2019 for MAC
VS2019 for MAC已经发布很长时间了,本以为项目移过去很麻烦,一直没有动作,最近呆家里快发霉了,决定研究研究,没想到一句代码都不需要动,直接完功,这下可以生产了。同学们可以放心整了。

本次平台的需求:

MAC OS : mac OS Catalina 10.15.3

VS 2019 : VS for Mac community 8.4.8

.net Core : Core 3.1

Sql Server : Docker Sql Server 2019 

原平台:

windows 10+vs2019 community+ core3.1 + sql server 2019

=========================

一、安装VS 2019
下地地址:https://visualstudio.microsoft.com/zh-hans/downloads/

这里不管你下载的是专业版,社区版,还是企业版,安装完成都是社区版,用你的ID登陆后,才会改变版本

安装很快完成,上手基本没有难度,和win版一样,宇宙最强IDE

测试新建一个项目运行,没有问题。可是之前的项目是sql server 的。于是开始使用Docker

Docker下载地址:https://www.docker.com

二、下载Docker Desktop for MAC 并 安装运行
配置国内镜像源:打开Docker 偏好设置,在Docker Engine添加地址就可以

(如果不配置那速度直接无法忍受,3k/s下载,我配置了一个阿里云的,还可以。)

阿里云容器镜像控制台:进入后,最下面有个镜像加速器,会给你一个加速地址。

三、使用Docker
使用Docker 时可以先了解一下常用的命令,这样可以更加快速

打开OS 控制台并在Docker 中打开Docker Hub

在搜索里查找Sql Server

进入页面可以看到微软官方的配置说明和一些版本说明

1.在控制台输入:
docker pull mcr.microsoft.com/mssql/server:2019-latest

开始下载镜像了,等待完成(好像之前配置的加速对mcr.microsoft.com没反应,我这里一直很慢。不知到多会了,反正晚上睡觉去了,第二天早上好了,看了下1.5G左右,下了很长时间。同样的,安装mysql只要几十秒就完成了)

2.查看镜像输入:docker images

3.运行sql server
控制台输入run:(注意一下:这里密码必须是强密码,不然会运行不起来)

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Admin123456' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
控制台输入ps查看运行状态:

docker ps

现在看到已经运行起来了。OK,开始get项目

四、迁移项目
1.打开项目或从git下载自己的项目
2.打开后会还原包,直到还原完成

3.打开项目的appsettings.json文件配置和Sql的链接文件:
1
2
3
4
5
6
7
8
9
10
11
12
{
  "ConnectionStrings": {
    "DefaultConnection": "Server=.;Database=aspnet-AquaWeb;User ID=SA;Password=Admin123456;MultipleActiveResultSets=true",
    "conn": "Server=.;Database=aspnet-AquaWeb-conn;User ID=SA;Password=Admin123456;MultipleActiveResultSets=true"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}
 

4.生成运行一下
前方高能,注意,是一句代码都没有改。运行一切正常,提示迁移数据库后,点一下就直接进入了。

用户管理用的是identity基础上做了升级,完全正常。

登陆到后台后把系统认成了windows19,硬盘容量是用WIM,所以认不到正常,webAPI正常,SignalR正常(因为用户统计是SignalR做的)

至此完成迁移。写这个记录一下二天里爬过的坑,以防大家入坑。

原文地址https://www.cnblogs.com/wangbin5542/p/12436135.html

上一篇:开源软件脱险!Linux硬核回应美实体清单:已开源软件属于全人类,不受制于EAR


下一篇:智能语音交互:阿里的研究和实践