Модульное тестирование кода C # в проекте ScriptSharp - PullRequest
4 голосов
/ 12 ноября 2011

Я использую ScriptSharp для создания приложения RIA. Хорошо работает, кроме некоторых странностей.

Однако нахождение и исправление проблем с помощью Firebug не очень удобно.

Поскольку scriptsharp также предоставляет Dll, я надеялся использовать отдельный тестовый проект с использованием Nunit для тестирования некоторых частей моего кода.

Проблема заключается в том, что сгенерированная dll ссылается на mscorlib 0.7, что приводит к конфликту с mscorlib 4 в тестовом проекте.

Простое решение - создать второй простой C # проект и скопировать кодовые файлы. Но поддержание 2 проектов с одной и той же кодовой базой ...

Любопытно, есть ли другой способ сделать это. Кто-нибудь?

EDIT: Решение, предложенное работами Кристиана Далагера.

Небольшая вещь в том, что ScriptSharp переопределил System.Diagnostics в mscorlib. Нет больше Debug.Assert / Writeline. Но в этом уже почти нет необходимости.

1 Ответ

3 голосов
/ 12 ноября 2011

Вы можете попробовать использовать перенаправления привязки сборки

Вы должны поместить что-то подобное в app.config вашего тестового проекта.Не тестировали эту конкретную конфигурацию, поэтому вам нужно будет ее настроить.

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
     <dependentAssembly>
        <assemblyIdentity name="mscorlib" publicKeyToken="b77a5c561934e089" culture="neutral"/>
        <bindingRedirect oldVersion="0.7.0.0" newVersion="4.0.0.0"/>
     </dependentAssembly>
    </assemblyBinding>
</runtime> 
...