NewLife.Core增量编译失效的根本原因,是因为vs2019频繁修改AgentServiceBase.cs和AgentService.cs两个文件的Component状态,(大概3秒一次),导致vs频繁修改写入NewLife.Core.csproj.user文件,而编译时又依赖user文件,发现该文件比输出目录的文件要新,就重新生成; 这也解释了关闭vs后命令行编译项目没问题,vs一次编译成功后只要3秒内再次编译,增量编译也能生效; 解决这个问题的临时办法,就是vs中打开这个文件源码,处于编辑状态,然后它就不会变了,编译项目时,增量编译生效!
大石头 编写于 2019-07-16 07:49:25
X
#if !__CORE__
using System;

namespace NewLife.Agent
{
#if DEBUG
    /// <summary>代理服务例子。自定义服务程序可参照该类实现。</summary>
    public class AgentService : AgentServiceBase
    {
        #region 属性
        #endregion

        #region 构造函数
        /// <summary>实例化一个代理服务</summary>
        public AgentService()
        {
            // 一般在构造函数里面指定服务名
            ServiceName = "XAgent";

            DisplayName = "新生命服务代理";
            Description = "用于承载各种服务的服务代理!";
        }
        #endregion

        #region 核心
        /// <summary>开始工作</summary>
        /// <param name="reason"></param>
        protected override void StartWork(String reason)
        {
            WriteLog("业务开始……");

            base.StartWork(reason);
        }

        /// <summary>停止服务</summary>
        /// <param name="reason"></param>
        protected override void StopWork(String reason)
        {
            WriteLog("业务结束!");

            base.StopWork(reason);
        }
        #endregion
    }
#endif
}
#endif