asp.net web core 部署问题汇总
记录所有部署时遇到的问题。
转载自:.NET Core 3.0 构建和部署(测试过可以使用)
A 单文件可执行文件(文件体积较大,合并所有依赖)
asp.net core 项目文件(*.csproj)添加以下代码
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<PublishSingleFile>true</PublishSingleFile>
B 程序集链接(比A项文件体积小,只合并项目中使用的依赖)[有风险]
但是启用这个特性的时候一定要注意,如果项目使用到了反射或相关动态功能(例如 ASP.NET Core 和 WPF),那么通常会在剪裁时损坏。
发生此损坏是因为链接器不知道此动态行为,并且不能确定反射需要哪些框架类型。 可配置 IL 链接器工具以发现这种情况。
最重要的是,剪裁后务必对应用进行测试。
asp.net core 项目文件(*.csproj)添加以下代码
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<PublishSingleFile>true</PublishSingleFile>
<PublishTrimmed>true</PublishTrimmed>
C ReadyToRun 镜像 【改进.net core启动时间】[推荐]
asp.net core 项目文件(*.csproj)添加以下代码
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<PublishSingleFile>true</PublishSingleFile>
<!--<PublishTrimmed>true</PublishTrimmed>-->
<PublishReadyToRun>true</PublishReadyToRun>
.NET Core RunTime 下载(匹配开发.NET Core的版本)
选择 Run apps - Runtime ----->ASP.NET Core/.NET Core: Runtime & Hosting Bundle
选择端口 5001-65535(5000以下容易被windows占用)
1 发布选项设置
部署模式:框架依赖(推荐)【手工安装.net core runtime】
独立【不安装.net core runtime,适用于服务器有多个版本.Net Core,发布包已包含所有依赖的类库】
目标运行时:可移植(推荐)
2 部署到IIS时HTTP Error 500.30 – ANCM In-Process Start Failure,但是直接调试时没问题?Net Core 3.0 [2019/10/27]
原因:配置文件里appsettings.json缺少符号或代码错误
解决:的确是appsettings.json格式有问题【在网上找了JSON格式化工具】
既然是JSON格式有问题, vs竟然也编译通过!!!
3 IIS 单个网站启动不了,默认网站正常。
原因: 端口被占用
解决:修改端口
4 HTTP Error 503. The service is unavailable.
原因:应用程序池“Test”将被自动禁用,出现严重错误。
解决方法:
下载安装 Visual C++ Redistributable for Visual Studio 2015 组件即可,重启后解决问题。
转载自 :https://blog.csdn.net/RazerFan100/article/details/88578433
5 修改部署端口5000【.NET Core 3.0】
解决:appsettings.json 文件
添加 "urls":"http://*:10010;http://*:10011"
6 发布时不包含appsettings.*.json
注:appsettings.json还是需要的,否则全部是默认配置。
解决: asp.net core 项目文件(*.csproj)添加以下代码
<ItemGroup>
<Content Remove="appsettings.Development.json"></Content>
<None Include="appsettings.Development.json" />
</ItemGroup>
7 发布时不生成web.config文件
说明:appsettings.json 完全可以替代web.config
解决: asp.net core 项目文件(*.csproj)添加以下代码
<IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>
asp.net web core 部署问题汇总的更多相关文章
- asp.net web core 开发问题汇总(1)
1 ASP.NET Core 设置默认静态起始页 转载地址:ASP.NET Core 设置默认起始页(如default.html) 注:1 默认情况下ASP.NET Core应用程序时不支持静态 ...
- Asp.net web api部署在某些服务器上老是404
asp.net web api部署在Windows服务器上后,按照WebAPI定义的路由访问,老是出现404,但定义一个静态文件从站点访问,却又OK. 这时,便可以确定是WebAPI路由出了问题,经调 ...
- 使用 Visual Studio 将 ASP.NET Web 应用部署到 Azure
原文地址:https://www.azure.cn/zh-cn/documentation/articles/web-sites-dotnet-get-started 配置新的 Web 项目 下一步是 ...
- [Asp.Net] web api 部署注意事项
在将web api项目部署到IIS上的时候 要将应用程序池设置成.net framework 4.0版本
- IIS安装和ASP.NET Web应用程序开发期间部署到IIS自定义主机域名并附加进程调试
一.IIS安装,此处以Windows10操作系统为例 首先依次进入控制面板=>程序=>程序与功能=>启用或关闭Windows功能 将Internet开头的三个选项全部打钩后点击确定安 ...
- 水果项目第3集-asp.net web api开发入门
app后台开发,可以用asp.net webservice技术. 也有一种重量级一点的叫WCF,也可以用来做app后台开发. 现在可以用asp.net web api来开发app后台. Asp.net ...
- 如何在 Azure 中创建 ASP.NET Web 应用
Azure Web 应用提供高度可缩放.自修补的 Web 托管服务. 本快速入门演示如何将第一个 ASP.NET Web 应用部署到 Azure Web 应用中. 完成后,便拥有了一个资源组,该资源组 ...
- ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路
一.前言 最近一段时间自己主要的学习计划还是按照毕业后设定的计划,自己一步步的搭建一个前后端分离的 ASP.NET Core 项目,目前也还在继续学习 Vue 中,虽然中间断了很长时间,好歹还是坚持 ...
- ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成
ASP.NET Boilerplate 学习 1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: ...
随机推荐
- JavaScript——event事件详解
1.事件对象 Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 什么时候会产生Event 对象呢? 例如: 当用户单击某个元素的时候,我们给这个元 ...
- tomcat+memcached+nginx部署文档(附完整部署包直接运行即可)
1 前言 1.1 目的 为了正确的部署“ngix+memcached”特编写此部署手册,使安装人员可以通过部署手册知道如何部署系统,也为需要安装该系统的安装人员正确.快速的部署本系统提供帮助. 1.2 ...
- win10上使用linux命令
(1)可以用windows自带的powershell,但是 ll,vim等命令不能使用 (2)Windows更新==>针对开发人员==>开启开发人员模式,然后在控制面板==>程序与功 ...
- AndroidStudio报错:Could not download gradle.jar:No cacahed version available for offline mode
场景 在讲Android Studio 的.gradle目录从默认C盘修改为 别的目录后,新建app提示: Could not download gradle.jar:No cacahed versi ...
- 查看deepin操作系统版本命令
cat /proc/version cat /etc/debian_version cat /etc/os-release lsb_release -a uname -a uname -r sc ...
- 通过sql的stuff 把一列几行的记录拼接在一行一个字段
---通过sql的stuff 把一列几行的记录拼接在一行一个字段 select FID,a.FCustomerID as 工地ID , 应验收节点 = (stuff((select ',' + isn ...
- 《自拍教程18》adb_Android设备debug连接工具
adb命令介绍 做Android App测试,Android手机系统测试, 还有很多Android终端产品(手表,车载,智能电视,智能手表等) 都必须用adb命令,通过USB接口,与Android设备 ...
- 当页面提交时,执行相关JS函数检查输入是否合法
当页面提交时,执行相关JS函数检查输入是否合法 关键代码 <form action="tj.php" method="post" onSubmit=&qu ...
- jQuery---链式编程
链式编程 设置性操作:可以链式编程 获取性操作,不能链式,因为获取性操作,数值,字符串,返回值是不是一个jq对象. $(function () { //设置性操作:可以链式编程 //获取性操作,不 ...
- docker常见操作总结
一.原理 1.Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,它能直接访问物理设备,会给每一台虚拟机分配内存.CPU.网络.磁盘等资 ...