2012-02-11 20 views
8

Tôi muốn chạy một số xét nghiệm chấp nhận sử dụng Watin và tôi nhận được lỗi sau khi tôi cố gắng để mở lắp ráp thử nghiệm trong GUI NUnit:NUnit FileNotFoundException: System.Configuration

System.IO.FileNotFoundException: Không thể tải tệp hoặc lắp ráp 'System.Configuration, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' hoặc một trong các phụ thuộc của nó. Hệ thống không thể tìm thấy tệp được chỉ định.

chi tiết Ngoại lệ:

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) 

Tất cả mọi thứ chỉ làm việc tốt trước khi tôi thêm một tham chiếu đến System.Configuration để đọc địa chỉ cơ sở từ App.config

Trả lời

14

Dường như vấn đề là thứ tự của các phần trong tệp App.config.

Lần đầu tiên tôi thêm phần appSettings trước, nhưng sau khi tôi di chuyển xuống, mọi thứ bắt đầu hoạt động trở lại.

Dưới đây là nội dung 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

* thở dài * cảm ơn bạn .. –

+3

i cần thiết để thay đổi kiểu như sau để cho nó hoạt động: type = "System.Configuration.NameValueSectionHandler, hệ thống, Phiên bản = 4.0.0.0, Văn hóa = trung lập, PublicKeyToken = b77a5c561934e089 " – rfcdejong

Các vấn đề liên quan