ShellLayoutView
Printed From: IdeaBlade
Category: DevForce
Forum Name: DevForce Classic
Forum Discription: For .NET 2.0
URL: http://www.ideablade.com/forum/forum_posts.asp?TID=405
Printed Date: 05-Sep-2025 at 12:43am
Topic: ShellLayoutView
Posted By: orcities
Subject: ShellLayoutView
Date Posted: 04-Sep-2007 at 12:20pm
I have been trying to load the designer for the DotNetShellLayoutView or any other views the the layout folder. I always get the same error:
The path is not of a legal form. - Hide |
at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck) at System.IO.Path.GetFullPathInternal(String path) at System.Reflection.AssemblyName.GetAssemblyName(String assemblyFile) at Microsoft.VisualStudio.Design.VSTypeResolutionService.AddProjectDependencies(Project project) at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.get_Assembly() at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.Search(String fullName, String typeName, Boolean ignoreTypeCase, Assembly& assembly, String description) at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchProjectEntries(AssemblyName assemblyName, String typeName, Boolean ignoreTypeCase, Assembly& assembly) at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchEntries(AssemblyName assemblyName, String typeName, Boolean ignoreCase, Assembly& assembly, ReferenceType refType) at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchEntries(AssemblyName assemblyName, String typeName, Boolean ignoreTypeCase, Assembly& assembly) at Microsoft.VisualStudio.Design.VSTypeResolutionService.System.ComponentModel.Design.ITypeResolutionService.GetAssembly(AssemblyName name, Boolean throwOnError) at Microsoft.VisualStudio.Design.VSTypeResolutionService.System.ComponentModel.Design.ITypeResolutionService.GetAssembly(AssemblyName name) at Microsoft.VisualStudio.Design.VSDynamicTypeService.OnAssemblyResolve(Object sender, ResolveEventArgs e) at System.AppDomain.OnAssemblyResolveEvent(String assemblyFullName)
Not sure what the deal is. I have tried to rebuild the project.
I can view the designers on a different machine just not the one I needt.
Also, where can I find workspace toolbox items? |
|
Replies:
Posted By: Linguinut
Date Posted: 04-Sep-2007 at 1:36pm
Before I even started with Cabana, I made sure that I could build a CAB project based on the SCSF offered by the http://www.codeplex.com/smartclient - Patterns & Practices group . This forced me to install several items that I do not even use when working with Cabana (although, I think they need to be there). Perhaps one of these items did not get installed on the development machine that you are working on. The installation of the various CAB pieces will also place the items that you need into the toolbox.
Hope that helps,
Bill
P.S. I followed this set of instructions to get me going: http://www.codeplex.com/smartclient/Wiki/View.aspx?title=Installing%20the%20Smart%20Client%20Software%20Factory&referringTitle=Getting%20Started%20with%20the%20Smart%20Client%20Software%20Factory - http://www.codeplex.com/smartclient/Wiki/View.aspx?title=Installing%20the%20Smart%20Client%20Software%20Factory&referringTitle=Getting%20Started%20with%20the%20Smart%20Client%20Software%20Factory . The dependency checker (
http://www.codeplex.com/smartclient/Release/ProjectReleases.aspx?ReleaseId=4471 - http://www.codeplex.com/smartclient/Release/ProjectReleases.aspx?ReleaseId=4471 ) was a great help.
|
Posted By: orcities
Date Posted: 04-Sep-2007 at 2:05pm
Posted By: Linguinut
Date Posted: 04-Sep-2007 at 2:07pm
Was the LIB solution built first?
|
Posted By: orcities
Date Posted: 04-Sep-2007 at 2:09pm
Posted By: Linguinut
Date Posted: 04-Sep-2007 at 2:25pm
I guess you could try delete the project DLLs from the LIB folder (DevEx.*, DotNet.*, IdeaBlade.*, Scsf.*, etc.), then build the LIB solution again. Perhaps there is a reference that has gotten misdirected.
|
Posted By: orcities
Date Posted: 04-Sep-2007 at 2:34pm
No luck. And I forgot to say it crashes my instance of VS when I try to open the view files as well.
|
Posted By: Linguinut
Date Posted: 04-Sep-2007 at 2:41pm
Here are some other questions that come to mind:
Have you tried a "fresh" installation of Cabana? Starting from scratch?
Do other solutions open without these errors on this machine?
Can you download and build the CAB Hello World project?
It is odd that VS crashes when simply opening a view. I still think there is a reference gone bad there somewhere, though.
Interesting.
Bill
|
Posted By: orcities
Date Posted: 04-Sep-2007 at 2:43pm
Here is another question. Where do I get the workspace tools? I can't find them to reference them.
|
Posted By: orcities
Date Posted: 04-Sep-2007 at 2:49pm
It seems to be the DevEx version. I can open the DotNet version fine.
|
Posted By: Linguinut
Date Posted: 04-Sep-2007 at 2:58pm
I believe Cabana is built with DevEx 7.1, not the recent 7.2 version. That could be one issue.
Workspace tools? Are you referring to the CAB items? WindowSmartPartInfo, DeckWorkspace, TabWorkspace, etc.? I believe I got these when I installed the SCSF...not exactly sure, but that seems like the most obvious, to me. I am checking, now, to confirm.
|
Posted By: Bill Jensen
Date Posted: 05-Sep-2007 at 11:12am
Interesting discussion guys. Thanks for your contribution.
Actually, the latest version of Cabana is built with version 7.2.2 of Developer Express, but the latest version of DevForce (3.5.3.1) is built with DevEx 7.2.1. The DevEx install places redirects into your machine.cfg file.
You should have DevForce 3.5.3.1 and Developer Express 7.2.2 installed. to use Cabana.
The CAB UI components are in
Microsoft.Practices.CompositeUI.Winforms.dll
Select Tools->Choose Toolbox Items... and browse to this assembly (in the \Lib folder).
Hope this helps.
Bill J.
IdeaBlade
|
Posted By: orcities
Date Posted: 05-Sep-2007 at 12:18pm
Thank you for that information. I have done as specified. All projects compile except the IdeaBlade.Cab.DevEx project. It has a crap load of errors. I couldn't get 7.2.2 I had to get 7.2.3. Apparently there are some changes.
Anyone know where I could get 7.2.2 trial.
I got MS CAB tool box items up yesterday. tx.
|
Posted By: orcities
Date Posted: 05-Sep-2007 at 12:24pm
Never mind. Just used the link for the 7.2.3 version and changed the file name. Worked fine.
http://www.devexpress.com/Downloads/NET/DXperience/files/DXperienceEval-7.2.2.exe - http://www.devexpress.com/Downloads/NET/DXperience/files/DXperienceEval-7.2.2.exe
|
Posted By: orcities
Date Posted: 05-Sep-2007 at 12:38pm
Now I can't get the Lib to compile. The Cab.DevEx keeps failing.
Running DevForce 3.5.3.1 and DevExpress 7.2.2.
I have fixed the mappings in the Machine.config file to redirect from 7.1 to 7.2.2.
|
Posted By: Linguinut
Date Posted: 05-Sep-2007 at 12:48pm
As an exercise (while waiting on templates/wizards), I have been working on updating Cabana to the most current versions of each product. I was able to get the LIB to compile with DevExpress 7.2.3 (DevForce 3.5.3.1). I am still working on the main project. Only working on it when I have a spare minute or two, though.
|
Posted By: Bill Jensen
Date Posted: 05-Sep-2007 at 12:51pm
I believe DevForce 3.5.3.1 is built with DevEx 7.2.1, not 7.1. I suggest adjusting machine.config to map versions between 7.1.0 and 7.2.2 to 7.2.2.
Bill J.
|
Posted By: orcities
Date Posted: 05-Sep-2007 at 1:09pm
Got it to compile. I didn't add the second map. But I still can't open the any LayoutViews. I get the same error as before.
|
Posted By: Linguinut
Date Posted: 05-Sep-2007 at 1:50pm
The binding redirects exists properly for the controls:
<bindingRedirect oldVersion="7.2.1.0" newVersion="7.2.3.0" />
I am getting a couple of errors in the Infrastructure.Foundation project when building. The XtraGridBindingDescriptor is not referenced.
Error 1 The type 'IdeaBlade.UI.WinForms.DevExpressControls.XtraGridBindingDescriptor' is defined in an assembly that is not referenced. You must add a reference to assembly 'IdeaBlade.UI.WinForms.DevExpressControls.v7_2_1, Version=3.5.3.1, Culture=neutral, PublicKeyToken=287b5094865421c0'. C:\Documents and Settings\bill\My Documents\Visual Studio 2005\Projects\CabanaDevExCS\Source\Infrastructure.Foundation\GridBuilders\OrderDetailGridBuilder.cs 33 7 Infrastructure.Foundation
Not sure where to go to resolve that one.
|
Posted By: orcities
Date Posted: 05-Sep-2007 at 1:55pm
< dependentAssembly>
<assemblyIdentity name="DevExpress.Data.v7.1" publicKeyToken="79868b8147b5eae4" />
< bindingRedirect oldVersion="7.1.0.0" newVersion="7.2.2.0" />
< bindingRedirect oldVersion="7.2.1.0" newVersion="7.2.2.0" />
</ dependentAssembly>
< dependentAssembly>
< assemblyIdentity name="DevExpress.Utils.v7.1" publicKeyToken="79868b8147b5eae4" />
< bindingRedirect oldVersion="7.1.0.0" newVersion="7.2.2.0" />
< bindingRedirect oldVersion="7.2.1.0" newVersion="7.2.2.0" />
</ dependentAssembly>
< dependentAssembly>
< assemblyIdentity name="DevExpress.XtraEditors.v7.1" publicKeyToken="79868b8147b5eae4" />
< bindingRedirect oldVersion="7.1.0.0" newVersion="7.2.2.0" />
< bindingRedirect oldVersion="7.2.1" newVersion="7.2.2" />
</ dependentAssembly>
< dependentAssembly>
< assemblyIdentity name="DevExpress.XtraGrid.v7.1" publicKeyToken="79868b8147b5eae4" />
< bindingRedirect oldVersion="7.1.0.0" newVersion="7.2.2.0" />
< bindingRedirect oldVersion="7.2.1.0" newVersion="7.2.2.0" />
</ dependentAssembly>
|
Posted By: Linguinut
Date Posted: 05-Sep-2007 at 2:30pm
I removed the "v7_1_0" assembly from Infrastructure.Foundation and added the "v7_2_1" assembly available from IdeaBlade. After rebuilding, I found the same assembly that needed replacing in the Cabana.UI.Admin project. I rebuilt all again and everything succeeded. I have a running Cabana on 3.5.3.1 and DevExpress 7.2.3.
|
Posted By: Bill Jensen
Date Posted: 06-Sep-2007 at 9:22am
A few thoughts on assembly binding redirection:
1. You have correctly identified the four Developer Express assemblies that require redirection: Data, Utils, XtraEditors and XtraGrid.
2. Rather than redirecting a specific version of an assembly, we often specify a range of version values in the form:
<bindingRedirect oldVersion="0.0.0.0-7.1.3.0" newVersion="7.1.3.0" />
3. Developer Express, in its wisdom, includes the major.minor version numbers in their assembly NAME. Now that we are on version 7.2.x of DevEx, redirections are required for assembly names ending in ".v.7.2". For example:
<dependentAssembly>
<assemblyIdentity name="DevExpress.Data.v7.2" publicKeyToken="9b171c9fd64da1d1" />
<bindingRedirect oldVersion="0.0.0.0-7.2.3.0" newVersion="7.2.3.0" />
</dependentAssembly>
4. Redirects work best in machine.config since they provide a single point to change when upgrading to a new version.
Hope this is helpful.
Bill J.
|
Posted By: orcities
Date Posted: 06-Sep-2007 at 9:34am
Thank you. I have made those changes and now know to make those changes in the future.
But, I am still getting that error (Below). Is this due to using the trial version?
The path is not of a legal form. - Hide |
at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck) at System.IO.Path.GetFullPathInternal(String path) at System.Reflection.AssemblyName.GetAssemblyName(String assemblyFile) at Microsoft.VisualStudio.Design.VSTypeResolutionService.AddProjectDependencies(Project project) at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.get_Assembly() at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.Search(String fullName, String typeName, Boolean ignoreTypeCase, Assembly& assembly, String description) at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchProjectEntries(AssemblyName assemblyName, String typeName, Boolean ignoreTypeCase, Assembly& assembly) at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchEntries(AssemblyName assemblyName, String typeName, Boolean ignoreCase, Assembly& assembly, ReferenceType refType) at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchEntries(AssemblyName assemblyName, String typeName, Boolean ignoreTypeCase, Assembly& assembly) at Microsoft.VisualStudio.Design.VSTypeResolutionService.System.ComponentModel.Design.ITypeResolutionService.GetAssembly(AssemblyName name, Boolean throwOnError) at Microsoft.VisualStudio.Design.VSTypeResolutionService.System.ComponentModel.Design.ITypeResolutionService.GetAssembly(AssemblyName name) at Microsoft.VisualStudio.Design.VSDynamicTypeService.OnAssemblyResolve(Object sender, ResolveEventArgs e) at System.AppDomain.OnAssemblyResolveEvent(String assemblyFullName)
|
|
Posted By: davidklitzke
Date Posted: 06-Sep-2007 at 11:33am
Here are my own recommendations on Assembly Binding Redirections based on my experience with customers who have had problems in this area:
(1) When you install DevForce initially, the Assembly Binding Redirector is automatically invoked, and you shouldn't have to do anything after the DevForce Install.
(2) If you install a new version of Infragistics or DevExpress later, you need to rerun the Assembly Binding Redirector.
(3) Use the Assembly Binding Redirector Tool in preference to manually editing the config tool
(4) Assembly binding redirection only works across minor releases (e.g., 7.2.1 to 7.2.3). It won't redirect version information from a minor release of a major release to minor release of a different major version (e.g., 7.1.6 to 7.2.3)
|
Posted By: Linguinut
Date Posted: 06-Sep-2007 at 12:28pm
Interesting feedback on Microsoft.com:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=90564 - http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=90564
Also, there are cmd utilities that you could try running to cleanup some of the assemblies in Cabana. See the root of the project folder and run flushCabana.cmd and/or fullflushCabana.cmd. Rebuilds would be in order after that.
Sorry to hear that you are still experiencing that error.
|
Posted By: Bill Jensen
Date Posted: 06-Sep-2007 at 2:19pm
Thanks for the link, Bill. Very interesting.
Dan, you're welcome to try the flush commands to blow away your \bin and \obj folders, then rebuild your solutions, but from the MSDN feedback, it sounds like you have a broken reference somewhere. I trust you've checked for missing references.
Bill J.
|
Posted By: orcities
Date Posted: 06-Sep-2007 at 2:21pm
David thank you for the help.
I have now purchased DevExpress and installed the Pro version of 7.2.3. I have used the binding redirect tool. But, I get he following error when I try to build Cab.DevEx.
Error 7 Cannot implicitly convert type 'DevExpress.XtraGrid.Views.Grid.GridView []' to 'DevExpress.XtraGrid.Views.Grid.GridView [c:\Program Files\Developer Express .NET v7.2\Sources\DevExpress.DLL\DevExpress.XtraGrid.v7.2.dll]' C:\Development\CabanaDevExCS\Source\Infrastructure.IdeaBlade\IdeaBlade.Cab.DevEx\Views\Base\DevExDetailGridViewBuilder.cs 71 27 IdeaBlade.Cab.DevEx
It only occurs for Grid Items. I have verified the right assembly but I still get it.
Any clue on how to get by this. I have else checked intellisence and it has those classes.
|
Posted By: orcities
Date Posted: 06-Sep-2007 at 2:22pm
I have verified references and replaced references.
|
Posted By: Linguinut
Date Posted: 06-Sep-2007 at 2:25pm
First, run ReBuild on your LIB solution. That will replace the assemblies that you just verified references on. There are a few sneaky references out there, though. I checked every project and I still missed one or two. You may have to go through them, again.
|
Posted By: orcities
Date Posted: 06-Sep-2007 at 2:44pm
I have run the flush, rebuilt the project, checked for bad or missing references. I can not seem to find any.
I get it to compile and run but can't see the the designer.
|
Posted By: orcities
Date Posted: 06-Sep-2007 at 2:58pm
The strange thing is that when I am using the DevEx version I can't even open the DotNet designer files.
But I can when I use the DotNet Lib version.
|
Posted By: Bill Jensen
Date Posted: 06-Sep-2007 at 3:14pm
Perhaps there's a problem with your Visual Studio toolbox.
Select Tools->Choose Toolbox Items...
This is a frustrating dialog - it's fixed size so you have to adjust column widths to see the whole field.
Click on the header of the AssemblyName column to make all the Developer Express assemblies sort together. Then check them to be sure they're all of the proper name (i.e., ending in v7.2), version (7.2.3.0), and source (the GAC).
Sorry it's being such a problem for you.
Bill J.
|
Posted By: orcities
Date Posted: 06-Sep-2007 at 3:19pm
All items are 7.2.3.0 and in the GAC
|
Posted By: Bill Jensen
Date Posted: 06-Sep-2007 at 4:03pm
I'm sorry, I was still working on the "The path is not of a legal form" problem.
Since you have a stack trace, navigate to the point of failure:
In the CabanaLib solution, expand the IdeaBlade\IdeaBlade.Cab.DevEx project and edit \Views\Base\DevExDetailGridViewBuilder.cs.
The exception occurs at line 71 (in CreateDetailGrid():
mDetailGridView = gbm.AddRelationView(displayName, descriptor);
and indicates that we are trying to assign to a variable of type GridView from an array of GridViews.
Confirm that the member mDetailGridView is declared as a DevExpress.XtraGrid.Views.Grid.GridView at the bottom of the file.
This is being assigned from the result of gbm.AddRelationView(). gbm is declared two lines above as an XtraGridBindingManager. Mouse over this class name and be sure that Intellisense says it is
IdeaBlade.UI.Winforms.DevExpressControls.XtraGridBindingManager.
Right clickon AddRelationView, select GoToDefinition and choose the first definition in the Find Symbol Results window. The result is a DevForce assembly so you can only see the metadata. Mouse over the resulting tab to see the assembly source file. In my copy it is
IdeaBlade.UI.Winforms.DevExpressControls.v7_2_1.dll version 2.0.50727.
Is yours different?
Let me know the results and we'll go from here.
Bill J.
|
Posted By: orcities
Date Posted: 07-Sep-2007 at 1:31pm
All fixed with the newest version of Cabana.
|
|