Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Uninstalled add-ins aren't properly removed #1192

@cameronwhite

Description

@cameronwhite

After an add-in is uninstalled, e.g. the Night Vision add-in, on the next launch the add-in is still registered even though some files are missing:

Pinta: Failed to initialize add-in
System.IO.FileNotFoundException: Could not load file or assembly 'NightVisionAddin, Version=1.3.1.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

File name: 'NightVisionAddin, Version=1.3.1.0, Culture=neutral, PublicKeyToken=null'
 ---> System.IO.FileNotFoundException: Could not load file or assembly '/Users/cameron/Library/Application Support/Pinta/addins/addins/NightVisionEffect.1.3.2/NightVisionAddin.dll'. The system cannot find the file specified.

File name: '/Users/cameron/Library/Application Support/Pinta/addins/addins/NightVisionEffect.1.3.2/NightVisionAddin.dll'
   at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath)
   at System.Reflection.Assembly.LoadFrom(String assemblyFile)
   at Mono.Addins.AddinEngine.CurrentDomainAssemblyResolve(Object sender, ResolveEventArgs args) in /Users/cameron/code/mono-addins/Mono.Addins/Mono.Addins/AddinEngine.cs:line 324
   at System.Runtime.Loader.AssemblyLoadContext.InvokeResolveEvent(ResolveEventHandler eventHandler, RuntimeAssembly assembly, String name)
   at System.Reflection.RuntimeAssembly.InternalLoad(AssemblyName assemblyName, StackCrawlMark& stackMark, AssemblyLoadContext assemblyLoadContext, RuntimeAssembly requestingAssembly, Boolean throwOnFileNotFound)
   at System.Reflection.TypeNameParser.ResolveAssembly(String assemblyName)
   at System.Reflection.TypeNameParser.GetType(String typeName, ReadOnlySpan`1 nestedTypeNames, String assemblyNameIfAny)
   at System.Reflection.TypeNameParser.Parse()
   at System.Reflection.TypeNameParser.GetType(String typeName, Func`2 assemblyResolver, Func`4 typeResolver, Assembly requestingAssembly, Boolean throwOnError, Boolean ignoreCase, Boolean extensibleParser)
   at System.Type.GetType(String typeName, Boolean throwOnError)
   at Mono.Addins.RuntimeAddin.GetType(String typeName, Boolean throwIfNotFound) in /Users/cameron/code/mono-addins/Mono.Addins/Mono.Addins/RuntimeAddin.cs:line 338
   at Mono.Addins.TypeExtensionNode.get_Type() in /Users/cameron/code/mono-addins/Mono.Addins/Mono.Addins/TypeExtensionNode.cs:line 104
   at Mono.Addins.TypeExtensionNode.CreateInstance() in /Users/cameron/code/mono-addins/Mono.Addins/Mono.Addins/TypeExtensionNode.cs:line 93
   at Mono.Addins.InstanceExtensionNode.GetInstance() in /Users/cameron/code/mono-addins/Mono.Addins/Mono.Addins/InstanceExtensionNode.cs:line 76
   at Mono.Addins.ExtensionNodeEventArgs.get_ExtensionObject() in /Users/cameron/code/mono-addins/Mono.Addins/Mono.Addins/ExtensionContext.cs:line 1331
   at Pinta.MainWindow.OnExtensionChanged(Object s, ExtensionNodeEventArgs args) in /Users/cameron/code/Pinta/Pinta/MainWindow.cs:line 273

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions