近期应企业研发需求,做了一个.net6的Linux-arm研发;
1、.net6跨平台,必须在发行版ubuntu22.04+版本以上才可以使用,否则需要用到mono技术;
(内核与发行版对应关系)
2、安装.net6环境,不能直接 sudu apt-get install dotnet6,此方法安装的版本会导致使用时候异常,正确的方法是:
3、链接工具可以选择 xshell7 或者mobaxtem。都很好用。
4、由于项目用到了sqlite3 嵌入式数据库,当时在Windows+Vm的ubuntu上测试都没问题,ORM用的是Freesql。但是项目一旦放到linux-arm下就会报错。
本质原因是system.Data.SQlite 在linux-arm下驱动不支持。因此必须替换成以下包组才行(需删除system.Data.SQlite )。
此时的sqlite3必须是加密模式(创建时候带上账号密码即可),sqlite3的链接字符串带上 password内容;
5、以上内容处理好后,VS2022的发布参数配置成该内容。
6、移植发布内容至开发板文件夹下,输入指令 dotnet XX.dll 启动服务,开始调试。
7、linux下的路径斜杠与Windows下的路径斜杠不同,因此请用以下代码替换斜杠,该代码会自动适配系统产出斜杠。
var b = Path.DirectorySeparatorChar; // 符号
标签:SQlite,system,斜杠,net6,Data,arm From: https://www.cnblogs.com/xmshs/p/17647641.html