.NET Core在安装(VS2015)与部署
.NET Core开发环境搭建
使用VS2015开发.NET Core项目,环境的搭建可以参考官网,大致安装步骤如下:
1、首先你得装个vs2015 并且保证已经升级至 update3及以上,下载链接:
ed2k://|file|cn_visual_studio_enterprise_2015_with_update_3_x86_x64_dvd_8923298.iso|7787208704|A1C1D2AFBC09D8778C92CF19DEC8F4F4|/
2、vs安装完成之后 先安装 .net core sdk,下载链接:
https://download.microsoft.com/download/A/3/8/A38489F3-9777-41DD-83F8-2CBDFAB2520C/packages/DotNetCore.1.0.0-SDK.Preview2-x64.exe
3、sdk安装完成之后 安装vs2015 tool,注意安装会卡很久,下载链接:
https://download.microsoft.com/download/2/F/8/2F864C4E-6980-4AFC-B64E-0AC04837FD6C/DotNetCore.1.0.0-VS2015Tools.Preview2.0.1.exe
VS2015开发的.NET Core程序部署和发布
部署方式
.NET Core可以跨平台运行,.NET Core程序部署分为2种方式,这里主要记录Portable applications的部署方式。
1、Portable applications(便携应用)
这个类似于现有的.NET Framework方式,需要目标主机安装有.NET Core的运行时,对比现在的情况就是需要机器安装.NET Framework。对于这种方式我想大家都很熟悉了,微软有放出不同平台(操作系统)上的.NET Core运行时。
2、Self-contained application(自宿主应用)
这种方式会将运行时与程序共同打包,也就意味着目标机器不需要装.NET Core运行时。
发布方式
.NET Core发布Web程序的方式也有2种,采用VS2015发布程序和使用(CLI)命令行发布。采用VS2015发布很简单,右键发布程序即可,采用CLI命令发布的方式就有点复杂,这里做简单讲解。
通过CMD命令进入程序目录的时候,运行dotnet publish ,如果结果提" No executable found matching command "bower" ”,这个时候就要手动安装npm命令,安装的方式如下:
1、需要安装Node.js,下载地址(https://nodejs.org/en/download/)。
2、手动执行npm安装指令。(必须现安装Node.js,然后Cmd执行下面命令,可以参考资料)
npm install -g bower
npm install -g gulp
3、再次CMD进入代码根目录,执行dotnet publish ,执行成功之后,会在“ bin/Debug/netcoreapp1.0/publish/ ”目录下有发布成功的Web项目;
4、再次进入发布后的文件根目录“ bin/Debug/netcoreapp1.0/publish/ ” ,执行dotnet **.dll(生成web的dll文件名称),即可看到执行成功,通过浏览器即可访问站点 http://localhost:5000(记得安装npm指令)
[root@VMBService WebSite]# dotnet ShopMangr.dll Hosting environment: Production Content root path: /root/netCode/codeweb/WebSite Now listening on: http://localhost:5000 Application started. Press Ctrl+C to shut down.
跨平台发布Linux
将vs2015发布后的程序部署到Linx系统中。这里主要记录将VS2015发布后的程序部署到CentOS7上。
1、使用工具:
远程和传输文件:Xshel、Xftp
代理转发:nginx
2、发布遇到问题与解决汇总:
1>、将发布后的文件,拷贝到CentOS上之后,运行dotnet ShopMangr.dll时候,提示 The specified framework 'Microsoft.NETCore.App', version '1.0.1' was not found 后查询是因为CentOS按照.NET Core时候,只是安装了V1.1的版本,并没有V1.0.1的版本,需要重新下载.NET Code 1.0.1版本放到服务器上即可,具体解决方式可参考hobinly的方案(http://www.cnblogs.com/hobinly/p/6169165.html)
2>、CentOS7中安装和配置了Nginx,仍然不能访问.NET Core项目的处理方式,可以查看CentOS7中,Nginx的转发搭建
参考博客
1、bower和gulp的安装(http://www.cnblogs.com/straw/p/5474517.html)
2、CentOS7中,提示.NET Core 1.0.1 Not Find解决方案(http://www.cnblogs.com/hobinly/p/6169165.html)
3、CentOS7中,Nginx的转发搭建(http://www.cnblogs.com/ants/p/5732337.html)
4、拥抱.NET Core,如何开发跨平台的应用并部署至Ubuntu运行(http://www.cnblogs.com/ants/p/5659123.html)