diff --git a/src/AgUnit.Runner.Resharper60.TaskRunner/UnitTestRunner/Silverlight/SilverlightUnitTestTaskRunner.cs b/src/AgUnit.Runner.Resharper60.TaskRunner/UnitTestRunner/Silverlight/SilverlightUnitTestTaskRunner.cs index fa992ee..d6f698d 100644 --- a/src/AgUnit.Runner.Resharper60.TaskRunner/UnitTestRunner/Silverlight/SilverlightUnitTestTaskRunner.cs +++ b/src/AgUnit.Runner.Resharper60.TaskRunner/UnitTestRunner/Silverlight/SilverlightUnitTestTaskRunner.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; -using System.ComponentModel; using System.Diagnostics; using System.Linq; using JetBrains.ReSharper.TaskRunnerFramework; @@ -38,7 +37,7 @@ public override TaskResult Finish(TaskExecutionNode node) public override void ExecuteRecursive(TaskExecutionNode node) { - Debugger.Break(); + //Debugger.Break(); try { diff --git a/src/AgUnit.Runner.Resharper60/AgUnit.Runner.Resharper60.csproj b/src/AgUnit.Runner.Resharper60/AgUnit.Runner.Resharper60.csproj index aaa6805..67098e9 100644 --- a/src/AgUnit.Runner.Resharper60/AgUnit.Runner.Resharper60.csproj +++ b/src/AgUnit.Runner.Resharper60/AgUnit.Runner.Resharper60.csproj @@ -13,10 +13,10 @@ v4.0 512 - $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\JetBrains\ReSharper\v6.0\vs10.0@InstallDir) - Program - $(DevEnvDir)devenv.exe - /ReSharper.Plugin AgUnit.Runner.Resharper60.dll /ReSharper.LogFile C:\resharper.log /ReSharper.LogLevel Verbose ..\src\DummyTests\VS2010\DummyTests.sln + $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\JetBrains\ReSharper\v6.0\vs10.0@InstallDir) + Program + $(DevEnvDir)devenv.exe + /ReSharper.Plugin AgUnit.Runner.Resharper60.dll /ReSharper.LogFile C:\resharper.log /ReSharper.LogLevel Verbose ..\src\DummyTests\VS2010\DummyTests.sln ..\..\output\ @@ -127,11 +127,14 @@ + + + - + diff --git a/src/AgUnit.Runner.Resharper60/UnitTestFramework/ExtendedDebugTaskRunnerHostController.cs b/src/AgUnit.Runner.Resharper60/UnitTestFramework/ExtendedDebugTaskRunnerHostController.cs index 22b5920..2ec3f8e 100644 --- a/src/AgUnit.Runner.Resharper60/UnitTestFramework/ExtendedDebugTaskRunnerHostController.cs +++ b/src/AgUnit.Runner.Resharper60/UnitTestFramework/ExtendedDebugTaskRunnerHostController.cs @@ -1,25 +1,70 @@ extern alias util; - +using System; +using System.Runtime.InteropServices; +using AgUnit.Runner.Resharper60.UnitTestFramework.SilverlightPlatform; +using AgUnit.Runner.Resharper60.Util; using EnvDTE; using JetBrains.ReSharper.UnitTestExplorer; using JetBrains.ReSharper.UnitTestFramework; using JetBrains.Threading; using Microsoft.VisualStudio.Shell.Interop; -using util::JetBrains.Util.Lazy; +using util::JetBrains.Util; +using Thread = System.Threading.Thread; namespace AgUnit.Runner.Resharper60.UnitTestFramework { public class ExtendedDebugTaskRunnerHostController : DebugTaskRunnerHostController { - public ExtendedDebugTaskRunnerHostController(UnitTestManager manager, UnitTestSessionManager sessionManager, Lazy debugger2, DTE dte, IThreading threading, IUnitTestLaunch launch, string remotingAddress) + public ExtendedDebugTaskRunnerHostController(UnitTestManager manager, UnitTestSessionManager sessionManager, util::JetBrains.Util.Lazy.Lazy debugger2, DTE dte, IThreading threading, IUnitTestLaunch launch, string remotingAddress) : base(manager, sessionManager, debugger2, dte, threading, launch, remotingAddress) { } - // TODO: If we have a Silverlight test run, we should attach the Silverlight debugger here instead of the .NET/COM debugger. - // See the implementation in the version of AgUnit for R# 5.0: https://hg01.codeplex.com/agunit/file/e1d353fe2274/AgUnit.Runner.Resharper50/UnitTestHost/AgUnitHostController.cs public override void Run(string remotingAddress, IUnitTestRun run) { - base.Run(remotingAddress, run); + if (run.IsSilverlightRun()) + { + RunWithSilverlightDebugger(remotingAddress, run); + } + else + { + base.Run(remotingAddress, run); + } + } + + private void RunWithSilverlightDebugger(string remotingAddress, IUnitTestRun run) + { + var targetInfo = CreateTargetInfo(remotingAddress, run); + + this.SetField("myRunId", run.ID); + this.SetField("myTargetInfo", targetInfo); + + new Thread(CallThreadProc) { IsBackground = true }.Start(); + } + + private VsDebugTargetInfo2 CreateTargetInfo(string remotingAddress, IUnitTestRun run) + { + var runnerPath = GetTaskRunnerPathForRun(run); + var runnerArgs = GetTaskRunnerCommandLineArgs(remotingAddress, run.ID); + var silverlightDebugEngineGuid = new Guid("032F4B8C-7045-4B24-ACCF-D08C9DA108FE"); + + var debugTargetInfo = new VsDebugTargetInfo2 + { + dlo = 1U, + bstrExe = runnerPath.FullPath, + bstrCurDir = runnerPath.Directory.FullPath, + bstrArg = runnerArgs, + guidLaunchDebugEngine = silverlightDebugEngineGuid, + LaunchFlags = 97U + }; + + debugTargetInfo.cbSize = (uint)Marshal.SizeOf(debugTargetInfo); + + return debugTargetInfo; + } + + private void CallThreadProc() + { + Logger.Catch(() => this.CallMethod("ThreadProc")); } } } \ No newline at end of file diff --git a/src/AgUnit.Runner.Resharper60/UnitTestFramework/HostProviderWrapper.cs b/src/AgUnit.Runner.Resharper60/UnitTestFramework/HostProviderWrapper.cs index e45e94d..c75a627 100644 --- a/src/AgUnit.Runner.Resharper60/UnitTestFramework/HostProviderWrapper.cs +++ b/src/AgUnit.Runner.Resharper60/UnitTestFramework/HostProviderWrapper.cs @@ -1,4 +1,5 @@ extern alias util; +using AgUnit.Runner.Resharper60.UnitTestFramework.SilverlightPlatform; using JetBrains.ReSharper.UnitTestFramework; namespace AgUnit.Runner.Resharper60.UnitTestFramework diff --git a/src/AgUnit.Runner.Resharper60/UnitTestFramework/SilverlightPlatform/SilverlightPlatformSupportExtensions.cs b/src/AgUnit.Runner.Resharper60/UnitTestFramework/SilverlightPlatform/SilverlightPlatformSupportExtensions.cs new file mode 100644 index 0000000..85b2b82 --- /dev/null +++ b/src/AgUnit.Runner.Resharper60/UnitTestFramework/SilverlightPlatform/SilverlightPlatformSupportExtensions.cs @@ -0,0 +1,50 @@ +using System.Collections.Generic; +using System.Linq; +using JetBrains.ProjectModel; +using JetBrains.ReSharper.UnitTestExplorer; +using JetBrains.ReSharper.UnitTestFramework; + +namespace AgUnit.Runner.Resharper60.UnitTestFramework.SilverlightPlatform +{ + public static class SilverlightPlatformSupportExtensions + { + public static void EnsureSilverlightPlatformSupport(this IUnitTestLaunch launch, UnitTestManager manager) + { + var runs = launch.GetRuns(); + + foreach (var run in runs.Values.ToArray()) + { + foreach (var sequence in run.GetSequences().ToArray()) + { + ConvertToSilverlightSequenceIfNecessary(sequence, run, launch, manager); + } + } + + launch.RemoveEmptyRuns(); + } + + private static void ConvertToSilverlightSequenceIfNecessary(IList sequence, UnitTestRun run, IUnitTestLaunch launch, UnitTestManager manager) + { + if (!sequence.IsSilverlightSequence()) + { + var requiredSilverlightPlatform = sequence.GetRequiredSilverlightPlatform(); + if (requiredSilverlightPlatform != null) + { + run.GetSequences().Remove(sequence); + + CreateSilverlightSequence(sequence, launch, manager, requiredSilverlightPlatform); + } + } + } + + private static void CreateSilverlightSequence(IList sequence, IUnitTestLaunch launch, UnitTestManager manager, PlatformID silverlightPlatform) + { + var silverlightRun = launch.GetOrCreateSilverlightRun(silverlightPlatform); + + sequence.AddSilverlightUnitTestTask(silverlightPlatform, manager); + sequence.RemoveAssemblyLoadTasks(); + + silverlightRun.AddTaskSequence(sequence); + } + } +} \ No newline at end of file diff --git a/src/AgUnit.Runner.Resharper60/UnitTestFramework/SilverlightPlatform/UnitTestLaunchExtensions.cs b/src/AgUnit.Runner.Resharper60/UnitTestFramework/SilverlightPlatform/UnitTestLaunchExtensions.cs new file mode 100644 index 0000000..eafbbe0 --- /dev/null +++ b/src/AgUnit.Runner.Resharper60/UnitTestFramework/SilverlightPlatform/UnitTestLaunchExtensions.cs @@ -0,0 +1,44 @@ +using System.Collections.Generic; +using System.Linq; +using AgUnit.Runner.Resharper60.Util; +using JetBrains.ProjectModel; +using JetBrains.ReSharper.TaskRunnerFramework; +using JetBrains.ReSharper.UnitTestExplorer; +using JetBrains.ReSharper.UnitTestFramework; + +namespace AgUnit.Runner.Resharper60.UnitTestFramework.SilverlightPlatform +{ + public static class UnitTestLaunchExtensions + { + public static void RemoveEmptyRuns(this IUnitTestLaunch launch) + { + var runs = launch.GetRuns(); + var emptyRuns = runs.Values.Where(run => !run.GetSequences().Any()).ToArray(); + + foreach (var run in emptyRuns) + { + runs.Remove(run.ID); + } + } + + public static UnitTestRun GetOrCreateSilverlightRun(this IUnitTestLaunch launch, PlatformID silverlightPlatform) + { + var runs = launch.GetRuns(); + var silverlightRun = runs.Values.FirstOrDefault(run => run.GetSilverlightPlatformVersion() == silverlightPlatform.Version); + + if (silverlightRun == null) + { + var runtimeEnvironment = new RuntimeEnvironment { PlatformType = PlatformType.x86, PlatformVersion = PlatformVersion.v4_0 }; + silverlightRun = new UnitTestRun((UnitTestLaunch)launch, runtimeEnvironment); + runs.Add(silverlightRun.ID, silverlightRun); + } + + return silverlightRun; + } + + public static Dictionary GetRuns(this IUnitTestLaunch launch) + { + return launch.GetField>("myRuns"); + } + } +} \ No newline at end of file diff --git a/src/AgUnit.Runner.Resharper60/UnitTestFramework/SilverlightPlatform/UnitTestRunExtensions.cs b/src/AgUnit.Runner.Resharper60/UnitTestFramework/SilverlightPlatform/UnitTestRunExtensions.cs new file mode 100644 index 0000000..7f049b8 --- /dev/null +++ b/src/AgUnit.Runner.Resharper60/UnitTestFramework/SilverlightPlatform/UnitTestRunExtensions.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using AgUnit.Runner.Resharper60.Util; +using JetBrains.ReSharper.UnitTestFramework; + +namespace AgUnit.Runner.Resharper60.UnitTestFramework.SilverlightPlatform +{ + public static class UnitTestRunExtensions + { + public static bool IsSilverlightRun(this IUnitTestRun run) + { + return run.GetSilverlightPlatformVersion() != null; + } + + public static Version GetSilverlightPlatformVersion(this IUnitTestRun run) + { + var sequence = run.GetSequences().FirstOrDefault(); + return sequence != null ? sequence.GetSilverlightPlatformVersion() : null; + } + + public static IList> GetSequences(this IUnitTestRun run) + { + return run.GetField>>("mySequences"); + } + } +} \ No newline at end of file diff --git a/src/AgUnit.Runner.Resharper60/UnitTestFramework/SilverlightPlatform/UnitTestSequenceExtensions.cs b/src/AgUnit.Runner.Resharper60/UnitTestFramework/SilverlightPlatform/UnitTestSequenceExtensions.cs new file mode 100644 index 0000000..8a4b919 --- /dev/null +++ b/src/AgUnit.Runner.Resharper60/UnitTestFramework/SilverlightPlatform/UnitTestSequenceExtensions.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using AgUnit.Runner.Resharper60.UnitTestFramework.Silverlight; +using JetBrains.ProjectModel; +using JetBrains.ReSharper.TaskRunnerFramework; +using JetBrains.ReSharper.UnitTestFramework; +using PlatformID = JetBrains.ProjectModel.PlatformID; + +namespace AgUnit.Runner.Resharper60.UnitTestFramework.SilverlightPlatform +{ + public static class UnitTestSequenceExtensions + { + public static PlatformID GetRequiredSilverlightPlatform(this IList sequence) + { + return sequence + .Where(task => task.Element != null) + .Select(task => task.Element.GetProject()) + .Where(project => project != null) + .Select(project => project.PlatformID) + .FirstOrDefault(platform => platform != null && platform.Identifier == FrameworkIdentifier.Silverlight); + } + + public static bool IsSilverlightSequence(this IList sequence) + { + return sequence.GetSilverlightUnitTestTask() != null; + } + + public static Version GetSilverlightPlatformVersion(this IList sequence) + { + var silverlightUnitTestTask = sequence.GetSilverlightUnitTestTask(); + return silverlightUnitTestTask != null ? silverlightUnitTestTask.SilverlightPlatformVersion : null; + } + + public static SilverlightUnitTestTask GetSilverlightUnitTestTask(this IList sequence) + { + return sequence.Select(task => task.RemoteTask).FirstOrDefault() as SilverlightUnitTestTask; + } + + public static void AddSilverlightUnitTestTask(this IList sequence, PlatformID silverlightPlatform, UnitTestManager manager) + { + var provider = manager.GetProvider(SilverlightUnitTestProvider.RunnerId); + var element = new SilverlightUnitTestElement(provider); + var remoteTask = new SilverlightUnitTestTask(silverlightPlatform.Version); + sequence.Insert(0, new UnitTestTask(element, remoteTask)); + } + + public static void RemoveAssemblyLoadTasks(this IList sequence) + { + var assemblyLoadTasks = sequence.Where(t => t.RemoteTask is AssemblyLoadTask).ToArray(); + foreach (var assemblyLoadTask in assemblyLoadTasks) + { + sequence.Remove(assemblyLoadTask); + } + } + } +} \ No newline at end of file diff --git a/src/AgUnit.Runner.Resharper60/UnitTestFramework/UnitTestLaunchExtensions.cs b/src/AgUnit.Runner.Resharper60/UnitTestFramework/UnitTestLaunchExtensions.cs deleted file mode 100644 index 41d0902..0000000 --- a/src/AgUnit.Runner.Resharper60/UnitTestFramework/UnitTestLaunchExtensions.cs +++ /dev/null @@ -1,139 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using AgUnit.Runner.Resharper60.UnitTestFramework.Silverlight; -using AgUnit.Runner.Resharper60.Util; -using JetBrains.ProjectModel; -using JetBrains.ReSharper.TaskRunnerFramework; -using JetBrains.ReSharper.UnitTestExplorer; -using JetBrains.ReSharper.UnitTestFramework; -using PlatformID = JetBrains.ProjectModel.PlatformID; - -namespace AgUnit.Runner.Resharper60.UnitTestFramework -{ - public static class UnitTestLaunchExtensions - { - public static void EnsureSilverlightPlatformSupport(this IUnitTestLaunch launch, UnitTestManager manager) - { - var runs = GetRuns(launch); - - foreach (var run in runs.Values.ToArray()) - { - CheckForSilverlightSequences(launch, runs, run, manager); - } - - RemoveEmptyRuns(runs); - } - - private static Dictionary GetRuns(IUnitTestLaunch launch) - { - return launch.GetField>("myRuns"); - } - - private static IList> GetSequences(UnitTestRun run) - { - return run.GetField>>("mySequences"); - } - - private static void RemoveEmptyRuns(Dictionary runs) - { - var emptyRuns = runs.Values.Where(run => !GetSequences(run).Any()).ToArray(); - - foreach (var run in emptyRuns) - { - runs.Remove(run.ID); - } - } - - private static void CheckForSilverlightSequences(IUnitTestLaunch launch, Dictionary runs, UnitTestRun run, UnitTestManager manager) - { - var silverlightSequenceFound = false; - var sequences = GetSequences(run); - - foreach (var sequence in sequences.ToArray()) - { - if (!IsAlreadySilverlightSequence(sequence)) - { - var silverlightPlatform = GetSilverlightPlatform(sequence); - - if (silverlightPlatform != null) - { - sequences.Remove(sequence); - - silverlightSequenceFound = true; - CreateSilverlightSequence(sequence, silverlightPlatform, launch, runs); - } - } - } - - if (silverlightSequenceFound) - { - AddSilverlightUnitTestTask(manager, sequences); - } - } - - // We do this to make sure the SilverlightUnitTestProvider is passed to the runner, so the assemblies are loaded. - private static void AddSilverlightUnitTestTask(UnitTestManager manager, IList> sequences) - { - var provider = manager.GetProvider(SilverlightUnitTestProvider.RunnerId); - var element = new SilverlightUnitTestElement(provider); - var remoteTask = new SilverlightUnitTestTask((Version)null); - var task = new UnitTestTask(element, remoteTask); - - sequences.Add(new List { task }); - } - - private static bool IsAlreadySilverlightSequence(IEnumerable sequence) - { - return sequence.Select(task => task.RemoteTask).FirstOrDefault() is SilverlightUnitTestTask; - } - - private static PlatformID GetSilverlightPlatform(IEnumerable sequence) - { - return sequence.Where(task => task.Element != null) - .Select(task => task.Element.GetProject()) - .Where(project => project != null) - .Select(project => project.PlatformID) - .FirstOrDefault(platform => platform != null && platform.Identifier == FrameworkIdentifier.Silverlight); - } - - private static void CreateSilverlightSequence(IList sequence, PlatformID silverlightPlatform, IUnitTestLaunch launch, Dictionary runs) - { - AddSilverlightUnitTestTask(sequence, silverlightPlatform); - RemoveAssemblyLoadTasks(sequence); - - var silverlightRun = GetOrCreateRun(launch, runs); - silverlightRun.AddTaskSequence(sequence); - } - - private static void AddSilverlightUnitTestTask(IList sequence, PlatformID silverlightPlatform) - { - var remoteTask = new SilverlightUnitTestTask(silverlightPlatform.Version); - - sequence.Insert(0, new UnitTestTask(null, remoteTask)); - } - - private static void RemoveAssemblyLoadTasks(IList sequence) - { - var assemblyLoadTasks = sequence.Where(t => t.RemoteTask is AssemblyLoadTask).ToArray(); - foreach (var assemblyLoadTask in assemblyLoadTasks) - { - sequence.Remove(assemblyLoadTask); - } - } - - private static UnitTestRun GetOrCreateRun(IUnitTestLaunch launch, Dictionary runs) - { - var runtimeEnvironment = new RuntimeEnvironment { PlatformType = PlatformType.x86, PlatformVersion = PlatformVersion.v4_0 }; - var run = runs.Values.FirstOrDefault(r => Equals(r.RuntimeEnvironment, runtimeEnvironment)); - - if (run == null) - { - run = new UnitTestRun((UnitTestLaunch)launch, runtimeEnvironment); - runs.Add(run.ID, run); - } - - return run; - } - } -} \ No newline at end of file diff --git a/src/AgUnit.Runner.Resharper60/Util/ReflectionExtensions.cs b/src/AgUnit.Runner.Resharper60/Util/ReflectionExtensions.cs index 61d0b00..04407cf 100644 --- a/src/AgUnit.Runner.Resharper60/Util/ReflectionExtensions.cs +++ b/src/AgUnit.Runner.Resharper60/Util/ReflectionExtensions.cs @@ -7,34 +7,69 @@ namespace AgUnit.Runner.Resharper60.Util public static class ReflectionExtensions { private static readonly IDictionary, FieldInfo> FieldInfoCache = new Dictionary, FieldInfo>(); + private static readonly IDictionary, MethodInfo> MethodInfoCache = new Dictionary, MethodInfo>(); - public static void SetField(this object target, string fieldName, object value) + public static void SetField(this object target, string name, object value) { - GetFieldInfo(target, fieldName).SetValue(target, value); + GetFieldInfo(target, name).SetValue(target, value); } - public static T GetField(this object target, string fieldName) + public static T GetField(this object target, string name) { - return (T)GetFieldInfo(target, fieldName).GetValue(target); + return (T)GetFieldInfo(target, name).GetValue(target); + } + + public static object CallMethod(this object target, string name, params object[] parameters) + { + return (T)CallMethod(target, name, parameters); + } + + public static object CallMethod(this object target, string name, params object[] parameters) + { + return GetMethodInfo(target, name).Invoke(target, parameters); } private static FieldInfo GetFieldInfo(object target, string fieldName) + { + return GetMemberInfo(target, fieldName, FieldInfoCache, (type, name, bindingAttr) => type.GetField(name, bindingAttr)); + } + + private static MethodInfo GetMethodInfo(object target, string methodName) + { + return GetMemberInfo(target, methodName, MethodInfoCache, (type, name, bindingAttr) => type.GetMethod(name, bindingAttr)); + } + + private static T GetMemberInfo(object target, string name, IDictionary, T> cache, Func getMemberInfo) + where T : MemberInfo { if (target == null) throw new ArgumentNullException("target"); - if (fieldName == null) throw new ArgumentNullException("fieldName"); + if (name == null) throw new ArgumentNullException("name"); var targetType = target.GetType(); - var cacheKey = Tuple.Create(targetType, fieldName); + var cacheKey = Tuple.Create(targetType, name); + + T memberInfo; - FieldInfo fieldInfo; + if (!cache.TryGetValue(cacheKey, out memberInfo)) + { + memberInfo = GetMemberInfoRecursive(name, targetType, getMemberInfo); + cache[cacheKey] = memberInfo; + } + + return memberInfo; + } + + private static T GetMemberInfoRecursive(string name, Type targetType, Func getMemberInfo) + where T : MemberInfo + { + var memberInfo = getMemberInfo(targetType, name, BindingFlags.Instance | BindingFlags.NonPublic); - if (!FieldInfoCache.TryGetValue(cacheKey, out fieldInfo)) + if (memberInfo == null && targetType.BaseType != null) { - fieldInfo = targetType.GetField(fieldName, BindingFlags.Instance | BindingFlags.NonPublic); - FieldInfoCache[cacheKey] = fieldInfo; + memberInfo = GetMemberInfoRecursive(name, targetType.BaseType, getMemberInfo); } - return fieldInfo; + return memberInfo; } } } \ No newline at end of file diff --git a/src/DummyTests/VS2010/DummyTests.DotNetNUnit/DummyTests.DotNetNUnit.csproj b/src/DummyTests/VS2010/DummyTests.DotNetNUnit/DummyTests.DotNetNUnit.csproj index f0ddb7a..cd16383 100644 --- a/src/DummyTests/VS2010/DummyTests.DotNetNUnit/DummyTests.DotNetNUnit.csproj +++ b/src/DummyTests/VS2010/DummyTests.DotNetNUnit/DummyTests.DotNetNUnit.csproj @@ -32,7 +32,7 @@ - ..\..\..\Libraries\NUnit\nunit.framework.dll + ..\..\..\..\lib\net\NUnit\nunit.framework.dll diff --git a/src/DummyTests/VS2010/DummyTests.Silverlight3/DummyTests.Silverlight3.csproj b/src/DummyTests/VS2010/DummyTests.Silverlight3/DummyTests.Silverlight3.csproj index 3add67c..99392d1 100644 --- a/src/DummyTests/VS2010/DummyTests.Silverlight3/DummyTests.Silverlight3.csproj +++ b/src/DummyTests/VS2010/DummyTests.Silverlight3/DummyTests.Silverlight3.csproj @@ -61,10 +61,10 @@ - ..\..\..\Libraries\SilverlightToolkit\November2009\Microsoft.Silverlight.Testing.dll + ..\..\..\..\lib\sl\SilverlightToolkit\November2009\Microsoft.Silverlight.Testing.dll - ..\..\..\Libraries\SilverlightToolkit\November2009\Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll + ..\..\..\..\lib\sl\SilverlightToolkit\November2009\Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll diff --git a/src/DummyTests/VS2010/DummyTests.Silverlight4.Other/DummyTests.Silverlight4.Other.csproj b/src/DummyTests/VS2010/DummyTests.Silverlight4.Other/DummyTests.Silverlight4.Other.csproj index 32c9b33..2f17512 100644 --- a/src/DummyTests/VS2010/DummyTests.Silverlight4.Other/DummyTests.Silverlight4.Other.csproj +++ b/src/DummyTests/VS2010/DummyTests.Silverlight4.Other/DummyTests.Silverlight4.Other.csproj @@ -61,10 +61,10 @@ - ..\..\..\Libraries\SilverlightToolkit\April2010\Microsoft.Silverlight.Testing.dll + ..\..\..\..\lib\sl\SilverlightToolkit\April2010\Microsoft.Silverlight.Testing.dll - ..\..\..\Libraries\SilverlightToolkit\November2009\Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll + ..\..\..\..\lib\sl\SilverlightToolkit\November2009\Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll diff --git a/src/DummyTests/VS2010/DummyTests.Silverlight4/DummyTests.Silverlight4.csproj b/src/DummyTests/VS2010/DummyTests.Silverlight4/DummyTests.Silverlight4.csproj index bb8480e..f1e2387 100644 --- a/src/DummyTests/VS2010/DummyTests.Silverlight4/DummyTests.Silverlight4.csproj +++ b/src/DummyTests/VS2010/DummyTests.Silverlight4/DummyTests.Silverlight4.csproj @@ -61,10 +61,10 @@ - ..\..\..\Libraries\SilverlightToolkit\April2010\Microsoft.Silverlight.Testing.dll + ..\..\..\..\lib\sl\SilverlightToolkit\April2010\Microsoft.Silverlight.Testing.dll - ..\..\..\Libraries\SilverlightToolkit\April2010\Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll + ..\..\..\..\lib\sl\SilverlightToolkit\April2010\Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll