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











Replies
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
The first one is because we are trying to cast to the specific type instead of using the root interface that they both implement.  I don't know that I ever tested the new package on VS2013.  I can change that to the interface and recompile it.  I just have to figure out what obscure VSShell assembly contains ITypeResolutionServiceProvider.

The second one is interesting.  There isn't anything on the CodeElement that will allow us to determine whether it has a name, so I'm going to wrap that in a Try/Catch and just ignore the element if it throws an exception.
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 swapped out the VISX with the fixes on the Posted Releases thread, Larry.

Give it a try and let me know.  Thanks.
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