看了很久,终于决定把这个问题放在这里。我有一些需要维护的应用程序是用 Delphi 2007 for .NET (ASP.NET 2.0) 编写的。通常,第一次运行应用程序(使用 IIS)时,我会收到经典的“无法在 Web 服务器上开始调试。无法附加到 ASP.NET 工作进程”消息。我只需再次按 F9(运行),它就会运行。有时我必须尝试运行几次才能真正运行。
我正在运行 Windows 7 64 位(并且在 Vista 64 位上看到了相同的效果)。我确实为 ASP.NET 配置了 IIS,并且在我的 Web.config 文件中确实有以下代码。
<system.webServer>
<modules>
<add name="DbgConnect" type="Borland.DbkAsp.DbkConnModule,Borland.dbkasp,Version=10.5.0.0,
Culture=neutral, PublicKeyToken=b0524c541232aae7" preCondition="managedHandler" />
</modules>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
关键是我最终可以在调试器中运行应用程序,有时甚至是第一次尝试。很多时候,当我遇到失败时,它会在我按下 Run 后大约 15 秒左右发生,有时甚至在我点击 Web 应用程序的一两个(或三个)页面之后。而且,是的,当 Delphi 进入这种模式时,我可以简单地运行而无需调试,一切都很好(除非我真的想调试)。而且,我可以继续尝试在调试器中运行,最终它会正常工作。
似乎 Delphi 的 .NET 调试器以某种方式获得了应用程序无法运行的想法,然后放弃并停止了该进程(正如我所提到的,它有时显然正在运行)。
我知道其他开发人员也看到了这种行为。我的问题是,有谁知道如何阻止这种烦人的行为?