2009-05-22 2 views
3

デバッグが有効になっていないという赤いエラーメッセージが表示されるという通常のエラーメッセージは表示されません。グローバルasaxファイルを削除した場合、私のコードはブレークポイントに移動します。ファイルを追加すると、プロジェクトはブレークポイントを完全に無視して実行されます。ここに私のグローバルasaxファイル内のコードなぜglobal.asaxファイルを追加した後でVisual Studio .net 2008のデバッグ能力が失われますか?

パブリック・クラス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 

エンドクラス

ですから、そのあまりを見ることができるようです。して、本グローバル.asaxファイルのファイルをプロジェクトを走ったとき、私は、Visual Studioから次のメッセージボックスを受け取ります

「は、以下のモジュールは、いずれかの有効な最適化またはデバッグ情報なしで構築されました:私の一時asp.netファイルへの(パス)このモジュールをデバッグするには、プロジェクトビルドの設定をデバッグモードに変更します。このメッセージを表示しないようにするには、 '起動時にユーザコードがない場合に警告する'デバッガオプションを無効にします。

私はこれらの一時ファイルを削除しようとしましたが、プロジェクトが完全にundebuggableになり、赤いエラーメッセージボックスが表示され、ごみ箱から復元してプロジェクトを元に戻す必要がありました。プロジェクトをデバッグするためにグローバルなasaxファイルを削除する必要があるので、プロジェクトファイル(そしてそれに関連するコードはプロジェクトファイルを投げ捨てる)を非常に気にします。

P.S.すべてがデバッグモードで実行されていて、Web設定でそのようにマークされています。私が言ったようにglobal.asaxファイルがなければうまくデバッグすると言いました。

答えて

0

Application.Lockを使用する必要があります。また、+= -1は奇数です。あなたはする必要があります-= 1

Application.Lock() 
Application("concurentUsers") -= 1 
Application.UnLock() 

同時の綴りを気にしないでください。

1

global.asaxとglobal.asax.cs(存在する場合)の内容をすべて投稿してください。私の推測では、global.asaxの先頭にあるApplicationディレクティブには、コンパイラ・ディレクティブやその動作の原因となるものがあります(たとえば、/ debug-または/ debug:pdbonlyはこの動作を引き起こす可能性があります)。

0

一時的なASP.NETフォルダを削除して削除することができます。

時には構成上の問題が発生することがあります。

フォルダを削除しないでください。フォルダの内容を削除してください。

0

この問題は、私をいくつかの機会に悩ませました。私が見つけたことは、プロダクションにプッシュする際に、「設定」をアクティブ(デバッグ)からリリースに変更し、アドバンストコンパイラ設定ウィンドウ(プロジェクトプロパティ/コンパイル/アドバンストコンパイルオプション)で「最適化を有効にする」オプションを設定したことです。後で設定タイプを「アクティブ(デバッグ)」に戻した場合は、「最適化を有効にする」オプションのチェックを外すことを忘れがちです。それが発生すると、「最適化が有効になっている」または「デバッグ情報なし」というエラーメッセージが表示されます。過去に私はいつも「デバッグ情報なし」という言葉で私を追い払った。

したがって、「最適化を有効にする」オプションがオフになっていることを確認し、「デバッグ情報を生成する」を「詳細」または「拡張コンパイラ設定」でpbd-onlyに設定します。

HTH、

James。

関連する問題