尽管ASP.NET最新的官方文档记录了如何Deploy to IIS,但是实际操作起来依旧磕磕绊绊。官方文档地址:https://docs.asp.net/en/latest/publishing/iis.html

官方文档其实还详细地介绍了使用Visual Studio来做Deploy,但可惜,一样语焉不详:https://docs.asp.net/en/latest/publishing/iis-with-msdeploy.html

谨将deploy过程遇到的问题以及步骤一一摘录如下,以为备考:

  1. 使用环境:
    服务器版本:Windows 2012 R2
    IIS版本是8.5。
    Visual Studio版本 2015 Update 2
    ASP.NET Core 1.0 R2。
  2. [问题] IIS Management中右键菜单中的Deploy项消失。
    原因是:没有安装Web Deploy。
    解决方案:安装Web Deploy 3.6。
  3. 在IIS Management创建一个Website,确保basic setting把.Net CLR Version选择为No Managed Codes。
    原因:ASP.NET Core 1.0是self host的程序。之所以还需要deploy to IIS,只是复用IIS的进程管理罢了。就是利用IIS的进程管理,然后在IIS和ASP.NET Core 的Host进程之间进行了Proxy的转换,这个过程不需要CLR,所以需要选择No Managed Code。
  4. 有了Web Deploy,可以Config Web Deploy Publishing了。
    原因:这一步主要用来生成.publishsettings文件,用以在Visual Studio中Import。
  5. 然后使用Visual Studio来Publish Project了,选择Import,并选择上一步生成的Publishsetting文件。然后问题来了,始终报错unauthorized的错误,即便user都已经在IIS中安装并设置了。
    原因:不明。
    解决方案:卸载Web Deploy 3.6,安装Web Deploy 3.5。我也不知道为啥,跟随Stacksoverflow的先知们的脚步,成功了。也表问我,如果第二步直接安装Web Deploy 3.5会如何,我也试过,不知道。
  6. 权限过了,Visual Studio自动生成的PS1文件也运行成功,但是网站死活打不开。使用localhost:XXXX(XXXX是binding的端口号),但通过局域网却无法访问。
    原因:没有设置port;
    解决方案:Control Panel > Windows Firewall,添加额外的Inbound rule,指定对应的port。

是为之记。

Alva Chien
2016.5.25

ASP.NET Core 1.0: Deploy to IIS的更多相关文章

  1. asp.net core 2.0发布到IIS报错解决方案

    大体来说,是环境的问题. 第一个错误,如图: 1. 查了网上说是文件夹权限的问题,依次设置了Everyone权限和IIS_IUSER权限,能勾选的都勾选了,然而并没有什么用,看来不是这个问题导致的. ...

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

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

  3. ASP.NET CORE 2.0 发布到IIS,IIS如何设置环境变量来区分生产环境和测试环境

    0.前言 因为给前端的测试环境是windows,所以要设置windows上的环境变量,如果上Linux就没有这篇文章了,所以大家不要在意为什么core不放在linux上. 1.网上的解决方案 a 方式 ...

  4. Asp.net Core 1.0.1升级到Asp.net Core 1.1.0 Preview版本发布到Windows Server2008 R2 IIS中的各种坑

    Asp.net Core 1.0.1升级到Asp.net Core 1.1.0后,程序无法运行了 解决方案:在project.json中加入runtime节点 "runtimes" ...

  5. 【原生态跨平台:ASP.NET Core 1.0(非Mono)在 Ubuntu 14.04 服务器上一对一的配置实现-篇幅1】

    鸡冻人心的2016,微软高产年. build 2016后 各种干货层出不穷. 1 Win10 集成了bash  ,实现了纳德拉的成诺,Microsoft Love Linux!!! 2 跨平台  ,收 ...

  6. ASP.NET Core 1.0: 指定Static File中的文件作为default page

    指定一个网站的default page是很容易的事情.譬如IIS Management中,可以通过default page来指定,而默认的index.html, index.htm之类,则早已经被设置 ...

  7. ASP.NET Core 1.0 开发记录

    官方资料: https://github.com/dotnet/core https://docs.microsoft.com/en-us/aspnet/core https://docs.micro ...

  8. ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  9. ASP.NET Core 1.0 入门——了解一个空项目

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

随机推荐

  1. Fiddler的安装

    相关下载软件(链接:https://pan.baidu.com/s/1HFdFNph6FGHOFtZq09ldpg 提取码:3u3l ) fiddler是基于.net环境的,所以需要先安装.net 安 ...

  2. 安装VMware Tools显示灰色正确解决办法

    首先问题如下: 解决办法如下:1.关闭虚拟机: 2.在虚拟机设置分别设置CD/DVD.CD/DVD2和软盘为自动检测三个步骤: 3.再重启虚拟机,灰色字即点亮. 大功告成,如果解决了你的问题,点个赞鼓 ...

  3. PMP(第六版)中的各种矩阵表格

  4. 初识mpvue

    听说mpvue可以实现H5和小程序的同时开发  对使用过vue的选手几乎是0难度 忍不住搓搓小手手 看了文  唔~ 似乎不是很难的样子 然后实际上手操作了一下 老规矩:新建项目 npm install ...

  5. Spring Boot项目如何同时支持HTTP和HTTPS协议

    如今,企业级应用程序的常见场景是同时支持HTTP和HTTPS两种协议,这篇文章考虑如何让Spring Boot应用程序同时支持HTTP和HTTPS两种协议. 准备 为了使用HTTPS连接器,需要生成一 ...

  6. WPF中的文本度量

    关于WPF中的文本度量,需要了解以下几个问题: WPF中支持一些常用的度量单位:px(device independent pixels).in(inches).cm(centimeters).pt( ...

  7. 使用JRebel插件实现SpringBoot应用代码热加载

    前言 在实际的开发过程中,我们经常修改代码之后,手动的重启项目,查看修改效果.那么有没有一种方式能够快速的.自动的帮我们将修改代码自动更新,避免手动重启,从而提高开发效率呢?是有的,在我之前的文章里面 ...

  8. HTTP 结构详解

    转至 :https://blog.csdn.net/u010256388/article/details/68491509?utm_source=copy   引用 学习Web开发不好好学习HTTP报 ...

  9. OptimalSolution(7)--大数据和空间限制

    一.布隆过滤器 问题:不安全网页的黑名单包含100亿个黑名单网页,每个网页的URL最多占用64B.现在想要实现一种网页过滤系统,可以根据网页的URL判断该网页是否在黑名单上,如何设计该系统. 要求:允 ...

  10. Pandas | 17 缺失数据处理

    数据丢失(缺失)在现实生活中总是一个问题. 机器学习和数据挖掘等领域由于数据缺失导致的数据质量差,在模型预测的准确性上面临着严重的问题. 在这些领域,缺失值处理是使模型更加准确和有效的重点. 使用重构 ...