尽管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. C语言打印当前所在函数名、文件名、行号

    printf("[%s %s] %s: %s: %d\n", \ __DATE__, __TIME__, __FILE__, __func__, __LINE__); 内核驱动中: ...

  2. Circle Problem From 3Blue1Brown (分圆问题)

    Background\text{Background}Background Last night, lots of students from primary school came to our c ...

  3. CVE-2016-7124漏洞复现

    CVE-2016-7124漏洞复现 __wakeup()魔术方法绕过 实验环境 操作机:Windows 10 服务器:apache 2.4 数据库:mysql 5.0 PHP版本:5.5 漏洞影响版本 ...

  4. 一个有趣的C语言问题

    这个问题是知乎上的一个问题,看了以后觉得比较有意思.代码短到只有十多行,但是这么短的代码却输出了很奇怪的结果.很多人回答的时候都是站在理论的角度上说明代码的问题,但是实际的问题还是没有说明其中的问题. ...

  5. docker实验--redis集群搭建

    背景介绍: 我经常在做一些小项目的时候,采用了Redis来做缓存,但是都是基于单节点的,一旦redis挂了,整个项目就挂了.于是乎,想到了多节点集群的方式来使用,就开始折腾着怎么去搭建这个集群.在网上 ...

  6. 课堂练习 Word count

    1. 团队介绍 团队成员:席梦寒,胡琦 2. 项目计划 我们选第一.二个功能点进行编程. 具体计划: (1).首先爬取网站内容及网页长度: (2).对爬取的文件内容进行word count操作: 3. ...

  7. Catalan数的理解

    Catalan数的理解 f(0)=1 f(1)=1 f(2)=2 f(3)=5 f(4)=14 f(5)=42     f(2)=f(1)+f(1)   f(3)=f(2)+f(1)*f(1)*f(2 ...

  8. 误删除 mySQL 用户解决办法

    误删除用户解决办法 删除用户 删除用户 mysql> truncate mysql.user;Query OK, 0 rows affected (0.05 sec)​mysql> sel ...

  9. SpringBoot与MybatisPlus整合之SQL分析插件(六)

    pom.xml: <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifac ...

  10. Ubuntu16.04下升级Python到3.6

    转: 这里 有一篇帖子是说从源代码开始安装,这种方式原来尝试过,需要删除系统默认的软链命令,感觉比较粗暴,现在在想有没有更好的方式呢? 找到一个帖子:http://ubuntuhandbook.org ...