title: Test dll built for/with NUnit "is not a NUnit Test" (answer included)
body: <p>There is <a href="https://stackoverflow.com/questions/4372981/nunit-error-not-a-test-assembly">another question on SO</a> about getting this in the output window. Their answer involved the GAC and dll versions. My answer is specific to my circumstance even though it showed the same symptoms.</p>
  
  <p>Output window - Tests</p>
  
  <pre><code>'E:\CodeRepository-Git\DFBAzure\AzureMgmtServiceDashboard\Wp7AzureMgmt.DashboardFeeds.Test\bin\Debug\Wp7AzureMgmt.DashboardFeeds.Test.dll' is not a NUnit Test
  </code></pre>
  
  <p>My issue is that the App.config had a malformed value to a well-known key. I had already corrected this in the MVC web.config but forgot to fix it in the test.dll. </p>
  
  <p>When I tried to run the dll from the NUnit gui (the project did load), the gui threw an unhandled exception. The details were:</p>
  
  <pre><code> See the end of this message for details on invoking 
  just-in-time (JIT) debugging instead of this dialog box.
  
  ************** Exception Text **************
  System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize ---&gt; System.Configuration.ConfigurationErrorsException: The configSource attribute must be a relative physical path, so the '/' character is not allowed. (E:\CodeRepository-Git\DFBAzure\AzureMgmtServiceDashboard\Wp7AzureMgmt.DashboardFeeds.Test\bin\Debug\Wp7AzureMgmt.DashboardFeeds.Test.dll.config line 12)
     at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
     at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)
     at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)
     --- End of inner exception stack trace ---
  
  Server stack trace: 
     at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)
     at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName)
     at System.Configuration.ConfigurationManager.GetSection(String sectionName)
     at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)
     at System.Net.Configuration.SettingsSectionInternal.get_Section()
     at System.Net.Sockets.Socket.InitializeSockets()
     at System.Net.IPAddress.InternalParse(String ipString, Boolean tryParse)
     at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink..ctor(String channelURI, TcpClientChannel channel)
     at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSinkProvider.CreateSink(IChannelSender channel, String url, Object remoteChannelData)
     at System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider.CreateSink(IChannelSender channel, String url, Object remoteChannelData)
     at System.Runtime.Remoting.Channels.Tcp.TcpClientChannel.CreateMessageSink(String url, Object remoteChannelData, String&amp; objectURI)
     at System.Runtime.Remoting.RemotingConfigHandler.FindDelayLoadChannelForCreateMessageSink(String url, Object data, String&amp; objectURI)
     at System.Runtime.Remoting.RemotingServices.CreateEnvoyAndChannelSinks(MarshalByRefObject tpOrObject, ObjRef objectRef, IMessageSink&amp; chnlSink, IMessageSink&amp; envoySink)
     at System.Runtime.Remoting.RemotingServices.InternalUnmarshal(ObjRef objectRef, Object proxy, Boolean fRefine)
     at System.Runtime.Remoting.ObjRef.GetRealObjectHelper()
     at System.Runtime.Serialization.ObjectManager.ResolveObjectReference(ObjectHolder holder)
     at System.Runtime.Serialization.ObjectManager.DoFixups()
     at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
     at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
     at System.Runtime.Remoting.Channels.CrossAppDomainSerializer.DeserializeObject(MemoryStream stm)
     at System.Runtime.Remoting.Messaging.SmuggledMethodCallMessage.FixupForNewAppDomain()
     at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage&amp; smuggledMrm)
     at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatchCallback(Object[] args)
  
  Exception rethrown at [0]: 
     at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
     at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgData, Int32 type)
     at NUnit.Core.TestRunner.BeginRun(EventListener listener, ITestFilter filter, Boolean captureTrace, LoggingThreshold logLevel)
     at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]&amp; outArgs)
     at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
  
  Exception rethrown at [1]: 
     at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
     at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgData, Int32 type)
     at NUnit.Core.TestRunner.BeginRun(EventListener listener, ITestFilter filter, Boolean captureTrace, LoggingThreshold logLevel)
     at NUnit.Core.ProxyTestRunner.BeginRun(EventListener listener, ITestFilter filter, Boolean tracing, LoggingThreshold logLevel)
     at NUnit.Util.TestLoader.RunTests(ITestFilter filter)
     at NUnit.UiKit.TestSuiteTreeView.RunTests(ITest[] tests, Boolean ignoreCategories)
     at NUnit.Gui.NUnitForm.runButton_Click(Object sender, EventArgs e)
     at System.Windows.Forms.Control.OnClick(EventArgs e)
     at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
     at System.Windows.Forms.Control.WmMouseUp(Message&amp; m, MouseButtons button, Int32 clicks)
     at System.Windows.Forms.Control.WndProc(Message&amp; m)
     at System.Windows.Forms.ButtonBase.WndProc(Message&amp; m)
     at System.Windows.Forms.Button.WndProc(Message&amp; m)
     at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp; m)
     at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  
  
  ************** Loaded Assemblies **************
  mscorlib
      Assembly Version: 2.0.0.0
      Win32 Version: 2.0.50727.5456 (Win7SP1GDR.050727-5400)
      CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
  ----------------------------------------
  nunit
      Assembly Version: 2.6.0.12051
      Win32 Version: 2.6.0.12051
      CodeBase: file:///C:/Program%20Files%20(x86)/NUnit%202.6/bin/nunit.exe
  ----------------------------------------
  nunit-gui-runner
      Assembly Version: 2.6.0.12051
      Win32 Version: 2.6.0.12051
      CodeBase: file:///C:/Program%20Files%20(x86)/NUnit%202.6/bin/lib/nunit-gui-runner.DLL
  ----------------------------------------
  nunit.core
      Assembly Version: 2.6.0.12051
      Win32 Version: 2.6.0.12051
      CodeBase: file:///C:/Program%20Files%20(x86)/NUnit%202.6/bin/lib/nunit.core.DLL
  ----------------------------------------
  nunit.util
      Assembly Version: 2.6.0.12051
      Win32 Version: 2.6.0.12051
      CodeBase: file:///C:/Program%20Files%20(x86)/NUnit%202.6/bin/lib/nunit.util.DLL
  ----------------------------------------
  nunit.core.interfaces
      Assembly Version: 2.6.0.12051
      Win32 Version: 2.6.0.12051
      CodeBase: file:///C:/Program%20Files%20(x86)/NUnit%202.6/bin/lib/nunit.core.interfaces.DLL
  ----------------------------------------
  nunit.uikit
      Assembly Version: 2.6.0.12051
      Win32 Version: 2.6.0.12051
      CodeBase: file:///C:/Program%20Files%20(x86)/NUnit%202.6/bin/lib/nunit.uikit.DLL
  ----------------------------------------
  System
      Assembly Version: 2.0.0.0
      Win32 Version: 2.0.50727.5456 (Win7SP1GDR.050727-5400)
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
  ----------------------------------------
  System.Windows.Forms
      Assembly Version: 2.0.0.0
      Win32 Version: 2.0.50727.5456 (Win7SP1GDR.050727-5400)
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
  ----------------------------------------
  System.Drawing
      Assembly Version: 2.0.0.0
      Win32 Version: 2.0.50727.5458 (Win7SP1GDR.050727-5400)
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
  ----------------------------------------
  System.Configuration
      Assembly Version: 2.0.0.0
      Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
  ----------------------------------------
  System.Xml
      Assembly Version: 2.0.0.0
      Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
  ----------------------------------------
  System.Runtime.Remoting
      Assembly Version: 2.0.0.0
      Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
  ----------------------------------------
  nunit.uiexception
      Assembly Version: 2.6.0.12051
      Win32 Version: 2.6.0.12051
      CodeBase: file:///C:/Program%20Files%20(x86)/NUnit%202.6/bin/lib/nunit.uiexception.DLL
  ----------------------------------------
  System.Web
      Assembly Version: 2.0.0.0
      Win32 Version: 2.0.50727.5456 (Win7SP1GDR.050727-5400)
      CodeBase: file:///C:/Windows/assembly/GAC_64/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll
  ----------------------------------------
  vg5zflea
      Assembly Version: 2.6.0.12051
      Win32 Version: 2.0.50727.5456 (Win7SP1GDR.050727-5400)
      CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
  ----------------------------------------
  
  ************** JIT Debugging **************
  To enable just-in-time (JIT) debugging, the .config file for this
  application or computer (machine.config) must have the
  jitDebugging value set in the system.windows.forms section.
  The application must also be compiled with debugging
  enabled.
  
  For example:
  
  &lt;configuration&gt;
      &lt;system.windows.forms jitDebugging="true" /&gt;
  &lt;/configuration&gt;
  
  When JIT debugging is enabled, any unhandled exception
  will be sent to the JIT debugger registered on the computer
  rather than be handled by this dialog box.
  </code></pre>