我没有收到正常的错误消息,说调试未启用红色错误消息。如果我删除我的全局asax文件,我的代码将转到我的断点。如果我重新添加文件,项目将完全忽略任何断点。这是我的全局asax文件中的代码
Public Class Global_asax 继承System.Web.HttpApplication
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
Application("concurentUsers") += 1
End Sub
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
If Session("loggedout") = Nothing Then
Application("concurentUsers") += -1
End If
End Sub
结束班
所以你可以看到它并不多。当运行项目 WITH 存在全局.asax文件时,我确实从visual studio收到以下消息框
“以下模块是在启用优化或没有调试信息的情况下构建的:(我的临时asp.net文件的路径)要调试此模块,请将项目构建配置更改为调试模式。要禁用此消息,请禁用'如果在启动'调试器选项时没有用户代码,则发出警告。
我试图删除这些临时文件,但随后导致项目完全取消,并获得红色错误消息框说明,并且必须从回收站恢复以使我的项目按顺序恢复。所以我非常讨厌我必须删除全局的asax文件才能调试项目(以及与之关联的任何代码都会丢弃项目文件)
P.S。一切都在调试模式下运行,并在Web配置中标记为这样。正如我所说,调试没有global.asax文件存在
答案 0 :(得分:1)
发布global.asax和global.asax.cs的全部内容(如果存在)。我的猜测是global.asax顶部的Application指令有一个编译器指令或其中导致行为的东西(例如,/ debug-或/ debug:pdbonly可能导致这种行为)。
答案 1 :(得分:0)
作为附带问题,您应该使用Application.Lock。 += -1
也很奇怪。你应该-= 1
Application.Lock()
Application("concurentUsers") -= 1
Application.UnLock()
别介意并发的拼写。
答案 2 :(得分:0)
您可以尝试清除Temporary ASP.NET文件夹。
这有时会导致配置问题。
请勿删除该文件夹,只需删除其内容即可。
答案 3 :(得分:0)
这个问题在几个场合让我疯狂。我发现在推送到生产期间,我已将“配置”从Active(调试)更改为Release,并在Advanced compiler settings窗口(Project Properties / Compile / Advanced Compile Options)上设置“Enable Optimizations”选项。如果我稍后将配置类型设置回“Active(Debug)”,我往往忘记取消选中“Enable Optimizations”选项。发生这种情况时,我收到有关“已启用优化”或“没有调试信息”的错误消息。在过去,我一直在寻找“没有调试信息”,这让我偏离了轨道。
所以简短的回答是:仔细检查“启用优化”选项是否未选中,并且“生成调试信息:”在高级编译器设置中设置为完全或仅限pbd。
HTH,
詹姆斯。