0

ASP.NET MVC(まだv2)AzureWebアプリケーションを開発しています。MVCコード自体をステップスルーする必要があると思われる問題が発生しました。私はこれを行うことができますが、ステップするときにコードを検査できる必要があるため、デバッガーで最適化されていないバージョン(「ローカルまたは引数の値を取得できません...」)メッセージを取得する必要があります。

最適化を回避する標準的な方法(http://blogs.msdn.com/b/sburke/archive/2008/01/29/how-to-disable-optimizations-when-debugging-reference-source.aspx)はありません。コンピュートエミュレータでの実行に適用できるようです。

System.Web.Mvcプロジェクトのローカルデバッグビルドを作成してこれも試しましたが、ComputeEmulatorで起動しようとするとWebロールがハングします。

だから...次のいずれかの助けをいただければ幸いです。

Visual Studio(2010)でAzure Webアプリを実行して、システムdllのコード最適化を無視するようにします。

また

ComputeEmulatorでデバッグされているAzureWebアプリから参照できるように、ローカルシステムのデバッグビルドを作成します。

4

2 に答える 2

0

コンピューティング エミュレーターでのデバッグ中に、最終的に最適化されていない ASP.NET コードを取得することができました。MSDN ( http://msdn.microsoft.com/en-us/library/9dd8z24x%28v=vs.100%29.aspx ) および他の場所 ( http://martin.bz/blog/asp- net-mvc-source-debugging-the-easy-wayなど) は、DLL と同じディレクトリで最適化しないように JIT コンパイラに指示する .ini ファイルを配置することです。

最初の課題は、それがどこにあるかを特定することでした。最後に、Compute Emulator UI でログを見て、DLL (この場合は System.Web.Mvc) がどこから読み込まれたかを確認することに気づきました。

2 番目の課題は、そこに .ini ファイルを取得することでした。Windows エクスプローラーは、ファイルに直接アクセスできない別の方法でアセンブリ キャッシュを表示するため、機能しませんでした。私が読んだ投稿の 1 つは、コマンド プロンプトを使用するとアクセスできる可能性があることを思い出させてくれました。最後のステップは、コマンド プロンプトで .ini ファイルをアセンブリ ディレクトリに移動することを許可されなかったときに、コマンド プロンプトを管理者として実行する必要があることに気付きました。

デバッグ中に変数を表示できるようになると、自分のバグがどこにあるのかすぐにわかりました。

于 2013-02-08T22:34:25.120 に答える
0

Azure Compute Emulator で問題が発生する場合は、IIS Express を使用して MVC プロジェクトを実行できます。右クリックして、[デバッグ/新しいインスタンスの開始] を選択するだけです。

于 2013-02-07T21:09:39.937 に答える