C#.NET用户控件代码修改了,可成员还是按照修改前的代码运行

最近用DataGridView和Panel搞了个有固定功能的表格用户控件(称控件A),在控件A的类里建了个了个List,通过控件A的构造方法往空的List里丢一个字符串“AutoID”
然后没几天因为需求要改控件,就把添加“AutoID”那句给删了。运行的时候,顺序是通过主窗体(不是有控件A的窗体)调用有控件A的窗体,在控件A的构造方法运行完后回到主窗体运行其他代码,之后再会回到控件A的类中调用控件A的“Paint”事件。
结果发现,运行到控件A类的构造方法结束为止还是正常的,List还是为空,可在构造方法结束,跳到主窗体之后再回到控件A调用“Paint”事件的时候,就会发现List里面的字符串“AutoID”又回来了。
就是突然出现的,监视那个List,会发现就在从主窗体代码回到控件A的代码的瞬间,空的List里突然就出现了一个值,哪怕把整个解决方案中有关“AutoID”这个字符串的内容都注释掉,那个时候List里也必定会出现字符串“AutoID”。
已经确认了那部分代码没有涉及到数据库的部分,清理后重新编译也没有解决,能否请各位看看这可能是什么问题?

是在vs中运行还是运行编译后的exe?
看下相关文件是否已经更新了,系统没安装什么还原软件之类的,自动还原到原始状态了。
新建一个一样用户控件看是否也是这样?

可以尝试的解决方案:

  1. 查看是否存在其他的程序实例,导致运行时调用了其他实例的代码;
  2. 查看修改List相关的代码,看看哪个地方改变了List的值,尝试使用打印、输出等方式缩小问题范围。

工具 --> 选项 --> 项目和解决方案 --> 生成并运行 --> 运行时过期,重新生成解决方案。如果还不行,建议关掉VS再打开,还有就是页面打开后,修改了代码,请重新打开浏览器,不要在原来页面上刷新,有时也不灵的

1、请确认调试运行的代码是你注掉之后的最新代码;
2、请检查一下你的这些控件有没有自动存储功能(如存储注册表和自动恢复),排除掉自动恢复的干扰。

https://ask.csdn.net/questions/352514?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-ask-2~default~OPENSEARCH~Rate-2.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-ask-2~default~OPENSEARCH~Rate-2.pc_feed_download_top3ask

可以尝试的解决方案:
1.删除bin/obj文件夹后重新编译
2.重新编译整个解决方案

1、工具 --> 选项 --> 项目和解决方案 --> 生成并运行 --> 运行时过期,提示生成
2、重启VS

主要问题:新代码未生效。

1、检查一下主窗体 对“控件A”所属项目,是不是“项目引用”。如果不是,删除引用关系,重新添加引用关系。
2、如果因某些原因无法建立直接的项目引用,把新生成的“控件A”Dll 或exe 复制覆盖旧的文件。

有没有可能activex控件已经被注册在电脑里了?程序运行的时候自动加载了已注册的控件。

将debug 内 相关文件删掉,重新编译。

代码未生效,可能是编译未通过