2009-07-17 3 views
0

Я использую Rhino Mock 3.5 для .Net Framework 2.0, и когда я запускаю этот код, я получаю ошибку времени выполнения.RhinoMock 3.5 Ошибка выполнения при запуске .net

Это код

IFile fileInterface = MockRepository.GenerateStub<IFile>();<br> 
IUrlMapper urlMapper = MockRepository.GenerateStub<IUrlMapper>(); 

// this is the line causing the run-time error<br> 
HttpContextBase mockHttpContext = MockRepository.GenerateMock<HttpContextBase>(); 

HttpRequestBase mockRequest = MockRepository.GenerateMock<HttpRequestBase>(); 

RhinoMocksExtensions.Stub<HttpContextBase,HttpRequestBase>(mockHttpContext, delegate(HttpContextBase ctx) 
{ 
                   return ctx.Request; 
                  } 
).Return(mockRequest); 


RhinoMocksExtensions.Stub(fileInterface, delegate(IFile f) 
       { 
        f.Exists(Arg<string>.Is.Anything); 
       } 
).Return(true); 


AspxReplacementResolver resolverToTest = new AspxReplacementResolver(mockHttpContext, fileInterface, urlMapper); 

Это ошибка:

TestCase 'TestMockingRhinoMock35.TestTestFixtures.Test1' 
failed: System.TypeLoadException : Could not load type 'System.Web.RequestNotification' from assembly 'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'...... 

System.Web.RequestNotification является частью Framework 3.0, но я использую Framework 2.0 и Я ссылался на конкретную версию Rhino Mocks 3.5 для DLL Framework 2.0.

Спасибо

ответ

4

HttpContextBase не существует в .NET Framework 2.0. Он был добавлен в .dll под названием System.Web.Abstractions и доступен, только если вы установили .Net Framework 3.5, , а также с пакетом обновления 1 для .Net Framework 3.5.

Вам нужно настроить таргетинг на .net 3.5, если вы хотите издеваться над этим. Если вы используете отдельную сборку для тестирования, нет никакой причины, по которой вы не могли бы настроить вашу тестовую сборку на 3.5 и оставить свое производственное приложение в одиночку.

+1

Благодарим за отзыв. На самом деле вы можете добавить ссылку на System.Web.Abstractions и использовать ее в .Net 2.0; Я успешно использовал его. Теперь, когда я пишу эти тесты, я получаю эту ошибку, поэтому, я думаю, мне нужно настроить таргетинг на .net 3.5 для тестирования, так как у меня есть отдельная сборка. Еще раз спасибо –

Смежные вопросы