在离线环境中发布.NET Core至Windows Server 2008
0x00 写在开始
之前一篇博客中写了在离线环境中使用.NET Core,之后一边学习一边写了一些页面作为测试,现在打算发布一下试试。看了下官方给出的发布教程感觉挺详细的了(https://docs.asp.net/en/latest/publishing/iis.html),不过毕竟离线环境还是挺麻烦的,直觉告诉我发布过程中会遇到幺蛾子。果然就遇到问题了,不过解决起来都很简单。这里做个记录顺便分享下,希望对有类似需求的同学有所帮助。
0x01 遇到的问题和解决方法
看了官方发布教程,首先去https://www.microsoft.com/net/download下载服务端安装包,下载后复制到离线网络服务器上安装。结果遇到了问题1:
问题1:安装程序可以打开,但安装过程中提示未知错误,安装失败。(可惜离线网络也没法截图)
解决过程:看了下日志应该是安装某个组件过程中返回了错误而失败。我之前曾经过单独安装.NET Core SDK,也是失败,查看日志是缺少Microsoft Visual C++ 2015 Redistributable,装上就可以了。服务程序安装包也会安装.NET Core SDK,应该也是需要Microsoft Visual C++ 2015 Redistributable,于是从VS2015安装镜像里找出了64位安装包(下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=48145),结果安装时又遇到了问题2:
问题2:安装Microsoft Visual C++ 2015 Redistributable时提示安装包无法验证。
解决过程:这个问题在之前离线安装VS2015时就遇到过了,解决起来轻车熟路,把缺少的两个证书导入就OK了。详细可以看在离线环境中使用.NET Core。
导入证书后顺利解决了问题2,安装好Microsoft Visual C++ 2015 Redistributable后问题1也解决了,服务程序安装成功。一边感叹自己的聪明一边打开命令行测试了下dotnet,结果出现了问题3:
问题3:命令行执行dotnet命令后提示:
Failed to load the dll from [C:\Program Files\dotnet\host\fxr\1.0.1\hostfxr.dll], HRESULT: 0x80070057
解决过程:这时候只要一边心中默念遇到问题的肯定不会只有我自己,一边打开搜索引擎就可以了。顺便安利一下bing,特别是切换到英文bing,搜问题还是很好的。果然发现之前已经有人在github上提过这个issue了(https://github.com/dotnet/cli/issues/3907)。解决方式就是安装补丁KB2533623(下载地址:https://support.microsoft.com/en-us/kb/2533623)。关于系统依赖更详细的说明可以参照这篇文章:https://github.com/dotnet/core/blob/master/Documentation/prereqs.md。安装补丁重启后dotnet命令就正常了。
最后就是记得要运行iisreset,一定要记得(因为我忘了,折腾了半天才想起来)。
0x02 正确的顺序
以下顺序只在Windows Server 2008 R2 64上实际测试过:
1、导入证书。
2、安装Microsoft Visual C++ 2015 Redistributable。
3、安装KB2533623补丁。
4、安装DotNetCore.1.0.0-WindowsHosting.exe。
5、命令行运行iisreset重启IIS。
关于如何配置IIS和部署应用,官方教程说的都很详细了。值得一提的是等问题解决了后才发现官方教程最后居然有专门的Common errors:https://docs.asp.net/en/latest/publishing/iis.html#common-errors。看一下也挺有收获的。
0x03 写在最后
目前我们主要用.NET Core做一些测试,同时边测试边学习,提前踩坑,用到的时候能快速上手。并没有用来做新功能或试图代替原有功能。不过就目前来看效果还是不错的,开发过程体验也很好,真心看好.NET Core。
原文地址:http://www.cnblogs.com/durow/p/5765145.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
在离线环境中发布.NET Core至Windows Server 2008相关推荐
- 在离线环境中使用.NET Core
0x00 写在开始 很早开始就对.NET Core比较关注,一改微软之前给人的印象,变得轻量.开源.跨平台.最近打算试着在工作中使用.但工作是在与互联网完全隔离的网络中进行的,因此就开始了在离线环境中 ...
- 在 Windows Server 2008 中通过组策略向计算机或用户部署网络打印机
最先在 Windows Server 2003 R2 中发布的打印管理控制台 (PMC),在 Windows Server 2008 中得到了增强.Windows Server 2008 中的 PMC ...
- Windows Server 2008中配置IIS
Windows Server 2008中配置IIS 1.Windows Server 2008中配置IIS 1.1 打开服务器管理器,角色,添加角色,然后点击下一步 1.2 选择安装"Web ...
- Ambari在离线环境中安装Hadoop集群
2019独角兽企业重金招聘Python工程师标准>>> http://www.hackbase.com/article-973-1.html (WJW)Ambari在离线环境中安装H ...
- 在离线环境中安装Visual Stuido 2017
在离线环境中安装Visual Stuido 2017 0x00 写在前面的废话 因为工作上大多数都是在离线环境中进行的,进出离线环境很麻烦,所以之前很长一段时间都在使用VS2010.后来尝试换了VS2 ...
- linux环境中nagios(nagios core)安装?nagios安装?
linux环境中nagios(nagios core)安装?nagios安装? 需求描述: 最近准备给线上生产环境部署监控平台,对各个系统的资源使用情况,服务进行监控,采用nagios core版本进 ...
- Windows Server 2008 R2 Beta VHD镜像文件发布
微软刚刚发布了一个VHD格式的Windows Server 2008 R2 Beta镜像文件,它可以用于Hyper-V环境下作评估. 您需要事先安装Windows Se ...
- Windows Server 2008 R2中的Hyper-V
现在虚拟化技术已经成为数据中心的一个主要组成部分.虚拟化技术提供的操作效率帮助企业机构大幅简化操作流程和降低能耗. Windows Server 2008提供以下类型的虚拟化: ?Hyper-V提供的 ...
- Windows Server 2008终端服务详解系列5:用ISA 发布SH-TSG
Windows Server 2008终端服务详解系列5:用ISA 发布SH-TSG 前言: 本系列将全面的介绍Windows Server 2008终端服务,从概念到功能,从安装到配置都会以通俗易懂 ...
最新文章
- 2018年『web』开发者不得不知的技术趋势
- 【Netty】Netty 简介 ( 原生 NIO 弊端 | Netty 框架 | Netty 版本 | 线程模型 | 线程 阻塞 IO 模型 | Reactor 模式引入 )
- Android Studio安装genymotion模拟器
- 为什么选择.NETCore?
- [家里蹲大学数学杂志]第236期钟玉泉复变函数论前六章第二组习题参考解答
- Abp vnext Web应用程序开发教程 10 —— 书与作者的关系
- 更高效地提高redis client多线程操作的并发吞吐设计
- Python垃圾回收(gc)拖累了程序执行性能?
- 工具的使用 —— windows 实用工具
- 限制上传文件为jpg文件
- 实操教程:Android部署Nanodet模型完成实时高效的物体检测
- asp网络编程:Web程序中网页间数据传递方法小结
- 504.七进制数(力扣leetcode) 博主可答疑该问题
- android分享文字到朋友圈,微信,分享朋友圈,只能分享图,文字带不过来,这是什么原因?是BUG吗?...
- matlab gui 毕业论文,MATLAB GUI课件设计
- GO语言中文字符串编码转换
- 简体中文与繁体中文的互相转换
- 智能分析的所见即所得——基于Lambda架构的实时数据引擎
- 首域微交易分析师一对一服务
- 如何将git上项目在本地跑起来
热门文章
- UVA 1609 Foul Play 不公平竞赛 (构(luan)造(gao)+递归)
- Linux的FHS(文件系统结构标准)剖析
- 玩的时候好好玩,学的时候好好学。不做半吊子
- C# WPF MVVM开发框架Caliburn.Micro自定义引导程序④
- .NET 6新特性试用 | 无需配置开发人员异常页
- Blazor Server 和 WebAssembly 应用程序入门指南
- C# 爬虫:疫情实时信息图
- 没有Kubernets,学习Docker还有用吗?
- 欢迎来到 C# 9.0(Welcome to C# 9.0)
- 玩转控件:对Dev的GridControl控件扩展