
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
	<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head><card id="MainCard" title="&#x6B22;&#x8FCE;&#x5149;&#x4E34;"><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a><br/>&nbsp;</p><p><b>&#x6807;&#x9898;&#x3A;</b> &#x5982;&#x4F55;&#xFF1A;&#x786E;&#x5B9A;&#x8BA1;&#x7B97;&#x673A;&#x5B89;&#x88C5;&#x4E86;&#x54EA;&#x4E9B;&#x20;&#x2E;&#x4E;&#x45;&#x54;&#x20;&#x46;&#x72;&#x61;&#x6D;&#x65;&#x77;&#x6F;&#x72;&#x6B;&#x20;&#x7248;&#x672C;&#x5B;&#x8F6C;&#x5D;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x31;&#x36;&#x2D;&#x30;&#x39;&#x2D;&#x30;&#x36;&#x20;&#x31;&#x31;&#x3A;&#x34;&#x33;&#x20;&#x41;&#x4D;</p><p><b>&#x5206;&#x7C7B;&#x3A;</b> <a href="wap.asp?do=showLog&amp;cateID=10">&#x64CD;&#x4F5C;&#x7CFB;&#x7EDF;</a></p><p><b>&#x5185;&#x5BB9;&#x3A;</b> &#x7528;&#x6237;&#x53EF;&#x5728;&#x4ED6;&#x4EEC;&#x7684;&#x8BA1;&#x7B97;&#x673A;&#x4E0A;&#x5B89;&#x88C5;&#x548C;&#x8FD0;&#x884C; .NET Framework &#x7684;&#x591A;&#x4E2A;&#x7248;&#x672C;&#x3002; &#x5F53;&#x4F60;&#x5F00;&#x53D1;&#x6216;&#x90E8;&#x7F72;&#x5E94;&#x7528;&#x65F6;&#xFF0C;&#x4F60;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x77E5;&#x9053;&#x7528;&#x6237;&#x7684;&#x8BA1;&#x7B97;&#x673A;&#x4E0A;&#x5B89;&#x88C5;&#x4E86;&#x54EA;&#x4E9B; .NET Framework &#x7248;&#x672C;&#x3002; &#x8BF7;&#x6CE8;&#x610F;&#xFF0C;.NET Framework &#x7531;&#x4E24;&#x4E2A;&#x91C7;&#x7528;&#x4E0D;&#x540C;&#x7248;&#x672C;&#x7684;&#x4E3B;&#x8981;&#x7EC4;&#x4EF6;&#x6784;&#x6210;&#xFF1A;<br/>&#xB7;&#x4E00;&#x7EC4;&#x7A0B;&#x5E8F;&#x96C6;&#xFF0C;&#x5B83;&#x4EEC;&#x662F;&#x4E3A;&#x5E94;&#x7528;&#x63D0;&#x4F9B;&#x529F;&#x80FD;&#x7684;&#x7C7B;&#x578B;&#x4E0E;&#x8D44;&#x6E90;&#x7684;&#x96C6;&#x5408;&#x3002; .NET Framework &#x548C;&#x7A0B;&#x5E8F;&#x96C6;&#x4F7F;&#x7528;&#x76F8;&#x540C;&#x7684;&#x7248;&#x672C;&#x53F7;&#x3002;<br/>&#xB7;&#x516C;&#x5171;&#x8BED;&#x8A00;&#x8FD0;&#x884C;&#x65F6; (CLR)&#xFF0C;&#x53EF;&#x7BA1;&#x7406;&#x5E76;&#x6267;&#x884C;&#x5E94;&#x7528;&#x7684;&#x4EE3;&#x7801;&#x3002; CLR &#x7531;&#x5176;&#x81EA;&#x5DF1;&#x7684;&#x7248;&#x672C;&#x53F7;&#x6807;&#x8BC6;&#xFF08;&#x8BF7;&#x53C2;&#x9605;.NET Framework &#x7248;&#x672C;&#x548C;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#xFF09;&#x3002;<br/>&#x82E5;&#x8981;&#x83B7;&#x53D6;&#x8BA1;&#x7B97;&#x673A;&#x4E0A;&#x5B89;&#x88C5;&#x7684; .NET Framework &#x7248;&#x672C;&#x7684;&#x51C6;&#x786E;&#x5217;&#x8868;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x5728;&#x4EE3;&#x7801;&#x4E2D;&#x67E5;&#x770B;&#x6CE8;&#x518C;&#x8868;&#x6216;&#x67E5;&#x8BE2;&#x6CE8;&#x518C;&#x8868;&#xFF0C;&#x82E5;&#x8981;&#x67E5;&#x627E; CLR &#x7248;&#x672C;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x5DE5;&#x5177;&#x6216;&#x4EE3;&#x7801;&#x3002;<br/>&#x901A;&#x8FC7;&#x67E5;&#x770B;&#x6CE8;&#x518C;&#x8868;&#x6765;&#x67E5;&#x627E; .NET Framework &#x7248;&#x672C; (.NET Framework 1-4)<br/>1).&#x5728;&#x201C;&#x5F00;&#x59CB;&#x201D;&#x83DC;&#x5355;&#x4E0A;&#xFF0C;&#x9009;&#x62E9;&#x201C;&#x8FD0;&#x884C;&#x201D;&#xFF1B;<br/>2).&#x5728;&#x201C;&#x6253;&#x5F00;&#x201D;&#x6846;&#x4E2D;&#xFF0C;&#x8F93;&#x5165;&#x201C;regedit.exe&#x201D;&#xFF0C;&#x4F60;&#x5FC5;&#x987B;&#x5177;&#x6709;&#x7BA1;&#x7406;&#x51ED;&#x636E;&#x624D;&#x80FD;&#x8FD0;&#x884C; regedit.exe&#xFF1B;<br/>3).&#x5728;&#x6CE8;&#x518C;&#x8868;&#x7F16;&#x8F91;&#x5668;&#x4E2D;&#xFF0C;&#x6253;&#x5F00;&#x4EE5;&#x4E0B;&#x5B50;&#x9879;&#xFF1A;<br/> &#x5F15;&#x7528;&#x5185;&#x5BB9;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP<br/>&#x5B89;&#x88C5;&#x7684;&#x7248;&#x672C;&#x5C06;&#x5728; NDP &#x5B50;&#x9879;&#x7684;&#x4E0B;&#x65B9;&#x5217;&#x51FA;&#x3002; &#x7248;&#x672C;&#x53F7;&#x5B58;&#x50A8;&#x5728;&#x201C;&#x7248;&#x672C;&#x201D;&#x9879;&#x4E2D;&#x3002; &#x5BF9;&#x4E8E; .NET Framework 4&#xFF0C;&#x201C;&#x7248;&#x672C;&#x201D;&#x9879;&#x4F4D;&#x4E8E;&#x5BA2;&#x6237;&#x7AEF;&#x6216;&#x5B8C;&#x6574;&#x5B50;&#x9879;&#x4E0B;&#xFF08;&#x5728; NDP &#x4E0B;&#xFF09;&#xFF0C;&#x6216;&#x5728;&#x4E24;&#x4E2A;&#x5B50;&#x9879;&#x4E0B;&#x3002;<br/>&#x6CE8;&#x610F;&#xFF1A;&#x6CE8;&#x518C;&#x8868;&#x4E2D;&#x7684;&#x201C;NET Framework Setup&#x201D;&#x6587;&#x4EF6;&#x5939;&#x4E0D;&#x4F1A;&#x4EE5;&#x53E5;&#x70B9;&#x5F00;&#x5934;&#x3002;<br/>&#x901A;&#x8FC7;&#x67E5;&#x770B;&#x6CE8;&#x518C;&#x8868;&#x6765;&#x67E5;&#x627E; .NET Framework &#x7248;&#x672C;&#xFF08;.NET Framework 4.5 &#x548C;&#x66F4;&#x9AD8;&#x7248;&#x672C;&#xFF09;<br/>1).&#x5728;&#x201C;&#x5F00;&#x59CB;&#x201D;&#x83DC;&#x5355;&#x4E0A;&#xFF0C;&#x9009;&#x62E9;&#x201C;&#x8FD0;&#x884C;&#x201D;&#xFF1B;<br/>2).&#x5728;&#x201C;&#x6253;&#x5F00;&#x201D;&#x6846;&#x4E2D;&#xFF0C;&#x8F93;&#x5165;&#x201C;regedit.exe&#x201D;&#xFF0C;&#x4F60;&#x5FC5;&#x987B;&#x5177;&#x6709;&#x7BA1;&#x7406;&#x51ED;&#x636E;&#x624D;&#x80FD;&#x8FD0;&#x884C; regedit.exe&#xFF1B;<br/>3).&#x5728;&#x6CE8;&#x518C;&#x8868;&#x7F16;&#x8F91;&#x5668;&#x4E2D;&#xFF0C;&#x6253;&#x5F00;&#x4EE5;&#x4E0B;&#x5B50;&#x9879;&#xFF1A;<br/> &#x5F15;&#x7528;&#x5185;&#x5BB9;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full<br/>&#x6CE8;&#x610F;&#xFF1A;Full &#x5B50;&#x9879;&#x7684;&#x8DEF;&#x5F84;&#x5305;&#x62EC; Net Framework &#x5B50;&#x9879;&#xFF0C;&#x800C;&#x4E0D;&#x5305;&#x62EC; .NET Framework&#x3002;&#x5982;&#x679C; Full &#x5B50;&#x9879;&#x4E0D;&#x5B58;&#x5728;&#xFF0C;&#x5219;&#x8868;&#x793A;&#x4F60;&#x5C1A;&#x672A;&#x5B89;&#x88C5; .NET Framework 4.5 &#x6216;&#x66F4;&#x9AD8;&#x7248;&#x672C;&#x3002;<br/>&#x68C0;&#x67E5;&#x540D;&#x4E3A; Release &#x7684; DWORD &#x503C;&#x3002; &#x5B58;&#x5728; Release DWORD &#x8868;&#x660E;&#x8BE5;&#x8BA1;&#x7B97;&#x673A;&#x4E0A;&#x5DF2;&#x5B89;&#x88C5; .NET Framework 4.5 &#x6216;&#x66F4;&#x65B0;&#x7248;&#x672C;&#x3002;<br/>Release DWORD &#x7684;&#x503C;&#x6307;&#x793A;&#x5C06;&#x5B89;&#x88C5;&#x7684; .NET Framework &#x7248;&#x672C;&#xFF1A;<br/>&#x901A;&#x8FC7;&#x5728;&#x4EE3;&#x7801;&#x4E2D;&#x67E5;&#x8BE2;&#x6CE8;&#x518C;&#x8868;&#x6765;&#x67E5;&#x627E; .NET Framework &#x7248;&#x672C; (.NET Framework 1-4)<br/>&#x4F7F;&#x7528; Microsoft.Win32.RegistryKey &#x7C7B;&#x8BBF;&#x95EE; Windows &#x6CE8;&#x518C;&#x8868;&#x4E2D; HKEY_LOCAL_MACHINE &#x4E0B;&#x7684; Software\Microsoft\NET Framework Setup\NDP\ &#x5B50;&#x9879;&#x3002;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;using System;<br/>using Microsoft.Win32;<br/>namespace ConsoleApplication1<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;class Program<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static void Main(string[] args)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetVersionFromRegistry();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.ReadKey();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static void GetVersionFromRegistry()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Opens the registry key for the .NET Framework entry.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using (RegistryKey ndpKey =<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, &#34;&#34;).<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OpenSubKey(@&#34;SOFTWARE\Microsoft\NET Framework Setup\NDP\&#34;))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// As an alt&#101;rnative, if you know the computers you will query are running .NET Framework 4.5 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// o&#114; later, you can use:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// RegistryView.Registry32).OpenSubKey(@&#34;SOFTWARE\Microsoft\NET Framework Setup\NDP\&#34;))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (string versionKeyName in ndpKey.GetSubKeyNames())<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (versionKeyName.StartsWith(&#34;v&#34;))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string name = (string)versionKey.GetValue(&#34;Version&#34;, &#34;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string sp = versionKey.GetValue(&#34;SP&#34;, &#34;&#34;).ToString();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string install = versionKey.GetValue(&#34;Install&#34;, &#34;&#34;).ToString();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (install == &#34;&#34;) //no install info, must be later.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(versionKeyName + &#34;&nbsp;&nbsp;&#34; + name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (sp != &#34;&#34; &amp;&amp; install == &#34;1&#34;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(versionKeyName + &#34;&nbsp;&nbsp;&#34; + name + &#34;&nbsp;&nbsp;SP&#34; + sp);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (name != &#34;&#34;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (string subKeyName in versionKey.GetSubKeyNames())<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RegistryKey subKey = versionKey.OpenSubKey(subKeyName);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name = (string)subKey.GetValue(&#34;Version&#34;, &#34;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (name != &#34;&#34;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sp = subKey.GetValue(&#34;SP&#34;, &#34;&#34;).ToString();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;install = subKey.GetValue(&#34;Install&#34;, &#34;&#34;).ToString();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (install == &#34;&#34;) //no install info, must be later.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(versionKeyName + &#34;&nbsp;&nbsp;&#34; + name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (sp != &#34;&#34; &amp;&amp; install == &#34;1&#34;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;&nbsp;&nbsp;&#34; + subKeyName + &#34;&nbsp;&nbsp;&#34; + name + &#34;&nbsp;&nbsp;SP&#34; + sp);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if (install == &#34;1&#34;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;&nbsp;&nbsp;&#34; + subKeyName + &#34;&nbsp;&nbsp;&#34; + name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x8BE5;&#x793A;&#x4F8B;&#x751F;&#x6210;&#x7C7B;&#x4F3C;&#x4E0B;&#x9762;&#x5185;&#x5BB9;&#x7684;&#x8F93;&#x51FA;&#xFF1A;<br/> &#x5F15;&#x7528;&#x5185;&#x5BB9;v2.0.50727&nbsp;&nbsp;2.0.50727.4927&nbsp;&nbsp;SP2<br/>v3.0&nbsp;&nbsp;3.0.30729.4926&nbsp;&nbsp;SP2<br/>v3.5&nbsp;&nbsp;3.5.30729.4926&nbsp;&nbsp;SP1<br/>v4<br/>&nbsp;&nbsp;Client&nbsp;&nbsp;4.6.01055<br/>&nbsp;&nbsp;Full&nbsp;&nbsp;4.6.01055<br/>v4.0<br/>&nbsp;&nbsp;Client&nbsp;&nbsp;4.0.0.0<br/>&#x901A;&#x8FC7;&#x5728;&#x4EE3;&#x7801;&#x4E2D;&#x67E5;&#x8BE2;&#x6CE8;&#x518C;&#x8868;&#x6765;&#x67E5;&#x627E; .NET Framework &#x7248;&#x672C;&#xFF08;.NET Framework 4.5 &#x548C;&#x66F4;&#x9AD8;&#x7248;&#x672C;&#xFF09;<br/>Release DWORD &#x7684;&#x5B58;&#x5728;&#x8868;&#x660E;&#x8BE5;&#x8BA1;&#x7B97;&#x673A;&#x4E0A;&#x5DF2;&#x5B89;&#x88C5; .NET Framework 4.5 &#x6216;&#x66F4;&#x9AD8;&#x7248;&#x672C;&#x3002; &#x5173;&#x952E;&#x5B57;&#x7684;&#x503C;&#x8868;&#x793A;&#x5DF2;&#x5B89;&#x88C5;&#x7684;&#x7248;&#x672C;&#x3002; &#x8981;&#x68C0;&#x67E5;&#x6B64;&#x5173;&#x952E;&#x5B57;&#xFF0C;&#x8BF7;&#x4F7F;&#x7528; Microsoft.Win32.RegistryKey &#x7C7B;&#x7684; OpenBaseKey &#x548C; OpenSubKey &#x65B9;&#x6CD5;&#x8BBF;&#x95EE; Windows &#x6CE8;&#x518C;&#x8868;&#x4E2D; HKEY_LOCAL_MACHINE &#x4E0B;&#x7684; Software\Microsoft\NET Framework Setup\NDP\v4\Full &#x5B50;&#x9879;&#x3002;<br/>&#x68C0;&#x67E5; Release &#x5173;&#x952E;&#x5B57;&#x7684;&#x503C;&#x4EE5;&#x786E;&#x5B9A;&#x5B89;&#x88C5;&#x7684;&#x7248;&#x672C;&#x3002; &#x4E3A;&#x4E86;&#x5411;&#x524D;&#x517C;&#x5BB9;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x68C0;&#x67E5;&#x662F;&#x5426;&#x6709;&#x4E00;&#x4E2A;&#x503C;&#x5927;&#x4E8E;&#x6216;&#x7B49;&#x4E8E;&#x8868;&#x4E2D;&#x6240;&#x5217;&#x7684;&#x503C;&#x3002; &#x6B64;&#x5904;&#x662F; .NET Framework &#x7248;&#x672C;&#x53CA;&#x76F8;&#x5173;&#x8054;&#x7684; Release &#x5173;&#x952E;&#x5B57;&#x3002;<br/>&#x4E0B;&#x9762;&#x662F;&#x68C0;&#x67E5;&#x662F;&#x5426;&#x6709;&#x5927;&#x4E8E;&#x6216;&#x7B49;&#x4E8E;&#x6BCF;&#x4E2A;&#x7248;&#x672C;&#x7684;&#x53D1;&#x884C;&#x5173;&#x952E;&#x5B57;&#x503C;&#x7684;&#x503C;&#x7684;&#x793A;&#x4F8B;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;using System;<br/>using Microsoft.Win32;<br/>namespace ConsoleApplication1<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;class Program<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static void Main(string[] args)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get45or451FromRegistry();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.ReadKey();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static void Get45or451FromRegistry()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(&#34;SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full\\&#34;))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (ndpKey != null &amp;&amp; ndpKey.GetValue(&#34;Release&#34;) != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;Version: &#34; + CheckFor45DotVersion((int)ndpKey.GetValue(&#34;Release&#34;)));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;Version 4.5 o&#114; later is not detected.&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static string CheckFor45DotVersion(int releaseKey)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (releaseKey &gt;= 394254)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;4.6.1 o&#114; later&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (releaseKey &gt;= 393295)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;4.6 o&#114; later&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ((releaseKey &gt;= 379893))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;4.5.2 o&#114; later&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ((releaseKey &gt;= 378675))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;4.5.1 o&#114; later&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ((releaseKey &gt;= 378389))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;4.5 o&#114; later&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// This line should never execute. A non-null release key should mean<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// that 4.5 o&#114; later is installed.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;No 4.5 o&#114; later version detected&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x8BE5;&#x793A;&#x4F8B;&#x751F;&#x6210;&#x7C7B;&#x4F3C;&#x4E0B;&#x9762;&#x5185;&#x5BB9;&#x7684;&#x8F93;&#x51FA;&#xFF1A;<br/> &#x5F15;&#x7528;&#x5185;&#x5BB9;Version: 4.6.1 o&#114; later<br/>&#x4F7F;&#x7528; Clrver &#x5DE5;&#x5177;&#x67E5;&#x627E;&#x5F53;&#x524D;&#x8FD0;&#x884C;&#x65F6;&#x7248;&#x672C;<br/>&#x4F7F;&#x7528; CLR &#x7248;&#x672C;&#x5DE5;&#x5177; (Clrver.exe) &#x51B3;&#x5B9A;&#x5DF2;&#x5B89;&#x88C5;&#x5728;&#x8BA1;&#x7B97;&#x673A;&#x4E0A;&#x7684;&#x516C;&#x5171;&#x8BED;&#x8A00;&#x8FD0;&#x884C;&#x65F6;&#x7684;&#x7248;&#x672C;&#x3002;&#x4ECE; Visual Studio &#x547D;&#x4EE4;&#x63D0;&#x793A;&#x7B26;&#x5904;&#xFF0C;&#x8F93;&#x5165; clrver&#x3002; &#x8BE5;&#x547D;&#x4EE4;&#x751F;&#x6210;&#x7C7B;&#x4F3C;&#x4E0B;&#x9762;&#x7684;&#x8F93;&#x51FA;&#xFF1A;<br/> &#x5F15;&#x7528;&#x5185;&#x5BB9;Microsoft (R) .NET CLR Version Tool&nbsp;&nbsp;Version 4.6.1055.0<br/>Copyright (c) Microsoft Corporation.&nbsp;&nbsp;All rights reserved.<br/>Versions installed on the machine:<br/>v2.0.50727<br/>v4.0.30319<br/>&#x901A;&#x8FC7;&#x5728;&#x4EE3;&#x7801;&#x4E2D;&#x67E5;&#x8BE2; Environment &#x7C7B;&#x6765;&#x67E5;&#x627E;&#x5F53;&#x524D;&#x8FD0;&#x884C;&#x65F6;&#x7248;&#x672C;<br/>&#x67E5;&#x8BE2; Environment.Version &#x5C5E;&#x6027;&#xFF0C;&#x4EE5;&#x68C0;&#x7D22;&#x6807;&#x8BC6;&#x5F53;&#x524D;&#x6B63;&#x5728;&#x6267;&#x884C;&#x4EE3;&#x7801;&#x7684;&#x8FD0;&#x884C;&#x65F6;&#x7248;&#x672C;&#x7684; Version &#x5BF9;&#x8C61;&#x3002; &#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; Version.Major &#x5C5E;&#x6027;&#x83B7;&#x53D6;&#x4E3B;&#x7248;&#x672C;&#x6807;&#x8BC6;&#x7B26;&#xFF08;&#x4F8B;&#x5982;&#xFF0C;4.0 &#x7248;&#x7684;&#x201C;4&#x201D;&#xFF09;&#xFF0C;&#x4F7F;&#x7528; Version.Minor &#x5C5E;&#x6027;&#x83B7;&#x53D6;&#x6B21;&#x7248;&#x672C;&#x6807;&#x8BC6;&#x7B26;&#xFF08;&#x4F8B;&#x5982;&#xFF0C;4.0 &#x7248;&#x7684;&#x201C;0&#x201D;&#xFF09;&#xFF0C;&#x6216;&#x4F7F;&#x7528; Object.ToString &#x65B9;&#x6CD5;&#x83B7;&#x53D6;&#x5B8C;&#x6574;&#x7248;&#x672C;&#x5B57;&#x7B26;&#x4E32;&#xFF08;&#x4F8B;&#x5982;&#x201C;4.0.30319.18010&#x201D;&#xFF0C;&#x5982;&#x4E0B;&#x9762;&#x7684;&#x4EE3;&#x7801;&#x4E2D;&#x6240;&#x793A;&#xFF09;&#x3002; &#x6B64;&#x5C5E;&#x6027;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x503C;&#xFF0C;&#x8BE5;&#x503C;&#x53CD;&#x6620;&#x5F53;&#x524D;&#x6B63;&#x5728;&#x6267;&#x884C;&#x4EE3;&#x7801;&#x7684;&#x8FD0;&#x884C;&#x65F6;&#x7684;&#x7248;&#x672C;&#xFF1B;&#x5B83;&#x4E0D;&#x8FD4;&#x56DE;&#x7A0B;&#x5E8F;&#x96C6;&#x7248;&#x672C;&#x6216;&#x53EF;&#x80FD;&#x5DF2;&#x5728;&#x8BA1;&#x7B97;&#x673A;&#x4E0A;&#x5B89;&#x88C5;&#x7684;&#x8FD0;&#x884C;&#x65F6;&#x7684;&#x5176;&#x4ED6;&#x7248;&#x672C;&#x3002;<br/>&#x5BF9;&#x4E8E; .NET Framework &#x7248;&#x672C; 4&#x3001;4.5&#x3001;4.5.1 &#x548C; 4.5.2&#xFF0C;Environment.Version &#x5C5E;&#x6027;&#x8FD4;&#x56DE;&#x5B57;&#x7B26;&#x4E32;&#x8868;&#x73B0;&#x5F62;&#x5F0F;&#x5177;&#x6709;&#x7A97;&#x4F53; 4.0.30319.xxxxx &#x7684; Version &#x5BF9;&#x8C61;&#x3002; &#x5BF9;&#x4E8E; .NET Framework 4.6&#xFF0C;&#x5B83;&#x5177;&#x6709;&#x7A97;&#x4F53; 4.0.30319.42000&#x3002;<br/>&#x4EE5;&#x4E0B;&#x662F;&#x5728; Environment.Version &#x5C5E;&#x6027;&#x4E2D;&#x67E5;&#x8BE2;&#x8FD0;&#x884C;&#x65F6;&#x7248;&#x672C;&#x4FE1;&#x606F;&#x7684;&#x793A;&#x4F8B;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;using System;<br/>using Microsoft.Win32;<br/>namespace ConsoleApplication1<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;class Program<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static void Main(string[] args)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetVersionFromEnvironment();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.ReadKey();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static void GetVersionFromEnvironment()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;Version: &#34; + Environment.Version.ToString());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x8BE5;&#x793A;&#x4F8B;&#x751F;&#x6210;&#x7C7B;&#x4F3C;&#x4E0B;&#x9762;&#x5185;&#x5BB9;&#x7684;&#x8F93;&#x51FA;&#xFF1A;<br/> &#x5F15;&#x7528;&#x5185;&#x5BB9;Version: 4.0.30319.42000<br/>&#x76F8;&#x5173;&#x94FE;&#x63A5;<br/>[1].&#x5982;&#x4F55;&#xFF1A;&#x786E;&#x5B9A;&#x5B89;&#x88C5;&#x4E86;&#x54EA;&#x4E9B; .NET Framework &#x7248;&#x672C;&#xFF1A;https://msdn.microsoft.com/zh-cn/library/hh925568.aspx<br/>[2].&#x5982;&#x4F55;&#x786E;&#x5B9A;&#x5DF2;&#x5B89;&#x88C5;&#x7684; Microsoft .NET Framework &#x7248;&#x672C;&#x548C; Service Pack &#x7EA7;&#x522B;&#xFF1A;https://support.microsoft.com/zh-cn/kb/318785<br/>[3].&#x5982;&#x4F55;&#x4F7F;&#x7528; Visual C++.NET &#x6765;&#x68C0;&#x6D4B;.NET Framework &#x7248;&#x672C;&#x7684;&#x8BA1;&#x7B97;&#x673A;&#x5B89;&#x88C5;&#x7684;&#x670D;&#x52A1;&#x5305;&#xFF1A;https://support.microsoft.com/zh-cn/kb/914135</p><p> + <a href="#CommentCard">&#x67E5;&#x770B;&#x5F53;&#x524D;&#x65E5;&#x5FD7;&#x8BC4;&#x8BBA;</a> (0)</p><p>&nbsp;<br/><br/><a href="wap.asp?do=Login">&#x767B;&#x5F55;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.094&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x5982;&#x4F55;&#xFF1A;&#x786E;&#x5B9A;&#x8BA1;&#x7B97;&#x673A;&#x5B89;&#x88C5;&#x4E86;&#x54EA;&#x4E9B;&#x20;&#x2E;&#x4E;&#x45;&#x54;&#x20;&#x46;&#x72;&#x61;&#x6D;&#x65;&#x77;&#x6F;&#x72;&#x6B;&#x20;&#x7248;&#x672C;&#x5B;&#x8F6C;&#x5D;</a></p><p><br/>你没有权限发表评论</p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.094&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="CommentCard"><p>&#x6682;&#x65E0;&#x8BC4;&#x8BBA;</p><p><a href="#MainCard">&#x8FD4;&#x56DE;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.094&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
