【问题标题】:Latest Acumatica Update Introduced Error: "This source file has changed..." When Debugging Edited Source Files最新的 Acumatica 更新引入错误:“此源文件已更改...”在调试已编辑的源文件时
【发布时间】:2017-06-28 19:59:58
【问题描述】:

我注意到,自最新更新(版本 6.10.0755)以来,可能已经引入了一个新的严重错误。我在报告之前在这里询问它,以防万一他们引入了一个可以解决我的问题的选项。

我的问题是,每当我编辑页面的后端 .cs 文件时,当我将程序附加到网站实例并尝试调试时,我都会收到错误消息“此源文件已更改。它不再匹配用于构建被调试应用程序的文件版本。”感觉好像 Just-In-Time 编译功能已“关闭”。任何人都可以给我任何反馈,如果它是以及如何修复它,或者是否有其他人遇到这种情况并且应该将其报告为系统中的错误?

编辑:我正在使用从以前的 6.1 版本 (6.10.0269) 更新的实例。该错误发生在 SOOrder 页面的图形扩展上。完全自定义的页面似乎很好。这是错误的屏幕截图:

【问题讨论】:

  • 您能否在新的 Acumatica 网站中重现此问题?如果没有,您能否提供有关您的实例的更多信息?喜欢什么样的后端 .cs 文件(新图形、新 DAC、图形扩展、DAC 扩展……),并可能添加该错误的屏幕截图
  • 更新问题

标签: acumatica


【解决方案1】:

我不知道为什么文件被检测为已更改,但您应该能够通过以下步骤重新附加到新编译的实例。

在 Visual Studio 中附加时,调试输出窗口将列出已编译的 ASP 应用程序实例的运行时代码。它在“RuntimeCode_GUID.dll”文件中

  1. 停止 IIS 和调试器,这将释放运行时代码 dll 文件的句柄
  2. 删除运行时代码dll文件
  3. 重启 IIS 并在浏览器中打开网站,这将重新编译运行时代码
  4. 将调试器重新附加到网站

【讨论】:

  • 这是 ASP.Net 中的常见问题,如果您在调试器仍处于附加状态的情况下编辑文件以及其他类似情况。
  • 如果有多个 w3wp 进程正在运行,请确保在正确的 AppPool 中进行调试。
  • 在更新到最新版本的 Acumatica 之前,我从未遇到过这个问题。你知道他们是否改变了什么?另外要修复它,我只需要重新启动实例。这仅在我对 SOOrder 进行另一项更改之前有效。您在上面提出的步骤是为了更永久的修复吗?
  • 不,我列出的步骤确保在附加调试器之前正确重新编译代码,因此它们是相同的版本。我倾向于认为您的问题与您的工作流程和 IIS 相关,而不是 Acumatica 最新版本。重新启动实例会重新编译 RuntimeCode。发布项目还应该重新编译 RuntimeCode。如果您只是在 Visual Studio 中更改代码而不重新编译 RuntimeCode,则源代码和编译后的 RuntimeCode 之间的代码不匹配是预期的行为。
  • 您是对的,我理解不匹配是因为代码没有被重新编译而发生的。这就是我要解决的问题:为什么我的代码没有自动重新编译?在更新之前,只要我对代码进行更改(无论是否附加到进程),它都会自动重新编译。更新后,这一切都改变了。我现在必须手动重新编译代码,无论是通过重新启动 IIS、发布还是执行您上面提到的步骤。如何重新激活自动重新编译?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-20
  • 2018-07-08
相关资源
最近更新 更多