WPF .Net Core 3.1遇到Satellite Assemblies無法正常加載的處理
1.原因
加載的時候沒有調取
AssemblyLoadContext.Default
2.解決方案:
在程序啟動的時候,手動調用
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
//SetCultureInfo();
LoadSatelliteAssemblies();
base.OnStartup(e);
}
/// <summary>
/// 設置語言/本地化
/// </summary>
private void SetCultureInfo()
{
// Create a new object, representing the German culture.
CultureInfo culture = CultureInfo.CreateSpecificCulture("zh-CN");
// The following line provides localization for the application's user interface.
Thread.CurrentThread.CurrentUICulture = culture;
// The following line provides localization for data formats.
Thread.CurrentThread.CurrentCulture = culture;
// Set this culture as the default culture for all threads in this application.
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;
}
/// <summary>
/// 加載程序集上下文,手動調用來查找衛星程序集
/// </summary>
private void LoadSatelliteAssemblies()
{
//加載程序集上下文,必須
var loadContext = AssemblyLoadContext.Default;
//var arr = loadContext.Assemblies;
}
}
參考:
https://docs.microsoft.com/zh-cn/dotnet/core/dependency-loading/loading-resources


浙公網安備 33010602011771號