當運行一個單元測試,我收到以下異常:MissingMemberException調用C#泛型方法時
試驗方法拋出異常: system.missingMethodException而:方法 未找到:「System.String DataUtilities.HelperMethods .Serialize(!! 0)'..
這隻發生在運行unittest而不是調試它時。當我調試它時,不會發生錯誤。
所調用的方法的簽名:
public static string Serialize<T>(T value)
的方法是在一個參考DLL。
我注意到以下幾點:在引用的dll中有一個方法將調用包裝爲Serialize(T值)方法。
其代碼:
public static string SerializeList(List<object> list)
{
TraceClass.Write("something",list);
string x = HelperClass.Serialize<List<object>>(list);
TraceClass.Write(x);
return x;
}
如果我把使用這種 「間接」 它工作正常的HelperClass.Serialize。在調試和正常運行模式下。
我在做什麼錯?
這也是我最初的想法。但是:unittest的out文件夾中引用的dll的日期是最新的。它必須緩存在某處。但爲什麼只用於調試? – StampedeXV
@Stampede我不確定是否誠實。也許它在GAC或其他項目文件夾中? – Joseph
要加入GAC,我必須手動添加afaik,對不對?我從來沒有這樣做過。我很確定。 我在某個論壇上看過,它可能位於Visual Studio的IDE文件夾中,但我在那裏也找不到它。 – StampedeXV