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

(0)

相关推荐