Which version of Visual Studio should I install? - visual-studio

I am going to install Visual Studio. I want to know if the latest version of Visual Studio 2010 is backward compatible with previous versions like VS 2005 and 2008. Or is the code functionality and deploy-ability more dependent on the .NET framework version.
I am trying to use a code which will be built into dll. I am not sure in which version of VS the code was written(most probably VS 2005).
Thanks...

I would suggest to go with the latest Version.
VS 2010 can target multiple frameworks.
http://msdn.microsoft.com/en-us/library/bb398197.aspx
So the dll should know with which framework it was compiled...

I have never found any issues with Visual Studio 2010 and previous versions' code. It also does feature significantly improved Intellisense and [IMHO] faster building.

they are all backward compatible
2005 and above allow you to target the framework you want when creating
the project
if the project is older
than the VS, it will prompt you with
a migration wizard upon opening
it(this is a one time only step.

Couple of things to note that i've found with 2010 which have caused us a couple of issues:
1) NHibernate (Castle Proxy) doesn't work with .net framework 4 (Currently)
2) Test Projects are always created aimed at .net framework 4, and you cannot target a lower version of the framework.
Otherwise not many problems, its also nice that the database addition of Visual Studio 2010 has intellisense on your tables/views, as well as many other changes

Always go with the latest, now 2010

Related

When opening a VS2013 solution in VS2015, will I be prompted/required to convert to the newer version?

We're investigating upgrading from VS2013 to VS2015 for C# and C++ solutions. Will opening a VS2013 solution in VS2015 require/suggest converting the project and/or solution files to the newer version, or will they just load with no mention that they are from an earlier version?
No. Starting at Visual Studio 2010 SP1, no solution conversion is required to open an old solution with a newer version of the IDE (and the other way around), and if all your projects are C# and C++, you'll be able to work with VS2015 just fine. Note however that additional data may be added to the solution file, but this will not break backwards compatibility (your soultion will still open in VS2013).
More information: Porting, Migrating, and Upgrading Visual Studio Projects

Will visual studio 2015 projects and solutions be backward compatible with 2013?

Now that Visual Studio 2015 RC is out, has anyone installed it and opened Visual Studio 2013 projects/solutions?
Does it ask the files to be changed?
If yes, are the changes it makes backward compatible?
Take a look at the Porting, Migrating, and Upgrading Visual Studio Projects article for Visual Studio 2015. All of the various caveats are described there.
Not all types of project are supported. I tried the following 4 project types:
Vb.net Class project, OK.
Vb.net Web Services project, OK.
Cordova JS project, not OK, need to migrate manually, by moving the sources from root directory to the www directory and install all API again.
C#.net winform project, OK.
Yes, though you sometimes will have to change the version (single number) in .sln file, no other differences found yet.
We resolved this by typically excluding this file from check in and only check it in when there really was a change (added project, ...) - and then to fix the version before checking in. (Different developer machines with different versions of VS.)
See question Visual Studio 2015 solutions backwards compatibility with Visual Studio 2013 and answer https://stackoverflow.com/a/31540590/586754.
(Assuming you are having basic projects that are supported by both versions, like C# and .net framework that is supported by lower version VS.)

New Laptop - Any reason to install Visual Studio 2012 AND 2013?

I've just been given a new work laptop and have an MSDN subscription. My old laptop had VS 2008, 2010 and 2012. I'd rather not install all of these again if I can avoid it. My main question here is whether there any reason to install VS 2012 if I have access to VS 2013? I believe Projects & Solutions are compatible, what other reasons might there be for installing VS 2012 (and for that matter VS 2010) again? If I have an MVC 3 app created with VS2010, will it be possible to open and work with that in VS2013 without having to "upgrade" the project type?
It really depends on what kind of projects you are working on. Each new releases of VS in fact remove certain features.
http://msdn.microsoft.com/en-us/library/vstudio/hh266747.aspx
ASP.NET MVC 3 is not supported by VS2013.
Lex' answer is pretty good. I'd also like to add that if you are using C++/CLI, upgrading to Visual Studio 2013 will force you to target .NET 4.5, which might not at all be desirable if your users only have .NET 4.0 etc.
You can still target the older frameworks, by letting VS2013 use the older "Platform Toolset" from e.g. VS2010 or VS2012, but this will force you to have either one of these installed. I am using this exact scenario (VS2010 + VS2013) and it works quite well. (I have only VS2010 and 2013, not 2012 in that specific virtual machine.)
Update: Here is a MSDN page which backs up my statement about C++/CLI, just for the reference.

Can I use Visual Studio 2010 without breaking my 2008 apps?

Now Visual Studio 2010 is out can I use Visual Studio 2010 without breaking my 2008 apps? Can I still compile to .Net 2.0 etc?
Thanks
Steven
Yes, you can still target framework 2.0 in VS2010. And you can also run VS2008 alongside VS2010.
Basically, yes, but there are a few things that get changed, for instance:
Testing projects always get converted to .NET 4.0
Project files get stored in "VS 2010" format.
So downgrading back to VS 2008 is not directly possible (in 99% of all cases it's still not a problem by hand-editing the files, takes just a few seconds).
However, usually, this is not an issue though. Your deployment capabilities are not limited by that. You can still target any framework.
Additionally, I found that running VS 2008 alongside 2010 made no problems at all. Including 2008 projects in a 2010 solution works fine and does not change the project file. It's very easy to slowly transmit to the new version step-by-step.

Are there reasons to use Visual Studio 2005 when 2008 is available?

What reasons are there for continuing to run Visual Studio 2005 when 2008 is available?
I work on a project where the environment is dictated to be Visual Studio 2005. Are there good technical reasons for this? Can I use Visual Studio 2008 and build an app that is 100% indistinguishable from the same app build with Visual Studio 2005?
I think there are two questions here
Can I use VS2008 to create apps compatible with VS2005
Generally speaking the answer is yes. I do this frequently with several internal and external hobby projects with great success. You may encounter an odd ball tooling issue but so far none has cropped up for me.
Is there any reason not to use VS2008 over VS2005
The best reason I can think of is a large developer environment. Once you make the switch to using VS2008, it will upgrade all of the projects in your solution to the new format. This will no longer be usable for anyone using VS2005. They will be forced to upgrade or maintain parrallel versions of the project file. In general, I find it's best to upgrade in groups rather than individuals.
We are currently migrating from 2005 to 2008. If you open and save a project while in VS2008, you will not be able to open that solution/project in VS2005 (at least we couldn't find a way easily). If the rest of your team is still in 2005, you should stay there. You CAN, however set up a project in 2008 and keep it compatible with 2005... as long as everyone opening it is using 2008. You keep the .NET version at 2.5, and don't convert most of the stuff that it wants you to convert.
The only time you CAN'T migrate to 2008 is if you are using a report project and SQL Server 2005. VS2008 will only let you integrate a report project with SQL Server 2008. What did we do?
We migrated to 2008 and all the Team Server stuff, except for the database and reporting. Those we kept on 2005, and so I end up having to open both versions on a daily basis... but that's why they pay me the (somewhat??) big bucks!
Not really, the new version of Visual Studio has the compilers for the new language versions and all the libraries for .NET 3.5. Since they all target the 2.0 CLR and Visual Studio 2008 allows you to target previous versions of the framework I don't see any reason to stick with 2005.
The obvious answer is: No license for Visual Studio 2008.
My company is "saving money" but not upgrading...
One reason might be interaction with existing products.
I write code for AutoCAD in C#.
They (Autodesk) "officially" support VS 2005 but I've been using 2008 since...well 2008.

Resources