2011-02-09 6 views
4

私のSL4 LOBアプリケーションでは、おそらくF5 1000x以上の問題は発生しませんでした。突然、F5を押すとアプリのStartupイベントが発生するまでに最大90秒かかることがあります。Silverlightでデバッグセッションを開始すると非常に時間がかかります

私はIEのブラウザのキャッシュを消去しようとしましたが、そこには何の助けもありません。

コードなしの新しいナビゲーションアプリを作成しました。F5を押してすぐに起動しました。次に、SL4 LOBアプリから同じアセンブリ参照を新しく作成したナビゲーションアプリに追加し始めました。各リファレンスが追加された後、私はF5キーを押して、アプリケーションをすぐに起動できるようにします。ここまでは順調ですね。

私はついに、元のSL4 LOBアプリケーションと同じ動作を引き起こしたSystem.Windows.Controls.Data.Toolkit.dllに行きました。私は、ナビゲーションアプリから参照を削除し、再び、すぐに起動します。それはわずか33kbだから、私は私のシンボルキャッシュに問題があると主張することはできません。

この奇妙な動作を見た他の人はいますか?どんな洞察力も大変高く評価されます。

答えて

1

あなたのアプリケーションの小さなサイズは、デバッグセッションがどのくらい早く始まるかにはまったく関係ありません。減速は、アプリケーションに多数の依存関係があるために発生します。

大したことが改善された単一のリファレンスを削除しました。この単一のDLLはおそらく数十の他のライブラリに依存している可能性があります。 Process Explorerのようなツールでプロセスをチェックすると、実行時にどのライブラリがロードされているかが正確に分かります。

これらの無関係の依存関係は、かなり一般的です。 Visual Studioで使用するプロジェクトウィザードは、ほとんどの場合、最終アプリケーションが使用しないアイテムに依存関係を追加します。たとえば、XML参照は常にデフォルトプロジェクトの一部ですが、XMLを使用する必要はありません。最初にプロジェクトを作成した後は、これらの不要な依存関係を調べて削除することをお勧めします。必要に応じていつでも元に戻って再参照することができます。

関連する問題