.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