This is a migrated thread and some comments may be shown as answers.

telerik assembly conflict problem

1 Answer 229 Views
Report Designer (standalone)
This is a migrated thread and some comments may be shown as answers.
Lukasz
Top achievements
Rank 1
Lukasz asked on 15 Sep 2015, 08:12 AM

Hi,

I am using object datasource in my application and ReportDesigner as described here:

http://www.telerik.com/support/kb/reporting/details/how-to-use-external-assemblies-with-custom-user-functions-in-the-report-designer

My solution is to copy reportdesigner exe and config file into my project dir and add relative path to build dir (bin/Debug) of my application.

This was ok for 2015 Q1. When I switched to 2015 Q2 reportdesigner stopped working with this exception:

[2015-09-15 09:58] FATAL: An error has occurred. Restarting...
System.ArgumentException: 'Telerik.Windows.Controls.TransitionEffects.FadeTransition' is not a valid value for the 'Telerik.Windows.Controls.RadFluidContentControl.Transition' property on a Setter.
   at System.Windows.Setter.Seal()
   at System.Windows.SetterBaseCollection.Seal()
   at System.Windows.Style.Seal()
   at System.Windows.StyleHelper.SealIfSealable(Object value)
   at System.Windows.ResourceDictionary.SealValue(Object value)
   at System.Windows.ResourceDictionary.SealValues()
   at System.Windows.ResourceDictionary.AddOwner(DispatcherObject owner)
   at System.Windows.ResourceDictionary.PropagateParentOwners(ResourceDictionary mergedDictionary)
   at System.Windows.ResourceDictionary.OnMergedDictionariesChanged(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)
   at Telerik.ReportDesigner.App.MergeResourceDictionaries()
   at Telerik.ReportDesigner.WorkbenchHost.RunWorkbench()
   at Telerik.ReportDesigner.WorkbenchHost.Start()


Finding cause of this problem was not easy. It looks like this line in reportdesigner config file:

<probing privatePath="bin\Debug"/>

makes reportdesigner to load telerik assemblies from this location instead of program files and reportdesigner uses different version of telerik assembiles than my application.

I changed probing to reporting\bin\Debug where my assembly for reporting is build and problem was fixed. Of course this works because my reporting.dll assembly does not depend on telerik libraries.

But proper solution force reportdesigner to load all telerik assemblies with version it was compiled against.

1 Answer, 1 is accepted

Sort by
0
Nasko
Telerik team
answered on 17 Sep 2015, 01:46 PM
Hello Lukasz,

You are correct. The issue is exhibited when the probing path points to a folder which contains the Telerik.Windows.Controls.dll. The reason is that the Standalone Report Designer also uses this assembly. However, the version used in the Standalone Report Designer is different from the one you are using in your project. In order to resolve the issue, either place the mentioned assembly in a different folder than the probing path or add the following binding redirect to the Telerik.ReportDesigner.exe.config file:
...
  <runtime>
   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <probing privatePath="bin" />
       <dependentAssembly>
         <!-- Required for interoperability with older versions of Telerik Reporting -->
         <assemblyIdentity name="Telerik.Windows.Controls" culture="neutral" publicKeyToken="5803cfa389c90ce7"/>
         <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="x.x.x.x"/>
       </dependentAssembly>
   </assemblyBinding>
  </runtime>
...

where the newVersion is the version of the assembly you are using in your project.

Regards,
Nasko
Telerik
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Tags
Report Designer (standalone)
Asked by
Lukasz
Top achievements
Rank 1
Answers by
Nasko
Telerik team
Share this question
or