Hi Rubberduck People,
Thanks for all the beautiful work on this project.
I have a small program I am building in VBA behind MSAccess 2013, and have an issue where the Test Explorer hangs.
My log file has this
2017-02-06 13:36:14.9777;INFO-2.0.11.2453;Rubberduck.App;Rubberduck version 2.0.11.2453 loading:
Operating System: Microsoft Windows NT 10.0.14393.0 x64
Host Product: Microsoft Office 2013 x64
Host Version: 15.0.4893.1000
Host Executable: MSACCESS.EXE;
The circling "hourglass" icon is on an infinite loop. Duration of each test is 0ms, so it seems not to have started stepping through any of the test modules. I only have two tests at this point in time, in two separate test modules, and the code in them is clean, and is passing when I step into them.
I can keep writing, compiling and saving code, but the Test Explorer is out of action. Have disabled source control but the issue is the same when saving just to the accdb. The accdb is split with a back end in a separate directory, but this is working fine in my forms and tables.
Have tried exiting the VBE and exiting the host Application, but the issue repeats as soon as I click "Run All Tests".
Have tried uninstalling Rubberduck and reinstalling.
Open to feedback and ideas, as I love using the Rubberduck, and am keen to help improve it. Thanks again for this amazing project.
David.
It's probably hung indeed. You can try editing a line somewhere (anywhere - just as long as there's something to tell the parser it needs to parse), inserting a blank line will do. Then hit the [Ready]/Reparse button: that should get the ducky back on it tracks.
Hello, thanks for the rapid response!
Adding the new line did make the parser re-parse, and all functions inside the Duck seem to be OK (e.g. the Navigation and Code Explorer windows are fine. I just executed a fix in the Code Inspection window that fixed 46 issues in my code, no problem.
But the Test Explorer window continues to hang in the background.
What should I try next?
Cheers, David.
hmm, good question. I'd say try to add a dummy test manually:
vb
'@TestMethod
Public Sub DummyTest()
Assert.IsTrue True, "If you can read this in the Test Explorer, either Hell has frozen, or we have a bug."
End Sub
Then request another reparse from the Test Explorer's own refresh command if you can - it should pick up the new test method and understand which state is should be in. I hope 馃槈
If that doesn't work, I'm afraid my next option would be to outright restart the host application, to reload RD fresh.
Would you happen to know how it happened? Can you reproduce the issue?
side note - "reload RD fresh" might give you the idea to unload & reload it from the IDE's "add-ins" menu.
鈿狅笍 Whatever happens, don't do that.
We have some teardown issues (it's possible the host application crashes during or after exiting), caused by what we've narrowed down to be the custom commandbars and toolwindows (or their WPF host), for the destruction of which we're kind of in a race with the VBE and its host process itself. When we lose, the host crashes. But there's probably more to it, because when the add-in is reloaded from the VBE's add-ins manager, the VBE instance is essentially bricked, and the only way out is to kill the host process: not cool.
Hey there,
Reloading RD afresh did not resolve the issue.
I was able to re-activate and un-hang the Test Explorer by exiting the VBE, then shutting down the Host. Interestingly, the host (MSAccess 2013) was still running in task manager even though I had tried to close it from inside the host. So I shut it down in task mananager in order to be able to start RD fresh.
I added the dummy test to one of my test modules and it showed up in the Test Explorer as in the below screen shot, but it hanged again when I re-ran the tests.
I have had the issue of the Host crashing when using this instance/version of RD, also. I have not played with the IDE's addin menu, as you have put great warnings in your documentation against doing that.
Is there a sure-fire way to completely uninstall all files and registry entries so that I can fully re-install RD and try and reproduce the issue, or resolve it that way?
Cheers, David.

Using Windows' Control Panel > Add/Remove Programs is a sure-fire way to ensure the uninstall/cleanup procedure we scripted in our installer, runs and undoes everything it did.
BTW thanks for the awesome feedback 馃憤
What would you like to work on? There's a pretty wide range of things to do, some harder than others. Inspections are on a feature-freeze until next release though.
Sharing a bit of trial and error on this one.
1.OK. Fully uninstalled and re-installed RD. Opened a blank Access DB. added the dummy test. Executed "Run all Tests" and the Test Explorer Hanged again. Shut everything down.
2.Opened a blank Word Document and added a dummy test. It ran beautifully and the Test Explorer did not hang. Shut the application down.
3.Did the same thing with a blank Excel document with the same good result. When I shut Excel down, the application crashed during close. Reran the test in a new instance of Excel and the test explorer was fine again.
4.Then I re-opened MSAccess and opened just a blank database and added the dummy test. This time when I ran it, the Test Explorer did not hang, and the test passed.
5.Then I closed that database and re-opened my project and the green line was showing (but the progress bar was only partially across the page. I then clicked run all tests and the test explorer hanged again, at the below screen:

6.I then went back into a new instance of Excel and ran the dummy test again on a blank workbook, which passed fine. Then I shut Excel down and Excel restarted itself, as if to recover from a faulty shutdown. Went into task manager and made sure Excel was fully shut down.
7.Then Went back into MSAccess. This time there was no green progress bar, but my three unit test were there. I added a new DummyTest2 and the TestExplorer registered it no problem. Then when I clicked "Run all Tests" it hanged again.
8.Then I shut MSAccess down.
9.Then I reopened MSAccess on a blank database, inserted the dummy test, ran it and it hanged. When I shut MSAccess down it tried to reopen itself, but I cancelled that. The I went into Task manager and there were two instances of MSAccess open, which I shut down in there.
10.Then I opened excel again, ran the dummy test, which was green, then shut Excel down.
11.Then I reopened MSAccess, opened a blank file added a dummy test and it hanged again.
12.I guess I was hoping to fully re-set the state of the test explorer by running it sucessfully in a different host, but something about my MSAccess instance is conflictig with it still.
Open to more ideas. Maybe a full reinstallation of Office 2013? There is no other sign of MSAccess being in need of repair at this point, and it might be difficult to reinstall on this machine as it is a university copy of Office, so keen to avoid that if necessary. Interested why this time the blank Access file hanged when it didn't hang in point 4. above,
Cheers,
David.
IMO reinstalling Office would be overkill - the bug must be on our end anyway.
Another thing you can try, is to uninstall the add-in, and then build it off the current [next] branch - hopefully we've already fixed the issue, just haven't released it yet :-)
Cool, I will give this next thing a go later tonight. Thanks for the great support.
David.
I'll have a look at debugging Access tonight. Sounds like it might be an Application.Run issue that is specific to Access.
@bravesparrow Do you have any Access add-ins installed installed/loaded? Is the Access project an MDE/ACCDE, MDB/ACCDB?
No addins
Accdb split with accdb back end.
Just one project open.
Happy to send more info or the file itself.
Sent from my Samsung GALAXY S5
-------- Original message --------
From: ThunderFrame notifications@github.com
Date: 6/02/2017 16:42 (GMT+10:00)
To: rubberduck-vba/Rubberduck Rubberduck@noreply.github.com
Cc: bravesparrow david.ackling@gmail.com, Mention mention@noreply.github.com
Subject: Re: [rubberduck-vba/Rubberduck] Test Explorer Hangs in an infinite loop (#2641)
@bravesparrowhttps://github.com/bravesparrow Do you have any Access add-ins installed installed/loaded? Is the Access project an MDE/ACCDE, MDB/ACCDB?
-
You are receiving this because you were mentioned.
Security Statement
This email may be confidential and contain privileged information.
If you are not the intended recipient you must not use, disclose, copy or
distribute this email, including any attachments. Confidentiality and legal
privilege attached to this communication are not waived or lost by reason
of mistaken delivery to you. If you have received the email in error please
delete and notify the sender. Any views expressed in this email are those
of the author and do not necessarily represent those of the department,
except where the sender expressly, and with authority, states them to be
the views of the Department of Family and Community Services NSW.
The department does not represent, warrant or guarantee that the integrity
of this email has been maintained, or that the communication is free of error
,virus, interception, inference or interference.
==========================================================
Need a bit of support on how to re-build an instance of Rubberduck from the current [next] branch.
I have cloned the Rubberduck repo to my desktop GIT application, I have the project open in VS2015. And I am new to GIT and VS, so apologise for the potentially silly question.
Keen to get the Duck running again in my VBE.
Cheers, David.
Hey no problem - it's quite far from obvious actually!
Did you see the Initial Setup wiki page?
Thanks very much Matt.
I had not seen that clear and easy to follow page yet. Will let you know how I go with the build and with the test explorer issue in Access.
Sent from my Samsung GALAXY S5
-------- Original message --------
From: Mathieu Guindon notifications@github.com
Date: 7/02/2017 06:55 (GMT+10:00)
To: rubberduck-vba/Rubberduck Rubberduck@noreply.github.com
Cc: bravesparrow david.ackling@gmail.com, Mention mention@noreply.github.com
Subject: Re: [rubberduck-vba/Rubberduck] Test Explorer Hangs in an infinite loop (#2641)
Hey no problem - it's quite far from obvious actually!
Did you see the Initial Setuphttps://github.com/rubberduck-vba/Rubberduck/wiki/Contributing#initial-setup wiki page?
-
You are receiving this because you were mentioned.
Security Statement
This email may be confidential and contain privileged information.
If you are not the intended recipient you must not use, disclose, copy or
distribute this email, including any attachments. Confidentiality and legal
privilege attached to this communication are not waived or lost by reason
of mistaken delivery to you. If you have received the email in error please
delete and notify the sender. Any views expressed in this email are those
of the author and do not necessarily represent those of the department,
except where the sender expressly, and with authority, states them to be
the views of the Department of Family and Community Services NSW.
The department does not represent, warrant or guarantee that the integrity
of this email has been maintained, or that the communication is free of error
,virus, interception, inference or interference.
==========================================================
OK. I have followed the Initial Setup instructions, including uninstalling Rubberduck, then building the project from the [next] branch in Visual Studio, and adding the Registry info as directed. I added MSACCESS as the default start external action debug process.
So when I Run the solution in Visual Studio, MSAccess starts up no problem. The BIG problem now is that when I try and open the VBE (via Database Tools/Visual Basic) in Access the VBE will not open.
I changed the external action to open the Word and the Excel host and the same problem, no more VBE.
I lso got an "Out of Memory" error messagebox when I attempted to open the VBE in EXCEL.
What am I missing? Keen to provide more info if it helps resolve this.
Can you break in _Extension.OnConnection (the entry point) and see RD startup, or it blows up before that?
Side note, [next] is moving quite fast - make sure you keep your fork up-to-date with the main repository.
It blows up before that.
I set a break point at Extension.cs Line 51 and it never hits it.
I seem to have messed up the event that should fire in the host to open VBA.
I have synced my fork with the main repository--the issue seems to be with something I did with my initial setup, in the registry, althogough I can't see where myself. here are a couple of screen shots of the registry settings I have made, to double check they are not erroneous:

One issue might have been when I executed this:
c:\windows\microsoft.net\framework64\v4.0.30319\regasm.exe "(path to project \bin folder)\rubberduck.dll" /codebase /tlb
Maybe I entered the wrong (path to project \bin folder)--I just guessed this path based on where I could find the rubberduck.dll file in the repo--My codebase path currently shows up in my registry as:

In my previous build, which I installed from the Release 2.0.10 Installer package, my codebase was just "c:/programdata/rubberduck/rubberduck.dll":

I am open to feedback on what to try next--don't want to be doing to much more guessing and messing with my registry. Cheers, David.
Looks like the solution's startup project is wrong, it should be Rubberduck.dll, not the test project.
Run the same regasm.exe command, but with the -u switch, to unregister the build. Then right click the "Rubberduck" project in the VS solution explorer, and select "set as startup project", then clean+rebuild, and try F5. If you get a message saying the RD addin couldn't be loaded, you're clean: just run regasm.exe again, using the \bin\debug path of the "Rubberduck" project - now F5 should launch your host app and alt+f11 will load your debug build =)
Side note, once you get RD to work, you'll want to disable the new "check for new version at startup" setting, at least until 2.0.12 is actually released; that's because an older 2.0.12 build is already on the website - once 2.0.12 is released, the website build will be the same as the release build, and our dev versions will be 2.0.13 or higher, so the version check won't be prompting all the time anymore.
Thanks for this Matt. Learning a lot here while following your patient guidance.
Still having a problem loading the VBE after actioning the above.
When debugging the load-up of the VBE, a c++ exception seem to be thrown when I try and launch the VBE at a line that reads
"mov rcx,qword ptr [rsp+0C0h]"
I am wondering if this is being thrown because I am running a 64 Bit Host, but have set the Rubberduck.Extension LoadBehaviour as a DWORD rather than a QWORD?
Should I change anything there?
Just a thought, I really have no idea why my VBE is not starting and am keen to try more things.
David.
Hmm, I haven't had any issues with DWORD on a 64-bit host.
Run the regasm.exe command against the last build, with the -u switch (to unregister it), then remove the VBA/VBE/6.0/Addins64 key from the registry.
Your system should now behave as if Rubberduck never existed. Does the VBE launch normally?
OK.
-Types unregistered successfully.
-Addins64 and all subkeys deleted, OK.
Yep the VBE does launch normally now.
Thanks for stepping me through this! :)
Should I next try and reregister things from scratch?
Yep. Sorry it's such a PITA... I promise everything will be much simpler after the inital setup!
I just noticed, it looks like 2.0.10 wasn't correctly removed (these 2.0.10 keys should be gone)... you may need to make a repair install of 2.0.10 only to cleanly uninstall it.
First re-create the Addins64 and subkeys, then launch the VBE - I'd expect an error message saying Rubberduck couldn't be loaded. If there's no error message, the key isn't created where the VBE is looking for add-ins (I doubt that's the case though, so you should see that error message) - it shouldn't be able to load it, because it's still not registered (the Addins64 keys just tell the VBE that there's an add-in to load, not where to find it).
Now, open up the RD project in an administrator-priviledged Visual Studio instance, and make sure the "Rubberduck" project is the solution's startup project (it should be bolded in the solution explorer). Build the solution, run regasm.exe /codebase /tlb against the debug build, which should be under, e.g. {path}\Rubberduck\RetailCoder.VBE\bin\Debug\Rubberduck.dll.
Now cross your fingers, and launch the VBE :smiley:
Anyway here is the expected error message that popped up when I opened the host directly and then opened the VBE:

So far so good.
-So I just went ahead at that point and ran the command:
c:\windows\microsoft.net\framework64\v4.0.30319\regasm.exe "D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\bin\Debug\Rubberduck.dll" /codebase /tlb
which gave a registered successfully output.
Still keep getting the same error messages when I clean and try to rebuild the Rubber duck project in Admin VS. Here is the full Output from the Build process:
1>------ Build started: Project: Rubberduck.VBEditor, Configuration: Debug Any CPU ------
2>------ Build started: Project: Rubberduck.SettingsProvider, Configuration: Debug Any CPU ------
2> Rubberduck.SettingsProvider -> D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll
3>------ Build started: Project: Rubberduck.RegexAssistant, Configuration: Debug Any CPU ------
3> Rubberduck.RegexAssistant -> D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.RegexAssistant\bin\Debug\Rubberduck.RegexAssistant.dll
1> Rubberduck.VBEditor -> D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll
4>------ Build started: Project: Rubberduck.Parsing, Configuration: Debug Any CPU ------
5>------ Build started: Project: Rubberduck.SourceControl, Configuration: Debug Any CPU ------
4> Restoring NuGet packages...
4> To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
4> All packages listed in packages.config are already installed.
4> Rubberduck.Parsing -> D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll
6>------ Build started: Project: Rubberduck.SmartIndenter, Configuration: Debug Any CPU ------
5> Restoring NuGet packages...
5> To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
5> All packages listed in packages.config are already installed.
5> Rubberduck.SourceControl -> D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll
6> Rubberduck.SmartIndenter -> D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll
7>------ Build started: Project: Rubberduck, Configuration: Debug Any CPU ------
7> Restoring NuGet packages...
7> To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
7> All packages listed in packages.config are already installed.
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(32,15,32,19): warning CS0219: The variable 'next' is assigned but its value is never used
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(33,25,33,30): warning CS0219: The variable 'tuple' is assigned but its value is never used
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\UI\Refactorings\ExtractMethodDialog.cs(174,36,174,48): warning CS0649: Field 'ExtractMethodDialog._returnValue' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(65,35,65,55): warning CS0649: Field 'ExtractMethodModel._extractDeclarations' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(144,49,144,55): warning CS0649: Field 'ExtractMethodModel._input' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(141,35,141,42): warning CS0649: Field 'ExtractMethodModel._locals' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(146,49,146,56): warning CS0649: Field 'ExtractMethodModel._output' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(132,29,132,42): warning CS0649: Field 'ExtractMethodModel._sourceMember' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(32,15,32,19): warning CS0219: The variable 'next' is assigned but its value is never used
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(33,25,33,30): warning CS0219: The variable 'tuple' is assigned but its value is never used
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(132,29,132,42): warning CS0649: Field 'ExtractMethodModel._sourceMember' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(141,35,141,42): warning CS0649: Field 'ExtractMethodModel._locals' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(144,49,144,55): warning CS0649: Field 'ExtractMethodModel._input' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\UI\Refactorings\ExtractMethodDialog.cs(174,36,174,48): warning CS0649: Field 'ExtractMethodDialog._returnValue' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(65,35,65,55): warning CS0649: Field 'ExtractMethodModel._extractDeclarations' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(146,49,146,56): warning CS0649: Field 'ExtractMethodModel._output' is never assigned to, and will always have its default value null
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 1 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 2 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 3 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 4 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 5 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 6 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 7 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 8 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 9 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 10 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3027: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Exceeded retry count of 10. Failed.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3021: Unable to copy file "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 1 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 2 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 3 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 4 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 5 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 6 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 7 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 8 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 9 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 10 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3027: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Exceeded retry count of 10. Failed.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3021: Unable to copy file "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 1 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 2 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 3 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 4 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 5 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 6 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 7 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 8 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 9 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 10 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3027: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Exceeded retry count of 10. Failed.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3021: Unable to copy file "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 1 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 2 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 3 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 4 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 5 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 6 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 7 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 8 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 9 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 10 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3027: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Exceeded retry count of 10. Failed.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3021: Unable to copy file "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 1 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 2 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 3 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 4 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 5 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 6 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 7 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 8 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 9 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 10 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3027: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Exceeded retry count of 10. Failed.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3021: Unable to copy file "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
========== Build: 6 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Thanks for the ongoing support.
David.
That happens when the dll is loaded. You can't build if you have a host open that's had the VBE opened.
The build will fail if a VBE instance (Rubberduck) is loaded somewhere; make sure VS has administrative privs and that all Office apps are closed before building.
Aha, of course. MsAccess was shut but running in the background in task mgr. Sorry. Will test again later today.
Sent from my Samsung GALAXY S5
-------- Original message --------
From: Mathieu Guindon notifications@github.com
Date: 9/02/2017 11:27 (GMT+10:00)
To: rubberduck-vba/Rubberduck Rubberduck@noreply.github.com
Cc: bravesparrow david.ackling@gmail.com, Mention mention@noreply.github.com
Subject: Re: [rubberduck-vba/Rubberduck] Test Explorer Hangs in an infinite loop (#2641)
The build will fail if a VBE instance (Rubberduck) is loaded somewhere; make sure VS has administrative privs and that all Office apps are closed before building.
-
You are receiving this because you were mentioned.
Security Statement
This email may be confidential and contain privileged information.
If you are not the intended recipient you must not use, disclose, copy or
distribute this email, including any attachments. Confidentiality and legal
privilege attached to this communication are not waived or lost by reason
of mistaken delivery to you. If you have received the email in error please
delete and notify the sender. Any views expressed in this email are those
of the author and do not necessarily represent those of the department,
except where the sender expressly, and with authority, states them to be
the views of the Department of Family and Community Services NSW.
The department does not represent, warrant or guarantee that the integrity
of this email has been maintained, or that the communication is free of error
,virus, interception, inference or interference.
==========================================================
Hi all,
Here is the debug output when I started MSAccess and made Test Explorer hang again (having successfully rebuild the Duck in VS after reregistering the types.
The Test Explorer is still hanging for me at this point.
MSACCESS debug output.docx
Is this any help?
Cheers, David.
Just took a look at the output and did some research\testing. Try making this change in Extension.cs:
Assembly LoadFromSameFolder(object sender, ResolveEventArgs args)
{
var folderPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var assemblyPath = Path.Combine(folderPath, new AssemblyName(args.Name).Name + ".dll");
if (!File.Exists(assemblyPath))
{
return null;
}
//var assembly = Assembly.LoadFile(assemblyPath);
var assembly = Assembly.LoadFrom(assemblyPath);
return assembly;
}
The changed line should be line 97.
If that doesn't work, the next step would be to change line 90 to this:
csharp
var uri = new Uri(Assembly.GetExecutingAssembly().GetName().CodeBase);
var folderPath = Path.GetDirectoryName(uri.LocalPath);
Unfortunately I don't have a roaming domain to test this in...
Hi comintern,
I have implemented your code changes and am still testing things.
I am a bit tied up in knots now. The test explorer works OK if I run it against a blank msaccess accdb file with a single test in it in my C: drive default Documents folder, but not with my project which is stored on another drive, my D: drive.
Have migrated my project to the default Documents folder and have been slowl adding one class object at a time and I am able to make the test explorer stall in this location too, after I add a particular .bas test module to the project, and a couple of classes that are not compiling properly at this point in time.
So still have plently of trial and error to apply to this. And am looking forward to sorting it out and gettig the Duck back. Thanks for the advice.
Cheers, David.
Guys I reckon you can close this issue now. I have lost the thread of my problem and am just going to start fresh with a new Rubberduck build and a fresh VBA project. Cheers, David, and thanks for your help.
Hey Chris,
I feel that I probably did something silly along the way while playing with all the features of Rubberduck without understanding what I was doing. I felt bad leaving this issue open when I have probably made some simple error somewhere which is none of your fault. I am excited to be learning a little about C# and Visual Studio as I try and step through the code, but am way out of my depth and probably creating more problems as I go. I trust this error will go away if I start everything from a clean slate. Thanks for taking my issue seriously--it is amazing to me what you, Matt and your team are building. Hope to build up the skills to be able to be a part of this type of thing in the future.
Hey, check out programmingmadeez.com where Rubberduck was the subject of a Youtube video published yesterday by Steve Bishop. He has a big following in the Access developer world, but also with begimmers like me in the C# world--good publicity for the Duck.
I sent him a question on whether he ever instantiated immutable interface objects by dependency injection with a factory class with its predeclared attribute set to true in VBA--knowing this would google him to your site... and this funny video is what happened.
Oh. Hey man. Don't take me too seriously.
I can't really contribute anymore, so I try to add to the community by being funny.
Most of the time I totally fail at that endeavor. =)
Hi folks,
An update on this issue.
I rebuilt Rubberduck and started a fresh project, and have been free of the issue but have re-encountered it when import the following .bas module into my project. The test explorer window hangs when I click Run all test the first time.
When I take this module out of my project, test explorer behaves well again.
The Code is really simple (attached).
What do you think is hapening?
This code compiles well and the actual test runs well outside of the test explorer.
What is it about this little test that upsets the duck and makes him do a loop again?
Happy to provide debug info if it helps.
Cheers,
David.
Copying Code from the attachment:
Attribute VB_Name = "TestCourse"
Option Compare Database
Option Explicit
'@Folder("Entities.Level1.Course")
Option Private Module
'@TestModule
Private Assert As Object
'@ModuleInitialize
Public Sub ModuleInitialize()
'this method runs once per module.
Set Assert = CreateObject("Rubberduck.AssertClass")
End Sub
'@TestMethod
Public Sub TestCreateCourse()
On Error GoTo TestFail
'Arrange:
With Course.Create(1, "testing", "Testtype", 50.99)
Assert.AreEqual 1, .ID, "did not return course.id"
Assert.AreEqual "testing", .CourseName, "did not returm course.coursename"
Assert.AreEqual "Testtype", .CourseType, "Did not return course.coursetype"
Assert.AreEqual 50.99, .Price, "did not return course.price"
End With
'Act:
'Assert:
TestExit:
Exit Sub
TestFail:
Assert.Fail "Test raised an error: #" & Err.Number & " - " & Err.Description
End Sub
@retailcoder could the Option Private Module be hanging us up somehow? Just a stab in the dark.
@rubberduck203 nope - we'd be getting a COM exception if RD's Application.Run calls failed to locate the test methods.
Ok. Thanks. Like I said, shot in the dark.
Code explorer hangs before any of the tests output a result (see that duration is 0ms for each test).

What other info could I provide to help debug this?
The hanging test exporer issue remains.
Seems related to the late-binding of the AssertClass:
2017-03-02 12:42:27.0422;ERROR-2.0.12.19847;Rubberduck.Parsing.VBA.ParseCoordinator;Unexpected exception thrown in parsing run. (thread 26).;System.Runtime.InteropServices.COMException (0x800A03EC): Cannot run the macro ''Book3'!VBAProject.TestModule1.ModuleInitialize'. The macro may not be available in this workbook or all macros may be disabled.
at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)
at CallSite.Target(Closure , CallSite , ComObject , Object )
at CallSite.Target(Closure , CallSite , Application , Object )
at Rubberduck.VBEditor.Application.ExcelApp.Run(Object declaration) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.VBEEditor\Application\ExcelApp.cs:line 15
at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable`1 members) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 110
at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable`1 tests) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 73
at Rubberduck.UI.Command.RunAllTestsCommand.RunTests() in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 87
at Rubberduck.UI.Command.RunAllTestsCommand.TestsRefreshed(Object sender, EventArgs e) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 69
at Rubberduck.UI.UnitTesting.TestExplorerModel.OnTestsRefreshed() in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\UnitTesting\TestExplorerModel.cs:line 168
at Rubberduck.UI.UnitTesting.TestExplorerModel.State_StateChanged(Object sender, ParserStateEventArgs e) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\UnitTesting\TestExplorerModel.cs:line 72
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at Rubberduck.Parsing.VBA.RubberduckParserState.OnStateChanged(Object requestor, ParserState state) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.Parsing\VBA\RubberduckParserState.cs:line 309
at Rubberduck.Parsing.VBA.RubberduckParserState.set_Status(ParserState value) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.Parsing\VBA\RubberduckParserState.cs:line 539
at Rubberduck.Parsing.VBA.RubberduckParserState.SetStatusAndFireStateChanged(Object requestor, ParserState status) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.Parsing\VBA\RubberduckParserState.cs:line 552
at Rubberduck.Parsing.VBA.ParseCoordinator.ExecuteCommonParseActivities(List`1 toParse, CancellationToken token) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.Parsing\VBA\ParseCoordinator.cs:line 237
at Rubberduck.Parsing.VBA.ParseCoordinator.ParseAllInternal(Object requestor, CancellationToken token) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.Parsing\VBA\ParseCoordinator.cs:line 739
at Rubberduck.Parsing.VBA.ParseCoordinator.ParseAll(Object requestor, CancellationToken token) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.Parsing\VBA\ParseCoordinator.cs:line 680
Oh wait - maybe not - the test module doesn't compile... that's what's making the ExcepApp.Run call throw.
Got a repro (hung test explorer) with an unsaved workbook:
2017-03-02 13:04:50.9325;ERROR-2.0.12.19847;Rubberduck.UI.Command.RunAllTestsCommand;System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC
at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)
at CallSite.Target(Closure , CallSite , ComObject , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
at CallSite.Target(Closure , CallSite , Application , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid2[T0,T1](CallSite site, T0 arg0, T1 arg1)
at Rubberduck.VBEditor.Application.ExcelApp.Run(Object declaration) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.VBEEditor\Application\ExcelApp.cs:line 15
at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable`1 members) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 110
at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable`1 tests) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 73
at Rubberduck.UI.Command.RunAllTestsCommand.RunTests() in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 87
at Rubberduck.UI.Command.RunAllTestsCommand.ExecuteImpl(Object parameter) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 46
at Rubberduck.UI.Command.CommandBase.Execute(Object parameter) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\CommandBase.cs:line 54;
I got a message saying the file //unc/path/book3.xlsx could not be found.
After saving the file, closing everything and reopening it, "run all tests" does nothing, there's no message, just a frozen "busy" test explorer.
And this stack trace:
2017-03-02 13:09:25.7366;ERROR-2.0.12.19847;Rubberduck.UI.Command.RunAllTestsCommand;System.Runtime.InteropServices.COMException (0x800A03EC): Cannot run the macro ''test.xlsm'!VBAProject.TestModule1.ModuleInitialize'. The macro may not be available in this workbook or all macros may be disabled.
at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)
at CallSite.Target(Closure , CallSite , ComObject , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
at CallSite.Target(Closure , CallSite , Application , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid2[T0,T1](CallSite site, T0 arg0, T1 arg1)
at Rubberduck.VBEditor.Application.ExcelApp.Run(Object declaration) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.VBEEditor\Application\ExcelApp.cs:line 15
at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable`1 members) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 110
at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable`1 tests) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 73
at Rubberduck.UI.Command.RunAllTestsCommand.RunTests() in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 87
at Rubberduck.UI.Command.RunAllTestsCommand.ExecuteImpl(Object parameter) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 46
at Rubberduck.UI.Command.CommandBase.Execute(Object parameter) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\CommandBase.cs:line 54;
Turns out I had an EXCEL.EXE process lingering in Task Manager (and Rubberduck was loaded in that other process) - killing that ghost process and restarting fixed everything, the tests run, life is beautiful... and I don't know how to repro anymore :disappointed:
Not sure if this helps, but there is an common language runtime exception being thrown during the initial parse of my project:
Message "Error HRESULT E_FAIL has been returned from a call to a COM component."

Please let me know if I can send any particular dubugging output during any state, to give some more info on this.
Hey guys,
I am afraid you 're having a memory or CPU consumption management issue here: you see, no matter what I change - even if I don 't change anything! - as soon as I re-parse or refresh, CPU consumption goes up to 55% - and remains there for the entire rest of the session, i. e. until I shut down Access and kill the additional instance(s) in Task Manager.
In case I dare to refresh twice, it goes up to minimum 90% - and also remains there (see attachment!). So the latest after the third refresh - the machine cannot accomplish anything any more. That might also explain why you cannot have more than one Test Module in Access - obviously, the CPU and Memory consumption rises by module...
Sounds like a kind of a memory leak... - And interesting enough, it only seems to happen in Access...
Hope you will succeed in fixing this - the Add-In as such is fantastic and I use it a lot... :-)
Just let me know if I can offer more help!
Cheers,
Torsten
@ThunderFrame got a repro on that leak?
@TorstenBStrauch thanks for the feedback! There's a known issue with refreshing from the code inspections toolwindow that spawns parse and inspector tasks over the previous (possibly still running) run - this is currently being addressed; just to be sure, that CPU & memory consumption is out of refreshing from the 'Rubberduck' command bar, right?
Hi both,
Yes, it is reliably reproducable. And yes - the refreshing is done by clicking here:

Thanks for getting back so quickly - hope this helps fixing the issue. Please let me know if I can provide any further help.
Cheers,
Torsten
@TorstenBStrauch do you have the inspection results toolwindow displayed? in larger projects (and/or projects with lots of inspection results) inspections can take quite a while to complete - the problem is that the inspection task doesn't (yet) use the parser task's cancellation token, and so it's possible to start a new parse task before inspections have completed; normally the status bar should say "inspecting..." and prevent clicks, but there's a (sometimes significant) delay between 'Ready' state and the moment the toolwindow is updated with the actual inspection results - having the toolwindow displayed makes it easier to see the actual state of the add-in: the toolwindow will have a "busy" indicator until it's fully updated. I can imagine that triggering a reparse in 'Ready' state but before the toolwindow has loaded all the results can spike CPU usage.
If inspections take really long to complete, you enable logging at TRACE level, and see which one(s) is/are bottlenecking the whole thing (watch for TimedCallLoggerInterceptor logger entries); if you can live without these specific inspections then setting their severity level to DoNotShow will actually prevent them from executing at all - a rather annoyingly drastic work-around, but it should boost performance and help CPU consumption.
As for memory, we've mitigated an out of memory exception that was thrown while updating the inspection results toolwindow with several thousands of items, by introducing AggregateInspectionResult - however it's still possible that lots of inspection results might be clogging things up.
I suspect use meaningful names could possibly be one culprit - especially if you use Hungarian Notation. If that's the case you can use the inspection settings tab of the settings dialog to white-list Hungarian prefixes and/or single-letter or disemvoweled, or number-suffixed identifiers (hmm well at that point you might as well just disable it lol).
Unless something changed, the Code/Test explorers run on ResolvedDeclarations, which is well before the inspections even dream of starting.
Hi there,
Sorry - no inspections... So far, I have run a code inspection only once, and only for one project. So unless this somehow remains persistent, even when closing Access, the behavior cannot have anything to do with the inspections. The code inspection window, for sure, is closed when the issue occurs...
Would it maybe help if I create a screen recording!?
Cheers,
Torsten
Rubberduck inspects parse trees regardless of whether the inspections toolwindow is displayed or not.
Aaaahhh... - That explains a lot... :-) - Because if I open the inspection window, it really takes about 3 to 5 minutes until I see the results...
However, the project is not really so big - only some 6.500 LoC ... - Is there any way of speeding up the inspections, or make them simpler so that they won 't take so long?! - However, you are right: once the inspections are through, CPU and Memory consumption drop back to normal idle level...
Thank you so much for the hint - will now try and see whether I can add more tests to the project and run them... :-)
Most inspections run quite fast - I suggest looking at the detailed logs to see which inspection(s) is/are clogging it up - likely it's one or two specific ones that are particularly inefficient; you could then disable these ones and things should get back to normal.
O. k. - that helped a lot... :-) :-) - Now Memory and CPU consumption drop back down to normal in reasonable time... :-)
However, I am afraid that is not the root cause of the issue as the freezing Test Explorer remains...
But in the log file, I can find something that might help, at the very bottom!
First, I get hundreds of rows of TRACE info, warnings etc.
But then at the very bottom, I see this:
2017-03-31 18:10:57.2003;ERROR-2.0.13.32288;Rubberduck.UI.UnitTesting.TestExplorerViewModel;System.Runtime.InteropServices.COMException (0x800A09D5): CSP_TACTS_2014 cannot find the procedure 'DbRESGuidelinesFrontend.ModuleInitialize.'
at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)
at CallSite.Target(Closure , CallSite , ComObject , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute2T0,T1,TRet
at CallSite.Target(Closure , CallSite , Application , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid2T0,T1
at Rubberduck.VBEditor.Application.AccessApp.Run(Object declaration) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\Rubberduck.VBEEditor\Application\AccessApp.cs:line 18
at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable1 members) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 110
at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable1 tests) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 73
at Rubberduck.UI.Command.RunAllTestsCommand.RunTests() in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 87
at Rubberduck.UI.Command.RunAllTestsCommand.ExecuteImpl(Object parameter) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 46
at Rubberduck.UI.Command.CommandBase.Execute(Object parameter) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UI\Command\CommandBase.cs:line 54;
The funny thing is: CSP_TACTS_2014 is a completely different database which just happened to be open at the same time.
Does Rubberduck reduce Access to a single-instance app while it is running?! ;-) ;-)
Cheers,
Torsten
O. k. - now I tried the really hard way and even re-started the machine, so not only Access...
Again, I am getting this result in the very last row of the log file, before the Test Explorer freezes:
2017-03-31 18:44:43.3666;ERROR-2.0.13.32288;Rubberduck.UI.UnitTesting.TestExplorerViewModel;System.Runtime.InteropServices.COMException (0x800A09D5): CorSo RES Guidelines Manager cannot find the procedure 'DbRESGuidelinesFrontend.ModuleInitialize.'
at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)
at CallSite.Target(Closure , CallSite , ComObject , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute2T0,T1,TRet
at CallSite.Target(Closure , CallSite , Application , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid2T0,T1
at Rubberduck.VBEditor.Application.AccessApp.Run(Object declaration) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\Rubberduck.VBEEditor\Application\AccessApp.cs:line 18
at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable1 members) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 110
at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable1 tests) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 73
at Rubberduck.UI.UnitTesting.TestExplorerViewModel.ExecuteRunNotExecutedTestsCommand(Object parameter) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UI\UnitTesting\TestExplorerViewModel.cs:line 270
at Rubberduck.UI.Command.DelegateCommand.ExecuteImpl(Object parameter) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UI\Command\DelegateCommand.cs:line 26
at Rubberduck.UI.Command.CommandBase.Execute(Object parameter) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UI\Command\CommandBase.cs:line 54;
Is it maybe because I have multiple test modules?! - But that should be possible, right!? - I thought I create my Unit Tests like "mod[Name]" - mod[Name]Test" ... So one test module for each "real" module / class...
Is that not possible?!
Cheers,
Torsten
Does Rubberduck reduce Access to a single-instance app while it is running?!
Executing arbitrary VBA code in the IDE, from C# code running in-process yet outside the execution context of the VBA runtime, isn't exactly trivial. In an ideal world we'd tap into the VBA runtime and instantiate a VBA class ourselves and run test methods on that COM object - that would literally be the Holy Grail (the things we could do if we could do that...); unfortunately the Holy Grail isn't in our hands [yet].
So Rubberduck uses Application.Run to execute unit tests (well, mostly anyway - it's host-specific), and that requires the project that contains the test modules to be active in the VBE. IIRC we do activate the project before we attempt to run code in it, but it's entirely possible things get tricky when multiple host instances are involved.
O. k. - got it... So I will stay away from multiple instances of Access while running the tests...
Anyway - any idea what happened in the second scenario!? - Here I definitely had no other Access instance open...
And by the way - I am fully aware that what you have so far achieved is HUGE... ;-) :-) - And it is great to see something like that exists! 馃憤
@TorstenBStrauch psst: see #2891 (not released yet) - that feature alone dwarfs everything else ;-)
There is a known issue (somewhere). Due to the way we call the VBA code in Access (or any multiple instance app IIRC), RD will try to execute the VBA tests in the context of the first instance of the app that it finds. Could that be causing this @retailcoder?
@rubberduck203 quite likely.. although, IIRC we did address that issue... might be wrong though.
It seems the host app should be found using return (IHostApplication)Activator.CreateInstance(HostAppMap[host]);. I'll have a look to see if there's some issue with multiple hosts running. I don't remember there being any Access code that activates the target project (like RD does for Word). Excel's Application.Run can target any project by specifying the project name, but Access requires the project be active, or IIUC, referenced by the current project.
Should be fixed as of 68a3d500
Most helpful comment
Hey Chris,
I feel that I probably did something silly along the way while playing with all the features of Rubberduck without understanding what I was doing. I felt bad leaving this issue open when I have probably made some simple error somewhere which is none of your fault. I am excited to be learning a little about C# and Visual Studio as I try and step through the code, but am way out of my depth and probably creating more problems as I go. I trust this error will go away if I start everything from a clean slate. Thanks for taking my issue seriously--it is amazing to me what you, Matt and your team are building. Hope to build up the skills to be able to be a part of this type of thing in the future.
Hey, check out programmingmadeez.com where Rubberduck was the subject of a Youtube video published yesterday by Steve Bishop. He has a big following in the Access developer world, but also with begimmers like me in the C# world--good publicity for the Duck.
I sent him a question on whether he ever instantiated immutable interface objects by dependency injection with a factory class with its predeclared attribute set to true in VBA--knowing this would google him to your site... and this funny video is what happened.