您现在的位置是:网站首页> .NET Core

.NET Core基础问题收集

摘要

.NET Core基础问题收集

***运行ASP.NET Core项目可以发布后直接命令行:dotnet dll文件名.dll***


ASP.NET Core 程序发布到Linux(Centos7)爬坑实战

.NET Core服务端学习笔记

MAUI学习资料收集

.NET Core开源库收集

MAUI界面布局及UI组件总结

.NET Core 基础知识

MAUI与Blazor学习经验总结

NET Core客户端学习笔记

如何手动给apk签名

C#异常步函数await async


ASP.NET Core 程序发布到Linux(Centos7)爬坑实战

点击查看原文

首先,我们找到官网教程,安装.NET Core 环境。地址:https://www.microsoft.com/net/core#linuxcentos

  正如教程中所说,安装之前先删除以前的版本。我的删除方法就是手动删相应的文件夹。然后按照教程一步一步来就OK了。当然不排除你在实战过程中会遇到各种各样的麻烦,多搜,网上还是有方案的。

sudo yum install libunwind libicu

curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=843449

sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet

sudo ln -s /opt/dotnet/dotnet /usr/local/bin

  上述过程如果顺利走完的话,就是没啥问题了,环境就可以了。现在我们随便新建一个ASP.NET Core程序。也不用编写代码,打开相应的程序目录,我的如下:


  1.png


  这里呢,虽然发布方法是一样的,但是我用的是git将代码克隆到服务器,然后进行发布的。

  首先,定位到相应目录:

  cd /root/project/LayIM.NETCoreClient/LayIM.NETCoreClient ---定位到web项目下


  然后restore

  dotnet restore


  然后publish

  dotnet publish


  发布成功之后,会生成bin/Debug/netcoreapp1.0/publish 文件夹,然后定位到该文件夹,执行:

  dotnet LayIM.NETCoreClient.dll --改成你的web项目dll


  执行完成之后如下:

1.png

  


  虽然,localhost可以访问了,但是在外网访问还是不可以的,我这里的原因是80,5000端口没有开放。开放即可。centos7中开放端口方式如下:

  firewall-cmd --zone=public --add-port=80/tcp --permanent

      firewall-cmd --zone=public --add-port=5000/tcp --permanent

  然后重启firewall


  最后,发现还是不能访问。(我也不知道为啥),所以我也没思考直接安装了ngnix。 

  sudo yum install nginx

  sudo service nginx start


  改一下配置文件,etc/nginx/nginx.conf

 server {

    listen 80;

    location / {

        proxy_pass http://localhost:5000;

        proxy_http_version 1.1;

        proxy_set_header Upgrade $http_upgrade;

        proxy_set_header Connection keep-alive;

        proxy_set_header Host $host;

        proxy_cache_bypass $http_upgrade;

    }

}


  然后重启

  nginx -s reload

  见证奇迹的时候到啦。 


总结

  成功是成功了,不过还是手动发布的



如何手动给apk签名

手动给APK签名是一个重要的步骤,可以确保应用的完整性和来源。以下是手动给APK签名的步骤:

1.准备工作:

确保已安装Java Development Kit (JDK)。

将JDK的bin目录添加到系统PATH中。


2.生成密钥库(如果还没有): 使用keytool命令生成一个新的密钥库:

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

按提示输入密码和其他信息。


3.找到需要签名的APK文件。


4.使用jarsigner工具签名:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name

其中:

my-release-key.keystore 是你的密钥库文件

my_application.apk 是你要签名的APK文件

alias_name 是你在创建密钥库时使用的别名


5.验证签名:

jarsigner -verify -verbose -certs my_application.apk


6.优化APK(可选但推荐): 使用zipalign工具优化APK:

zipalign -v 4 my_application.apk my_application-aligned.apk

注意:zipalign工具通常在Android SDK的build-tools目录中。


重要提示:

保管好你的密钥库文件和密码,丢失它们将导致无法更新应用。

对于发布到Google Play的应用,应该使用相同的密钥签名所有更新版本。

不同的Android版本可能需要不同的签名算法,较新的Android版本可能需要使用更强的算法。

使用这种方法,你可以手动控制APK的签名过程。但是,对于大多数开发场景,使用Android Studio或其他集成开发环境提供的自动化签名过程可能更方便和安全。













Top