Это может быть именно то, что вы ищете:
Assembly asm = Assembly.GetExecutingAssembly();
string[] parts = asm.FullName.Split(',');
string version = parts[1];
http://forums.silverlight.net/forums/p/23321/82774.aspx#82774
4 обратно совместимо с 3, 3 обратно совместимо с 2.
Вы должны знать, в какую версию silverlight встроено приложение.
Установка и обнаружение:
Этот файл содержит файл Javascript, который определяет, установлен ли SL, и какую версию:
http://blog.mdk -photo.com / запись / обнаруживая-Silverlight-версия-installed.aspx
http://www.apijunkie.com/APIJunkie/blog/post/2009/04/How-to-programmatically-detect-Silverlight-version.aspx
Определение версии с помощью Silverlight
http://www.scribd.com/doc/14938624/Creating-a-Custom-Silverlight-Installation-Experience
http://blogs.msdn.com/tims/archive/2007/10/29/optimizing-the-silverlight-install-experience.aspx
Thge GAC также уведомит вас во время компиляции, если вы используете неправильную версию SL. Обычно, когда у вас установлены инструменты Silverlight и вы пытаетесь скомпилировать приложение. Например, ваша сборка создана в версии 3, и вы используете элемент управления, который доступен только в версии 3, вам нужно будет установить инструменты SL 3, иначе сборка выдаст сообщение об ошибке.
Подробнее о сборках Silverlight:
http://www.netfxharmonics.com/2008/12/Reusing-NET-Assemblies-in-Silverlight
http://nerddawg.members.winisp.net/AssemblySniffer/