InvalidCastException


Author
Message
Larry Caylor
Larry Caylor
StrataFrame VIP (1.8K reputation)StrataFrame VIP (1.8K reputation)StrataFrame VIP (1.8K reputation)StrataFrame VIP (1.8K reputation)StrataFrame VIP (1.8K reputation)StrataFrame VIP (1.8K reputation)StrataFrame VIP (1.8K reputation)StrataFrame VIP (1.8K reputation)StrataFrame VIP (1.8K reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K
I've set up a new Windows 10 system. On this system I have both VS2013 & VS2015.  I've installed the new AddIns.dll and Extensibility.dll from the VSPackage posted on the forum and run the vsix package to install StratafFrame V1 for VS2013 & 2015. I've also disabled the StrataFrame Add In for VS2013.  After opening an existing VS2013 project everything looks fine until I try to modify the PopulationDataSourceSettings on an Infragistics listview.  When I click on the PopulationDataSourceSettings, I get the following exception. Just to make sure the error is not related to the Infragistics wrapper I tried a SF Listview and go the same exception. (I'd post the actual screen capture but the forum web page tells me I've exceeded my file upload limit).

InvalidCastException
  Unable to cast object of type 'Microsoft.VisualStudio.Design.VSDynamicTypeService' to type 'Microsoft.VisualStudio.Shell.Design.DynamicTypeService'.
Source     : MicroFour StrataFrame Extensibility
Stack Trace:
   at MicroFour.StrataFrame.Extensibility.ExtensibilityBasics.GetDynamicTypeService()
   at MicroFour.StrataFrame.Extensibility.ExtensibilityBasics.get_CurrentDynamicTypeService()
   at MicroFour.StrataFrame.Extensibility.ExtensibilityBasics.GetTypeDiscoveryService(Project Project)
   at MicroFour.StrataFrame.Extensibility.ExtensibilityBasics.get_CurrentITypeDiscoveryService(Project Project)
   at MicroFour.StrataFrame.Extensibility.ExtensibilityBasics.GetAvailableClasses(Type BaseType, IServiceProvider Provider, Boolean IncludeReferences)
   at MicroFour.StrataFrame.Extensibility.ExtensibilityBasics.GetAvailableClassesNames(Type BaseType, IServiceProvider Provider, Boolean IncludeReferences, Boolean ReturnFullNames)
   at MicroFour.StrataFrame.Extensibility.ListViewPopulationEditorDialog.PopulateBusinessObjects()
   at MicroFour.StrataFrame.Extensibility.ListViewPopulationEditorDialog.tmStart_Tick(Object sender, EventArgs e)

So I decided I'd try opening the project in VS2015. In VS2015 I'm able to open and modify the PopulationDataSourceSettings but when I try to open the Object Mapper I get the following exception.

COMException
  Error HRESULT E_FAIL has been returned from a call to a COM component.
Source     : EnvDTE
Stack Trace:
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
   at Microsoft.VisualStudio.LanguageServices.Implementation.Utilities.Exceptions.ThrowEFail()
   at Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.ExternalElements.AbstractExternalCodeElement.LookupSymbol()
   at Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.ExternalElements.AbstractExternalCodeElement.GetName()
   at Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.ExternalElements.AbstractExternalCodeElement.get_Name()
   at EnvDTE.CodeElement.get_Name()
   at MicroFour.StrataFrame.Extensibility.ExtensibilityBasics.ParseClass(CodeElement Element, Project ContainingProject, String MatchingBaseType, Boolean ParseNestedTypes)
   at MicroFour.StrataFrame.Extensibility.ExtensibilityBasics.GetAvailableClasses(Project Prj, Boolean IncludeReferences, Boolean IsWebProject, String BaseClassName, Boolean ParseNestedTypes)
   at MicroFour.StrataFrame.Extensibility.ExtensibilityBasics.GetAvailableBusinessObjects(Project Prj, Boolean IncludeReferences, Boolean IsWebProject)
   at MicroFour.StrataFrame.AddIns.PartialClassBuilderDialog.CompileProjectItemCollection()

The object mapper works fine in VS2013.


I did have SF V2 installed on the system but I uninstalled if from both VS2013 & Vs2015 but that didn't make any difference.

-Larry











Reply
StrataFrame Team
S
StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)
Group: StrataFrame Developers
Posts: 3K, Visits: 2.5K
I'm glad that got you fixed.  

VisualStudio changed their shell implementation of ITypeResolutionServiceProvider from Microsoft.VisualStudio.Design.VSDynamicTypeService to Microsoft.VisualStudio.Shell.Design.DynamicTypeService.  I can't find the assembly where the ITypeResolutionServiceProvider is actually defined, and the both service objects are _COMObjects, so I changed the internal type to Object and used Type.InvokeMember() on the object to get the services I needed from the provider.  As for why the SyncFusion Assemblies would cause that error to occur, I'm guessing that they use the same provider and somehow get it to initialize differently than us, so if they initialize the provider first it was the type we weren't expecting.

I'm glad to hear about the SyncFunction PDF components.  Trent's been working with one of their salespeople for a while on acquiring that for us for use in our upcoming document manager for our medial software.  A PDF component is not something we want to write.
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...





Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search