我一直在嘗試爲MSTest中的Silverlight 4項目開發一些單元測試,但我在運行時遇到了一些麻煩。在我的代碼中,我使用了一些表達式(System.Linq.Expressions),並且在正常情況下運行該程序時它們正常工作。但是,如果在單元測試過程中遇到任何此代碼,我會在'AppDomain'類型上得到'MissingMethodException'Silverlight 4單元測試;加載了mscorlib的錯誤版本
我已將問題追溯到mscorlib.dll中定義了「AppDomain」這一事實。當我正常運行程序時,加載了mscorlib(Silverlight 4)的2.0.5.0版本,並且在單元測試下加載了2.0.0.0版本。我的測試和正常項目中的所有參考都是正確的,所以我無法弄清楚爲什麼MSTest加載了錯誤的版本。
有沒有辦法讓MSTest或VSTestHost實際加載正確版本的mscorlib? (2.0.5.0)
嗯......這些選項似乎不合理。爲什麼這一定很難? –
如果他們不同意你的話,我很抱歉,那些是你的選擇。這很難,因爲.NET和Silverlight是兩個不同的運行時,它們恰好看起來很相似,碰巧爲模塊(程序集)使用相同的二進制文件格式。 – SoftMemes
這不是你的錯。似乎有一些方法可以實現這一點。我可以手動將mscorlib(2.0.5.0)手動加載到Test的應用程序域,但還沒有完全弄清楚如何讓它進入jive。 –