Uploaded image for project: 'S2Container.NET'
  1. S2Container.NET
  2. CONTAINERNET-148

Quill(.NET4.0)上でAOP利用時、実行時にNullReferenceExceptionが発生する

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Critical Critical
    • 1.4.0-RC3
    • Affects Version/s: 1.4.0-RC2
    • Component/s: Quill
    • None
    • Environment:
      .NET Framework4.0以上+S2Container(Quill)1.4.0-RC1,2

      アスペクトをかけるために使用している
      Castle.DynamicProxyというライブラリの挙動が.NET4.0対応版と
      それ以前で違っているらしく、「field.FieldType」をキーにした場合と
      「implType」をキーにした場合で別々のインスタンスが設定されるようになっていました。

      井上さんが提示して下さったようにInjectメソッドに渡す方(QuillInjector.cs 345行目)と
      InvokeMemberを使ってインスタンスを設定する方(同352,353行目)で同じキーを
      指定すれば正常に動くようになりますが、本当にその修正で問題がないのか
      もう少し調査する予定です。

      また、.NET4.0対応前のバージョン(1.3.18以前)では
      当現象は発生しないことを同じテストコードを実行して確認しています。

            Assignee:
            koyak koyak
            Reporter:
            koyak koyak
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: