XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension.NetCore.WinUIHelper

【DLL】WinUI的各种工具类,帮助开发者快速构建一个模块化的WinUI项目

公开
关注 0 Fork 0 Star 0
UTF-8
using System.Reflection;
using XFEExtension.NetCore.AutoPath;

namespace XFEExtension.NetCore.WinUIHelper.Utilities.Helper;

/// <summary>
/// 应用程序路径
/// </summary>
public partial class AppPathHelper
{
    /// <summary>
    /// 应用程序名称
    /// </summary>
    public static string? ApplicationName { get; set; } = (Assembly.GetEntryAssembly() ?? Assembly.GetCallingAssembly()).GetName().Name;
    /// <summary>
    /// 应用程序同步路径
    /// </summary>
    [AutoPath]
    private static readonly string appSynData = @$"{Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)}\{ApplicationName}";
    /// <summary>
    /// 应用程序本地路径
    /// </summary>
    [AutoPath]
    private static readonly string appLocalData = @$"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\{ApplicationName}\CrossVersion";
    /// <summary>
    /// 应用程序本地当前版本路径
    /// </summary>
    [AutoPath]
    private static readonly string appLocalVersionData = @$"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\{ApplicationName}\Versions\{(Assembly.GetEntryAssembly() ?? Assembly.GetCallingAssembly()).GetName()?.Version?.ToString() ?? "UnknownVersion"}";
    /// <summary>
    /// 应用程序缓存路径
    /// </summary>
    [AutoPath]
    private static readonly string appCache = @$"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\Temp\{ApplicationName}";
    /// <summary>
    /// 应用程序本地配置文件路径
    /// </summary>
    [AutoPath]
    private static readonly string localProfile = @$"{AppLocalData}\Profiles";
    /// <summary>
    /// 应用程序本地当前版本配置文件路径
    /// </summary>
    [AutoPath]
    private static readonly string localVersionProfile = $@"{AppLocalVersionData}\Profiles";
    /// <summary>
    /// 应用程序同步配置文件路径
    /// </summary>
    [AutoPath]
    private static readonly string synProfile = $@"{AppSynData}\Profiles";
    /// <summary>
    /// 应用程序缓存路径
    /// </summary>
    [AutoPath]
    private static readonly string cacheProfile = $@"{AppCache}\Profiles";
    /// <summary>
    /// 应用程序下载缓存
    /// </summary>
    [AutoPath]
    private static readonly string downloadCache = @$"{AppCache}\Download";
}