<p>What are the different ways (programmatically and otherwise) to determine what versions of .NET are running on a system?</p>

[{'answer_id': 52366, 'author': 'Torlack', 'author_id': 5243, 'author_profile': 'https://Stackoverflow.com/users/5243', 'pm_score': 4, 'selected': True, 'text': '<p>Directly from the source:</p>\n\n<p><em><a href="http://support.microsoft.com/kb/318785" rel="nofollow noreferrer">How to determine which versions and service pack levels of the Microsoft .NET Framework are installed</a></em></p>\n'}, {'answer_id': 52373, 'author': 'Darren Kopp', 'author_id': 77, 'author_profile': 'https://Stackoverflow.com/users/77', 'pm_score': 0, 'selected': False, 'text': '<p><a href="http://www.hanselman.com/smallestdotnet/" rel="nofollow noreferrer">Get the smallest .NET Framework download possible</a> that will tell you based on the headers you are sending. It only works on Internet Explorer or if you have the Firefox extension installed. More info in <a href="http://www.hanselman.com/blog/SmallestDotNetOnTheSizeOfTheNETFramework.aspx" rel="nofollow noreferrer">Hanselman\'s blog post</a>.</p>\n'}, {'answer_id': 52402, 'author': 'chrisofspades', 'author_id': 2614, 'author_profile': 'https://Stackoverflow.com/users/2614', 'pm_score': 0, 'selected': False, 'text': "<p>If you're using IIS6 and above, open up IIS and click on Web Service Extensions.  It will list each framework installed.  Granted, .NET 3.0 and 3.5 are both based on the 2.0 framework.</p>\n"}, {'answer_id': 52422, 'author': 'Ryan Farley', 'author_id': 1627, 'author_profile': 'https://Stackoverflow.com/users/1627', 'pm_score': 2, 'selected': False, 'text': "<p>If you're wanting the current framework version <strong>in use</strong> then you can see that via:  </p>\n\n<pre><code>System.Environment.Version\n</code></pre>\n"}, {'answer_id': 52426, 'author': 'Jimmy Chandra', 'author_id': 5321, 'author_profile': 'https://Stackoverflow.com/users/5321', 'pm_score': 0, 'selected': False, 'text': "<p>It's not necessarily running I would say. Since you can have .NET 1.1, 2.0, 3.0 and 3.5 installed on the same machine and they can run perfectly side-by-side.  Meaning one of your app can be running on top of 1.1 and another web application is running on 2.0.</p>\n\n<p>In IIS (for web app), this is quite easy, just go to the property of the virtual directory / application and go to the ASP.NET tab, you should see what version of .NET you are actually using (or rather, what version of ASP.NET which is pretty much tied into the .NET Framework version).</p>\n\n<p>ps. just remember, you can only run 1 version of .NET Framework per application pool in IIS.\nSo if you try to use the same application pool to run different versions of the framework, you're in for a surprise.  Solution is to just create a framework version specific application pool (i.e. one pool for all 1.1 framework and another for 2.0 framework)</p>\n"}, {'answer_id': 3161437, 'author': 'cognitiaclaeves', 'author_id': 305442, 'author_profile': 'https://Stackoverflow.com/users/305442', 'pm_score': 2, 'selected': False, 'text': '<p>I found <em><a href="http://www.walkernews.net/2008/05/16/how-to-check-net-framework-version-installed/" rel="nofollow noreferrer">How to check .NET Framework version installed</a></em> much more usable. Essentially, open Internet&nbsp;Explorer, and paste this into the address bar:</p>\n\n<pre><code>javascript:alert(navigator.userAgent)\n</code></pre>\n\n<p>I don\'t know if it always works, or if it is complete, but it works for my uses, doesn\'t require a lot of extra reading, and works without installing anything additional.</p>\n'}]
['https://Stackoverflow.com/questions/52360', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/2141/']