Upgrading to 4.1 with support for legacy 1.x

Page 2 of 2 FirstFirst 12
  1. #11
    Basically if I can prove out that v1 and v4 can coexist in the same website, we upgrade. If not we stay in 2.x and look for a different tool.

    So two more questions, what version of ext.net.utilities goes with ext.net version 1.7?
    What version of newtonsoft.json goes with ext.net version 1.7 and where can I get the source to namespace?

    Thanks,
    Robb
  2. #12
    So the current status, have source for ext 1.7 and ext utilities 1.3, compiled and namespaced to ext.net.v1 and ext.net.v1.Utilities
    Updated all the .cs files, recompiled etc., have version 4.1 installed, followed all the steps in the couple of threads on here where others are trying to do the same thing. Have a tagPrefix ext for assembly ext.net.v1 and tagPrefix ext2 for Ext.Net (v4.1)

    from web.config:
    <section name="extnetv1" type="Ext.Net.v1.GlobalConfig" requirePermission="false" />
        <section name="extnet" type="Ext.Net.GlobalConfig" requirePermission="false" />
    
     <add tagPrefix="ext" namespace="Ext.Net.v1" assembly="Ext.Net.v1" />
            <add tagPrefix="ext2" namespace="Ext.Net" assembly="Ext.Net" />
    
       <add path="*/extv1.axd" verb="*" type="Ext.Net.v1.ResourceHandler" validate="false" />
          <add path="*/ext.axd" verb="*" type="Ext.Net.ResourceHandler" validate="false" />
    Current error:
    The server tag 'ext:ResourcePlaceHolder' is ambiguous. Please modify the associated registration that is causing ambiguity and pick a new tag prefix.
    Last edited by geoffrey.mcgill; Dec 08, 2016 at 5:43 PM.
  3. #13
    Update: got it working, had to remove some items assembly references from the web.config and added directives to the page. So v1 pages are working v4.1 pages are still looking for ext v2.x error is:

    Could not load file or assembly 'Ext.Net, Version=2.5.0.9000, Culture=neutral, PublicKeyToken=2e12ce3d0176cd87' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

    I searched the entire solution and can't find any reference to this version or publicKeyToken, where should I look?
    Last edited by rmelancon; Dec 07, 2016 at 8:33 PM.
  4. #14
    Well, it really looks like you forgot some leftovers referencing Ext.NET 2.5 there. Maybe you removed it but some cached or stuff like it is "stuck". Try cleaning the solution and maybe the .suo or .user visual studio files to reset the project. In some situations using custom/server controls, visual studio requires some restarts, cleans and renames before it can update namespaces or references to find the control. And it is right when we try to give the custom control a tag prefix. So probably the ext2 tagprefix is stuck to the old 2.x DLLs.

    Unfortunately I couldn't pinpoint an accurate fix for this other than renaming tagprefix, cleaning and rebuilding and closing/reopening Visual Studio instance until it "finds" the controls under that tag prefix.

    It really seems to be the same issue you are facing. Hope this helps!
    Fabrício Murta
    Developer & Support Expert
  5. #15
    I think it will be too confusing to move different forms into different websites/projects as logically they are all the same "application" and the screens interact in varying degrees.
    You have a point but I believe that, if you spend some time splitting both projects like that, you'll have much less trouble in the future upgrading and maintaining the tools. We from Ext.NET simply can't foresee what wrong may happen with such a mix up. Specially if you use both frameworks in a same web page!

    Are you using v1 components & code behind algorithm in the same page you use v2/v4 components? In other words, in the same page you are using ext:ResourceManager and ext2:ResourceManager? I can see lots of conflicts coming from this approach. Because there, you will have namespace conflicts in the level of client-side (javascript) code. Of course, this does not count if you "merge" the pages via iframes, which are effectively different pages one inside the other.

    If you are not using both resourceManagers in a same page, then you are not effectively "sharing the memory and data structure" between the two versions but transmitting data between them thru page requests. In this case, having both libraries in different projects (in same website) should be straightforward -- and much easier to maintain, as pages will be able to have the same namespacing and all, without conflict, no need to rebuild 3rd party libraries, and so on.

    You will probably have a same business logic in your application, which can be made into a 3rd project (common between the two others), and used as a class library. I'm just sharing my thoughts about your scenario as maybe it may help in some way. A second opinion. Maybe worth a try.
    Fabrício Murta
    Developer & Support Expert
  6. #16
    I'm not using different versions of ext in the same form. You were right, there was a project/site that was still referencing 2.x, so I upgraded the controls there for the breaking changes and referenced the 4.1 dll and at the moment everything is working.

    It appears the new version of Newtonsoft.json works with both versions so I didn't need to namespace the old version, just replaced it.
Page 2 of 2 FirstFirst 12

Similar Threads

  1. Upgrading from 2.4 to 3.0
    By alexanderius in forum 3.x Help
    Replies: 4
    Last Post: Mar 14, 2016, 9:32 PM
  2. Need help upgrading from 1.x to 2.x
    By wexman in forum 2.x Help
    Replies: 1
    Last Post: Jun 06, 2013, 11:28 AM
  3. Replies: 7
    Last Post: Dec 13, 2012, 11:55 AM
  4. Upgrading from V1.3 to V2.0
    By Birgit in forum 2.x Help
    Replies: 1
    Last Post: Mar 29, 2012, 4:47 PM
  5. Upgrading RC1 to RC2
    By santosbj in forum 1.x Help
    Replies: 8
    Last Post: Jun 14, 2011, 7:06 AM

Posting Permissions