c# – 如何确定程序集的构建方式

c# – 如何确定程序集的构建方式,第1张

概述我正在使用VS2010 / 2012,我想知道是否有办法(可能使用反射)来查看程序集的构建方式. 当我在Debug中运行时,我使用#if DEBUG将调试信息写入控制台. 但是,当你最终得到一堆程序集时,有没有办法看看它们是如何构建的?获取版本号很简单,但我无法找到如何检查构建类型. 有3种方式: private bool IsAssemblyDebugBuild(string filepath) 我正在使用VS2010 / 2012,我想知道是否有办法(可能使用反射)来查看程序集的构建方式.

当我在DeBUG中运行时,我使用#if DEBUG将调试信息写入控制台.

但是,当你最终得到一堆程序集时,有没有办法看看它们是如何构建的?获取版本号很简单,但我无法找到如何检查构建类型.

解决方法 有3种方式:
private bool IsAssemblyDeBUGBuild(string filepath){    return IsAssemblyDeBUGBuild(Assembly.Loadfile(Path.GetFullPath(filepath)));}private bool IsAssemblyDeBUGBuild(Assembly assembly){    foreach (var attribute in assembly.GetCustomAttributes(false))    {        var deBUGgableAttribute = attribute as DeBUGgableAttribute;        if(deBUGgableAttribute != null)        {            return deBUGgableAttribute.IsJITTrackingEnabled;        }    }    return false;}

或者使用assemblyinfo元数据:

#if DEBUG[assembly: AssemblyConfiguration("DeBUG")]#else[assembly: AssemblyConfiguration("Release")]#endif

或者在代码中使用#if DEBUG的常量

#if DEBUG        public const bool IsDeBUG = true;#else        public const bool IsDeBUG = false;#endif

我更喜欢第二种方式,所以我可以通过代码和windows资源管理器来阅读它

总结

以上是内存溢出为你收集整理的c# – 如何确定程序集的构建方式全部内容,希望文章能够帮你解决c# – 如何确定程序集的构建方式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1251524.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存