.NET 4.5 is an in-place-upgrade and therefore replaces .NET 4.0. Consequently when I install .NET 4.5 with Visual Studio 2012 I can no longer develop applications for .NET 4.0.
As .NET 4.5 is not supported under Windows XP, how can I maintain my existing .NET 4.0 applications which still have to run under Windows XP after I installed Visual Studio 2012?
Until now I could always devlop .NET applications for every version, even .NET 1.1, as long as VS2003 was installed. I don't have a problem with Microsoft not supporting .NET 4.5 on XP, I think it's allright to cut off old stuff.
But as we have still customers using Windows XP, we need to be able to create .NET 4.0 programs at the same time as .NET 4.5.
EDIT:
I just had my first incompatibility issue: I installed VS 2012 on a Windows Server 2012. I created a project targeting .NET 4.0. In blend 4.0 I create a copy of a control template of a checkbox. The generated template contains references on colors which are available only under .NET 4.5. The solution cannot be compiled any longer. However the same case works fine on my Windows 7 installation.
I assume that the installation of .NET 4.5 has replaced the control templates for my standard controls. Therefore I cannot create copies any longer.
Ironically, it seems Mono supports much of the .NET 4.5 functionality, and that it can be installed on Windows XP.
If your need C# 5.0's async and your client refuses to upgrade it's OS, this can be an option.
I have run into some serious issues developing .NET programs for 4.0 against computers with 4.5 installed. One issue, for instance, is that if you are doing WPF development and have a private setter on a property - if you're binding to that property with Mode=TwoWay, you will not get an exception if you're developing against .NET 4.5! You should get an exception and you will if you're in an environment with only .NET 4.0 installed (even though you're developing to target 4.0 in Visual Studio). Now obviously you should not have Mode=TwoWay and a private setter, but maybe you had originally intended for the property to be only OneWay. The point is that this is just one of many examples of issues that are simply swept under the rug by 4.5 and has caused me to go back to developing in Windows 7 with Visual Studio 2010 and .NET 4.0 for anything targeting .NET 4.0.
In the meantime I have found a great blog of Scot Hanselman which answers my concerns: http://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx
.NET 4.5 is an in-place-upgrade and replaces the .NET 4.0 CLR, but it will still be possible to create .NET 4.0 applications with Visual Studio 2012.
EDIT: I now installed the final release of VS2012. My existing .NET 4.0 projects compile and run, no problems so far. The only drawback is, it doesn't support Windows Installer Projects any longer. You can switch forward and backward between VS2010 and VS2012.
BIG EDIT: We should wait until Microsoft announces the final decision, it's not clear yet, only conclusions.
But, I think that Microsoft won't drop support for XP and Vista that easy, it appears that the matter of decreasing support is just for speed-purposes to show it to the developers.
Also, if the it comes true and Microsoft Stopped the support for XP and Vista, then you have the virtual machine as an excellent choice!
Best wishes
Related
I'm about to install .net 4.5 on a windows 2008 server with .net 2.0 and .net 4.0 already installed. I also have over 10 web forms applications running on iis. Microsoft said that the in-place installation of 4.5 over 4.0 is completely backwards compatible, but I still want to know if I should have any other concerns before I go ahead with the install. Is everything going to break? I'm so scared!
Be ready for the unexpected. You have several applications running in that server.
And see MSDN about that
Assuming a WinPE 4.0 image is setup correctly with the WinPE-NetFx4.cab, WinPE-NetFx4_en-us.cab and prerequisite packages like WMI, should an app built in Visual Studio 2008 for .NET 3.5 execute? Or, is the app linked to strong name signed 3.5 assemblies such that it will not use the equivalent ones in .NET 4.0?
I'm also using WinPE 4.0 and experienced the same issue. Most of my app developed using earlier version of .NET Framework (.NET 3.0 & 3.5) will not execute (execute but nothing show up on screen)
A further investigation was made into the WinPE 4.0 WIM's Windows directory "Windows\Microsoft.NET\Framework" show only signs of version 4 (for my case v4.0.30319) was installed (WinPE-NetFx4.cab).
This concludes Microsoft's WinPE 4.0 only supports .NET Framework 4.
In order to make your app work again, re-compiled them using .NET Framework 4 assemblies.
We have built an app with Visual Studio 2012 and it runs beautifully on any Windows 7 or Vista machine, 32 or 64 bit. However, when I try to run the app on an Win XP machine, I get this:
**
Prerequisite check for system component Microsoft .NET Framework 4.5
(x86 and x64) failed with the following error message:
"Installation of the Microsoft .NET Framework 4.5 is not supported on
this operating system. Contact your application vendor."
**
And then of course, when I try to install .NET 4.5 on the Win XP machine, I find out it's not supported.
At this point, I'm just wanting to know what can be done to get this app to run on Win XP. It's a calculator application written in visual basic.
Thanks Guys!
.Net framework 4.5 is not supported in Windows XP. If you're not using any .Net 4.5 features you can rebuild your app using .Net Framework 4 (In the Project properties).
I always hate these kind of answers, but a quick google search indicates that you can't get .net 4.5 to run on Windows XP.
IF you really really need your application to run, you can always use earlier versions of the framework
you can do this by
Right click on your project and go to
properties
application
target framework
and change that to something elxe
I just installed VS 2012 Ultimate RTM on Windows 8 Pro RTM and tried to open a solution containing several projects (class libraries and WinForms) targeting .NET 4.0.
When the solution is loaded, VS prompts that .NET 4.0 isn't supported. It gives me the chance to update my projects to 4.5 (and promises that I could change the target later) or install a "Multi targeting pack" for 4.0 from this page.
I decided to update my projects to 4.5 because I had no luck installing the offered Multi targeting pack (errors see below).
Unfortunately, VS does not show 4.0 as a target by default (when changing the target for an updated project), but redirects me to the page where I can download the Multi targeting pack.
So far so good, but I wasn't able to install any of the offered downloads (neither runtime nor targeting pack) again.
The error message says in case of .NET Framework 4.0.3 Targeting Pack:
Setup has detected that this computer does not meet the requirements to install this software. The following blocking issues must be resolved before you can install KB2600213 software package.
Installation Requirements:
Microsoft .NET Framework 4 Multi-Targeting Pack was not found. Please repair your installation for Microsoft Visual Studio 2010 in order to get this update.
Strange enough since I have no VS2010 installed.
.NET Framework 4.0.3 Runtime Installation stops with the following error:
KB2600211 does not apply, or is blocked by another condition on your computer.
I've checked that .NET 4.0 is installed (using the .NET Installation verification tool), I've tried to repair VS2012 but nothing let me target .NET 4 and the Event log does not contain any related reports. Any suggestions or hints (besides going back to Win7/VS2010)?
I'm honestly not sure what's going on. I have VS 2012 Ultimate RTM and all versions of .NET are supported.
I'm almost positive I never installed any .NET frameworks manually, though I did install Visual Studio 2010 Express for Windows Phone from http://create.msdn.com.
I found that links:
Microsoft .NET Framework 4 (Web Installer)
Microsoft .NET Framework 4 (Standalone Installer)
Microsoft .NET Framework 4 Client Profile (Standalone Installer)
Note that (2) the size is 48.0 MB and the (3) the size is 41.0 MB. It's not the REAL .Net 4 Full Standalone. :(
I want that installer in a usb pen drive because my app need of features of .Net 4 Full Framework (like MSBuild) and I will install in a enviroment without Internet access.
PS: I tested the (2) and really is the Client Profile with another name... :(
Actually, you already found the full .NET 4 SDK. Microsoft put in a lot of effort to decrease the size.
The Microsoft .NET Framework 4
redistributable package installs the
.NET Framework runtime and associated
files that are required to run and
develop applications to target the
.NET Framework 4.
Have a look at this hanselpost.
The prerequisites have changed since .NET 3.5 SP1, .NET 4.0 requires at least XP SP3, Windows 2003 SP2 or Vista SP1. .NET 3.5 could be installed on any version of these operating systems, including a 11 year old completely unpatched version of XP.
So the 3.5 installer also needs to be able to update a bunch of native Windows components.
Not having to include the Windows component updates and additions allowed for a significant size reduction. If that's an issue then you'll have to include the Windows service pack installers on your pen drive.