多语言网站怎么做,centos建WordPress,网站品牌推广,聊城网站建设品牌上一篇#xff1a;银河麒麟服务器v10 sp1 部署.Net6.0 http https_csdn_aspnet的博客-CSDN博客
.NET 6之前#xff0c;在Linux服务器上安装 libgdiplus 即可解决#xff0c;libgdiplus是System.Drawing.Common原生端跨平台实现的主要提供者#xff0c;是开源mono项目。地址…上一篇银河麒麟服务器v10 sp1 部署.Net6.0 http https_csdn_aspnet的博客-CSDN博客
.NET 6之前在Linux服务器上安装 libgdiplus 即可解决libgdiplus是System.Drawing.Common原生端跨平台实现的主要提供者是开源mono项目。地址GitHub - mono/libgdiplus: C-based implementation of the GDI API
因此解决方法当然是安装相关的依赖
1、CentOS
通过一键命令
sudo curl https://raw.githubusercontent.com/stulzq/awesome-dotnetcore-image/master/install/centos7.sh|sh
或者
yum update
yum install libgdiplus-devel -y
ln -s /usr/lib64/libgdiplus.so /usr/lib/gdiplus.dll
ln -s /usr/lib64/libgdiplus.so /usr/lib64/gdiplus.dll
2、银河麒麟V10 或 Ubuntu
通过一键命令
sudo curl https://raw.githubusercontent.com/stulzq/awesome-dotnetcore-image/master/install/ubuntu.sh|sh
或者
apt-get update
apt-get install libgdiplus -y
ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll
3、Docker
Dockerfile 加入 RUN 命令以官方 asp.net core runtime 镜像以 asp.net core 2.2 作为示例
FROM microsoft/dotnet:2.2.0-aspnetcore-runtime
WORKDIR /app
COPY . .
RUN apt-get update -y apt-get install -y libgdiplus apt-get clean ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll
EXPOSE 80
ENTRYPOINT [dotnet, 你的入口程序集]
需要注意的是apt-get update 这一步是必不可少的不然会报找不到 libgdiplus。而且因为是官方镜像用的是Debain10构建的docker镜像在编译运行构建时会非常慢。
由于本人项目已从NetCore3.1升级到Net6.0参考连接NetCore3.1项目升级到Net6.0_.net 3.0 .net6 升级_csdn_aspnet的博客-CSDN博客
且项目中使用的System.Drawing.Common已替换为其它解决方法如果你没有其它方案请参考.NET6 System.Drawing.Common 通用解决办法_csdn_aspnet的博客-CSDN博客
于是修改代码将错误信息在swagger页面调用接口测试中输出方便解决具体问题提示如下 Access to the path /xxx/xxx is denied. 或 access to the path xxx is denied
说明当前用户权限不够所以要使用chmod将wwwroot文件夹授权chmod 777 wwwroot
其中 777所有用户都具有读取写入权限再次使用swagger上传如下图