.NET CORE和asp.net 发布时不太一样,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等)。而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块,请求进入到IIS之后便立即由它转发,并迅速重定向到ASP.NET Core项目中,这时候我们无需设置应用程序池来托管我们的代码,它只负责转发请求而已.所以发布时最重要的还是看我们的AspNetCoreModule是否存在

进入这个模块就可以看到你是否安装了托管捆绑包AspNetCoreModule,没有的话可以点击这里进行下载,

如果还是没有找到或者不知道怎样下载.在我的百度网盘中下载安装就行了,密码:nrt2

安装好了之后就是这个样子

接下来和asp.net 发布时一样,新建一个网站就行了,为了方便演示,名称这里用DotNetCoreDemo,路径用一个方便寻找的路径

接着就是重点了,应用程序池配置稍微不太一样,.NET CLR版本选择无托管代码,托管管道模式选择集成

好了,准备工作完成了,接下来就是文件的发布了,发布文件有两种方式,可以通过命令发布,也可以通过VS进行发布

通过CMD找到你的文件所在的路径,这里就简单通过命令创建一个.net core2.0 的MVC的程序DotNetCoreDemo

创建命令: dotnet new mvc

  

接着通过命令dotnet publish进行发布( 在项目的目录路径),如果用这个命令他会默认发布在bin文件的Debug中

这个不是我们想要的,我们必须发布到指定路径,刚才我们IIS发布选择的物理路径路径是在  E:\发布\DotNetCoreDemo  这里所以,我们发布的时候必须指定路劲

命令: dotnet publish -o 路径

这里就是 dotnet publish -o E:\发布\DotNetCoreDemo

好了现在就发布好了

通过VS进行发布:

  这个就和以前的ASP.NET 发布差不多了,我现在用的是VS2017,发布的时候直接选择文件夹就可以了,路径就选择IIS配置的物理路径

  

终于完成了,来看一下最后的成果

PS:

AspNetCoreModule一定和NET CORE 版本相对应,我这里用的..NET CORE2.0 ,所以捆绑程序包(.NET Core Windows Server Hosting)也用的2.0,如果版本不对应则会报错502.5的错误

.NET core2.0 发布至IIS中的更多相关文章

  1. asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

    asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler” http:// ...

  2. MVC 发布到IIS中的配置方法

    MVC 发布到IIS中的配置方法  http://msdn.microsoft.com/zh-cn/library/gg703322(v=vs.98).aspx

  3. 【转】asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

    原文:http://blog.csdn.net/mazhaojuan/article/details/7660657 开发web项目时需要安装IIS,在安装好IIS的Windows7本上发布asp.n ...

  4. WCF服务发布到IIS中去 在WCF调试

    第一个WCF程序 1. 新建立空白解决方案,并在解决方案中新建项目,项目类型为:WCF服务应用程序.建立完成后如下图所示: 2.删除系统生成的两个文件IService1.cs与Service1.svc ...

  5. asp.net core 2.0发布到IIS流程及报错解决方案

      我这是个新装的服务器,没有安装任何软件. 一.发布流程 1.安装AspNetCoreModule托管模块,同时会自动安装..net core runtime DotNetCore.2.0.8-Wi ...

  6. .NET CORE2.0发布后没有 VIEWS视图页面文件

    以前做的CORE1.0的项目,发布的时候有views文件夹的,升级VS后用CORE2.0做项目,发布后没有views文件夹了,全编译到一个类似于Niunan.ZYYCY.Web.Precompiled ...

  7. WCF服务发布到IIS中去(VS2013+win7系统)

    第一个WCF程序 1. 新建立空白解决方案,并在解决方案中新建项目,项目类型为:WCF服务应用程序.建立完成后如下图所示: 2.删除系统生成的两个文件IService1.cs与Service1.svc ...

  8. [翻译]在asp.net core2.0 OpenID Connect Handler中丢失了声明(CLaims)?

    注:这是一篇翻译,来自这里.这篇文章讲述了在asp.net core2.0中使用openid connect handler的过程中解析不到你想要的claim时,你可以参考这篇文章. Missing ...

  9. 无法用Put方式请求发布在IIS中的WebAPI

    WebApi程序发布到IIS上后,无法使用Put的方式进行请求,错误信息如下:             原因和解决方案:   在IIS中默认不支持Put请求和Delete请求,因为IIS中注册的Web ...

随机推荐

  1. Netty2:粘包/拆包问题与使用LineBasedFrameDecoder的解决方案

    什么是粘包.拆包 粘包.拆包是Socket编程中最常遇见的一个问题,本文来研究一下Netty是如何解决粘包.拆包的,首先我们从什么是粘包.拆包开始说起: TCP是个"流"协议,所谓 ...

  2. ASP.NET Core Web API 版本控制

    在nuget.org上,您可以找到  Microsoft.AspNetCore.Mvc.Versioning包,它提供了有关如何对Web API端点进行版本化的更多选项.这个包的好处是允许你直接在控制 ...

  3. ProgressWheelDialogUtil【ProgressWheel Material样式进度条对话框】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 简单封装网络请求时的加载对话框以及上传.下载文件的进度加载对话框. 效果图 代码分析 ProgressWheel : 自定义view ...

  4. 用命令行撤销工作区的所有更改(修改文件&&新增文件)

    话说起来之前放弃工作区所有的更改,我一直都是直接用VSCode在workingTree的按钮,如下:   直到有一天我感觉这样不够酷,于是我试了git reset --hard. 然并卵,这个命令虽然 ...

  5. word中如何只修改英文的颜色

    替换->更多->使用通配符,查找[a-zA-Z],替换为^&,字体选红色

  6. 简述ADO.NET命名空间

    system.data命名空间的类型 system.data命名空间的核心成员 命名空间 作用 Constraint  表示某个DataColumn对象的约束 DataColumn 表示某个DataT ...

  7. VsCode+Node的前端环境搭建及其理解并创建一个前端目录

    既然选择了远方,便只顾风雨兼程 __ HANS许 系列:零基础搭建前后端分离项目 系列:零基础搭建前后端分离项目 VsCode VsCode的安装 VSCode中文设置 VsCode 扩展 VsCod ...

  8. iframe中的a标签电话链接不能正常打开

    背景 经测试,android手机中没有这个问题, iphone手机中的Safari浏览器会出现这个问题. 例如: <a href = "tel://1-408-555-5555&quo ...

  9. 【设计模式】原型模式 Pototype Pattern

    前面讲了创建一个对象实例的方法单例模式Singleton Pattern, 创造多个产品的工厂模式(简单工厂模式 Simple Factory Pattern, 工厂方法模式 FactoryMothe ...

  10. OrmLite-更符合面向对象的数据库操作方式

    1. jar包下载 下载地址:http://ormlite.com/releases/,一般用core和android包即可. 如果使用的是android studio,也可以直接通过module s ...