3. Get Started
以下内容演示在Windows10和CentOS 7.2下的命令行生成和发布demo
3.1 Win 10
.NET Core SDK = 使用.NET Core开发应用.NET Core Runtime 和 SDK+CLI 工具
3.1.2 简单的运行结果
打开cmd,依次输入mkdir .project
(创建目录),cd .\.project
(进入目录),dotnet new
(新建初始项目),dotnet restore
(还原依赖),dotnet run
(运行)即可运行第一个Hello World程序
3.2 CentOS 7.2(本地Hyper-V)
3.2.1 安装和运行
详情请见:.NET Core in CentOS,大致命令如下
sudo yum install libunwind libicu #安装libunwind,libicu包
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131 #下载dotnet-dev-centos-x64.1.0.0-preview2-003121.tar文件,有时会因为网络问题下载较慢,耐心等待即可,当然也可以手动下载后放到目录下。
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet #创建目录并解压已下载文件
sudo ln -s /opt/dotnet/dotnet /usr/local/bin #将目录链接到$PATH下,否则dotnet命令无法识别
mkdir hwapp
cd hwappdotnet new #创建默认.NET Core应用dotnet restore #还原依赖包dotnet run #运行,结果将显示Hello World!
第六行命令后可使用dotnet --info查看是否链接成功,显示如下
.NET Command Line Tools (1.0.0-preview2-003121)Product Information: Version: 1.0.0-preview2-003121
Commit SHA-1 hash: 1e9d529bc5Runtime Environment:
OS Name: centos
OS Version: 7
OS Platform: Linux RID: centos.7-x64
以上步骤在.NET Core官方网站都可以找到,可以看到应用在经过简单的dotnet new
, dotnet restore
, dotnet run
命令后就跑起来了,但是这其实是类似于开发环境中的调试运行,而且win上new的应用此时也不能直接跨平台到Linux下运行,所以我们又得提到dotnet publish
命令了
3.2.2 Self-contained applications 发布
(1) 修改project.json文件
我们现在win10下按照步骤new一个新的HW控制台应用self
,按照官方文档要求,我们需要用以下内容替换原来project.json文件(删除"type": "platform",并增加runtimes节点)
{ "version": "1.0.0-*", "buildOptions": { "debugType": "portable", "emitEntryPoint": true
}, "dependencies": {}, "frameworks": { "netcoreapp1.0": { "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.0"
}
}, "imports": "dnxcore50"
}
}, "runtimes":{ "win10-x64":{}, #win10平台 "centos.7-x64":{} #centos7.2平台
}
}
(2) 执行restore和publish操作
之后执行dotnet restore
指令,针对平台进行还原操作。该步操作耗时较久,虽然只是两个平台,第一次也花了较长时间。紧接着进行进行dotnet publish -r centos.7-x64 -c release
。
dotnet publish
指令详见dotnet-publish - Packs the application and all of its dependencies into a folder getting it ready for publishing
(3) 在Linux平台上运行
上述操作后,我们只需要将发布后的文件夹(bin/release/netcoreapp1.0/centos7-x64/publish,包含self.exe)上传到Linux root目录下project(新建)文件夹中, 在Shell中输入指令
修改可执行权限后,即可成功运行“Hello World”,这就是我们“Self-contained applications”方式的部署方法
4. 总结
4.1 尾声
至此,.NET Core的学习便告一段落了,以上内容简单介绍了.NET Core的组成和特性,同时也在Windows和Linux系统上通过两种不同的部署方式成功运行了示例。相比较之前的.NET Framework傻瓜式部署,.NET Core的新奇真是让我眼前一亮。接下来,我也会将.NET Core和ASP.NET Core的学习记录下来,欢迎指正。
4.2 相关学习资料
5. 参考资料