Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

DevExpress controls compatibility issues
GlobalConcepts
#1 Posted : Thursday, February 7, 2013 12:00:02 PM(UTC)
Rank: Advanced Member

Groups: Registered
Joined: 2/7/2013(UTC)
Posts: 52
Location: Germany

Thanks: 4 times
Was thanked: 6 time(s) in 6 post(s)
We are using NCrunch, and also another Visual Studio Extension called CRM Solution Manager. When opening a certain dialog from that extension, Visual Studio displays the following error:

[A]DevExpress.Utils.ImageCollectionStreamer cannot be cast to DevExpress.Utils.ImageCollectionStreamer. Type A originates from 'DevExpress.Utils.v11.2, Version=11.2.10.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' in the context 'LoadFrom' at location 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\[b]Remco Software\NCrunch for Visual Studio 2012\DevExpress.Utils.v11.2.dll'. Type B originates from 'DevExpress.Utils.v12.2, Version=12.2.2.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' in the context 'LoadFrom' at location 'C:\Users\atriesch\AppData\Local\Microsoft\VisualStudio\11.0\Extensions\3robf52m.ify\DevExpress.Utils.v12.2.dll'.
at SimplerSoftware.CRM_Solution_Manager.ToolWindows.PluginsControl.InitializeComponent()
at SimplerSoftware.CRM_Solution_Manager.ToolWindows.PluginsControl..ctor(Guid AssemblyId)
at SimplerSoftware.CRM_Solution_Manager.Forms.frmCustomAssemblyProject..ctor(Guid AssemblyId)
at SimplerSoftware.CRM_Solution_Manager.CRM_Solution_ManagerPackage.AddProjectsToSolution(UnitOfWork UnitOfWorkTemp, UserSolution SolutionTemp, List`1 SelectedProjects)

This happens in both Visual Studio 2010 and 2012; uninstalling NCrunch makes the dialog work, but of course I don't want that.


I have also reported this to the developers of the other extension, and I am aware that it may simply be caused by the way Visual Studio handles extensions and not be solvable at all by individual extension developers. I'm just posting it here in case something can actually be done.
Remco
#2 Posted : Thursday, February 7, 2013 9:20:26 PM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,123

Thanks: 957 times
Was thanked: 1286 time(s) in 1193 post(s)
Hi, thanks for posting!

This is unfortunately an ugly side effect of Visual Studio's plugin approach.

The plugins share the same application domain, which prevents two assemblies being loaded under the same name but with different versions.

The ultimate solution is for NCrunch to stop using DevExpress components. This will likely happen in future (possibly in V2), although cannot be done in V1.

You may be able to make this work by adding a binding redirection to your devenv.exe.config file. I.e.:

<dependentAssembly>
<assemblyIdentity name="DevExpress.Utils.v12.2" publicKeyToken="b88d1754d700e49a" culture="neutral"/>
<bindingRedirect oldVersion="11.2.0.0" newVersion="12.2.2.0"/>
</dependentAssembly>
GlobalConcepts
#3 Posted : Saturday, June 29, 2013 12:21:36 AM(UTC)
Rank: Advanced Member

Groups: Registered
Joined: 2/7/2013(UTC)
Posts: 52
Location: Germany

Thanks: 4 times
Was thanked: 6 time(s) in 6 post(s)
Hmmm, seems I never got around to report that this was solved. Apparently the DevExpress stuff wasn't as deeply embedded in the other extension, and its developers were able to implement a change in short order that corrected the issue.

(The binding redirect solution did not work by the way because the assemblies have different names (they include the version number) while occupying the same namespace.)

Thanks anyway, and thanks for an amazing tool!
Remco
#4 Posted : Saturday, June 29, 2013 2:31:13 AM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,123

Thanks: 957 times
Was thanked: 1286 time(s) in 1193 post(s)
Hi,

Thanks for letting me know about this. In V2 of NCrunch the DevExpress controls will also be removed, due to problems such as this one along with various performance issues. Thankfully there seem to be very few extensions that make use of these controls. My hope is that no one else needs to deal with this issue before the V2 launch.


Cheers,

Remco
Nyctef
#5 Posted : Wednesday, July 17, 2013 2:16:30 PM(UTC)
Rank: Newbie

Groups: Registered
Joined: 7/17/2013(UTC)
Posts: 1
Location: United Kingdom

Thanks: 1 times
Hi

Good to know that DevExpress problems will be going away :) We've been having some problems with one of our older products which uses Winforms and DevExpress; the Winforms designer itself breaks with the error message"the located assembly's manifest definition does not match the assembly reference", seemingly because different DevExpress dlls are already loaded into Visual Studio.

Strangely, this happens even though the DevExpress dlls in NCrunch have different assembly names than the ones we're using (which end in v7.2)

Anyway, thanks for the work you've put into NCrunch so far and looking forward to the next version :)

Mark
Remco
#6 Posted : Wednesday, July 17, 2013 11:12:35 PM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,123

Thanks: 957 times
Was thanked: 1286 time(s) in 1193 post(s)
Hi Mark,

I wish I could offer an immediate solution to these problems, but with the binding redirections not working, I think we are sadly out of options.

The beta for NCrunch V2 looks like its just a couple of months away, and it will include the major changes needed to remove the DevExpress dependencies from NCrunch. The beta itself should be stable enough to use day-to-day, and should be a permanent solution to all of this.

Thanks for your understanding!


Cheers,

Remco
1 user thanked Remco for this useful post.
Nyctef on 7/22/2013(UTC)
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

YAF | YAF © 2003-2011, Yet Another Forum.NET
This page was generated in 0.063 seconds.
Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download