IL レベルで dll をデバッグする必要があり、http://blogs.msdn.com/b/jmstall/archive/2004/10/03/237137.aspxを読んで、il(d )アスム。
逆アセンブリは実行されますが、再アセンブリは失敗します
Assembled method Dapper.SqlMapper°UdtTypeHandler::Dapper.SqlMapper.ITypeHandler.SetValue
Assembled method Dapper.SqlMapper°TypeHandler`1::Dapper.SqlMapper.ITypeHandler.SetValue
Assembled method Dapper.SqlMapper°TypeHandler`1::Dapper.SqlMapper.ITypeHandler.Parse
Assembled method Dapper.SqlMapper°TypeHandler`1::.ctor
Assembled method Dapper.SqlMapper°Link`2::TryGet
W:\TimPrecast\ildasm\ppdbcore.il(71204) : error : Undeclared identifier IL_0016
W:\TimPrecast\ildasm\ppdbcore.il(71204) : error : syntax error at token ':' in: IL_0016: ldloc.s
***** FAILURE *****
次に、ILSpy で DLL を開き、生成された IL ファイルをメモ帳で開きます。
ILSpy:
IL_000a: stloc.1
IL_000b: ldloc.1
IL_000c: ldarg.1
IL_000d: ldloca.s found
IL_000f: call bool class Dapper.SqlMapper/Link`2<!TKey, !TValue>::TryGet(class Dapper.SqlMapper/Link`2<!0, !1>, !0, !1&)
IL_0014: stloc.s 4
IL_0016: ldloc.s 4
IL_0018: brfalse.s IL_0027
IL_001a: nop
IL_001b: ldarg.2
IL_001c: ldloc.2
IL_001d: stobj !TValue
IL_0022: ldc.i4.0
IL_0023: stloc.s 5
IL_0025: br.s IL_0051
ILDASM (行 71204 は IL_0016):
IL_000a: stloc.1
IL_000b: ldloc.1
IL_000c: ldarg.1
IL_000d: ldloca.s found
IL_000f: call bool class Dapper.SqlMapper/Link`2<!TKey,!TValue>::TryGet(class Dapper.SqlMapper/Link`2<!0,!1>,
!0,
!1&)
IL_0014: stloc.s
IL_0016: ldloc.s
IL_0018: brfalse.s IL_0027
IL_001a: nop
IL_001b: ldarg.2
IL_001c: ldloc.2
IL_001d: stobj !TValue
IL_0022: ldc.i4.0
IL_0023: stloc.s V_5
IL_0025: br.s IL_0051
stloc.s へのインデックスが欠落しているようです。
ILDasm ヘルプ -> 情報は、バージョン 4.0.30319.0 を示しています。