COM exception upgrading to Visual Studio 2015

Add-in Express™ Support Service
That's what is more important than anything else

COM exception upgrading to Visual Studio 2015
COM exception upgrading to Visual Studio 2015 
Marcus Datascout


Guest


Hello Lads,

I've just upgraded to VS 2015 and I'm getting get a COM exception when I load an existing Add-In Express project.

Here's the sequence of events:

1. Uninstalled Add-In Express
2. Uninstalled VS 2102
3. Installed VS 2015
4. Installed Add-In Express v8.2.4371
5. Opened existing Add-In Express project
6. Open an existing (Word) Advanced Task Pane and voila the following exception:

Error HRESULT E_FAIL has been returned from a call to a COM component.
(Call Stack is at the end of this post)

The pane is blank (all the controls have disappeared)

Other observations:
- there are no missing/broken references
- All other Project properties "look" as expected
- "Make Assembly COM-Visible" is checked
- If I add a new ADXWordTaskPane1 there is no exception
- Ironically enough the project compiles

I suspect I'm missing something fundamental but I haven't been able to identify it.

Any thoughts?

Cheers - Marcus


- Call Stack
Instances of this error (1)
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at Microsoft.VisualStudio.LanguageServices.Implementation.Utilities.Exceptions.ThrowEFail()
at Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeTypeRef.LookupTypeSymbol()
at Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeTypeRef.get_TypeKind()
at EnvDTE.CodeTypeRef.get_TypeKind()
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomParser.GetUrtTypeFromVsType(CodeTypeRef vsType)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomParser.OnTypePopulateMembers(Object sender, EventArgs e)
at System.CodeDom.CodeTypeDeclaration.get_Members()
at Microsoft.VisualStudio.Design.Serialization.CodeDom.MergedCodeDomParser.CodeTypeDeclarationPopulator.OnPopulateMembers(Object sender, EventArgs e)
at System.CodeDom.CodeTypeDeclaration.get_Members()
at System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, CodeTypeDeclaration declaration)
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)
Posted 08 Sep, 2016 05:45:31 Top
Andrei Smolin


Add-in Express team


Posts: 18810
Joined: 2006-05-11
Hello Marcus,

Can it be that you haven't installed some components that your project uses?

Also, make sure that Add-in Express references don't specify a specific Add-in Express version (which isn't installed on your machine). Then rebuild the project and check compile-time errors.


Andrei Smolin
Add-in Express Team Leader
Posted 08 Sep, 2016 07:47:29 Top
Marcus Datascout


Guest


Hello Andrei,

I've solved this issue and thought I'd share the outcome for others who may experience similar symptoms.

To re-iterate, I simply uninstalled VS2012 and Add-In Express, then installed VS2015 and the same version of Add-In express I had uninstalled. There were no other 3rd party components involved.

The ADX add-in - which worked that same morning under VS2012 - now resulted in the following error upon opening:
"Error HRESULT E_FAIL has been returned from a call to a COM component"

You wouldn't believe how many different variations of this error I found - each with a different resolution.

In this instance the solution was ridiculously simple.

Somewhere along the way, my project had a reference to itself!

I checked the proj file from a back-up. This self-reference was already there under VS2012.
I don't know how it happened, but while it was not an issue for VS2012, it was a problem for VS2015.

So if you upgrade to VS2015 and find the error above and your forms or Add-In Express panes are all blank with no controls visible, check your references to see if there is a reference to your project's own DLL. If there is, simply delete it.

(I'm still scratching my head how it happened!)

Andrei, please accept my sincere apologies for even *thinking* it could have been a issue with ADX :)

All the best, Marcus
Posted 09 Sep, 2016 06:08:33 Top
Andrei Smolin


Add-in Express team


Posts: 18810
Joined: 2006-05-11
Thank you, Marcus! What a gem! )))


Andrei Smolin
Add-in Express Team Leader
Posted 09 Sep, 2016 07:30:06 Top