九环

导航

linux-arm 安装 dotnetcore

 

X86或者X64 安装.net core runtime  可以参照   https://www.cnblogs.com/nnhy/p/netcore_centos.html#4122354

而   linux-arm32    linux-arm64 则没有这么便捷。

嵌入式环境很多东西都有不同,差异化很严重 所以微软没有提供 yum  apt   dpkg 这类安装方式。而是直接给了文件。

 

通过分析 x86 安装后的文件可以看到  文件都放在了  /usr/share/dotnet/  文件夹下  (linux 没有注册表机制,所谓的安装也是放到可访问目录下。)

然后创建软连接  ln -s /usr/share/dotnet  /usr/bin/dotnet  

 

 

安装包下载地址是    https://dotnet.microsoft.com/download   需要手工下载。  

如果下载列表内没有  打开   Can't find the file you want? Find more in .NET Core 2.2 downloads.


效仿 x86 的安装方式写出安装脚本如下: install.sh

# 运行方式  ./install.sh dotnet-runtime-2.1.6-linux-arm64.tar.gz

if [ $# -eq 0 ]
then
        echo "请在脚本名称后添加安装包名称 dotnet-runtime-xxxx-linux-xxxx.tar.gz"
        echo "下载网址是:https://dotnet.microsoft.com/download?initial-os=linux"
        exit 0
fi

gzfile=$1

sudo mkdir -p /usr/share/dotnet
sudo rm /usr/share/dotnet/* -rf
sudo tar -xzvf $gzfile -C /usr/share/dotnet/
sudo ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet -f

 

 

测试 效果    dotnet --info 

 

最近有朋友来问我: 树莓派zero   为什么不能正常使用。

经过查证。 .Net Core  不支持 ARMv6  以及更早的 CPU 指令集版本。   https://devblogs.microsoft.com/dotnet/announcing-net-core-2-1/

也就是  ARM7   ARM9    ARM11  都不被支持。

 

有朋友碰到 libstdc++.so.6 版本不对问题。

Dotnetcore 要求GLIBCXX_3.4.18 及以上版本。 

查看 GLIBC 版本需要知道 libstdc++.so.6 的绝对路径。 

find  /lib/  -name "libstdc++*"  

查得本机的 libstdc++.so.6 在 /lib/x86_64-linux-gnu/libstdc++.so.6

strings /lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

显然,本机是可以使用的。

 

/Microsoft.NETCore.App/7.0.0/libhostpolicy.so,error:/usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version 'GLIBCXX_3.4.22' not found

.net 7 需要 GLIBCXX_3.4.22 及以上版本支持。

 

解决办法就是缺什么装什么 嘿嘿。

posted on 2018-11-30 17:31  九环  阅读(5361)  评论(8编辑  收藏  举报