Asp.Net Core 2.1发布后,正式支持System.Drawing.Common绘图了,可以用来做一些图片验证码之类的功能.但是把网站部署到docker容器里运行会遇到很多问题,也是非常闹心的,本文记录这些问题,希望帮到有需要的人. 创建网站 前提条件:安装最新版VS2017和Net Core SDK 2.1. 首先新建网站,选择Asp.Net Core 2.1 Web应用程序(模型视图控制器),不勾选docker,我习惯自行编写Dockerfile. 指定网站访问端口5000. pu…
.Net Core控制台项目,添加了 System.Drawing.Common 引用 #locate libdl /usr/lib64/libdl-2.17.so /usr/lib64/libdl.so.2 #cd /usr/lib64 #ln -s libdl-2.17.so libdl.so yum install libgdiplus-devel…
一开始报这个错误:Unable to load shared library 'libdl' 找到libdl安装位置是/usr/lib64: #locate libdl /usr/lib64/libdl-2.17.so /usr/lib64/libdl.so.2 创建连接: #cd /usr/lib64 #ln -s libdl-2.17.so libdl.so 现在又报这个错误:Unable to load DLL 'libgdiplus' yum install libgdiplus-dev…
  我这是个新装的服务器,没有安装任何软件. 一.发布流程 1.安装AspNetCoreModule托管模块,同时会自动安装..net core runtime DotNetCore.2.0.8-WindowsHosting.exe https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-2.0 2.重启电脑,或者使用如下命令重启IIS net stop was /y net s…
