2012-08-09 56 views
0

我有一個WPF GUI項目的小解決方案,庫項目中的一些業務邏輯以及使用MbUnit/Gallio的測試項目。到目前爲止一切正常。PostSharp與MbUnit的比較:TypeLoadException

當我通過NuGet將PostSharp Diagnostics Toolkit for Log4Net添加到當前的2.1.6.4版本中以後,我無法在我的兩個測試程序集中的一箇中運行測試。我總是得到一個TypeLoadException沒有告訴我什麼類型無法加載。沒有區別使用Gallio Echo,Gallio Icarus或Visual Studio測試跑步者。

所以我玩了一下,並在測試項目中添加了PostSharp-Diagnostics-Toolkit-Log4Net。現在,當我嘗試運行測試時,我收到了PostSharp-has-crashed-message-box,我可以查看錯誤詳細信息。以下有趣的部分是用德語告訴我,無法加載PostSharp.Toolkit.Diagnostics.LogLevel類型。但我不知道如何解決這個問題。

雖然我的其他測試項目仍然正常,兩個測試項目(當然)都不包含複雜的東西。無法運行的項目具有對agsXMPP的引用,該引用僅用於聲明xmpp連接對象上的某些屬性已設置。我已經嘗試刪除此引用以及這些斷言,但是此項目中的所有測試仍然失敗,並顯示TypeLoadException

想法任何人?

System.TypeLoadException明鏡典型 「PostSharp.Toolkit.Diagnostics.LogLevel」 在DER大會 「PostSharp.Toolkit.Diagnostics,版本= 2.1.0.0,文化=中立,公鑰=空」 konnte nicht geladen werden。 PostSharp.Toolkit.Diagnostics.Weaver.Log4Net bei PostSharp.Toolkit.Diagnostics.Weaver.Log4Net.Logging.Log4NetBackend..ctor()bei PostSharp.Toolkit.Diagnostics.Weaver.Log4Net.Logging.Log4NetBackendProvider.GetBackend(String name)in#路徑:Zeile 11. bei PostSharp.Toolkit.Diagnostics.Weaver.InstrumentationPlugIn.GetBackend(String loggingBackendName)在#path中:Zeile 61. bei PostSharp.Toolkit.Diagnostics.Weaver.InstrumentationPlugIn.InialialBackend()在#path中:Zeile 40. bei在#path中使用PostSharp.Toolkit.Diagnostics.Weaver.InstrumentationPlugIn.get_Backend():Zeile 25. bei PostSharp.Toolkit.Diagnostics.Weaver.Logging.LoggingAspectWeaver.Initialize()在#path中:Zeile 29. bei PostSharp.Sdk.AspectWeaver。 AspectWeaver。^ pFnf8wEt(AspectWeaverTask _0,TypeDefDeclaration _1,TokenType _2)bei PostSharp.Sdk.AspectWeaver.AspectWeaverTask。^ lp9i7ZhC(InstructionWriter _0,AspectInstanceInfo _1,StructuredDeclarationDictionary 1 _2) bei PostSharp.Sdk.AspectWeaver.AspectWeaverTask.^5UGcBAoN.^qmgrNmSI(IMetadataDeclaration _0, AspectInstanceInfo _1) bei PostSharp.Sdk.AspectInfrastructure.StructuredDeclarationDictionary 1.^lNgKC + Z4(IMetadataDeclaration _0,Func 3 _1) bei PostSharp.Sdk.AspectInfrastructure.StructuredDeclarationDictionary 1.^RdBVqi#路徑貝PostSharp.Sdk.AspectInfrastructure.StructuredDeclarationDictionary 1.^d+wOzSPF(IMetadataDeclaration _0, Func 2 _1)貝PostSharp.Sdk.AspectInfrastructure.StructuredDeclarationDictionary 1.^+g+TCqVg(TypeDefDeclaration _0, Func 2 _1,設置1 _2) bei PostSharp.Sdk.AspectInfrastructure.StructuredDeclarationDictionary 1.^fJqG(Func鍵2 _0) bei PostSharp.Sdk.AspectInfrastructure.StructuredDeclarationDictionary 1.^fJqG(Func`3 _0) bei PostSharp.Sdk.AspectWeaver.AspectWeaverTask.Execute()bei PostSharp.Sdk.Extensibility.Project.ExecutePhase(String phase)bei PostSharp.Sdk.Extensibility.Project.Execute()bei PostSharp.Hosting.PostSharpObject.ExecuteProjects()bei PostSharp .Hosting.PostSharpObject.InvokeProject(ProjectInvocation projectInvocation)

+0

當堆棧跟蹤不是英語xD – PhonicUK 2012-08-09 13:06:41

+0

呃,我不記得我安裝了一些語言包或其他東西,但也許Windows更新是這樣做的(不幸的是我必須使用德語Windows版本)。但'bei'的意思是'at',我認爲每個人都可以插入這個;) – Silas 2012-08-09 13:14:59

+0

你目前的構建目標是什麼? x86,x64或AnyCPU?我的第一個猜測是,圖書館是一個架構,你正在爲另一個架構。 – PhonicUK 2012-08-09 13:31:49

回答

0

我仍然不有一個想法,什麼是錯的,但卸載,並通過NuGet包的所有依賴管理重新安裝PostSharp診斷工具包的log4net的在Visual Studio中修復了這個問題。