Does my version of Visual Studio really matter - visual-studio

So I understand that there are new features with every new version of VS and .NET. My question is, does it really matter which version of the IDE I use as long as I use the correct .NET framework when I build and compile my code?
I have a software program that I write my code for, and it only supports VS 2008 and .Net 3.5. I can write my code just fine in VS 2010/12 and compile it via .NET 3.5. Is there really issues with doing this? Will the outside program really know what version I used?
I am asking this because I really enjoy using the interface with VS 2012 compared to 2008/10.

The Target Framework version is independent of the Visual Studio Version.
You can compile against .Net 3.5 in Visual Studio 2010 / 2012.

Is there really issues with doing this? Will the outside program really know what version I used?
In general, no. It shouldn't know or care which version of Visual Studio was used.
The one exception to this is potentially using Visual Studio 2012 to target .NET 4.0. Since 4.5 is an in place replacement of 4.0, and installing VS 2012 always installs .NET 4.5, it's possible that you may hit some of the backward compatibility issues in .NET 4.5.
This can be especially problematic if you don't have the reference assemblies for 4.0 and you hit one of the rare compatibility issues.
Since you're targeting .NET 3.5, which was the last CLR 2 in place upgrade, there should be no issues.

It's possible that the binary would not be bit identical with one compiled from an earlier version of Visual Studio, but it will execute just the same on any machine with the target version of .NET installed.

There are new versions of .NET supported in higher releases of VS, but backward compatibility is maintained so basiacally you can use any version of VS higher than 2008

Related

Why isn't .NET Core 3.1 showing up in Visual Studio after Iinstalled it?

Just installed .NET Core version 3.1.
I'm using Visual Studio 2019, version 16.4.2, so it should be compatible.
But when I try to "create a new project" nothing Core-related shows up in the list, no matter how many ways I try to query.
I'm told it should show up but it doesn't. Haven't a clue as to why (I assume I've missed a step along the way).
VS 2019 16.4.x will always have .NET Core 3.1 as its main target by default, and VS 2019 16.4.0 or later will always install .NET Core 3.1.100 SDK if you select .NET Core workload when you install VS 2019.
If it's not shown when creating new project, then you have to ensure that you have selected the .NET Core workload when you install VS 2019:
Eriawan's answer pointed me in the right direction. The problem was, as suspected, very simple. I had bypassed Core when first installing VS 2019. Just had to use the Installer and install to fix.

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 :)

Visual Studio 2008 support for new .NET 4

Will Visual Studio 2008 be supported by new .NET 4 from the get go?
I'm particularly interested in the System.Collections.Concurrent namespace and the parallel task library, which I would use immediately.
Is it worth upgrading to Visual Studio 2010 when it comes out?
No. VS2008 will not be able to target .NET 4.0:
[...] Visual Studio 2010 supports .NET 4 and earlier projects. Visual Studio 2008 supports .NET 3.5SP1 projects.
Source, comment posted by Polita Paulus
While you can't use .NET 4.0 itself from VS2008, if you're interested in the Parallel Extensions stuff, you could download the Reactive Framework (formerly LINQ to Rx) which I believe contains at least a lot of Parallel Extensions backported to .NET 3.5 SP1.
From the Release Notes, it includes:
System.Threading, backport of Parallel Extensions for .NET 4 to .NET 3.5 SP1
Task for executing asynchronous operations.
Concurrent Collections such as ConcurrentStack, ConcurentQueue ad ConcurrentDictionary.
PLINQ for writing parallel queries.
addition Threading operations such as Barrier,SpinLock and SpinWait.
If you want to know whether upgrading to VS 2010 will be worth it, then download beta 2 now, and try it out. Run it in a virtual machine if you don't trust it on a normal development machine. Run through some of the PDC videos showing the new features. Go through the Training Courses.
And above all, tell Microsoft what you think.
Historically - No.
Starting with 2008 the IDE has been able to target lower version frameworks, but I doubt they will ever target a newer version framework.

Is it wise to work with Visual Studio 2010 Release Candidate?

I downloaded VS 2010 RC and want to try it out.
Can I use it to create commercial software?
When will the final version be released?
The final version of Visual Studio 2010 will probably be released on April 12th, 2010.
However, you can already use the release candidates of Visual Studio 2010 and .NET Framework 4 which both are go live releases (since Beta 2). This means that there will be no breaking changes in the final release versus RC that will make your software unusable, and that they are licensed for developing and deploying production applications.
As with all Visual Studio versions, it is possible to target another earlier .NET framework version, that is you can still develop for .NET 2.0 as an example.
It is also possible to – and in fact a good idea – install Visual Studio 2010 Release Candidate side-by-side with other versions of Visual Studio.
All in all I see no risk in trying out Visual Studio 2010 Release Candidate. It is obvious that it is not the most stable piece of software at this moment, but certainly usable.
You can still target previous Framework versions so if you want to develop applications there is no reason why it should be any different. The issue would come if you tried to develop .Net 4 solutions as there will not be many people using that yet, especially commercially
Believe the final version will be released end of March. Until then you can't distribute it to customers as the .NET 4.0 installer won't be made available to them.
Is it wise to do so? Well it probably depends on your product. If it's mission critical I'd wait till it's been used for a bit and any bugs are ironed out of .NET 4.0 via service packs. For normal applications I don't really see why not, it's had some pretty rigorous testing internally and by dev's I'm sure.
As long as you're not targeting the 4.0 runtime, you can use it to develop and deploy applications today.
Visual Studio 2010 can target previous versions of the .NET framework, so that's not a problem. However, projects or solutions that were created or modified with Visual Studio 2010 cannot be opened by Visual Studio 2008 without manually editing the project files. So I would definitely not recommend upgrading to VS2010 if you work on a team and your teammates still use VS2008.
I tried vs 2010 beta 2 with a MFC application. The intelisense is improved but the compilers has some problems - sometimes it just freezes and I have to restart VS. Maybe this was fixed in the RC version that was released a few days ago.
Take in consideration that you might have to pay a price (instability) for new technologies.
Work on whatever you want, but I think you should study your customers, as to what OS do they use, are they looking to upgrade, the effects of net 4.0 on your application, etc...
Whenever these things come out, there should always be a phasing plan in place. Although, it's more work, I personally think that it's a great approach
VS2010 is not yet released for commercial use. So if you are using it for commercial use, it is not appropriate. Though it was planned for March 2010 release, you can expect it with some possible delay.

Resources