[seasar-dotnet:1627] Re: 基底FormクラスにDI対象フィールド+AOP対象でエラー

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2010年 3月 24日 (水) 00:01:27 JST


ikutirinさん

小谷です。

「QuillControl」をお使いでしょうか?
もしお使いでしたらそれを外し、代わりにmainメソッドなど、
Formとは関係ない場所で自前でQuillInjector.Injectを呼び出すようにしてみていた 
だけないでしょうか。
(根本的な解決にはならないと思いますが・・・)
※参考
http://s2container.net.seasar.org/ja/quill.html#di_quill

デザイナ上では呼ばれないはずの
QuillControl#EndInit内でのInject呼び出しが行われているようなので。

ikutirin <[E-MAIL ADDRESS DELETED]>:
> ikutirinです。

> 解決へのヒント、回答をよろしくお願いします。



> Seasar.Quil.dll:1.3.17.0、

> DBFlute:0.8.9.12

> で開発しています。





> S2Formを継承したFormを作成しました。(AAAFormとします)

> AAAFormを継承してFormを作成しました。(BBBFormとします)



> AAAForm内で、

> protected IXXXXService xxxService;

> とDI対象のフィールドを用意すると、

> BBBFormをVisualStudioのデザイナで表示できなくなります。

> 以下エラーがでます。

> ---

> メソッドが見つかりません:

> 'Void Seasar.Framework.Aop.Proxy.DynamicAopProxy..ctor(System.Type,

> Seasar.Framework.Aop.IAspect[], System.Collections.Hashtable)'

> ---



> IXXXXServiceにはAspect属性を設定しており、その属性を外すと

> エラーがでず、正常にデザイナで開くことができます。



> ためしに、

> BBBForm内に、

> protected IXXXXService xxxService;

> を書いてみましたが、エラーは発生しません。(当然ですね。。。)

> #AAAFormは常に、問題なくデザイナで開くことができます。



> S2Form→AAAForm→BBBFormという構成で、

> AAAForm内にAspect属性を指定したインターフェースのフィールドを作成したいの 
> ですが、

> どのようにすればよいでしょうか。

> #実行は出来るのですが、VisualStudioのデザイナで開けなくなります。



> よろしくお願いします。

> _______________________________________________

> seasar-dotnet mailing list

> [E-MAIL ADDRESS DELETED]

> https://ml.seasar.org/mailman/listinfo/seasar-dotnet

-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20100323/1f949b98/attachment.html>


seasar-dotnet メーリングリストの案内