zoukankan      html  css  js  c++  java
  • Centos 6.10下安装.Net Core

    .Net Core官方文档里说明支持最低版本为Centos 7系,所以按照官网的安装方式 sudo yum install dotnet-sdk-3.1 会提示失败。

    参考网络上的文章,亲测如下方式有效:

    1、查看系统版本, 升级系统基本lib库

    [root@test ~]# cat /etc/redhat-release
    CentOS release 6.10 (Final)
    [root@test ~]# yum update     //可以执行此步骤,减少后面lib库依赖的痛苦。

    2.下载linux版本的安装包,并解压到指定目录

    https://download.visualstudio.microsoft.com/download/pr/8c995929-4057-41cc-b183-e23f1edb5219/b3f41ad92681fc7e329d05b2f8819463/dotnet-sdk-3.1.403-rhel.6-x64.tar.gz 

    我选择的最新版,选择rhel版本

    [root@test ~]#cd /usr/local/src
    [root@test src]#mkdir -p /usr/local/dotnetcore
    [root@test src]#tar -zxf dotnet-sdk-3.1.403-rhel.6-x64.tar.gz  -C /usr/local/dotnetcore
    

    3、添加net core环境变量

    [root@test src]# vi /etc/profile
    
    增加以下几行
    
    #set dotnet core
    export DOTNET_ROOT=/usr/local/dotnetcore
    export PATH=$PATH:$DOTNET_ROOT
    
    #生效环境变量
    
    [root@test src]#source /etc/profile

     

    4、查看dotnet 版本

    [root@test src]# dotnet --version
    
    通常都会遇到 提示缺少ICU这个问题。
    FailFast:
    Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
    
       at System.Environment.FailFast(System.String)
     
       at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()
    
       at System.Globalization.GlobalizationMode..cctor()
    
       at System.Globalization.CultureData.CreateCultureWithInvariantData()
    
       at System.Globalization.CultureData.get_Invariant()
    
       at System.Globalization.CultureInfo..cctor()
    
       at System.StringComparer..cctor()
    
       at System.AppDomain.InitializeCompatibilityFlags()
    
       at System.AppDomain.Setup(System.Object)
    
    Aborted (core dumped)

    5.解决ICU报错问题

    要么选择安装icu,但我yum insall icu后也还是报这个错,目前无解。

    根据另一个网友的文章,采用 如下2和3问题可以解决,在dotnet的运行时环节里的netcore.runtimeconfig.json里按照下面的配置方法改掉,可以。
    以独立部署 (SCD)的方式发包,运行时报错
    错误信息:FailFast: Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
    解决方法有三
    1、安装icu库,运行命令:yum install icu
    2、项目配置文件
    .runtimeconfig.json,加入以下配置
    {"runtimeOptions": { "configProperties": { "System.Globalization.Invariant": true } } }
    3、项目csproj添加以下配置
    <ItemGroup>
    <RuntimeHostConfigurationOption Include="System.Globalization.Invariant" Value="true" />
    </ItemGroup>


    6.编译运行时报错

    虽然整个dotnet 环境已经没问题,但在dotnet new project后,编译运行时还是提示缺少ICU问题,估计是.net core代码里写死了
    通过google到一篇国外文章,在一个很不显眼的地方有大拿提示了这个方法,通过命令行或者直接和上面设置环境变量一样,导出这样一个参数,一切OK !

    export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1


    7.参考资料
    https://www.cnblogs.com/gaibianziji/p/10217001.html
    https://www.cnblogs.com/wuxubiao/p/9929569.html






  • 相关阅读:
    geoserver 地图性能和缓存
    geoserver PostGIS的安装和使用
    geoserver 数据图层输出格式
    Centos7Yum安装配置指定版本nginx
    Centos7Yum安装PHP7.2
    CentOS7 中把默认yum源更换成163源
    安装配置Elasticserch的方法
    redis的持久化(RDB&AOF的区别)
    LayerDate渲染多个class出现闪现问题的解决
    explain分析SQL语句详解
  • 原文地址:https://www.cnblogs.com/cehui0303/p/13912813.html
Copyright © 2011-2022 走看看