桌面端打包优化
This commit is contained in:
@@ -3,6 +3,7 @@ using FluentValidation;
|
||||
using Mapster;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using NewLife;
|
||||
using System.Configuration;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
@@ -73,6 +74,46 @@ namespace YY.Admin
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 写入用户级 AppSettings(user.config)。若文件损坏(如缺少 configSections),删除后重试一次。
|
||||
/// </summary>
|
||||
private static void PersistSkinTypeUserSettingSafe()
|
||||
{
|
||||
for (var attempt = 0; attempt < 2; attempt++)
|
||||
{
|
||||
try
|
||||
{
|
||||
AppSettings.Default.SkinType = AppSettingsViewModel.GetSkinType().ToInt();
|
||||
AppSettings.Default.Save();
|
||||
return;
|
||||
}
|
||||
catch (ConfigurationErrorsException ex)
|
||||
{
|
||||
if (attempt == 0)
|
||||
{
|
||||
var path = ex.Filename;
|
||||
if (string.IsNullOrWhiteSpace(path) && ex.InnerException is ConfigurationErrorsException inner)
|
||||
path = inner.Filename;
|
||||
|
||||
try
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(path) && File.Exists(path))
|
||||
File.Delete(path);
|
||||
AppSettings.Default.Reload();
|
||||
}
|
||||
catch
|
||||
{
|
||||
// 删除/Reload 失败则向上抛出原异常
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override Window CreateShell()
|
||||
{
|
||||
return Container.Resolve<LoginWindow>();
|
||||
@@ -178,9 +219,8 @@ namespace YY.Admin
|
||||
_logger = Container.Resolve<ILoggerService>();
|
||||
// 初始化全局异常处理(通过解析触发构造函数注册)
|
||||
Container.Resolve<GlobalExceptionHandler>();
|
||||
// 保存默认主题
|
||||
AppSettings.Default.SkinType = AppSettingsViewModel.GetSkinType().ToInt();
|
||||
AppSettings.Default.Save();
|
||||
// 保存默认主题(用户级 user.config;损坏时自动删文件并重载)
|
||||
PersistSkinTypeUserSettingSafe();
|
||||
|
||||
_logger.Information("应用程序已启动");
|
||||
|
||||
|
||||
@@ -68,6 +68,16 @@ if errorlevel 1 (
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM <20>˵<EFBFBD><CBB5><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SQLite<74><65><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>³<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>һ<EFBFBD>ݣ<EFBFBD>dotnet publish Ĭ<>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if exist "Admin.NET.db" (
|
||||
copy /Y "Admin.NET.db" "publish\" >nul
|
||||
echo <20>Ѹ<EFBFBD><D1B8><EFBFBD> Admin.NET.db<64><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>һ<EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>
|
||||
)
|
||||
if exist "Slave.db" (
|
||||
copy /Y "Slave.db" "publish\" >nul
|
||||
echo <20>Ѹ<EFBFBD><D1B8><EFBFBD> Slave.db
|
||||
)
|
||||
|
||||
REM <20><><EFBFBD><EFBFBD> Updates Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD>ư汾<C6B0>ļ<EFBFBD>
|
||||
echo [3/4] <20><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>...
|
||||
if not exist "publish\Updates" mkdir "publish\Updates"
|
||||
|
||||
Reference in New Issue
Block a user