随着ASP.NET Core 1.0的发布,论坛里相关的文章也越来越多,正好有时间在测试环境上搭建 ASP.NET Core的发布环境,把过程中遇到的问题写给大家,以便有用到的朋友需要。
环境:
Windows Server 2012 R2 Standard with Update
MSDN 链接:ed2k://|file|cn_windows_server_2012_r2_with_update_x64_dvd_6052725.iso|5545705472|121EC13B53882E501C1438237E70810D|/
IIS 8.5
打开服务器管理器,点击添加角色和功能。
选择基于角色或基于功能的安装。
选择服务器。 选择webserver(iis)
选择角色。
打开web服务器(IIS)选项。选择常见http功能。
安全性选择中勾选常用的安全性选项。
应用程序开发选项中,请确保选择.net 3.5,.net 4.5,ISAPI扩展。
开始安装。
至此 IIS 8.5安装结束 打开 可以查看
ASP.NET Core环境:
这个不说那么细 坛子里都有 首先安装
新版本:SDKDotNetCore.1.0.0-SDK.Preview2-x64.exe
安装后在CMD 输入dotnet查看 是否安装成功
然后安装 NodeJS 还有NPM 还有 bower 和Gulp 这里会遇到一个问题 稍后
NodeJS 的版本:node-v4.4.7-x64 双击安装 一直下一步
安装完成后用NPM安装 bower和Gulp
命令: npm install bower -g
命令: npm install gulp -g
编译项目并发布:
进入控制台,切换到项目目录 运行
dotnet restore "D:\WorkSpace\trunk\src\XXXX.Web" 该命令还原依赖包
dotnet build "D:\WorkSpace\trunk\src\XXX.Web" 该命令编译项目
dotnet publish -o D:\Publish 该命令发布为 发布到D:\Publish 文件夹
此时 有些人朋友可能会发现 最后一个命令执行失败了,错误原因:No executable found matching command "bower" 没有安装bower
可是之前明明安装过 bower 这是怎么回事呢 不急,打开 控制台 输入 bower 检查一下
发现确实安装成功了,我在我自己电脑WIN10和WIN7上同样步骤 发现并有此问题
去检查环境变量 发现NPM在server上的位置并不是指向安装目录的 而是 C盘下用户文件夹APP DATA里面,然后dotnet core 是根据环境变量去找bower就没有找到
解决办法 将安装目录下 的bower 复制到环境变量目录下 即可
继续执行刚才的publish命令 成功。
IIS发布:
添加站点 什么的太简单 不多说了,应用程序池选择 无代码托管 集成:
然后运行,发现有报错了
错误信息也说的很不明白,只好上官网查看发布的相关说明 https://docs.asp.net/en/latest/publishing/iis.html
发现没有装Install the .NET Core Windows Server Hosting bundle
下载安装下来 再次打开网站正常运行了,至此,在Windows Server 2012 R2 Standard 部署ASP.NET Core程序就结束了。