vs 部署在linux,在VSCode写.netCore 踩坑记五(linux部署)

写了几天的代码,终于到部署的时候了,那么该怎么部署到linux上呢?

部署系统:CentOS7

.net core 版本 :2.0

安装前,先运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库:

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

1、安装 dotnet-sdk

不管是开发,还是运行,都需要安装 dotnet-sdk

sudo yum update

如果是开发的需要安装

sudo yum install dotnet-sdk-2.0.0 //根据自己的版本需求

如果不需要开发,只需要运行可以只安装

sudo yum install dotnet-runtime-2.0.0 //根据自己的版本需求

2、把发布好的项目拷贝过来执行

dotnet xxx.dll

3、可能出现的问题

如出现错误1:

Error:

An assembly specified in the application dependencies manifest (WebApplication

1.deps.json) was not found:

package: ‘BouncyCastle.NetCore’, version: ‘1.8.3’

path: ‘lib/netstandard2.0/BouncyCastle.Crypto.dll’

是因为在发布时未能完全还原引用的nuget包造成

请使用dotnet publish 命令发布应用

如出现错误2:

Failed to load /opt/dotnet/shared/Microsoft.NETCore.App/1.1.0/libcoreclr.so, error: libunwind.so.8: cannot open shared object file: No such file or directory

Failed to bind to CoreCLR at '/opt/dotnet/shared/Microsoft.NETCore.App/1.1.0/libcoreclr.so'

则安装:

yum install libunwind

如出现错误3:

Failed to initialize CoreCLR, HRESULT: 0x80131500

则安装:

yum install icu

如出现错误4:

Error:

An assembly specified in the application dependencies manifest (xxx.deps.json) was not found:

package: 'Microsoft.AspNetCore.Antiforgery', version: '2.0.1'

path: 'lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll'

This assembly was expected to be in the local runtime store as the application was published using the following target manifest files:

aspnetcore-store-2.0.3.xml

出现了这个错误,原因是未安装dotnet-hosting-2.0.x(你软件对应的.net core 版本)

yum install dotnet-hosting-2.0.X

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值