2012-02-11 16 views
8

Quiero correr algunas pruebas de aceptación usando Watin y me sale el siguiente error al intentar abrir el conjunto de prueba de NUnit GUI:NUnit FileNotFoundException: System.Configuration

System.IO.FileNotFoundException: No se pudo cargar archivo o ensamblaje 'System.Configuration, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' o una de sus dependencias. El sistema no puede encontrar el archivo especificado.

Detalles de la excepción:

System.IO.FileNotFoundException... 

Server stack trace: 
    at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) 
    at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 
    at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 
    at System.Reflection.Assembly.Load(String assemblyString) 
    at System.UnitySerializationHolder.GetRealObject(StreamingContext context) 
    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.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, IMethodCallMessage methodCallMessage) 
    at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg) 

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.Core.ProxyTestRunner.Load(TestPackage package) 
    at NUnit.Util.ProcessRunner.Load(TestPackage package) 
    at NUnit.Util.TestLoader.LoadTest(String testName) 

todo funcionaba bien antes de agregar una referencia a System.Configuration con el fin de leer la URL base de la App.config

Respuesta

14

Parece que el problema fue el orden de las secciones en el archivo App.config.

Primero agregué la sección appSettings primero, pero después de que lo bajé todo comenzó a funcionar como debería.

Aquí está el contenido App.config:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <sectionGroup name="NUnit"> 
      <section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/> 
     </sectionGroup> 
    </configSections> 

    <NUnit> 
     <TestRunner> 
      <add key="ApartmentState" value="STA"/> 
     </TestRunner> 
    </NUnit> 

    <appSettings> 
     <add key="BaseUrl" value="http://localhost/Test"/> 
    </appSettings> 
</configuration> 
+1

* suspiro * gracias .. –

+3

que necesitaba para cambiar el tipo a la siguiente para dejarlo trabajar: type = "System.Configuration.NameValueSectionHandler, Sistema, Versión = 4.0.0.0, Cultura = neutral, PublicKeyToken = b77a5c561934e089 " – rfcdejong