加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在发布版本后可以执行#if DEBUG吗?

发布时间:2020-12-15 19:28:05 所属栏目:百科 来源:网络整理
导读:正在进行安全性讨论,以确定下面的以下DEPLOYED代码是否可以到达或“提升”到……即使它是在RELEASE模式下构建的. 思考? 编辑: 我在DotPeek中“看到”它 – 即使在Release版本中构建. 但是,该文件是“灰显的” 这是否意味着它不会执行? DotPeek只是“反编
正在进行安全性讨论,以确定下面的以下DEPLOYED代码是否可以到达或“提升”到……即使它是在RELEASE模式下构建的.

思考?

编辑:
我在DotPeek中“看到”它 – 即使在Release版本中构建.

>但是,该文件是“灰显的”
>这是否意味着它不会执行?
> DotPeek只是“反编译”代码……它没有显示内置模式中存在哪些代码……对吗?

代码看起来像:

using System;
    using System.ServiceProcess;

    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        static void Main()
        {
#if DEBUG
            var myservice = new StpListener();
            myservice.OnDebug();

            //KEEP the service alive
            System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
#else
            ServiceBase[] ServicesToRun;
            ServicesToRun = new ServiceBase[] 
            { 
                new StpListener() 
            };
            ServiceBase.Run(ServicesToRun);
#endif
        }
    }

解决方法

不要将调试/发布配置与条件代码混淆.完全可以将DEBUG条件属性应用于释放模式配置.

看,我是邪恶的!

enter image description here

见:When #if DEBUG runs

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读