ASP.NET Core 1.0: Deploy to IIS
尽管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过程遇到的问题以及步骤一一摘录如下,以为备考:
- 使用环境:
服务器版本:Windows 2012 R2
IIS版本是8.5。
Visual Studio版本 2015 Update 2
ASP.NET Core 1.0 R2。 - [问题] IIS Management中右键菜单中的Deploy项消失。
原因是:没有安装Web Deploy。
解决方案:安装Web Deploy 3.6。 - 在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。 - 有了Web Deploy,可以Config Web Deploy Publishing了。
原因:这一步主要用来生成.publishsettings文件,用以在Visual Studio中Import。 - 然后使用Visual Studio来Publish Project了,选择Import,并选择上一步生成的Publishsetting文件。然后问题来了,始终报错unauthorized的错误,即便user都已经在IIS中安装并设置了。
原因:不明。
解决方案:卸载Web Deploy 3.6,安装Web Deploy 3.5。我也不知道为啥,跟随Stacksoverflow的先知们的脚步,成功了。也表问我,如果第二步直接安装Web Deploy 3.5会如何,我也试过,不知道。 - 权限过了,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的更多相关文章
- asp.net core 2.0发布到IIS报错解决方案
大体来说,是环境的问题. 第一个错误,如图: 1. 查了网上说是文件夹权限的问题,依次设置了Everyone权限和IIS_IUSER权限,能勾选的都勾选了,然而并没有什么用,看来不是这个问题导致的. ...
- asp.net core 2.0发布到IIS流程及报错解决方案
我这是个新装的服务器,没有安装任何软件. 一.发布流程 1.安装AspNetCoreModule托管模块,同时会自动安装..net core runtime DotNetCore.2.0.8-Wi ...
- ASP.NET CORE 2.0 发布到IIS,IIS如何设置环境变量来区分生产环境和测试环境
0.前言 因为给前端的测试环境是windows,所以要设置windows上的环境变量,如果上Linux就没有这篇文章了,所以大家不要在意为什么core不放在linux上. 1.网上的解决方案 a 方式 ...
- 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" ...
- 【原生态跨平台:ASP.NET Core 1.0(非Mono)在 Ubuntu 14.04 服务器上一对一的配置实现-篇幅1】
鸡冻人心的2016,微软高产年. build 2016后 各种干货层出不穷. 1 Win10 集成了bash ,实现了纳德拉的成诺,Microsoft Love Linux!!! 2 跨平台 ,收 ...
- ASP.NET Core 1.0: 指定Static File中的文件作为default page
指定一个网站的default page是很容易的事情.譬如IIS Management中,可以通过default page来指定,而默认的index.html, index.htm之类,则早已经被设置 ...
- ASP.NET Core 1.0 开发记录
官方资料: https://github.com/dotnet/core https://docs.microsoft.com/en-us/aspnet/core https://docs.micro ...
- 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= ...
- ASP.NET Core 1.0 入门——了解一个空项目
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
随机推荐
- 微信小程序开发环境安装以及相关设置配置
微信小程序开发环境安装以及相关设置配置 一.安装 软件名称:wechat_devtools_1.02.1907232_x64 软件安装地址:https://developers.weixin.qq.c ...
- 权限维持-wmi事件
0x01 前言 WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具),提供了从命令行接口和批命令脚本执行系统管理的支持. 在2015年的b ...
- .htaccess文件上传利用
一般.htaccess可以用来留后门和针对黑名单绕过 创建一个txt写入 AddType application/x-httpd-php .png 打开另存为 保存类型为所有文件 上传.htacces ...
- jquery 往上滚动的时显示,上下滚动执行的js
$(document).on("mousewheel DOMMouseScroll", function (e) { var delta = (e.originalEvent.wh ...
- 04 python学习笔记-函数、函数参数和返回值(四)
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print(),我们也可以自己创建函数,这叫做用户自定 ...
- abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理六(二十四)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- selenium学习-拖拽页面元素
一.ActionChains包 模拟鼠标的操作要首先引入ActionChains的包 from selenium.webdriver.common.action_chains import Actio ...
- django-Views之使用视图渲染模板(五)
render(<request>,<template_name>,context=-None,content_type=None,status=None,using=None) ...
- vuex状态管理安装方法
1.可以启动vue ui 手动添加vuex. 或使用 cnpm install vuex 2.使用,import vuex from “vuex” vue.use(vuex) 3.安装插件, 首先键入 ...
- js响应式布局
<!DOCTYPE html> <html class="mobile"> <head> <meta charset="UTF- ...