最近在写一个汉字取点阵的程序,最开始是在win环境下运行的,没发现什么异常,然后今天把程序放在centos 下后发现英文正常,中文完全变成两位的字了,最开始是字体的原因 在把宋体等安装到centos 后发现中文出来了 但完全变了另外的字,然后使用第三方的ZKWeb.System.Drawing 运行程序,发现正常,但切换回System.Drawing.Common 就会完全不认识 或者完全变了字 比如 :我是中文画出来后变成了 这完全不是这个了,阅读System.Drawing.Common的源…
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liunx服务器:笔者用的是[搬瓦工]的VPS服务器(CDN加速,支持支付宝,多机房选择)--低配版[2.5$每月,29.99$每年],需要的同学点此了解详情 一个Linux终端管理工具:笔者推荐Xshell,点击下载Xshell 准备好Ubuntu服务器器 [Ubuntu 17.04 x64] 和终端管理…
曾经: 写了一篇: ASP.Net Core on Linux (CentOS7) 共享第三方依赖库部署 当第二次想做相同的事,却遇上了Bug,于是有了第二篇: ASP.NET Core 共享第三方依赖库部署的Bug(*.deps.json on 2.2.0 or 4.6.0 版本) 然后: 就报告到Github上去了,来来回回和人家交涉了几天: 截几个图,给大伙学习一下英文: 我以强悍的中英文双版提交了问题: Steps to reproduce I try to put the Micros…
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liunx服务器:笔者用的是[搬瓦工]的VPS服务器(CDN加速,支持支付宝,多机房选择)--低配版[2.5$每月,29.99$每年],需要的同学点此了解详情 再推荐一个VPS服务器 Vultr.com (和 搬瓦工 差不多,也支持支付宝,但它支持月付,每月仅 2.5$ ) 一个Linux终端管理工具:笔者…
在dockerfile 中添加 FROM microsoft/dotnet:2.1-aspnetcore-runtime RUN apt-get update RUN apt-get install -y --no-install-recommends libgdiplus libc6-dev 为什么会找不到 libdl (libdl.so.2) 呢?是因为 System.Drawing.Common 是在 /usr/lib/x86_64-linux-gnu/ 这个路径中找的,而容器中 libd…
前言 在项目迁移到 .net core 上面后,我们可以使用 System.Drawing.Common 组件来操作 Image,Bitmap 类型,实现生成验证码.二维码,图片操作等功能.System.Drawing.Common 组件它是依赖于 GDI+ 的,然后在 Linux 上并没有 GDI+,面向谷歌编程之后发现,Mono 团队使用 C语言 实现了GDI+ 接口,提供对非Windows系统的 GDI+ 接口访问能力,这个应该就是libgdiplus.所以想让代码在 linux 上稳定运…
error_log PM> Install-Package QRCoder -Version 1.3.3 Install-Package : "QRCoder"已拥有为"System.Drawing.Common"定义的依赖项. 所在位置 行:1 字符: 1 + Install-Package QRCoder -Version 1.3.3 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : Not…
一.需求背景 人生苦短,我用.NET Core!阿笨对Docker是这样评价的:Docker在手,环境我有!Docker出手,集群我有!前面的Doc基础课程我们学习了如何使用Docker来部署搭建单机容器应用.当一台服务器的处理能力.存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求.实践中会发现,生产环境中使用单个 Docker 节点是远远不够的,搭建 Docker 集群势在必行.然而,面对 Kubernetes, Mesos等众…
对于一个 .NET Core开发人员,你可能没有使用过Docker,但是你不可能没有听说过Docker.Docker是Github上最受欢迎的开源项目之一,它号称要成为所有云应用的基石,并把互联网升级到下一代.Docker是dotCloud公司开源的一款产品,从其诞生那一刻算起,在短短两三年时间里就成为了开源社区最火爆的项目.对于完全拥抱开源的.NET Core来说,它自然应该对Docker提供完美的支持.对于接下来的内容,我们假设你已经对Docker有了基本的了解,并且在你的机器上(Windo…
ASP.NET Core 使用 Redis 实现分布式缓存:Docker.IDistributedCache.StackExchangeRedis 前提:一台 Linux 服务器.已安装 Docker. 一,Docker 中运行 Redis 拉取 Redis 镜像 docker pull redis 查询镜像列表 docker imgaes 运行 Redis的几种方法 ①运行并且设置 Redis 端口 docker run -p 6379:6379 -d redis:latest redis-s…
title=部署到IIS报错:HTTP错误500.19,错误代码0x800700d.   用vs直接运行网站没问题,部署到IIS就报错,由此可知应该是IIS中不支持网站相关配置. 查找发现在web.config中<system.webServer>里有重写的rewrite,而IIS10.0中并没有这个组件,当然出现这个问题有多种,这只是其中一种. 自IIS7以后,微软的IIS更改并不大,架构一致,几乎所有IIS7能用的组件都能够在IIS7.IIS8.IIS10上安装. 禁掉rewrite相关的…
最近遇到一个奇葩的问题,在vs2013下cshtml视图文件报错,出现当前上下文中不存在名称“model”,ViewBag,Url等等),在视图中也没有智能提示了,用@model声明视图的model类型也不可以,直接复制过去还会把model类给自动变成小写!!!.这个问题纠结了我一晚上. 网上出现的资料目前无非有以下几种方法(试了一下,都不管用): 1.检查项目根目录的web.config和Views文件下的web.config的mvc和razor版本信息是否一致. 2.重新新建一个mvc项目把…
我们在上一篇文章已经解决了把下载好的cas server源码部署到tomcat缺少子项目编辑文件或者jar包导致找不到class报错的问题 单点登录(四)-----遇到问题-----cas server 源码部署tomcat运行报错ClassNotFoundException: org.jasig.cas.CasEnvironmentCo 但是运行时还是报错了 BeanCreationException:Error creating bean with name 严重: Exception se…
情况 cas单点登录 cas server 源码部署tomcat运行报错 把cas server的代码下载下来后使用gradle插件或者maven插件以及转化成eclipse·后导入发现部署到tomcat中会报错ClassNotFoundException. 我的是CasEnvironmentContextListener ,查了下资料 发现也有人遇到 Java.lang.ClassNotFoundException:org.jasig.cas.web.init.SafeContextLoade…
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.37/version: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect.…
Win7下nginx默认80端口被System占用,造成nginx启动报错的解决方案   在win7 32位旗舰版下,启动1.0.8版本nginx,显示如下错误:  [plain] 2012/04/02 13:55:59 [emerg] 7864#2376: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)…
ASP.NET Core 发布的具体操作 下面使用C# 编写的ASP.NET Core Web项目示例说明发布的全过程. 1.创建项目 选择“文件” > “新建” > “项目”. 在“添加新项目”对话框中,在“已安装” “Visaul C#”  “Web” 项目类型窗格中选择“ASP.NET Core Web 应用程序”,在“名称”文本框中输入项目名称如“MmPS”,点击 确定(如下图1),然后在中心窗格中选择“Web应用程序(模型视图控制器)”模板, 然后选择“确定”按钮(如下图2). 图1…
.Net Core 部署到 CentOS7 64 位系统中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务器一开机就启动服务器 上发布的ASP.NET Core Web网站) 2.安装apache 在安装apache之前,要先做一件事就是,把当前登录用户权限设置为root相同的权限,否则 在执行sudo命令时会报 “不在 sudoers 文件中.此事将被报告”. 当前登录用户权限设置为root相同的…
.Net Core 部署到 IIS系统中的步骤 一.IIS 配置 启用 Web 服务器 (IIS) 角色并建立角色服务. 1.Windows Ddesktop 桌面操作系统(win7及更高版本) 导航到“控制面板” > “程序” > “程序和功能”> “启用或关闭 Windows 功能”. 打开“Internet Information Services”组和“Web 管理工具”. 选中“IIS 管理控制台”框, 选中“万维网服务”框. 接受“万维网服务”的默认功能,或自定义 IIS 功…
.Net Core 部署到 SUSE 16 Linux Enterprise Server 12 SP2 64 位中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务器一开机就启动服务器 上发布的ASP.NET Core Web网站) 2.安装apache 安装apache,在命令行终端中输入一下命令: sudo zypper in apache (注意这个与ubuntun中的添加不一样, buntu…
KestrelServer最大的优势体现在它的跨平台的能力,如果ASP.NET CORE应用只需要部署在Windows环境下,IIS也是不错的选择.ASP.NET CORE应用针对IIS具有两种部署模式,它们都依赖于一个IIS针对ASP.NET CORE Core的扩展模块.本文提供的示例演示已经同步到<ASP.NET Core 6框架揭秘-实例演示版>) 一.ASP.NET CORE Core Module 二. In-Process部署模式 三.Out-of-Process部署模式 四.&…
前言 俗话说三天不学习,赶不上刘少奇.Asp.net Core更新这么长时间一直观望,周末帝都小雨,宅在家看了下Core Web App,顺便搭建了个HelloWorld环境来尝尝鲜,第一次看到.Net Web运行在Linux上还是有点小激动(只可惜微软走这一步路走的太晚,要不然屌丝们也不会每每遇见Java VS .Net就想辩论个你死我活). 开发环境和部署环境 Windows 10.VS2015 Update3.安装.Net Core SDK.DotNetCore.1.0.1-VS2015T…
与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等).而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,它是其…
.Net Core 部署到Ubuntu 16.04 中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务器一开机就启动服务器 上发布的ASP.NET Core Web网站) 2.安装apache 安装apache,在命令行终端中输入一下命令: sudo apt-get install apache2 (注:查看apache 版本 sudo apachectl -v) 重启apache服务 sudo /…
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 一.前言 在之前的文章中写过k8s+Jenkins+GitLab-自动化部署asp.net core项目 的topic,这次讲解一下gitlab-ci的CI/CD,说实话,自动化部署是在是非常的舒服,而且gitlab-ci很适合中小项目的部署,大项目推荐使用k8s. 阅读目录: 1.gitlab-ci及gitlab-runner说明 2.部署环境介绍 3.安装gitlab和gitlab-runner 4.asp.net cor…
本文简要说一下ASP.NET Core 在Docker中部署以及docker-compose的使用  (ASP.NET Core 系列目录). 系统环境为CentOS 8 . 打个广告,求职中.. 一.概述 简单说一下Docker的几个概念: 记得上学的时候流行一种安装操作系统的方式,叫GHOST,大概是这样的: 进入PE系统打开GHOST软件,点击“local”,然后选择“Partition”,最后选择“From Image”,选择一个.gho后缀文件,就开始系统安装了. 安装好系统之后,根据…