■ 릴리즈 모드 여부 구하기

----------------------------------------------------------------------------------------------------

using System.Diagnostics;

using System.Reflection;

 

#region 릴리즈 모드 여부 구하기 - IsReleaseMode(assembly)

 

/// <summary>

/// 릴리즈 모드 여부 구하기

/// </summary>

/// <param name="assembly">어셈블리</param>

/// <returns>릴리즈 모드 여부</returns>

public bool IsReleaseMode(Assembly assembly)

{

    object[] customAttributeArray = assembly.GetCustomAttributes(typeof(DebuggableAttribute), true);

 

    if(customAttributeArray == null || customAttributeArray.Length == 0)

    {

        return true;

    }

 

    DebuggableAttribute debuggableAttribute = customAttributeArray[0] as DebuggableAttribute;

 

    if((debuggableAttribute.DebuggingFlags & DebuggableAttribute.DebuggingModes.Default) ==

        DebuggableAttribute.DebuggingModes.None)

    {

        return true;

    }

 

    return false;

}

 

#endregion

#region 디버그 모드 여부 구하기 - IsDebugMode(assembly)

 

/// <summary>

/// 디버그 모드 여부 구하기

/// </summary>

/// <param name="assembly">어셈블리</param>

/// <returns>디버그 모드 여부</returns>

public bool IsDebugMode(Assembly assembly)

{

    object[] customAttributeArray = assembly.GetCustomAttributes(typeof( DebuggableAttribute), true);

 

    if(customAttributeArray == null || customAttributeArray.Length == 0)

    {

        return true;

    }

 

    DebuggableAttribute debuggableAttribute = customAttributeArray[0] as DebuggableAttribute;

 

    return debuggableAttribute.IsJITTrackingEnabled;

}

 

#endregion

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요