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出于内部调试器进程的目的,该属性被忽略,但对于确定程序集是否在调试模式下编译仍然有效。