C# 加载的程序集是调试还是发布?

C# 加载的程序集是调试还是发布?,c#,debugging,configuration,release,C#,Debugging,Configuration,Release,如何确定加载的程序集是调试版本还是发布版本 是的,我可以使用这样的方法: public static bool IsDebugVersion() { #if DEBUG return true; #else return false; #endif } 但这只能在我自己的代码中使用。 我需要在运行时进行检查(针对第三方程序集),如下所示: public static bool IsDebugVersion(Assembly assembly) { ??? } 用于获取

如何确定加载的程序集是调试版本还是发布版本

是的,我可以使用这样的方法:

public static bool IsDebugVersion() {
#if DEBUG
    return true;
#else
    return false;
#endif
}
但这只能在我自己的代码中使用。 我需要在运行时进行检查(针对第三方程序集),如下所示:

public static bool IsDebugVersion(Assembly assembly) {
    ???
}
用于获取属性列表,然后查找
DebuggableAttribute
,如果找到,则查看属性
IsJITTrackingEnabled
是否设置为
true

public static bool IsAssemblyDebugBuild(Assembly assembly)
{
    foreach (var attribute in assembly.GetCustomAttributes(false))
    {
        var debuggableAttribute = attribute as DebuggableAttribute;
        if(debuggableAttribute != null)
        {
            return debuggableAttribute.IsJITTrackingEnabled;
        }
    }
    return false;
}
以上内容摘自

使用LINQ的替代方案:

public static bool IsAssemblyDebugBuild(Assembly assembly)
{
    return assembly.GetCustomAttributes(false)
        .OfType<DebuggableAttribute>()
        .Any(i => i.IsJITTrackingEnabled);
}
公共静态bool IsAssemblyDebugBuild(汇编)
{
返回assembly.GetCustomAttributes(false)
第()类
.Any(i=>i.IsJITTrackingEnabled);
}
用于获取属性列表,然后查找
DebuggableAttribute
,如果找到该属性,请查看属性
IsJITTrackingEnabled
是否设置为
true

public static bool IsAssemblyDebugBuild(Assembly assembly)
{
    foreach (var attribute in assembly.GetCustomAttributes(false))
    {
        var debuggableAttribute = attribute as DebuggableAttribute;
        if(debuggableAttribute != null)
        {
            return debuggableAttribute.IsJITTrackingEnabled;
        }
    }
    return false;
}
以上内容摘自

使用LINQ的替代方案:

public static bool IsAssemblyDebugBuild(Assembly assembly)
{
    return assembly.GetCustomAttributes(false)
        .OfType<DebuggableAttribute>()
        .Any(i => i.IsJITTrackingEnabled);
}
公共静态bool IsAssemblyDebugBuild(汇编)
{
返回assembly.GetCustomAttributes(false)
第()类
.Any(i=>i.IsJITTrackingEnabled);
}
用于获取属性列表,然后查找
DebuggableAttribute
,如果找到该属性,请查看属性
IsJITTrackingEnabled
是否设置为
true

public static bool IsAssemblyDebugBuild(Assembly assembly)
{
    foreach (var attribute in assembly.GetCustomAttributes(false))
    {
        var debuggableAttribute = attribute as DebuggableAttribute;
        if(debuggableAttribute != null)
        {
            return debuggableAttribute.IsJITTrackingEnabled;
        }
    }
    return false;
}
以上内容摘自

使用LINQ的替代方案:

public static bool IsAssemblyDebugBuild(Assembly assembly)
{
    return assembly.GetCustomAttributes(false)
        .OfType<DebuggableAttribute>()
        .Any(i => i.IsJITTrackingEnabled);
}
公共静态bool IsAssemblyDebugBuild(汇编)
{
返回assembly.GetCustomAttributes(false)
第()类
.Any(i=>i.IsJITTrackingEnabled);
}
用于获取属性列表,然后查找
DebuggableAttribute
,如果找到该属性,请查看属性
IsJITTrackingEnabled
是否设置为
true

public static bool IsAssemblyDebugBuild(Assembly assembly)
{
    foreach (var attribute in assembly.GetCustomAttributes(false))
    {
        var debuggableAttribute = attribute as DebuggableAttribute;
        if(debuggableAttribute != null)
        {
            return debuggableAttribute.IsJITTrackingEnabled;
        }
    }
    return false;
}
以上内容摘自

使用LINQ的替代方案:

public static bool IsAssemblyDebugBuild(Assembly assembly)
{
    return assembly.GetCustomAttributes(false)
        .OfType<DebuggableAttribute>()
        .Any(i => i.IsJITTrackingEnabled);
}
公共静态bool IsAssemblyDebugBuild(汇编)
{
返回assembly.GetCustomAttributes(false)
第()类
.Any(i=>i.IsJITTrackingEnabled);
}

这怎么可能是正确的?说明
从.NET Framework 2.0开始,在调试期间始终启用JIT跟踪信息,并且忽略此属性值。
@JohnZabroski为了内部调试器进程的目的,该属性被忽略,但对于确定程序集是否在调试模式下编译仍然有效。这怎么可能是正确的?说明
从.NET Framework 2.0开始,在调试期间始终启用JIT跟踪信息,并且忽略此属性值。
@JohnZabroski为了内部调试器进程的目的,该属性被忽略,但对于确定程序集是否在调试模式下编译仍然有效。这怎么可能是正确的?说明
从.NET Framework 2.0开始,在调试期间始终启用JIT跟踪信息,并且忽略此属性值。
@JohnZabroski为了内部调试器进程的目的,该属性被忽略,但对于确定程序集是否在调试模式下编译仍然有效。这怎么可能是正确的?说明
从.NET Framework 2.0开始,在调试期间始终启用JIT跟踪信息,并且忽略此属性值。
@JohnZabroski出于内部调试器进程的目的,该属性被忽略,但对于确定程序集是否在调试模式下编译仍然有效。