2016-04-16 19 views
0

プロジェクトでUnity DIを実装する際に大きな問題があります。これは以前ここで尋ねられましたが、とにかく助けが必要です。UnityのDLL地獄?

私が手にエラーは私がfuslogvw-をを実行することを学んだ、ここで他の質問から

Microsoft.Practices.Unity.pdb not loaded 
Version 4.00.1.0 
Original location C:\Users\a\AppData\Local\Temp\Temporary ASP.NET Files\root\25e027a5\1b5eb1ca\assembly\dl3\36014eea\59864550_5097d101\Microsoft.Practices.Unity.dl 

VS

で次に

System.StackOverflowException was unhandled 
Message: An unhandled exception of type 'System.StackOverflowException' occurred in Microsoft.Practices.Unity.dll 

ませシンボルロードタブです。そこに私は統一について何も見ませんでした。ユニティに関連する唯一のものは、Microsoft.Practices.EnterpriceLibrary.Loggingですか?

次にGACがあります。私はどこでそれを見つけることができます、そして、何かそこに間違いがあるかどうかチェックするために私はそこで何ができますか?

また、web.configにUnityについては何もありません。そこにあるはずですか?

私の問題を解決するためのその他のヒントをお願いします。

答えて

2

エラー:StackOverflowExceptionは、クラス間で循環的な依存関係がある(A-> B-> C-> A)ことを伝え、Unityはそれを解決できません。 Unityはこのチェーンを何度も繰り返して呼び出し関数のスタックアドレスに保存し、すぐにスタックの容量は不足し、StackOverflowExceptionが発生します。 Unityで解決されたすべての依存関係を非常に注意深くチェックし、単一の責任原則(S OLID)に従ってクラスをサブクラスに設定して実行する解決規則を考慮したUnityを考慮してください。 IDEがUMLダイアグラムをサポートしている場合は、それらを作成してクラス間の依存関係をグラフ形式で表すことができます。