Можно ли запускать код Silverlight, используя среду выполнения полной платформы .NET?

Чтобы интегрироваться с текущей системой для непрерывной интеграции, мы хотим использовать NUnit для тестирования (не UI) кода Silverlight. Это означает выполнение кода Silverlight с использованием среды выполнения полной платформы .NET, которая обычно работает нормально, если на самом деле не используются специальные классы Silverlight, такие как визуальные элементы или DependencyObject. Однако некоторые библиотеки общего назначения, такие как Reactive Extensions для Silverlight, также зависят от среды выполнения Silverlight (agcore).

Есть ли способ заставить среду выполнения перенаправить зависимости среды выполнения Silverlight на какую-то их фиктивную версию? Или можно ли полностью перенаправить ссылки на сборки, такие как реактивные расширения, во время выполнения (только при выполнении модульных тестов) и вместо этого загрузить их соответствующий аналог для полной платформы .NET?


person SoftMemes    schedule 17.06.2010    source источник


Ответы (1)


Я бы просто перешел к библиотекам DLL, используя ildasm/ilasm, и написал Perl-скрипт для обработки файла .il. Я делаю аналогичный трюк для преобразования DLL .NET 2.0 в 4.0 здесь:

http://blog.paulbetts.org/index.php/2009/12/03/convert-a-net-2-0-dll-to-net-4-0-without-sourc/

person Ana Betts    schedule 09.07.2010