Thursday, July 20, 2006
Visual Studio 2005 and Visual Studio 2003 side-by-side
I did a little research to see what Microsoft say in relation to installing Visual Studio 2005 and Visual Studio 2003 side by side on the same machine.
According to Microsoft, cf [1], Visual Studio 6.0, 2002, 2003 and 2005 can all be run side by side on the same machine. If, however, you open a project created in Visual Studio 2003 in Visual Studio 2005, you cannot open it again in Visual Studio 2003.
Regarding Visual SourceSafe, Microsoft explains, cf [2] that the SourceSafe database format has not changed between SourceSafe 6.0 and SourceSafe 2005, therefore, you can access a Visual SourceSafe 6.0 database from a Visual SourceSafe 2005 client installation. From what I've read, cf [5], [6] and [8], you can just use Visual SourceSafe 2005 with Visual Studio 2003 and it works fine. Some new features of Visual SourceSafe 2005 are not available from within Visual Studio 2003, but that seems quite reasonable to me. While you can install Visual SourceSafe 2005 and Visual SourceSafe 2003 on the same machine, it seems, cf [7], that only one Visual Studio plug-in (ssscc.dll) can be registered at a time. There are tools to allow you to re-register the appropriate dll, cf [9].
Regarding IIS, in order to separate them, you can apparently, cf [4], run different version of the CLR in different application pools.
So, I would suggest installing Visual Studio 2005 and Visual SourceSafe 2005 on our pcs. I don't think it should be a problem leaving Visual SourceSafe 6.0 installed, but if you want to uninstall Visual SourceSafe 6.0, I would recommend doing it before installing Visual SourceSafe 2005 in order to avoid causing registrations problems with the plug-in dll for Visual Studio.
[1] Installing Visual Studio Versions Side-by-Side
[2] What's New in Visual SourceSafe
[3] Previous Versions
[4] HOWTO: Install and Run ASP.Net 2.0 Side-by-Side
[5] VSS 2005 and VS .NET 2003? (for HTTP support) - June 2005
[6] VS 2003 and VS 2005
"With ASP.Net you must just keep in mind that after installing ASP.Net 2.0 the default framework on the machine might be 2.0 and not 1.1. Normally if your site have changed to 2.0 you can just change it in IIS back to 1.1. I know this is an issue for some stuff like Report server (2000)."
[7] side-by-side install of sourcesafe 6.0d and 2005?
[8] SourceSafe 2005 and Visual Studio .NET 2003
[9] Source Control Provider (SCP) Selector
According to Microsoft, cf [1], Visual Studio 6.0, 2002, 2003 and 2005 can all be run side by side on the same machine. If, however, you open a project created in Visual Studio 2003 in Visual Studio 2005, you cannot open it again in Visual Studio 2003.
Regarding Visual SourceSafe, Microsoft explains, cf [2] that the SourceSafe database format has not changed between SourceSafe 6.0 and SourceSafe 2005, therefore, you can access a Visual SourceSafe 6.0 database from a Visual SourceSafe 2005 client installation. From what I've read, cf [5], [6] and [8], you can just use Visual SourceSafe 2005 with Visual Studio 2003 and it works fine. Some new features of Visual SourceSafe 2005 are not available from within Visual Studio 2003, but that seems quite reasonable to me. While you can install Visual SourceSafe 2005 and Visual SourceSafe 2003 on the same machine, it seems, cf [7], that only one Visual Studio plug-in (ssscc.dll) can be registered at a time. There are tools to allow you to re-register the appropriate dll, cf [9].
Regarding IIS, in order to separate them, you can apparently, cf [4], run different version of the CLR in different application pools.
So, I would suggest installing Visual Studio 2005 and Visual SourceSafe 2005 on our pcs. I don't think it should be a problem leaving Visual SourceSafe 6.0 installed, but if you want to uninstall Visual SourceSafe 6.0, I would recommend doing it before installing Visual SourceSafe 2005 in order to avoid causing registrations problems with the plug-in dll for Visual Studio.
References:
Microsoft Articles:
[1] Installing Visual Studio Versions Side-by-Side
[2] What's New in Visual SourceSafe
[3] Previous Versions
Microsoft Blogs:
[4] HOWTO: Install and Run ASP.Net 2.0 Side-by-Side
Forums on microsoft.com, but not necessarily Microsoft's opinions:
[5] VSS 2005 and VS .NET 2003? (for HTTP support) - June 2005
Non-Microsoft.com forum posts:
[6] VS 2003 and VS 2005
"With ASP.Net you must just keep in mind that after installing ASP.Net 2.0 the default framework on the machine might be 2.0 and not 1.1. Normally if your site have changed to 2.0 you can just change it in IIS back to 1.1. I know this is an issue for some stuff like Report server (2000)."
[7] side-by-side install of sourcesafe 6.0d and 2005?
Non-Microsoft blogs:
[8] SourceSafe 2005 and Visual Studio .NET 2003
Non-Microsoft tools:
[9] Source Control Provider (SCP) Selector
Tuesday, July 18, 2006
Eat Your Heart Out, Richard Clayderman
The Marx Brothers rock big time.
I saw this linked to on Boing Boing. When I grow up I want to be Chico Marx. For the moment I'll have to be content to draw a fake moustache on my face.
I saw this linked to on Boing Boing. When I grow up I want to be Chico Marx. For the moment I'll have to be content to draw a fake moustache on my face.
Visual Studio 2005 e Beyond Compare
Update 6 Febbraio 2007
It seems that the settings have changed after SP1. I could no longer find the "Advanced" button under "Plug-in Settings". However, seeing as I was running Team Foundation Server and the Team Explorer plug-in, I
Original Post
Come visualizzare in Visual Studio 2005 Professional Edition le differenze nei file con Beyond Compare:
- installare Beyond Compare;
- aprire Visual Studio 2005;
- dalla barra menu scegliere "Tools > Options...";
- selezionare "Show all settings" in basso a sinistra;
- nell'albero a sinistra espandere "Source Control" ed evidenziare "Plug-in Settings";
- con il drop down di "Plug-in Settings" evidenziato premere "Advanced";
- fare il logon di VisualSource Safe quando si apre il dialogo;
- evidenziare la scheda "Custom Editors" ed impostare i seguenti parametri:
- per "Operation" selezionare : File Difference
- per "File Extension" inserire: .*
- per "Command Line" inserire : "C:\Program Files\Beyond Compare 2\bc2.exe" /fileviewer %1 %2
(presumendo che il PATH di bc2.exe sia "C:\Program Files\Beyond Compare 2\bc2.exe")
- premere "Add", "OK" e ancora "Ok" nella finestra "Options";
- chiudere e riaprire Visual Studio 2005.
Adesso Beyond Compare sarĂ il tuo "File Difference Viewer" di default.
Grazie, Piero, per le correzioni.
Friday, July 14, 2006
At the ends of the earth
Wednesday, July 12, 2006
Optimistic Concurrency
Was playing around with data access in .Net 2.0 today and I found something interesting.
The SqlDataSource control in .Net 2.0 gives you the possibility of avoiding db locking while allowing users to not overwrite data in the db using Optimistic Concurrency.
Basically, what they do is add the original values the user loads to the web page they're using to the WHERE clause in the UPDATE statement
example
instead of a simple:
UPDATE table1 SET col1 = @new_value WHERE id = @id
do the following
UPDATE table1 SET col1 = @new_value WHERE id = @id AND col1 = @old_value
That way, if col1 has been changed since you loaded the page, the AND col1 = @old_value will no longer be true and your update will not update any rows.
If you were to do this in a stored procedure, you could get the stored procedure to try to execute the update, then return a status flag back to your application telling it whether or not the UPDATE passed!
The SqlDataSource control in .Net 2.0 gives you the possibility of avoiding db locking while allowing users to not overwrite data in the db using Optimistic Concurrency.
Basically, what they do is add the original values the user loads to the web page they're using to the WHERE clause in the UPDATE statement
example
instead of a simple:
UPDATE table1 SET col1 = @new_value WHERE id = @id
do the following
UPDATE table1 SET col1 = @new_value WHERE id = @id AND col1 = @old_value
That way, if col1 has been changed since you loaded the page, the AND col1 = @old_value will no longer be true and your update will not update any rows.
If you were to do this in a stored procedure, you could get the stored procedure to try to execute the update, then return a status flag back to your application telling it whether or not the UPDATE passed!