我正在尝试调试由不再在我公司的人编写的Web应用程序。我一直看到错误消息:The Following Module was built either with optimizations enabled or without debug information
。另一个Stacker之前在这里请求帮助解决这个问题:The Following Module was built either with optimizations enabled or without debug information。但是,给出的31个答案中没有一个对我有帮助!
最流行的答案是在调试设置中禁用“Just My Code”。这不起作用!它会抑制错误消息,但是一旦调试器启动,我会看到消息The breakpoint will not currently be hit. No symbols have been loaded for this document.
这是真正奇怪的地方。该解决方案包含五个项目。只有其中一个触发此错误。还有第二个解决方案引用完全相同的项目(是的,在同一个文件夹和所有内容中),第二个解决方案在调试此库时完全没有问题。
我正在从IIS运行该项目。这是一个非常奇怪的项目,需要IIS运行。 IIS有几个不同的网站都使用同一个项目,每个网站用于不同的产品,但都使用相同的底层ASP.net。 IIS提供图形,CSS等。
由于Visual Studio在c:\ windows \ microsoft.net \ framework \ v4.0.30319 \ temporary asp.net文件中显示.dll文件的路径,我在Windows资源管理器中打开了该路径并注意到没有pdb归档那里。我将pdb文件复制到该目录,但它仍然无效。是的,我尝试清除此文件夹以确保VS不尝试使用旧版本。
由于此解决方案中有五个项目,我确实可以验证我可以在其他项目中设置断点而不会有任何问题。只有这一个项目拒绝调试。
即使没有IIS,项目也无法运行,我尝试将项目设置为使用内置的Visual Studio Web服务器。当我这样做时,程序崩溃,但在它崩溃之前,它仍然显示相同的错误消息!
我还能做些什么来解决这个问题?
更新:这是我刚才尝试的其他内容。我尝试使用控制台应用程序创建新的解决方案。然后,我将有问题的库添加到解决方案中,并从控制台应用程序中引用它。在控制台应用程序中,我在库中调用一个执行某些日期操作的方法,它在调试器中工作正常,所以这似乎表明引用的设置方式可能有问题。
更新:我的文档告诉我,Web应用程序无法在Cassini中运行的原因是因为需要 SSL。这可能与导致问题的原因有关,因为使用此库调试的其他解决方案不使用SSL。
答案 0 :(得分:1)
我想出来了。
由于VS正在IIS上调试,我需要将pdb文件复制到IIS为其提供页面的目录。