Print Page | Close Window

Could not locate a suitable binder for a UltraLabel

Printed From: IdeaBlade
Category: DevForce
Forum Name: DevForce 2009
Forum Discription: For .NET 3.5
URL: http://www.ideablade.com/forum/forum_posts.asp?TID=1962
Printed Date: 28-Apr-2024 at 7:32am


Topic: Could not locate a suitable binder for a UltraLabel
Posted By: matricis
Subject: Could not locate a suitable binder for a UltraLabel
Date Posted: 13-Jul-2010 at 10:32am
< ="-" ="text/; =utf-8">< name="ProgId" ="Word.">< name="Generator" ="Microsoft Word 14">< name="Originator" ="Microsoft Word 14"> Hi

We upgraded our DevForce installation on our dev machines (5.2.1 to 5.2.6) and since then, when we
deploy on our integration server, we have a run-time error (see attachment)

We use DevForce 5.2.6 with Infragistics controls 9.1

We verified that all our reference are set to SecificVersion = False.
We checked the .csproj file and updated manually the reference version (as described
in the DevForce Installation Documentation)

But every time we open a form with a ControlBindingManager, we have the same error about
the application being not able to find a suitable binder for UltraLabel.




Replies:
Posted By: davidklitzke
Date Posted: 13-Jul-2010 at 9:33pm
Are you using  a 64-bit OS?  There is a known problem with the Assembly Binding Redirector if using 64-bit OS?  See:
http://www.ideablade.com/forum/forum_posts.asp?TID=1911&KW - http://www.ideablade.com/forum/forum_posts.asp?TID=1911&KW =
 
Are you using a machine.config or a local app.config?
 
For binding failures, see if you can get a log from fusion log viewer:
 
http://msdn.microsoft.com/en-us/library/e74a18c4%28VS.71%29.aspx - http://msdn.microsoft.com/en-us/library/e74a18c4(VS.71).aspx


Posted By: matricis
Date Posted: 14-Jul-2010 at 6:04am
No we're using a 32bit OS and we're using a local app.config

I'll check your link for the binding failure log

Thanks


Posted By: davidklitzke
Date Posted: 14-Jul-2010 at 9:36am
Does the ToolBox Installer think that Infragistics 9.1 is installed?
 
What specific version of Infragistics 9.1 are you using?
 
Did you run the Assembly Binding Redirector?


Posted By: matricis
Date Posted: 14-Jul-2010 at 10:55am
Hi David

We're using Infragistics 9.1.20091.2094

Here's the result of the Assembly Binding Redirector :

*** Assembly Binder Log Entry  (7/14/2010 @ 1:29:24 PM) ***

The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.

Assembly manager loaded from:  c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable  C:\WINDOWS\system32\MsiExec.exe
--- A detailed error log follows.

=== Pre-bind state information ===
LOG: User = NT AUTHORITY\SYSTEM
LOG: DisplayName = System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 (Fully-specified)
LOG: Appbase = file:///C:/WINDOWS/system32/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL
Calling assembly : QMS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in LoadFrom load context.
WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load().
LOG: No application configuration file found.
LOG: Using host configuration file: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\CFG4A5.tmp
LOG: Using machine configuration file from c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Switch from LoadFrom context to default context.
LOG: Binding succeeds. Returns assembly from C:\WINDOWS\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll.
LOG: Assembly is loaded in default load context.



Posted By: davidklitzke
Date Posted: 14-Jul-2010 at 11:30am
The log indicates success, but I notice that says that it is using the machine.config.  Try running your app with the machine.config instead of the local app.config.  If that works, then there is something wrong with your local app.config.


Posted By: matricis
Date Posted: 15-Jul-2010 at 7:36am
Hi David

I ran the Fusion Logger on our integration server another time and I found some new errors.
uploads/850/Fusion_Log_Errors.zip - uploads/850/Fusion_Log_Errors.zip

Notice that they all found the application configuration file correctly this time.

Most of them are related to the resources assembly and I don't quite understand why.

The one that stand out the most is Infragistics2.Win.v9.1, Version=9.1.20091.1000 because it's the old version of the Infragistic control. Why is IdeaBlade.UI.WinForms.InfragisticsControls.v9_1.dll depending on the old version.

In our setup project, I checked the dependencies and found out that they all depend on the old .1000 version (compared to the new .2094 version)



I tried removing the IdeaBlade.UI.WinForms.InfragisticsControls.v9_1.dll from our setup project as it doesn't seem to be needed at all but when I run the application on the integration server I have another error

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at IdeaBlade.UI.WinForms.UIBinderMap.UpdateMap(Assembly pAssembly, Type pBinderBaseType)
   at IdeaBlade.UI.WinForms.ControlBinderMap.LoadControlSuite(Type pControlType)
   at IdeaBlade.UI.WinForms.ControlBinderMap.GetDataBinder(Type pControlType)
   at IdeaBlade.UI.WinForms.ControlBindingManager.BindCore(BindingDescriptor pDescriptor)
   at IdeaBlade.UI.WinForms.BindingManager.BindAll()
   at IdeaBlade.UI.WinForms.BindingManager.EndInit()
   at HSMS.Presentation.CostSheet.CostSheetForm.InitializeComponent()
   at HSMS.Presentation.CostSheet.CostSheetForm..ctor(ICostSheetEditorUI editor, IUIMediator mediator)
   at Dashboard.Dashboard.OpenCostSheetForm(ICostSheet costSheet)
   at HSMS.Presentation.CostSheet.CostSheetGrid.EditCostSheet()
   at HSMS.Presentation.CostSheet.CostSheetGrid._itemGrid_DoubleClick(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
   at Infragistics.Win.UltraControlBase.OnDoubleClick(EventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Any of this new info makes sense to you?


Posted By: davidklitzke
Date Posted: 15-Jul-2010 at 11:32am
You are correct that the IdeaBlade DLL may look like it has a dependency on 9.1.20091.1000  because that is the version that was used to build the DLL, but in fact all of the Infragistics references in the DevForce DLL have their Specific Version property set to False.
 
You need to do something similar in your solution.  Make sure that your Infragistics references have their Specific Version property set to False.


Posted By: matricis
Date Posted: 16-Jul-2010 at 11:46am
Good news!

I fixed my problem.

After a checked for the 10th time that all my dlls were set with SpecificVersion=False, I decided to install DevForce 5.2.7 to be sure taht all DevForce assemblies were not expecting specific version.

As expected, after the install, I rebuilded my solution and no assembly problem were detected (all referenced assembly were not expecting a specific version)

But during the install, the DevForce installer warned me about "unsupported" Infragistics version and asked me to add assemblyBinding instruction in my machine.config.

So I copied these lines in my application configuration file and after I deployed my app on my integration server, no more error!

Thanks David for you help



Print Page | Close Window