#c# #nunit #script#
#c# #nunit #скрипт#
Вопрос:
Я использую ScriptSharp для создания приложения RIA. Работает неплохо, за исключением некоторых странностей.
Однако находить и устранять проблемы с помощью Firebug на самом деле не очень удобно.
Поскольку scriptsharp также предоставляет Dll, я надеялся использовать отдельный тестовый проект с использованием Nunit для тестирования некоторых частей моего кода.
Возникающая проблема заключается в том, что сгенерированная dll ссылается на mscorlib 0.7, что приводит к конфликту с mscorlib 4 в тестовом проекте.
Простым решением является создание второго простого проекта C # и копирование кодовых файлов вокруг. Но поддержка 2 проектов с одинаковой кодовой базой…
Любопытно, есть ли другой способ сделать это. Кто-нибудь?
РЕДАКТИРОВАТЬ: Решение, предложенное Кристианом Далагером, работает.
Небольшая проблема в том, что ScriptSharp переопределил System.Диагностика в mscorlib. Больше никакой отладки.Assert/Writeline. Но сейчас в этом почти нет необходимости.
Ответ №1:
Вы могли бы попробовать использовать переадресацию привязки сборки
Вы бы поместили что-то подобное в 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>
Комментарии:
1. Кажется, это помогает! Resharper не знает об этом и продолжает жаловаться, но это незначительная проблема. Есть ли способ перенаправить пространства имен таким же образом?
2. Я думаю, вам нужно придумать свой выход из этого.. Не могли бы вы просто сказать resharper, чтобы он как-нибудь проигнорировал это?
3. Resharper легко заткнуть.
4. @lboshuizen, если вы считаете, что этот ответ действительно ответил на ваш вопрос, вы должны принять его, нажав на зеленую галочку.