Skip to content

1.5.0

Latest
Compare
Choose a tag to compare
@mikoskinen mikoskinen released this 21 Sep 09:38
· 8 commits to master since this release

New features:

Added PreferPlugin option to UseHostApplicationAssemblies

UseHostApplicationAssemblies is used to determine what happens if the host application and the plugin reference the same DLL but a different version. Common example is that the plugin and host reference different versions of Newtonsoft.Json.

Previously UseHostApplicationAssemblies supported three options:

    /// <summary>
    /// Never use user host application's assemblies
    /// </summary>
    Never,
    
    /// <summary>
    /// Only use the listed hosted application assemblies
    /// </summary>
    Selected,
    
    /// <summary>
    /// Always try to use host application's assemblies
    /// </summary>
    Always,

Now a fourth one has been added:

    /// <summary>
    /// Prefer plugin's referenced assemblies, fallback to host application's assemblies
    /// </summary>
    PreferPlugin

The idea is that if a plugin can't locate the referenced DLL, it fallbacks to the host.

This sounds like a big new feature but actually functionality wise nothing except logging changes compared to the UseHostApplicationAssembliesEnum.Never. The Never-option already returned Null from Plugin's AssemblyLoadContext if the referenced DLL wasn't found, meaning loading reverted to host's assemblies. But previously it wrote a warning log. Now there is no warning message.