Skip to content

Inconsistencies adding Custom Addin reference #4894

Open
@Greedquest

Description

@Greedquest

Rubberduck version information
Version 2.4.1.4627
OS: Microsoft Windows NT 10.0.17763.0, x64
Host Product: Microsoft Office x86
Host Version: 16.0.10730.20304
Host Executable: EXCEL.EXE

Description
Various problems related to using addins (.xlam) with the new Reference Explorer

  1. Addins loaded through the browser can't be Applied (see screenshot)
    image
    Use the arrows to move the addin up and down enables the Apply button. Until the Apply button is enabled, pressing OK does nothing (no reference added, no re-parse)

  2. The next time I view references in the Reference Explorer, my password protected file has its name changed to the password! Nope, I'd just set the project description to be that!
    image
    Yes the password is 1, I added it to stop RubberDuck seeing the contents of the addin in older versions. Anyway this behaviour is slightly unnerving, but on the plus side, it does give a new method to crack project passwords that actually gives you the password in text!

  3. Pinning is not persistent
    image
    When I close and re-open Excel, the pinned Library reference (usually) remains listed, however my .xlam never does. It also doesn't seem to show up in the Recent tab.
    Also, some combination of pinning the .xlam and moving back and forth with the blue arrows gave this unhandled exception:

************** Exception Text **************
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
   at System.Collections.Generic.List`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.<OfTypeIterator>d__95`1.MoveNext()
   at Rubberduck.Navigation.CodeExplorer.CodeExplorerProjectViewModel.SynchronizeReferences() in C:\projects\rubberduck\Rubberduck.Core\Navigation\CodeExplorer\CodeExplorerProjectViewModel.cs:line 118
   at Rubberduck.Navigation.CodeExplorer.CodeExplorerProjectViewModel.AddNewChildren(List`1& updated) in C:\projects\rubberduck\Rubberduck.Core\Navigation\CodeExplorer\CodeExplorerProjectViewModel.cs:line 100
   at Rubberduck.Navigation.CodeExplorer.CodeExplorerItemViewModel.SynchronizeChildren(List`1& updated) in C:\projects\rubberduck\Rubberduck.Core\Navigation\CodeExplorer\CodeExplorerItemViewModel.cs:line 74
   at Rubberduck.Navigation.CodeExplorer.CodeExplorerProjectViewModel.Synchronize(List`1& updated) in C:\projects\rubberduck\Rubberduck.Core\Navigation\CodeExplorer\CodeExplorerProjectViewModel.cs:line 87
   at Rubberduck.Navigation.CodeExplorer.CodeExplorerViewModel.<>c__DisplayClass49_0.<Synchronize>b__0() in C:\projects\rubberduck\Rubberduck.Core\Navigation\CodeExplorer\CodeExplorerViewModel.cs:line 273
   at Rubberduck.Parsing.UIContext.UiDispatcher.<>c__DisplayClass2_0.<InvokeAsync>b__0(Object x) in C:\projects\rubberduck\Rubberduck.Parsing\UIContext\UiDispatcher.cs:line 26

But I'm afraid logging was off and I haven't been able to reproduce.

Additional Context

FWIW, this is the addin I've been using

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions