VS compatability issues?

In general, at a high level, can all versions of VS exist on the same machine without conflict?
example: VS 2003,5,8,10 all on same machine, for various environment of developments?
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

At a high level yes.  However using .NET it becomes more of an issue of which .NET version you are programing against.  VS 2010 can be used against all flavors of .NET.  So for me I made the habbit of upgrading my programs to the next version of VS but sill maintain the same .NET version.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
AndyAinscowFreelance programmer / ConsultantCommented:
To the best of my knowledge yes - I have VS2005 and VS2010 together without problems.
yes you can, but in general you don't have to because as dr_linux said, unless you want to maintain compatability with other team members in term of project files,
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

I have 2008 and 2010 on my machine but my mate, who works in support, has VS6, 2002, 2003, 2005, 2008, and 2010 on his XP machine!!!
Jacques Bourgeois (James Burger)PresidentCommented:
You can have all version of Visual Basic 6 to Visual Studio 10 installed... but they have to be installed in the right order.

If you install VS2008 after you have installed VS2010 for instance, you might end up with problems.
25112Author Commented:
OK.. BIDS is a part of .NET, and it shares same components between versions, I understood..

apparently,nothing else conflicts between the components, is what I understand from your statements.
25112Author Commented:
>>If you install VS2008 after you have installed VS2010 for instance, you might end up with problems.

that could be valuable info for our environment.. could you provide some msdn document for this please..
Jacques Bourgeois (James Burger)PresidentCommented:
http://msdn.microsoft.com/en-us/library/ms246609.aspx. Look at the note in yellow.

It has also often been specified in different scenarios since the beginnings of .NET in 2002, in conferences and various posts by Microsoft representatives.

One of the reasons presented is that for backward compatibilith reasons, installing a newer version of Visual Studio sometimes install updated copies of some of the dlls from the older versions. Install the framework 4.0 on a brand new Windows install, and you will able to prove that, some 2.0 and 3.0 version dlls are installed in parallel with the 4.0 in the GAC. If you install version 2005 over 2010, you mess up with those updated dlls and that brings problems with the compiler.

This has also been confirmed in my own experience. If have been teaching that stuff to companies ranging from the small programmer programming alone in his basement, up to the biggest companies and the government in Quebec and Canada, since before the framework was on the market, beta version of 2002. I meet 200 to 300 .NET programmers every year in this part of my job. And many have complained of problems such as this one.

In most cases (but not all), it was solved by uninstalling all the versions of Visual Studio and the framework they had on their development computers, and reinstalling everything in order.
there is an alternative to make side-by-side is to use virtual machine, every environment will be totaly isolated
25112Author Commented:
james, that is good info.. how does that blend with
(see 2.2 BIDS Is Not Supported in Side-By-Side and Upgrade Scenarios)

http://msdn.microsoft.com/en-us/library/ms246609.aspx seems to say side is side is OK, as long as order is fine.. the above links says not to even try it..
25112Author Commented:
fryezz, good idea, but management trying to avoid it as programmers will now need training in vm related stuff, which they had steered away this far..

doesn't MS realize this tight corner they are giving to their customers with no other option to flow in?
I have almost the same case in my environment, 30+ developers, what we have done is having a big server with RDS and install vs 2010 on it, users can access it via web browser (remote apps) every one has own environment on the server, we have converted all projects to vs 2010 and .net 4.0, the developer machines still has 2005 and keep supporting existing clients until we release 4.0 version of the software, and complete the upgrade for all of our clients

training issue on vm was not that issue, one hour session was more than enough, you may only need to train the one who will manage the server (self learning was enough for us as well :) )
Although not directly related to your question, you might wanna take a look at this article on how to convert project files between the different versions of Visual Studio.

25112Author Commented:
fryezz, so you did all 2010 development on one server (all developers just logged in, did work, logged out)..? only 2 can log in at a time, right?
25112Author Commented:
graye, are you suggesting the main benefit it is convert as needed, and also make a backup, so you never end up in trouble?

for example, it can convert a 2008 file into 2005? (which is not possible doing it from visual studio)
Well, I'm saying that this utility might be part of the overall solution to your problem...

Yes, it can convert a 2008 solution file into a 2005 solution file.  This allowed us time to transition over to VS2008 (and again to VS2010) in an orderly manner.  So, it really didn't matter what version of VS you had installed.... if somebody else contributed something using another version, you'd just convert it and then do your thang.
Jacques Bourgeois (James Burger)PresidentCommented:
Converting back to an older version is never a good idea.

If the application used new stuff, such as LINQ in 2008, you won't be able to convert to 2005 anyway.

Converting to a newer version however, almost never give you problems... unless you skip a version. The real danger is there. Skipping a version.

If you have code in VS2008 right now that uses the OracleClient as an example, and do not move it to version 2010, you will never learn that Microsoft is going to drop that library in the future. All the work you will do will eventually need to be redone.

If you convert your VS2008 application to 2010 however, you will get a warning telling you the following:
 Warning of changes in the frameworkYou will surely do not get it if you convert from 2008 to 2005.

I always tell my students that even if they do not plan to move to the newest version(s) of Visual Studio, they should always install at least the Express version(s), it's free, and any project can load into it. And test a conversion of all their applications from older version into the newer one every 2 or 3 weeks, to get those warning. They do not have many, but you surely want to know about those things.

Microsoft has implemented a very good way of bringing changes in the framework. Instead of bringing sudden changes between 2 versions, they tell us a few years before they do so through those warnings. Stick too long with your old version of Visual Studio and skip the current version, and you will skip those warnings. They might end up as errors when you move from VS2005 to VS2012.

And don't blame them. These are development tools. They need to be adapted to new conditions. Things evolve a lot in the world that is ours. They do not have the choice. They need to have a new version of Visual Studio every 2 years. And they need to maked decisions of replacing things from time to time. We are not users, we are developers. We need the tools that will provide the applications that will be in used for the next 10 years. If you are a pro, you don't do that with tools that are already 7 years old.

regarding connecting more than two you have to purchase rds CALs for the server?
25112Author Commented:
graye, we would want to convert back to older version only in emergency.. (except situations like LINQ which was not in older versions as James pointed out) in that regard the software you recommend in phenominal.. it gives you lot more control than MS gives.. Does MS know this.. if they do, they may block it, because we are circumventing them?

thanks for the info on RDS CALs
25112Author Commented:
james, that is very good reason why it is good to have latest versions around, even if not used..

in relation to the previous through, you don't see contradiction between

(see 2.2 BIDS Is Not Supported in Side-By-Side and Upgrade Scenarios)
http://msdn.microsoft.com/en-us/library/ms246609.aspx ?
Just to clarify... my little utility just converts the solution and project files... it does not even look at the actual code files at all.

So, it's useful in the scenario that I described, where folks are using different versions of VS on the same project.  For example, the computers at school are using VS2008.  A student starts a project at school, and takes it home.  At home they are using VS2010 and they finish the project.  But they must convert it back to VS2008 before submitting the assignment (since the instructor only has VS2008... and wouldn't otherwise be able to open the project).
Jacques Bourgeois (James Burger)PresidentCommented:
25112, I am not able to use your link in the wiki, because it brings me to my profile configuration page.

But if I search for 2.2 BIDS Is Not Supported in Side-By-Side and Upgrade Scenarios, the hit I get is about a CTP for Denari. A Community Technology Preview is pre-Beta code. It should never be used on a development computer, and you cannot apply the documentation of the CTP to the real world, only to your testing environment.

While the second link is the official documentation.

If the page I got in the wiki is the one you were referring to, then which one would you consider for real work?
Jacques Bourgeois (James Burger)PresidentCommented:

I also teach and have the problem you have with students having different versions. The instructor could simply install the Express version in parallel to its 2008 version. That would be a lot easier than convertint back and forth all the time. The only thing lacking in the Express version are tools. So he would be able to open any project, no matter the edition that the student is using.

And it would enable the student who wants to go a little further on his own to start using the newer features in its assignments if he wants to, preparing him better to what he might eventually have to confront in a working environment.
25112Author Commented:
graye, thanks for that explanation.
25112Author Commented:

James, are you saying MS may say A in CTP and B in real release? Isn't that too confusing?

but for discussion case, if MS implements what you read in the CTP notes in the real release, that would be contradictory with the current official documentation, right?
25112Author Commented:
James, in your 'instructor' example, you would install the express 2010? i think you are referring the instructor to open always in read only mode?
Jacques Bourgeois (James Burger)PresidentCommented:
A CTP is only a preview of what is coming. I repeat, it is not even at the level of a Beta version. The application is then in an unstable state, and special considerations that might be different than the standard have often to be taken when installing it in order to be able to make it work. It is also very highly recommended that you use it only on a virtual environment or on a computer dedicated to testing.

Unless you need to test a CTP to have an idea of what is coming in the next release, do not read anything in there, it will just confuse you.

So yes, A in CTP and B in release is normal. But B is the one to believe, because this is the one that is delivered to you when you buy the software.


As for the instructor, his 2010 Express version will open a project done in any other edition and read and write with it. Since Express is free, even if the school does not have a licence for it, it can be used alongside 2008.

The only differences between the regular editions and the Express is that the Express lack some tools. You won't be able to read or modify class diagrams for instance. But anything that is compiled, that is anything that is source code, resources, settings, etc. can be manipulated in the Express edition.

I do it all the time. I usually have 2 or 3 versions installed on the portable I use form my course in-house.

I always have at least the 2 last current versions (actually 2008 and 2010). So I can give my training on 2008 for the companies that are on that version or 2010 for the companies that are on 2010.

When we will be near version 2012, I will install the Express edition for a while. The release version of the Express edition is usually available 1 or 2 months before the Professional that I usually use. I will thus be able to give my first 2012 training sessions a few weeks sooner. And this with the 2008 and 2010 Pro still installed and functionnal. Once the Professional version will be available, I will install it over the Express.

I have worked that way since the very beginnings of .NET in 2002, and never had any problem. I had 2002, 2003, 2005 Professional and 2008 Express on my portable at some time.

There is absolutely no problem having many versions of Visual Studio installed at the same time, as long as you install them in the right order (2002, then 2003, then 2005, then 2008, then 2010 and eventually 2012), and no CTP. Installing a Beta is a guess however, since it has never been completely tested, there might be issues with installing the release version over it later.
25112Author Commented:
James, i appreciate your input on the CTP..

when you have VS 2008/10 and possibly 12 in the near future, you would not mix them, right? you will have 2008 solutions opened only with 2008,  2010 solutions opened only with 2010 and so forth?

 in relation with your experience, have you worked with BIDS cross-version? How do you understand  this experience of another expert:
Jacques Bourgeois (James Burger)PresidentCommented:
If you look at the icon for the solution file (.sln), you will see a little number. Although solutions made in different versions of Visual Studio have the same extension, .NET sees the difference. You get a 9 for VS2008 solutions and a 10 for VS2010. 11 will probably be used for VS2012.

If you open a solution through the solution file, it will automatically open in the proper version of VS, if it is found on the computer. Otherwise, you will be asked to convert it to the newer version.

If you open it from the File menu inside of Visual Studio, then it will be up to you to decide.

A VS2010 solution will open directly in VS2010.

A VS2012 solution will probably not open in VS2010.

If you try to open a VS2008 solution in VS2010, you are offered to convert it to the VS2010 format, and to keep a backup of the original, so you end up with both a VS2008 and a VS2010 version. If you say no to the conversion, nothing happens, you will need to open the application in VS2008.


My customers are usually small and medium size companies that do not need more than the basic SQL Server features, without the extra tools, so I never worked with BIDS.
25112Author Commented:
>>If you look at the icon for the solution file (.sln)

thanks - it makes sense that if it is done the right way as you pointed out then there is no confusion or cross-version problems.

with reference to the experience of the other expert in that link, does that surprise you of such existing problems in the tool (BIDS- part of VS)? (because practically, from what I can see, you have seen glitches to worry about in your experience with VS)
25112Author Commented:

i just i had said it wrongly..
>>(because practically, from what I can see, you have seen glitches to worry about in your experience with VS)<<

it should have been
>>(because practically, from what I can see, you have NOT seen glitches to worry about in your experience with VS)<<

With that in the background, is there a way for me to confirm the BIDS issue (that you read in the other post) with MS, somehow?  http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/Q_27373823.html#36892018

i would appreciate your input on the above..

with as vast experience you have with VS, it would have been nice to confirm the BIDS too, but I am glad for your input on VS as a whole..
Jacques Bourgeois (James Burger)PresidentCommented:
Hi 25112.

Since I have no experience with BIDS, anything I could say about it would be a conjecture. But since you ask.

As far as it goes for me, I would never have that problem, because I would never install 2 different versions of SQL Server on the same computer. The name says it all: SQL Server. What do you do when you want to install 2 servers on the same machine? Virtualization. I would run the different versions of SQL Server in a virtualization environment or on 2 different computers. (SQL Server 2008 Entreprise and Express cohabit very well however, because in the background, they are the same thing).

Before .NET (and SQL Server is not written in .NET), there was no way to have 2 versions of the same application running in parallel. Just try to work with both Office 2003 and 2007, even if Microsoft says that it works. It does, but when you create a document in Excel 2003, save it as a .xls, close Excel and double-click on the .xls, cross your fingers. You never know if it will open in 2003 or 2007. This thing is crap. We've had it for a while in some of the classrooms where I give most of my training. It made things easier for the technician who rebuilds the computers every 2 or 3 days. We stopped that because the trainers had too many problems. We now have different installations for 2003, 2007 and 2010.

COM applications have problem working together because of the way dlls are registered in COM.

.NET solved this problem by using a different scheme to retrieve a dll for a given application. And it works. That is why you can have many versions of Visual Studio installed at the same time (as long as they are installed in the right order as said earlier - this insures that the redirection from one version of a dll to a newer one are done properly).

Now, I have to contradict what you said in an earlier post : BIDS is a part of .NET. This is not exact. BIDS does not install with Visual Studio, in installs with SQL Server. BIDS is a part of SQL Server. It simply integrates in Visual Studio the same way that third parties such as the DevEx tools, Delphi or COBOL.NET do. When you install SQL Server, it simply integrates its own templates and designers into the Visual Studio environment.

Since it is not part of Visual Studio, and since it has to interact heavily with a COM application (SQL Server), BIDS might well not follow the Visual Studio conventions as far as side-by-side installations are concerned.

So, my "vast experience" (you are right somewhat, I coded my first .NET alpha test applications in Notepad, before VS was available) with VS cannot be used against BIDS.

To resume my opinion, I would never install 2 versions of the same COM application on the same computer, thus I would never have 2 versions of SQL Server on the same computer, thus I would never have a problem with side-by-side installtion of different BIDS versions. Back when SQL Server 2008 came to the market, at a time when I was still developing (nowadays I have concentrated on training) for external customers, I moved everything that needed to stay in SQL 2005 in a Virtual PC environment before installing SQL 2008 on my development gig. Never had one glitch, and between you and me, once it's done, you do not feel the thing at all.

You are right, nothing beats a confirmation by Microsoft. One heards so much crap when looking everywhere, although it's a lot better here at EE. Unfortunately, they do not have much about the type of information you are looking for. The best I could find is the following: http://support.microsoft.com/kb/983332. Something similar happens with Office projects. VS2010 cannot open a VS2003 Word or Excel project created in VS2005 or VS2008. And once converted to an Office 2007 project, it does not work with the older versions of Office. A know a few programmers that have kept their old version of VS to be able to maintain older Office applications.

Hope this helps your reflexion.
25112Author Commented:
James, i really like your perspective..

in regards to "BIDS is a part of .NET." that thought was ingrained with the first msdn article on BIDS in 2005 where it starts with "Business Intelligence Development Studio is Microsoft Visual Studio 2005 " http://msdn.microsoft.com/en-us/library/ms173767%28v=SQL.90%29.aspx do you think they should have worded it better?
25112Author Commented:
the link you found is good to have

basically it is telling not to have 2 BIDS- BIDS 2010 and an earlier version on the same machine, right?
Jacques Bourgeois (James Burger)PresidentCommented:
It does not tell implicitely that you cannot have 2 BIDS installed. As I undertand it, even if it is not implicitely told, you can have both the 2005 and 2008 BIDS installed if you have the 2 servers installed.

What it tells is that different versions of VS and VS with service pack will work differently or not at all, depending on the version of BIDS that you have. And that VS 2010 is not supported for either.
25112Author Commented:
hmm.. not straight forward.. but well said...

could you also comment on the statement in http://msdn.microsoft.com/en-us/library/ms173767%28v=SQL.90%29.aspx 

thanks James
Jacques Bourgeois (James Burger)PresidentCommented:
What comment? The one in yellow? Very simple. 64-bits environments were not supported a lot in 2005, and it looks as if the thing installs only on 32-bits servers. Not having a time machine, I cannot verify this.
25112Author Commented:
sorry, it is the line "Business Intelligence Development Studio is Microsoft Visual Studio 2005"part
Jacques Bourgeois (James Burger)PresidentCommented:
OK, got it.

This can be told of a lot of things.

LightSwitch, a new thing from Microsoft that came it this summer, and that might replace Microsoft Access, is Visual Studio with Ligthswitch project templates built in.

Delphi, a Pascal language platform from the former Borland (god knows how they call the subdivision of a division that now handles their languages platform), integrates into Visual Studio.

Boy, you could even buy COBOL.NET, and it will integrate in Visual Studio as new types of projects.

You must see Visual Studio as an empty shell that you can fill up with almost any type of development tool. That is how Microsoft has designed it. It is a blessing in some ways, it is a pain in others.

It is a blessing, because I, as a developer, do not have anymore to have 25 different applications to cover all my development needs. I fire up Visual Studio, and anything I need to do, no matter the language, no matter if it is a Windows application, a Web application, A WPF application (some kind of bridge between Windows ans Web) or an application that flies in their supposedly wonderful cloud (Azure), no matter if it comes from Microsoft of Borland or somebody else, it is all there in Visual Studio. Some programmers see Visual Studio as Windows for Programmers. You do not fire Windows, you fire Visual Studio, and that is it. All you need is there.

But this is also confusing, because when you read that Business Intelligence Development Studio is Microsoft Visual Studio 2005..., you think that it is part of Visual Studio. It is not. One might be better to say that it is an Add-In. In some other worlds, they would call it a Plug-in.

You need to read the fine print, that comes right after where you got out of the sentence... with additional project types that are specific to SQL Server 2005.

Buy a box called Visual Studio nnnn (where nnnn is the year). Do you have BIDS? No. So in my way of thinking, BIDS is not part of Visual Studio.

Now buy a box called SQL Server nnnn (there is a pattern here... I let you wonder what nnnn means :-)). There is BIDS. With a feature diminished version of Visual Studio. So, in my way of thinking, BIDS is part of SQL Server, but simply integrates in Visual Studio.

Do both. Buy the big wonderful but priced for the likes of Bill Gates Visual Studio Ultimate. Install it. You get tons of superb extremely wonderful tools, no BIDS. Now, install SQL Server over it. BIDS appears. BIDS is as addon to Visual Studio.

Question of semantics maybe, but since BIDS only a set of templates that integrate into Visual Studio, it does not have to follow all the rules of what is installed in Visual Studio straight from the box.
25112Author Commented:
very helpful and storetank of knowledge.. thanks James..
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual C++.NET

From novice to tech pro — start learning today.