关于该系统时间的有关问题!很奇怪

求助关于该系统时间的问题!!很奇怪
下边是我的代码,我的问题是无论我SystemTime赋什么值,每次F5运行总是会把时间修改成我第一次编译时候填的时间
比如说,我第一次F5时候填的20时25分35秒。然后无论我怎么修改时间 ,每次F5运行都会把时间改成20点25分35秒,直接去BIN目录里启动也一样



    [StructLayout(LayoutKind.Sequential)]
    public struct SystemTime
    {
        public ushort wYear;
        public ushort wMonth;
        public ushort wDayOfWeek;
        public ushort wDay;
        public ushort wHour;
        public ushort wMinute;
        public ushort wSecond;
        public ushort wMiliseconds;
    }



    public class Win32
    {
        [DllImport("kernel32.dll", CharSet = CharSet.Ansi)]
        public static extern bool SetSystemTime(ref SystemTime sysTime);
        [DllImport("Kernel32.dll")]
        public static extern void GetSystemTime(SystemTime sysTime);
    }
 private void button1_Click(object sender, EventArgs e)
        {
            int nBeijingHour = DateTime.Now.Hour - 8;
            SystemTime st = new SystemTime();
            st.wYear = Convert.ToUInt16(DateTime.Now.Year);
            st.wMonth = Convert.ToUInt16(DateTime.Now.Month);
            st.wDay = 8;
            st.wHour = Convert.ToUInt16(6);
            st.wMinute = 15;
            st.wSecond = 11;
            Win32.SetSystemTime(ref st);
        }
    }



------解决方案--------------------
应该是系统没有编译,结果你每次运行的都是第一次生成的exe文件,结果肯定是一样的。
我猜测:你程序修改了计算机系统时间,那个exe生成的时间应该是比较晚,每次编译的时候,编译程序检查exe文件,认为exe生成时间最晚,是最新的,就没有编译,直接执行了,你可以查看下你生成的exe文件的生成日期。跟系统时间比较下。