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

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.

Related

Is Visual Studio 2017 RC backwards compatible with Visual Studio 2013 solutions?

We have several VS2013 solutions all targeting .NET 3.5, with several WinForms projects, an ASP.NET Web Application, and a Windows Service. Mostly VB.NET with some C#.
These projects all worked fine in VS2013 and VS2015 - we could open, work on, save, compile and run them, in both versions of VS.
We didn't move to VS2015 in the end because it was so buggy - VB.NET Edit & Continue was hopelessly broken, and Intellisense didn't work so well either.
So now we're contemplating skipping 2015 and moving straight from 2013 to 2017, but again we're nervous, wanting to run them in parallel for a while until we feel 2017 is ok. It's a two person team, and one would be sticking with VS2013 while the other one develops with VS2017.
So: can you use both VS2013 and VS2017 to work on the same codebase in the same way that you could with VS2013 and VS2015?
We aren't yet using features that come with later versions but we do want to move to the newer IDE as a precursor to moving to more recent framework versions and language features.
The compatibility between different versions of VS should remain the same - that is, VS2017 and VS2013 should work together as well as VS2015 does with VS2013. The usual caveats apply: any globally installed packages/frameworks from VS2017 might have unintended impact on VS2013 (for example, if VS2017 installs a newer version of the .NET Framework that has an unintentional behavior change).
In general, VS2017 ought to be very compatible with other versions of VS. Most of the install payload is now local to that VS installation with lessened impact to the system (no GAC'ed components, no registry keys, etc), so the impact to your box should be less than VS2015.
Obviously, if you add functionality to your solution that's from VS2017 and isn't back-compatible to VS2013, an upgrade will be forced. But that's also no different than VS2015 was.

Which version of Visual Studio should I install?

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

If I have Both Visual Studio 2008 and 2010, do have I have to keep both

I recently downloaded VS 2010 trial, the new version is more easy to use.
I have VS 2008 installed, If i decide to use VS 2010 in the future, do I still have to keep VS 2008? Is there any compatibility issue with it?
You would need to keep VS2008 installed if you target Windows CE (via Compact Framework, native smart device projects, etc.)
http://msdn.microsoft.com/en-us/library/sa69he4t.aspx
Also if you want to write native applications that run on versions of Windows before XP SP3 and Server 2003 SP2, this is no longer possible with VC++ 2010. The same applies to managed code written for the .NET Framework 4.0, but you can still use Framework 3.5 with VS2010 for projects with managed code only.
And Intellisense for C++/CLI code is gone (MS promises to remedy that in the future, whether a service pack or the next version I cannot say).
If you open a VS 2008 solution or a project in VS 2010 it will be converted to VS 2010 and you will not be able to open it in VS 2008.
If that is not a problem then you don´t have to keep VS 2008, unless you are using a addin or some other third party application with VS 2008 that is not compatible with VS 2010.
Edit:
Look at Ben Voigt´s answer for information for which version have support for different platforms.
VS2010 allows you to specify the target framework that you'd like to develop on. There should be no reason to keep VS2008 installed unless you've become accustom to some handy plugins :)

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