By Keith Chisarik - 3/27/2007
I have a new project to start and I want to use 1.6, but I don't want to upgrade all my old projects that use 1.5.
So my question is, does a project with 1.5 references behave when you upgrade the development environment to 1.6 or once 1.6 is installed and I want to update a project, does it have to be updated to 1.6?
Thanks.
|
By Trent L. Taylor - 3/27/2007
Technically all of the 1.5 references are removed during the install process. However, all you need to do is copy all of the 1.5 assemblies (c:\program files\common files\MicroFOur\StrataFrame) prior to installing 1.6. Move these assemblies to a back folder. Install 1.6 which will remove the 1.5 from the GAC (and the above referenced folder). After the 1.6 has been completed, just drag all of the 1.5 assemblies that you backed up into the c:\windows\assembly (GAC) folder and you will see the 1.5 and 1.6 side-by-side. This way you can run both the 1.5 and 1.6.
|
By Keith Chisarik - 3/27/2007
Excellent thank you Trent.
|
By Keith Chisarik - 3/27/2007
Do I just to copy the DLL's or also the XML files that seem to correspond to the SF libraries.
|
By Trent L. Taylor - 3/27/2007
The DLLs are the only ones that really matter. The XML files are used at design-time for Intellisense information. You will be using the 1.6 XML files at design-time for the Intellisense so that really don't matter.
|
By Keith Chisarik - 3/27/2007
I did what you said and loaded an old project, the references in the solution explorer have been updated to 1.6 somehow, nothing will run, and the designer wont even load.
Please help.
|
By Trent L. Taylor - 3/27/2007
I don't know what you mean by Solution Explorer other than possible the c:\windows\assembly folder. Is this correct? All you need to do is drag the DLLs you backed up into the c:\windows\assembly folder then you will see both the 1.5 and 1.6 versions available.Do you see both the 1.5 and 1.6 assemblies in the GAC?
|
By Keith Chisarik - 3/27/2007
in Visual Studio, my references to the SF DLL's are all updated to 1.6 and nothing will load in old projects.
None of my projects will load, I am sure we will fix it, but it isn't a good feeling.
If you need more to work with (of course you do), I can post some screenies tomorrow.
Is my premise totally wrong though, that I shouldn't have to update all my projects with every new release?
|
By Trent L. Taylor - 3/27/2007
When you install a new StrataFrame version we remove the previous version from the system, including the DLLs in the GAC. However, to run with multiple versions you only need to do what I had mentioned above. If the previous assemblies can be referenced then your existing projects should have no issues.
|
By Keith Chisarik - 3/27/2007
Well they do
Ill post specific errors with screenshots tomorrow.
|
By Keith Chisarik - 3/28/2007
If you look here http://sigmahost.net/keith/sfhelp/ you will see examples of the errors I am getting.
You can see that the 1.5 and 1.6 DLL's are in the GAC, yet only the 1.6's seem to be available to VS2005 and my projects. The project shown was done in 1.5 and shouldn't know anything about 1.6, but you can see that the reference to Microfour Strataframe Base shows version 1.6.0.0 and has a path to the \Common Files\Microfour\Strataframe directory which now only contains the 1.6 DLL's. Is that my issue, that I have loaded references improperly?
I checked more last night and every project I have no will not load into VS after updating to 1.6.
Thanks for the help, as right now I am dead in the water.
|
By StrataFrame Team - 3/28/2007
The Add Reference window looks at the folder that we specified within the AssemblyFolders VS registry key. Since it's just a folder (the C:\Program Files\Common Files\MicroFour\StrataFrame), we can only have one copy of the file in that folder, so the install overwrites the 1.5 DLLs that are out there with the 1.6 DLLs. If you want to be able to see the 1.5 DLLs in the Add Reference window, you will need to create a folder somewhere to store them and add the registry key pointing to that folder. The key you will need to add is: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\<some name> The <some name> will need to be replaced with something like "SF 1.5" or "StrataFrame 1.5"; it isn't used, but it helps you identify it if you come back in there later. You will then need to set the value of the (Default) value within the key to the full path of the folder containing the 1.5 DLLs. After you do that, the next time you restart VS, you will be able to see both the 1.5 and 1.6 DLLs as selectable items in the Add Reference window.
|
By Keith Chisarik - 3/28/2007
That magically fixed all my problems, I didn't even have to re-add my references in my projects, they just found the 1.5 DLL's after I added the registry key.
Awesome, you guys are worth your weight in gold.
Last question, do you have any problem with me doing this, keeping some old projects that I consider "complete" in 1.5, and maintaining new projects in 1.6? I would upgrade a project if in the future it required a major overhaul. I am just used to doing this, I have projects in different versions of VFP (6,7,8, and 9) because it isn't worth the time to update them.
If you tell me I need to rethink this approach, I will.
Thanks again.
|
By Trent L. Taylor - 3/28/2007
keeping some old projects that I consider "complete" in 1.5, and maintaining new projects in 1.6 This is entirely up to you and I understand your logic. If a product is going to continue to mature then we always migrate it forward. However, if it is complete and never going to change..hopefully ...then if it ain't broke, don't fix it
|