2010-12-29 9 views
2

私は学校プロジェクト用のSilverlightアプリケーションを開発しようとしています。デバッグSilverlightがブレークポイントに当たらない

しかし、私はVisual Studioでブレークポイントを読み込まないため、ViewModelsを使用してSilverlightアプリケーションをデバッグするのが非常に難しくなっています。

「プロジェクトプロパティ」 - >「Web」 - >「Silverlight」の下に「Silverlight」を追加しようとしましたが、これは何もしていません。

何度か働くので変です。私はChrome、Firefox、Internet Explorerを使ってみました。 Silverlight 4と3を使用してください。

解決方法はありますか?

答えて

6

デフォルトのブラウザをIE(私はSilverlightでIE8のみを使用しています)に設定すると、それが役に立ちました。そうすれば、F5キーを押すと、Visual StudioはデバッガをSilverlightプラグインに接続できるように見えます。これで、VSデバッガを使用できるようになります。

FirefoxでSilverlightアプリケーションをデバッグしようとすると、確かに難しかったです。 Firefoxはプラグイン(Silverlightプラグインを含む)を別のプロセスで実行しますが、私はVSが起動したプロセスでSilverlightが実行されていないことを認識するほどスマートではないと思います。 VSデバッガをプラグインコンテナプロセスに手動でアタッチすることはできますが、(私のメモリが正しく機能していれば)常に信頼できるものではありませんでした。私はマシンのデフォルトブラウザをIEに切り替えた後、ずっと信頼性の高いデバッグを見つけました。

また、Detroitproの答えにあなたのコメントには、あなたが

それは何のシンボルが、私は、ブラウザで接続しても前にロードされていないことを言っているを書いたので、私はそれがあるとは思わないということです[ ...]

ブラウザでSilverlightアプリケーションを起動する前にブレークポイントを設定すると、おそらく「シンボルがロードされていません」というメッセージが表示されます。デバッグを開始すると、Visual StudioはASP.NET開発サーバーを起動し、Silverlightアプリケーションが含まれているHTMLページを表示します。 'no symbols'というメッセージは、デバッガが接続されているプロセスにブレークポイントを設定したクラスが見つからないことを意味します。 (この時点で、VSデバッガが接続されている唯一のプロセスはASP.NET devサーバーです。)ブラウザを開いてSilverlightアプリケーションを含むページを表示し、VSデバッガをSilverlightプラグインを実行しているプロセスに接続したら、それはは、 'シンボルなし'メッセージを取り除く必要があります。

最後に、VSデバッガがコードを実行しているプロセスに接続しているかどうかを示す別の方法は、[モジュール]ウィンドウ([デバッグ]> [Windows]> [モジュール])を表示することです。あなたのアプリケーションのDLLにモジュールリストにない場合は、あなたのアプリケーションのコードにブレークポイントを入れようとすると、 'no symbols has loaded'というメッセージが表示されます。

0

数週間前にこのサンプルの問題がありました。 FirefoxとChromeの両方にバグがあり、Silverlightをデバッグすることができなくなったということを知りました。また、新しいバージョンのIEを使用していることを確認してください。 IEのランダムな中間バージョンがあり、正しくロードされません。

+0

ブラウザに接続する前からシンボルがロードされていないことを伝えているので、IEの最新バージョンを持っているはずです。 – Androme

+0

Firefoxにはデバッグを許可するプラグインがあります。 – vorrtex

3

Firefoxのプラグインコンテナをデバッグプロセスに接続する必要があります。 Firefoxはメインプロセス内のプラグインをもう実行していないためです。

[デバッグ] - > [プロセスにアタッチ] - > [プラグインコンテナを検索]に移動し、[アタッチ]ボタンを押します。

今すぐデバッグを再試行してください。

2

は、ここではCtrl-F5とのプロジェクトを開始し

のInternet Explorer 9

  1. で私たちのために働いていたものです。

  2. ブラウザプロセスに接続するには、デバッグメニューを使用します。

  3. プロジェクトを停止します。

  4. F5キーを使用してプロジェクトを実行します。ここで

1

デバッグがFirefoxで働いていなかったとき、私のために働いたソリューションです:「について:コンフィグ」

  1. タイプのFirefox
  2. のアドレスバーに「DOMという名前のプロパティを探しますダブル
  3. を再起動し、すべてのFirefoxブラウザ
  4. ゴーbをクリックしてtrueからfalseに
  5. 変更「の値を.ipc.plugins.enabled Visual Studioに確認し、デバッグを開始してください!
+0

素晴らしい..それはまた私のために働く..ありがとう.. :) –

0

[デバッグ]> [例外]をクリックして、.net例外の近くにあるチェックボックスをオンにします。

0

上記の回答に加えて、プロジェクトを右クリックして[プロパティ]に移動すると、ブラウザ外でアプリケーションを起動できることがわかりました。次に、Silverlightタブで、チェックボックス「ブラウザから実行中のアプリケーションを有効にする」を選択します。デフォルトのブラウザを変更したり、特定のプロセスにアタッチしなくても、設定したブレークポイントに到達するはずです。

関連する問題