15

Visual Studio 2010 で、ASP.Net MVC 2 アプリケーションの .ascx または .aspx ファイルの下記のページにブレークポイントを設定しようとしています。

「これはブレークポイントの有効な場所ではありません」 .

以前はうまくいきました。何故ですか?どんな助けでも大歓迎です。

私の .ascx ページは次のようになります。

ここに画像の説明を入力

編集1

.cs ファイルは機能しています。.aspx および .ascx ファイルでのみ機能しません

編集2

以下のコメントセクションのリンクはどれも問題の解決策を提供していません.B'cosは、デバッグ専用のコードベースに追加のコードを追加することはできません.だから、私の赤いマーク(デバッグマーク)をアクティブにする方法はありますか画像に記載されているようなビューのC#コード?

編集3

同じファイルのjavascriptタグ内では機能しますが、c#コードでは機能しません.手がかりはありますか?

ここに画像の説明を入力

編集4

上記の問題は、Windows Azure SDK for .NET をインストールした後に発生しました - 2012 年 10 月

コードをコンパイルすると、以下のようなWaring メッセージが表示されます。

ここに画像の説明を入力

4

4 に答える 4

20

この問題は、Visual Studio 2012 で Asp.Net Mvc 5 を使用しているが、適切なツールをインストールしていない場合に発生します。私の場合、Nuget を介して Asp.Net Mvc 4 のバージョンをバージョン 5 にアップグレードしたために、これが発生しました。.cshtmlただし、IDE がファイルを適切に解析および処理できるように、VS 2012 にツールがインストールされませんでした。したがって、有効な C# として表示されるレーザー コードはなく、ブレークポイントを設定することはできませんでした (設定しようとすると、「これはブレークポイントの有効な場所ではありません」というエラーが表示されます)。

解決策は、適切なツールをインストールすることです。(または直接リンク.cshtml) ツールをインストールして VS を再起動すると、もう一度ファイルにブレークポイントを設定することができました。

于 2014-05-02T18:05:10.733 に答える
7

<% %>スクリーンショットのコード ブロックの内容を見ると、構文が強調表示されていないことがわかります。通常、これはブロックにサーバー側の C# コードが含まれていることを VS が認識していないことを意味します。

VSはそれをクライアント側のスクリプトとして認識し、それを中断できるため、Javascriptで機能します。

構文の強調表示を修正すると、それも中断できるようになります。

通常、これは、VS が HTML 編集 (視覚的なプレビューを使用したもの) と C# コードを切り替えるのが大変で、時折間違ってしまうことが原因で発生します。

これの最も一般的な原因はLanguage、.aspx または .ascx ファイルの先頭にディレクティブがないことです。

<%@ Page Language="C#" ...

または

<%@ Control Language="C#" ...

次のような明示的なコード ブロックを試すこともできます。

<script type="text/C#" runat="server"> ...

これは、ネストされた .master ページによっても発生する可能性があります。ReflectedSchemasフォルダーをクリアしてみてください。%appdata%\Microsoft\VisualStudio\10.0\ReflectedSchemas\

ReSharper トライアルを削除すると、この問題が発生することも知られています

最後に、VS 側で単に混乱している場合があります。再起動を試みてください。それでもうまくいかない場合は、ファイルを再編成してから再起動してください。ばかげています(私は知っています)が、VSにそれを理解するように促すことがあります。

ちなみに、これはVS 2012で大幅に改善されたものです

于 2012-12-20T15:34:16.247 に答える
1

@Keithによる構文の強調表示の問題を示した後、ファイルを上から下、およびその逆に調べました。それから私は問題を見つけました。

上記の編集 4で示したように、私のプロジェクトには警告メッセージがありました。

その問題を解決した後、ブレーキ ポイント (デバッグ) の問題も消えました。

そのために、以下のリンクを使用しました。

ファイルまたはアセンブリ 'msshrtmi' を読み込めませんでした - Azure デプロイの形式が正しくありません

将来的には、この問題を解決する方法を示す完全なステップバイステップ ガイドを作成する予定です。

私をサポートしてくれたすべての人に感謝します。

于 2012-12-20T19:23:14.373 に答える