Как получить версию .NET Framework

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 13:24, 15 июля 2009 (править)
Dmach (Обсуждение | вклад)

← К предыдущему изменению
Версия 13:27, 15 июля 2009 (править) (отменить)
Dmach (Обсуждение | вклад)

К следующему изменению →
Строка 6: Строка 6:
<% <%
- // Unique framework assembly+ // Unique framework assembly
- string fw30assembly = "PresentationCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35";+ string fw30assembly = "PresentationCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35";
- string fwNet35assembly = "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";+ string fwNet35assembly = "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
- string fwNet35sp1assembly = "System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";+ string fwNet35sp1assembly = "System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
- +
- Version frameworkVersion = Environment.Version;+ Version frameworkVersion = Environment.Version;
- string frameworkUpdate = "";+ string frameworkUpdate = "";
- if (frameworkVersion.Major == 2)+ if (frameworkVersion.Major == 2)
 + {
 + try
 + {
 + // try load 3.0 assembly...
 + frameworkVersion = AssemblyName.GetAssemblyName(Assembly.Load(fw30assembly).Location).Version;
 + // ... 3.5
 + frameworkVersion = AssemblyName.GetAssemblyName(Assembly.Load(fw35assembly).Location).Version;
 + // 3.5 sp1
 + frameworkVersion = AssemblyName.GetAssemblyName(Assembly.Load(fw35sp1assembly).Location).Version;
 + frameworkUpdate = "SP1";
 + }
 + catch
{ {
- try+ // Assembly load filed
- {+
- // try load 3.0 assembly...+
- frameworkVersion = AssemblyName.GetAssemblyName(Assembly.Load(fw30assembly).Location).Version;+
- // ... 3.5+
- frameworkVersion = AssemblyName.GetAssemblyName(Assembly.Load(fw35assembly).Location).Version;+
- // 3.5 sp1+
- frameworkVersion = AssemblyName.GetAssemblyName(Assembly.Load(fw35sp1assembly).Location).Version;+
- frameworkUpdate = "SP1";+
- }+
- catch+
- {+
- // Assembly load filed+
- }+
} }
 + }
- string ver = string.Format(".NET Framework version is {0}.{1} {2}",+ string ver = string.Format(".NET Framework version is {0}.{1} {2}",
- frameworkVersion.Major, + frameworkVersion.Major,
- frameworkVersion.Minor, + frameworkVersion.Minor,
- frameworkUpdate);+ frameworkUpdate);
- Response.Write(ver);+ Response.Write(ver);
%> %>

Версия 13:27, 15 июля 2009

Вот так

<%@ Import Namespace="System.Reflection" %>
<%@ Page Language="C#" %>

<%
  // Unique framework assembly
  string fw30assembly = "PresentationCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35";
  string fwNet35assembly = "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
  string fwNet35sp1assembly = "System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
  
  Version frameworkVersion = Environment.Version;
  string frameworkUpdate = "";

  if (frameworkVersion.Major == 2)
  {
    try
    {
      // try load 3.0 assembly...
      frameworkVersion = AssemblyName.GetAssemblyName(Assembly.Load(fw30assembly).Location).Version;
      // ... 3.5
      frameworkVersion = AssemblyName.GetAssemblyName(Assembly.Load(fw35assembly).Location).Version;
      // 3.5 sp1
      frameworkVersion = AssemblyName.GetAssemblyName(Assembly.Load(fw35sp1assembly).Location).Version;
      frameworkUpdate = "SP1";
    }
    catch
    {
      // Assembly load filed
    }
  }
	
  string ver = string.Format(".NET Framework version is {0}.{1} {2}",
    frameworkVersion.Major, 
    frameworkVersion.Minor, 
    frameworkUpdate);
    
  Response.Write(ver);
%>
Личные инструменты