¿Por qué obtengo una excepción FileNotFound cuando hago referencia a otro proyecto desde la misma solución?

Estoy aprendiendo a usar NUnit. Tengo mi proyecto principal en su solución, y creé un proyecto separado en esa misma solución que mantendrá mis pruebas unitarias, con su propio espacio de nombres. De ese proyecto agrego una referencia al proyecto principal y agrego una

using MainProjectNamespace;

a la cima de la misma.

Cuando voy a NUnit, cualquier prueba que tenga que no haga referencia al trabajo principal del proyecto. Estas son pruebas que configuré solo para acostumbrarme a NUnit, y son prácticamente inútiles. Cuando NUnit ejecuta las pruebas reales, la prueba arroja esta excepción:

TestLibrary.Test.TestMainProject: System.IO.FileNotFoundException: No se pudo cargar el archivo o ensamblado 'WpfApplication2, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null' o una de sus dependencias. El sistema no puede encontrar el archivo especificado.

¿Por qué recibo esta excepción?

EDITAR

Ahora cuando intento cargar el ensamblaje en NUnit, ni siquiera se cargará (por lo que ni siquiera tengo la oportunidad de ejecutar las pruebas)

Esta es la excepción que viene arriba, y el seguimiento de la pila:

System.IO.DirectoryNotFoundException: No se pudo encontrar una parte de la ruta 'LARGO CAMINO AQUÍ NO QUIERO TIPAR'

System.IO.DirectoryNotFoundException...

Server stack trace: 
    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    at System.IO.Directory.SetCurrentDirectory(String path)
    at NUnit.Core.DirectorySwapper..ctor(String directoryName)
    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.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, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
    at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
    at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)

Exception rethrown at [0]: 
    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
    at NUnit.Core.TestRunner.Load(TestPackage package)
    at NUnit.Util.TestDomain.Load(TestPackage package)
    at NUnit.Util.TestLoader.LoadTest(String testName)

EDIT2: La ruta anterior claramente ESTÁ en mi disco duro

EDIT3: acabo de cambiar de Debug a Release, en NUnit, y cargué el dll desde la carpeta de lanzamiento de TestingLibrary ... ¡Y se cargó! 1 de las 3 pruebas específicas del espacio de nombres funcionó. Al llegar a algún lado, estoy.

EDIT4: Welllllllll ... Realmente puedo ejecutar las pruebas ahora, pero he vuelto al error original. TI no encuentra el ensamblaje para el proyecto principal

Respuestas a la pregunta(4)

Su respuesta a la pregunta