using System;
using System.IO;
using System.Reflection;
using System.Security;
using System.Security.Permissions;
namespace System.Runtime.InteropServices
{
/// Provides a collection of static methods that return information about the common language runtime environment.
// Token: 0x02000339 RID: 825
[ComVisible(true)]
public class RuntimeEnvironment
{
/// Gets the path to the system configuration file.
/// The path to the system configuration file.
///
///
///
// Token: 0x17000658 RID: 1624
// (get) Token: 0x06002305 RID: 8965 RVA: 0x0007A660 File Offset: 0x00078860
public static string SystemConfigurationFile
{
get
{
string machineConfigPath = Environment.GetMachineConfigPath();
if (SecurityManager.SecurityEnabled)
{
new FileIOPermission(FileIOPermissionAccess.PathDiscovery, machineConfigPath).Demand();
}
return machineConfigPath;
}
}
/// Tests whether the specified assembly is loaded in the global assembly cache (GAC).
/// true if the assembly is loaded in the GAC; otherwise, false.
/// The assembly to determine if it is loaded in the GAC.
// Token: 0x06002306 RID: 8966 RVA: 0x0007A68C File Offset: 0x0007888C
public static bool FromGlobalAccessCache(Assembly a)
{
return a.GlobalAssemblyCache;
}
/// Gets the directory where the common language runtime is installed.
/// A string containing the path to the directory where the common language runtime is installed.
///
///
///
// Token: 0x06002307 RID: 8967 RVA: 0x0007A694 File Offset: 0x00078894
public static string GetRuntimeDirectory()
{
return Path.GetDirectoryName(typeof(int).Assembly.Location);
}
/// Gets the version number of the common language runtime that is running the current process.
/// A string containing the version number of the common language runtime.
///
///
///
// Token: 0x06002308 RID: 8968 RVA: 0x0007A6B0 File Offset: 0x000788B0
public static string GetSystemVersion()
{
return string.Concat(new object[]
{
"v",
Environment.Version.Major,
".",
Environment.Version.Minor,
".",
Environment.Version.Build
});
}
}
}