【问题标题】:Program is executing code that no longer exists程序正在执行不再存在的代码
【发布时间】:2013-02-06 01:24:12
【问题描述】:

我正在开发一个 VB.Net 程序。我有一段代码可以将结果以 HTML 格式通过电子邮件发送给我。在某些时候,程序“卡住”并且没有在表单加载中执行任何代码更改。我已经从表单加载中完全删除了所有内容,但它仍在执行通过电子邮件发送结果的代码。

什么会导致程序执行不存在的代码?

唯一存在的代码如下。但是它仍在填充数据集,并将结果通过电子邮件发送给我。

Dim TodayDt As DateTime = DateTime.Today
Dim Tomorrow As DateTime = DateTime.Today.AddDays(1)
Dim TodayEnd As DateTime
TodayEnd = Tomorrow.AddSeconds(-1)
Me.datasetTableAdapter.Fill(Me.dataset.set, TodayDt, TodayEnd)
Me.ReportViewer1.Refresh()

【问题讨论】:

  • 也许说的很明显,但是旧程序是否仍在不同的位置/在不同的用户帐户下运行......或者就此而言,在不同的机器上?
  • 彻底清理 bin 文件夹,重建整个项目,然后试一试。
  • 这是一个 Visual Studio 程序,我在调试模式下运行它。我已经关闭了项目,甚至重新启动了。
  • 嗯,我项目中一共有13个数据集...我希望不要重建整个项目...
  • 如果这是一个网站,你需要在重置IIS后清除Temporary ASP.NET Files文件夹。见这里:stackoverflow.com/questions/450831/…

标签: .net vb.net


【解决方案1】:

执行干净然后重建您的项目。

构建以某种方式损坏,IDE 没有意识到源文件已更新,或者任何数量的其他问题以某种方式涉及以前的构建泄漏到新的构建中,这种情况并不少见。这些问题几乎总是可以通过摆脱以前构建的每一个最后痕迹来解决(即 Clean 通常会这样做;如果这不起作用,则有更严厉的措施,例如将代码从源代码控制再次拉到一个干净的目录中)然后重新编译。

这也是一种很好的方式来引起对最近在编译过程中引入的任何问题的关注。如果您的项目不再构建,您可能只是在运行旧版本,或者如果您遇到某种问题导致程序的一部分无法正常工作,那么让它无法正常工作比使用该依赖项的过时版本。

这些原则中的大多数适用于任何具有编译步骤的开发环境,尽管某些环境比其他环境更容易出错。

【讨论】:

    猜你喜欢
    • 2019-05-24
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多