Skip to main content

How to identify which version of the .Net Framework you have installed

A recent legacy application port, to containerize, as a docker image, running as an Azure Web App, AKA Web App for Containers, required a custom install of .Net 4.6.1. As part of testing an upgrade from an unsupported .Net Framework version 4


The following is a useful way to determine the version of the 4 framework installed. Instead of creating a new hive under the NDP, a modification is performed to update the version, which on first glance is not obvious.


The first thing i encountered was a 500 error message on the site, with no application error log entries as it had not made it that far in the pipeline. was an initially confusing error message in the event viewer detailed below:
https://stackoverflow.com/questions/31253747/method-not-found-0-system-array-empty




  1. Launch the registry editor by typing regedit in a Run box.
  2. On the left-hand side, navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
  3. If the Full subkey is not present, then you do not have the .NET Framework 4.5 or later installed.
  4. Select the key inside the Full subkey:
    NETFrame.png
  5. On the right hand side look for the DWORD value Release:
    NETDword.png
  6. Take note of the 6 digit number in brackets and look it up in the table below:
.NET Framework 4.5378389
.NET Framework 4.5.1 installed with Windows 8.1378675
.NET Framework 4.5.1 installed on Windows 8, Windows 7 SP1, or Windows Vista SP2378758
.NET Framework 4.5.2379893
.NET Framework 4.6 installed with Windows 10393295
.NET Framework 4.6 installed on all other Windows OS versions393297
.NET Framework 4.6.1 installed on Windows 10394254
.NET Framework 4.6.1 installed on all other Windows OS versions394271
.NET Framework 4.6.2 installed on Windows 10 Anniversary Update394802
.NET Framework 4.6.2 installed on all other Windows OS versions394806
.NET Framework 4.7 installed on Windows 10 Creators Update460798
.NET Framework 4.7 installed on all other Windows OS versions460805
.NET Framework 4.7.1 installed on Windows 10 Fall Creators Update461308
.NET Framework 4.7.1 installed on all other Windows OS versions461310
.NET Framework 4.7.2 installed on Windows 10 April 2018 Update461808
.NET Framework 4.7.2 installed on all other Windows OS versions461814

If you would like some hands on expertise for your business feel free to reach via my company assemblysoft or checkout some other musings via my blazor.net and azure blog here carlrandall.net

Popular posts from this blog

Azure Devops - Pull Request Merge Conflicts

Before a Git pull request can complete, any conflicts with the target branch must be resolved. Out of the box, at the time of writing this article, Azure DevOps requires this to be resolved locally. Following best practices to not allow direct commits to our release/master branches further exasperates the problem as we need to effectively clone the branch or go with a rebase approach, both of which break the natural flow of resolving the conflicts as part of the pull request. With this extension, from the Microsoft DevLabs team via the Marketplace, you can resolve these conflicts online, as part of the pull request process, instead of being forced to break flow and resolve locally. Online Experience After adding the extension the new conflicts tab is visible which enables conflict resolution in the familiar side by side review page as shown below: Really nice extension, which should make resolving merge conflicts a much more straightforward part of the DevOps

Azure DevOps Authorisation

Managing whether an identity has access to a given  service, feature, function, object, or method in Azure DevOps comes down to authorisation. Fortunately, by default, the DevOps permissions are set in such a way to enable you to focus on the job at hand, DevOps. Loosely translated this means 'don't get in my way'. My experience is that the Azure DevOps team have done a good job at this, enabling you to crack on developing, building, testing and releasing without much hindrance. Working with relaxed permissions is great when you are the owner and possibly either a one man band or small team but as soon as we need to consider larger teams, varying roles with approvals and degrees of access, authorisation becomes a real concern. I was recently involved in a project utilising offshore developers where trust was a concern and a number of specific teams handling specific roles needed to come together to approve a set of pipelines.  This article is a pick of findings a

Adding mobile support for MVC4 Web Applications

A few years ago, mobile web sites were more of an after-thought for many developers unless you were involved in developing apps specifically targeted for mobile devices. I was surprised to read on wiki that it was only March 2010 when Apple began taking pre-orders for the iPad. What a different landscape we have seen since. Desktops, Tablet and Mobile support are now a major design goal for any site that needs a broad reach and this is only set to increase.   This article will demonstrate how MVC4 , almost out of the box allows us to deliver views that cater for specific mobile devices and keep the code base shared as much as possible, creating mobile friendly web applications. Read complete article... Also checkout some other musings via my blazor.net and azure blog here  carlrandall.net