.Net Core(一)環境搭建與基本使用
一、系統配置
a) Linux下如果想要打開類似任務管理器,可以使用top命令,在控制台會動態刷新CPU和內存占用、進程等信息。vmstat和free命令可以分別只顯示CPU和內存的使用情況。磁盤占用在Ubuntu下可以通過磁盤分析器查看。
另外如果要火狐支持html5視頻播放,要在設置中的Content項中勾選DRM。
在vi界面按ctrl+z會掛起vi回到命令行,這時可以輸入fg返回。
輸入ls -a可以查看被隱藏的文件。
在vi中,在命令模式下按yy可以復制整行,然后在原位置按p可以復制到下一行。
b) 配置ssh
所安裝的ssh包的名稱為openssh-server,執行sudo apt-get install openssh-server安裝后,可以使用netstat -tlp確認ssh是否啟動。可以單獨執行sudo /etc/init.d/ssh start來啟動或執行sudo /etc/init.d/ssh restart來重啟。ssh默認端口為22,也可在 etc/ssh/sshd_config修改Port。然后在windows下就可以使用Putty等工具連接linux了。
c) 安裝mysql
Mysql包的名稱為mysql-server,mysql-client沒有安裝還沒發現問題。登錄方式為 mysql -u用戶名 -p密碼,然后就進入mysql界面,這里可以輸入sql語句,使用quit可退出。遠程管理可以使用免費的navicat-lite,雖然目前lite版本不在維護了。要使用遠程連接,還需要一系列配置,默認只能本地,執行sudo vi /etc/mysql/mysql.conf.d/mysql.cnf用管理員權限打開mysql的配置文件,注釋bind-address #,執行restart重啟mysql后,登入mysql執行語句:
grant all privileges on *.* to root@"<IP>" identified by "<密碼>" with grant option,然后執行flush privileges;以刷新權限配置。
d) 安裝ftp
通過ftp可將程序包上載到linux服務器。可以選擇安裝vsftpd包,在客戶機可以使用filezilla。但默認只允許下載無法上傳。執行sudo vi /etc/vsftpd.conf以管理員權限打開配置文件,取消對“允許寫入”配置的注釋,重啟就可以上傳了。一般要上傳的文件要先打包壓縮,tar是簡單的打包,可以壓縮為zip格式,然后在linux上使用unzip解壓。
二、.Net Core
a) .net設計之初就是考慮像Java一樣跨平台的,大部分類可以移植到linux下,但后來的發展不盡如人意。Xamarin、unity3D就是使用.net開發的跨平台技術。此次.Net Core基於.net standard,保證了可以在不同平台通用。.net framework則有不少windows下特有的類。
b) .net framework中的類.net core中大部分還有,但有細微不同比如:
Core取消了DateTable和DateSet,只能使用DataReader了;
取消了AppDomain、WinForm、WPF;
取消了二進制序列化;
取消了System.Net.Mail,可以使用第三方包如MailKit;
取消了串口通訊;
SqlConnection降級成為普通的nuget包;
反射的使用發生了變化,大部分方法挪到了System.Reflections命名空間,作為Type類型的擴展方法;
不支持HttpWebRequest、WebClient了,必須用異步的HttpClient;
ILSpy、reflector目前無法反編譯core程序,可以使用JustCompiler
關於dotnet命令,使用dotnet new console\classlib\sln等可以創建對應的內容,各種操作方式可以查閱官方文檔。編譯好的dll可以直接用dotnet +dll名來運行。
c) 使用腳本創建項目
創建三層項目的腳本如下:
mkdir $1
cd $1
dotnet new mvc -o $1.web
dotnet new classlib -o $1.model
dotnet new classlib -o $1.dal
dotnet new classlib -o $1.bll
dotnet new sln
dotnet sln $1.sln add $1.web/$1.web.csproj
dotnet sln $1.sln add $1.model/$1.model.csproj
dotnet sln $1.sln add $1.dal/$1.dal.csproj
dotnet sln $1.sln add $1.bal/$1.bll.csproj
dotnet add $1.dal/$1.dal.csproj reference $1.model/$1.model.csproj
dotnet add $1.bll/$1.bll.csproj reference $1.model/$1.model.csproj
dotnet add $1.bll/$1.bll.csproj reference $1.dal/$1.dal.csproj
dotnet add $1.web/$1.web.csproj reference $1.bll/$1.bll.csproj
dotnet add $1.web/$1.web.csproj reference $1.model/$1.model.csproj
dotnet restore
腳本文件的后綴為.sh,輸入bash <路徑/文件名>.sh 項目名就可以批量執行了。
學習資料:如鵬網.net提高班http://www.rupeng.com/News/10/4603.shtml