0

У меня есть библиотека классов Windows Phone 8. Внутри этой библиотеки классов я использую System.ServiceModel. Библиотека классов отлично работает при использовании в приложении Windows Phone 8.Как протестировать библиотеку классов Windows Phone, которая использует System.ServiceModel

У меня есть единичный тестовый проект. Если я пытаюсь использовать блок тестовый проект для тестирования методов в библиотеке классов я получаю FileNotFoundExcaption:

{"Could not load file or assembly 'System.ServiceModel, 
Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 
or one of its dependencies. The system cannot find the file 
specified.":"System.ServiceModel, Version=2.0.5.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35"} 

Я попытался с помощью связывания повторно прямой, а потому, что две System.Service модели сборки имеют разные publicKeyTokens, который, похоже, не работает.

Возможно ли это?

Полный журнал фьюжн:

=== Pre-bind state information === 
LOG: User = MACHINENAME\Simon 
LOG: DisplayName = System.ServiceModel, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
(Fully-specified) 
LOG: Appbase = file:///c:/[...]/PhoneClassLibraryReferenceTest/PhoneClassLibraryTest/bin/Debug 
LOG: Initial PrivatePath = NULL 
Calling assembly : PhoneClassLibraryReferenceTest, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. 
=== 
LOG: This bind starts in default load context. 
LOG: Using application configuration file: C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 11.0\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\TESTWINDOW\vstest.executionengine.x86.exe.Config 
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. 
LOG: Post-policy reference: System.ServiceModel, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 
LOG: Attempting download of new URL file:///c:/[...]/PhoneClassLibraryReferenceTest/PhoneClassLibraryTest/bin/Debug/System.ServiceModel.DLL. 
LOG: Attempting download of new URL file:///c:/[...]/PhoneClassLibraryReferenceTest/PhoneClassLibraryTest/bin/Debug/System.ServiceModel/System.ServiceModel.DLL. 
LOG: Attempting download of new URL file:///c:/[...]/PhoneClassLibraryReferenceTest/PhoneClassLibraryTest/bin/Debug/System.ServiceModel.EXE. 
LOG: Attempting download of new URL file:///c:/[...]/PhoneClassLibraryReferenceTest/PhoneClassLibraryTest/bin/Debug/System.ServiceModel/System.ServiceModel.EXE. 

ответ

1

Решение этой проблемы заключается в установке Visual Studio 2012 обновления 2, а также использовать тестовый проект для Windows Phone 8.

Таким образом, ваши тесты запускаются через эмулятор и нацелены на правильные версии сборки System.ServiceModel.

This blog post describes how to get going with Windows Phone 8 unit test projects.