TFS でアプリケーションを構築し、単体テストを含めるのに少し問題があります。ビルドを実行すると、いくつかのエラーで失敗します。"Exception thrown executing tests in [my directory here]. System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Interactivity'".
これで、ビルドにテストをスキップするように指示すると、ビルドは成功します。問題のプロジェクトがリリース モードでローカルに正常にビルドされ、System.Windows.Interactivity.dll が のソース管理にあることを確認しました$\Common\Third Party\MVVMLight\V4\WPF 4.0\
。また、ビルド定義を [ソース設定] の下のアクティブな作業フォルダーとしてその場所に指定しています。 .
ソース設定の画像を以下に示します (申し訳ありませんが、ここに画像を投稿するには担当者がもっと必要なようです)。 写真はこちら。 ビルド定義を保存して実行すると、次のようになります。
Exception thrown executing tests in C:\Builds\1\SqlProducts\Workbench QA 4878 \Binaries\ObfuscatedAssemblies\PragmaticWorks.SsisUnitTests.UI.dll`
System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Interactivity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Windows.Interactivity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'`
Server stack trace:
at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes)
at System.Reflection.RuntimeAssembly.GetExportedTypes()
at NUnit.Core.CoreExtensions.InstallAdhocExtensions(Assembly assembly)
at NUnit.Core.Builders.TestAssemblyBuilder.Load(String path)
at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites)
at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites)
at NUnit.Core.TestSuiteBuilder.BuildSingleAssembly(TestPackage package)
at NUnit.Core.TestSuiteBuilder.Build(TestPackage package)
at NUnit.Core.SimpleTestRunner.Load(TestPackage package)
at NUnit.Core.ProxyTestRunner.Load(TestPackage package)
at NUnit.Core.ProxyTestRunner.Load(TestPackage package)
at NUnit.Core.RemoteTestRunner.Load(TestPackage package)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)`
私はここで少し(わかりました、たくさん)迷っています。IT の世界ではまだかなり新しいので、明らかな何かが欠けている場合は、優しくしてください。テストを TFS ビルドに統合することについて私が読んだほとんどの記事は、「"Skip Tests" を false に設定して、ここでテストをオンにしてください。OK、準備完了です!」というだけなので、これはますますイライラさせられます。