Hello,
I am using XamDiagram in a small AutoCad addin. Somehow XamDiagram is crashing the whole program, including AutoCad.
when looking at the exception:
System.Windows.Markup.XamlParseException: The invocation of the constructor on type 'Infragistics.Controls.Charts.XamDiagram' that matches the specified binding constraints threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'InfragisticsWPF4.DragDrop.v17.2, PublicKeyToken=7dd5c3163f2cd0cb' or one of its dependencies. The system cannot find the file specified. [REST OF EXCEPTION AT THE BOTTOM OF THE QUESTION]
It indicates that InfragisticsWPF4.DragDrop.v17.2 or one of it's dependencies could not be loaded.In my project I have referenced and included the InfragisticsWPF4.DragDrop.v17.2.dll
Beside The XamDiagram I also use XamTreeGrid, and there is no problems with that one.
When trying to reproduce this issue in a WPF app, I get a similar Exception in the debug mode, but the app can be continued.
System.IO.FileNotFoundException: 'Could not load file or assembly 'InfragisticsWPF4.Controls.Charts.XamDiagram.v17.2.Aero2, Version=17.2.20172.2029, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb' or one of its dependencies. The system cannot find the file specified.'
StackTrace:
" at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)\r\n at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)"
Fusionlog:
"=== Pre-bind state information ===\r\nLOG: DisplayName = InfragisticsWPF4.Controls.Charts.XamDiagram.v17.2.Aero2, Version=17.2.20172.2029, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb\n (Fully-specified)\r\nLOG: Appbase = file:///C:/Users/nawed/Desktop/WorkSpaceVS/TestApplication/WpfXamDiagramTest64x/bin/Release/\r\nLOG: Initial PrivatePath = NULL\r\nCalling assembly : PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.\r\n===\r\nLOG: This bind starts in default load context.\r\nLOG: Using application configuration file: C:\\Users\\nawed\\Desktop\\WorkSpaceVS\\TestApplication\\WpfXamDiagramTest64x\\bin\\Release\\WpfXamDiagramTest64x.exe.Config\r\nLOG: Using host configuration file: \r\nLOG: Using machine configuration file from C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\config\\machine.config.\r\nLOG: Post-policy reference: InfragisticsWPF4.Controls.Charts.XamDiagram.v17.2.Aero2, Version=17.2.20172.2029, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb\r\nLOG: Attempting download of new URL file:///C:/Users/nawed/Desktop/WorkSpaceVS/TestApplication/WpfXamDiagramTest64x/bin/Release/InfragisticsWPF4.Controls.Charts.XamDiagram.v17.2.Aero2.DLL.\r\nLOG: Attempting download of new URL file:///C:/Users/nawed/Desktop/WorkSpaceVS/TestApplication/WpfXamDiagramTest64x/bin/Release/InfragisticsWPF4.Controls.Charts.XamDiagram.v17.2.Aero2/InfragisticsWPF4.Controls.Charts.XamDiagram.v17.2.Aero2.DLL.\r\nLOG: Attempting download of new URL file:///C:/Users/nawed/Desktop/WorkSpaceVS/TestApplication/WpfXamDiagramTest64x/bin/Release/InfragisticsWPF4.Controls.Charts.XamDiagram.v17.2.Aero2.EXE.\r\nLOG: Attempting download of new URL file:///C:/Users/nawed/Desktop/WorkSpaceVS/TestApplication/WpfXamDiagramTest64x/bin/Release/InfragisticsWPF4.Controls.Charts.XamDiagram.v17.2.Aero2/InfragisticsWPF4.Controls.Charts.XamDiagram.v17.2.Aero2.EXE.\r\n"
So question is if there are some dependecies that we are missing ?
If not how to avoid this exception ?
[EXCEPTION DETAILS]
Application does not support just-in-time (JIT)
debugging. See the end of this message for details.
************** Exception Text **************
System.Windows.Markup.XamlParseException: The invocation of the constructor on type 'Infragistics.Controls.Charts.XamDiagram' that matches the specified binding constraints threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'InfragisticsWPF4.DragDrop.v17.2, PublicKeyToken=7dd5c3163f2cd0cb' or one of its dependencies. The system cannot find the file specified.
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.Assembly.Load(AssemblyName assemblyRef)
at System.Windows.Baml2006.Baml2006SchemaContext.ResolveAssembly(BamlAssembly bamlAssembly)
at System.Windows.Baml2006.Baml2006SchemaContext.ResolveBamlTypeToType(BamlType bamlType)
at System.Windows.Baml2006.Baml2006SchemaContext.ResolveBamlType(BamlType bamlType, Int16 typeId)
at System.Windows.Baml2006.Baml2006SchemaContext.GetXamlType(Int16 typeId)
at System.Windows.Baml2006.Baml2006SchemaContext.GetProperty(Int16 propertyId, XamlType parentType)
at System.Windows.Baml2006.Baml2006Reader.Process_PropertyComplexStart()
at System.Windows.Baml2006.Baml2006Reader.Process_OneBamlRecord()
at System.Windows.Baml2006.Baml2006Reader.ReadObject(KeyRecord record)
at System.Windows.ResourceDictionary.CreateObject(KeyRecord key)
at System.Windows.ResourceDictionary.OnGettingValue(Object key, Object& value, Boolean& canCache)
at System.Windows.ResourceDictionary.OnGettingValuePrivate(Object key, Object& value, Boolean& canCache)
at System.Windows.ResourceDictionary.GetValueWithoutLock(Object key, Boolean& canCache)
at System.Windows.ResourceDictionary.GetValue(Object key, Boolean& canCache)
at System.Windows.SystemResources.LookupResourceInDictionary(ResourceDictionary dictionary, Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache)
at System.Windows.SystemResources.FindDictionaryResource(Object key, Type typeKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache)
at System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference)
at System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce)
at System.Windows.FrameworkElement.UpdateThemeStyleProperty()
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
at Infragistics.Controls.Charts.XamDiagram..ctor()
at System.Xaml.Schema.XamlTypeInvoker.DefaultCtorXamlActivator.CallCtorDelegate(XamlTypeInvoker type)
at System.Xaml.Schema.XamlTypeInvoker.DefaultCtorXamlActivator.CreateInstance(XamlTypeInvoker type)
at System.Xaml.Schema.XamlTypeInvoker.CreateInstance(Object[] arguments)
at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CreateInstance(XamlType xamlType, Object[] args)
--- End of inner exception stack trace ---
at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at CBTools15.Views.PS2Acis.InitializeComponent()
at CBTools15.Views.PS2Acis..ctor(Object objCaller)
at CBTools15.AcadCommands.PS2ACIS()
at Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorker(MethodInfo mi, Object commandObject, Boolean bLispFunction)
at Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorkerWithExceptionFilter(MethodInfo mi, Object commandObject, Boolean bLispFunction)
at Autodesk.AutoCAD.Runtime.PerDocumentCommandClass.Invoke(MethodInfo mi, Boolean bLispFunction)
at Autodesk.AutoCAD.Runtime.CommandClass.CommandThunk.Invoke()
Hi again,
I checked again and it seems like they all are the same version:
(From output folder)
Also in VS:
Perhaps I should try to install an older version of Infragistics to see if this is a bug in Version 17.2 ?
I would actually check the version of the assembly to see that it matches "17.2.20172.2029" since that is the version being looked for. This can be seen in the properties in visual studio or by looking at the File version property of the assembly in Windows Explorer. Note that this column isn't visible by default.
Also are the assemblies being copied to the bin directory when the application is compiled:
C:/Users/nawed/Desktop/WorkSpaceVS/TestApplication/WpfXamDiagramTest64x/bin/Release/
If yes, are they all present there or are some of the assemblies like the DragDrop assembly missing in that location?
Hi Alan,
Thanks for the fast reply.
I checked the versions of the assemblies, and it looks like they all are the same version. I only have one version installed on my computer:
Since the XamTreeGrid works my expectation is that you do have all of the dependent assemblies and maybe the DragDrop assembly that you have referenced is a version that doesn't match the other assemblies so the one for the correct version may not be found. I recommend verifying that all of your references are the same.
You can double check the dependent assemblies in the Ultimate UI for WPF Assemblies list.
Let me know if you have any questions.