踩坑日记与 Windows 服务器部署 asp.net core 指南。html
操做系统:Windows Server 2008 R2 或更高版本 文件:web
后面这两个文件的下载地址:.NET download archives for Linux, macOS, and Windows服务器
Step1 使用 VS2017 创建 asp.net core web 应用程序。asp.net
Step2 发布。使用 “IIS,FTP” - “文件系统” 的发布方式,获取发布文件。网站
具体的操做,可参考这里:
使用 IIS 在 Windows 上托管 ASP.NET Core2.0 - Sundar - 博客园spa
Step3 IIS配置。在服务器上启用 IIS 服务,默认配置便可。操作系统
在服务器上分别安装.net
安装完成后,重启系统,或从命令提示符处依次执行 net stop was /y
和 net start w3svc
。 从新启动 IIS 将选取安装程序对系统 PATH 所做的更改。code
安装 asp.net core 运行环境必须在配置好 IIS 以后进行。htm
无特殊配置,须要注意的是,将应用程序池中对应的项修改成 无托管代码 。
以上全部操做均可以参考 使用 IIS 在 Windows 上托管 ASP.NET Core2.0 - Sundar - 博客园 这篇博文,写得很清晰。
缘由:安装 dotnet-hosting 在添加 IIS 以前,或者安装完成以后,没有进行重启。
解决方案:从新安装 dotnet-hosting ,选择修复选项。而后重启服务器。
缘由:asp.net 所需运行环境不够。
解决: 方案1: 安装 SDK 。 但这种方案没有在我这里生效,安装姿式不对? 方案2: 在 asp.net 项目的 csproj 文件中添加
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
而后从新发布,会发现发布文件里面多了不少依赖项,更新服务器端的文件,重启网站,应该就能够大功告成了。
简单的事情,必定有简单的解决方案,对于部署 asp.net core 这种应该很标准化的操做,若是遇到问题须要很复杂,看起来就很奇奇怪怪的方案,那极可能是方向错了。
以前就踩过坑,尝试采用安装重定向等等奇怪的方法。
参考资料:
原文连接:https://www.cnblogs.com/jasongrass/p/10645606.html
END