1

単体テストを実行できないようです。すべてのエラーは次の行に沿っています。

    Test method TvQueue.UnitTesting.TheTvDb.TheTvDbServiceTest.GetShowbasicTest threw exception: 
System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows, Version=2.0.6.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' or one of its dependencies. The system cannot find the file specified.=== Pre-bind state information ===
LOG: User = JKRTABLET\Jan
LOG: DisplayName = System.Windows, Version=2.0.6.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
 (Fully-specified)
LOG: Appbase = file:///C:/Users/Jan/Documents/Visual Studio 2012/Projects/TvQueue/TvQueue.UnitTesting/bin/Debug
LOG: Initial PrivatePath = NULL
Calling assembly : TvQueue.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files (x86)\JetBrains\ReSharper\v7.0\Bin\JetBrains.ReSharper.TaskRunner.CLR4.exe.Config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: System.Windows, Version=2.0.6.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
LOG: Attempting download of new URL file:///C:/Users/Jan/Documents/Visual Studio 2012/Projects/TvQueue/TvQueue.UnitTesting/bin/Debug/System.Windows.DLL.
LOG: Attempting download of new URL file:///C:/Users/Jan/Documents/Visual Studio 2012/Projects/TvQueue/TvQueue.UnitTesting/bin/Debug/System.Windows/System.Windows.DLL.
LOG: Attempting download of new URL file:///C:/Users/Jan/Documents/Visual Studio 2012/Projects/TvQueue/TvQueue.UnitTesting/bin/Debug/System.Windows.EXE.
LOG: Attempting download of new URL file:///C:/Users/Jan/Documents/Visual Studio 2012/Projects/TvQueue/TvQueue.UnitTesting/bin/Debug/System.Windows/System.Windows.EXE.

    at TvQueue.Data.TheTvDb.TheTvDbService.<GetShow>d__8.MoveNext()
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start(ref TStateMachine stateMachine)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start(ref TStateMachine stateMachine)
   at TvQueue.Data.TheTvDb.TheTvDbService.GetShow(Int64 theTvDbId)
   at TvQueue.UnitTesting.TheTvDb.TheTvDbServiceTest.<GetShowbasicTest>d__0.MoveNext() in TheTvDbServiceTest.cs: line 19
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Windows Phone 8 のコードを開発しているときに、この問題が発生します。何らかの理由で、MSTest は古いバージョンのアセンブリを読み込もうとしています (プロジェクトで実際に参照されているアセンブリは 4.x 以降であり、MSTest は 2.x バージョンを読み込もうとしています)。

これは設定の問題だと思いますが、修正方法がわかりません。

助けてくれてありがとう。

4

1 に答える 1

2

Windows Phone 8 アプリケーション用に VS2010 で MSTest を使用する方法に関する私の回答を参照してください。

プロジェクトで実際に参照されているアセンブリが 4.x 以降である

System.Windows, Version=2.0.6.0古いバージョンではなく、正しい新しいバージョンです。また、個々のアセンブリのバージョン番号を実際に確認することはできません。個々のアセンブリなどはありません。

主な変更点は、Windows RT と同様に、Windows Phone 8 では直接アセンブリが使用されなくなり、複数のアセンブリを 1 つの API にコンパイルする WinMD ファイルが使用されるようになったことです。

于 2012-11-02T19:45:43.253 に答える