目录
Demo程序下载(开箱即用):https://download.csdn.net/download/rotion135/89048937
1.安装.NET 8.0 环境
下载微软dotnet安装脚本:sudo wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
运行此脚本之前,请确保授予此脚本作为可执行文件运行的权限:
sudo chmod +x ./dotnet-install.sh
接下来是安装命令:
默认最新安装:sudo ./dotnet-install.sh --version latest
安装运行时(非SDK):sudo ./dotnet-install.sh --version latest --runtime aspnetcore
制定版本安装:sudo ./dotnet-install.sh --channel 8.0
我使用的是制定版本安装,红框内是安装的目录,后面设置环境变量需要.
重要环节:设置系统环境变量
1.对所有用户生效要使环境变量对所有用户有效,可以修改profile文件:sudo vim /etc/profile
2.当前用户 : sudo vim $HOME/profile
$HOME-- 一般就是路径 /home/用户名/
不同的Shell,对应不同的配置文件,自行对应
- Bash Shell: ~/.bash_profile 或 ~/.bashrc
- Korn Shell:~/.kshrc 或 .profile
- Z Shell:~/.zshrc 或 .zprofile
在文件中末尾添加两行:
此变量设置为 .NET 安装到的文件夹,如 $HOME/.dotnet:
export DOTNET_ROOT=$HOME/.dotnet
PATH
此变量应同时包含 DOTNET_ROOT 文件夹和 DOTNET_ROOT/tools 文件夹:
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
最后保存,重启/注销 即可生效。
测试安装是否正确,命令行输入:dotnet 命令试试,运行程序也是使用 : dotnet 程序名
2.发布Avalonia程序
发布配置:
得到配置包,并上传到Ubuntu系统:
上传使用工具即可,如NxShell、Xftp等等
3.默认字体问题解决
Linux默认字体非中文,如果没有处理默认字体的问题,则会出现以下报错:
Default font family can't be null or empty
如何解决?
只需要增加默认字体的设置即可
项目添加字体文件,并设置为资源:
增加两个类文件:
FontSettings
FontBuilderExtensions
public class FontSettings
{
public string DefaultFontFamily = "fonts:MyDesignFontFamilies#Alibaba PuHuiTi 2.0";
public Uri Key { get; set; } = new Uri("fonts:MyDesignFontFamilies", UriKind.Absolute);
public Uri Source { get; set; } = new Uri("avares://LS.AvaloniaClient.Desktop/Assets/Fonts/AliBaba", UriKind.Absolute);
}
public static class FontBuilderExtensions
{
public static AppBuilder UseFontAlibaba([DisallowNull] this AppBuilder builder, Action<FontSettings>? configDelegate = default)
{
var setting = new FontSettings();
configDelegate?.Invoke(setting);
return builder.With(new FontManagerOptions
{
DefaultFamilyName = setting.DefaultFontFamily,
FontFallbacks = new[]
{
new FontFallback
{
FontFamily = new FontFamily(setting.DefaultFontFamily)
}
}
}).ConfigureFonts(manager => manager.AddFontCollection(new EmbeddedFontCollection(setting.Key, setting.Source)));
}
}
然后在Program.cs中调用:
标签:Ubuntu20.04,sudo,setting,dotnet,new,安装,public,运行,Avalonia From: https://blog.csdn.net/rotion135/article/details/137132432