把.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的鏈接文件:

{    "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做的)

 

至此完成遷移。寫這個記錄一下二天里爬過的坑,以防大家入坑。