如何区分Silverlight v2.0和v3.0程序集

时间:2009-10-12 16:54:39

标签: silverlight

我看到使用Silverlight SDK v2.0以及v3.0编译的程序集都引用了mscorlib.dll,system.dll等的v2.0.5.0。

如何确定程序集X是v2.0 / v3.0程序集?

2 个答案:

答案 0 :(得分:3)

我建议避免为基于Silverlight版本的控件或应用程序实现任何类型的“quirks-mode”......它可能会成为维护的噩梦。

例如,当Silverlight 4发布时会发生什么?如果下一个版本修复了您为Silverlight 3问题定制的某些行为,该怎么办?

Silverlight 2和3程序集都修复了[AssemblyVersion(2.0.5.0)]是正确的,这很难: - (。

尝试回答:您可以使用公共反射来检查UIElement。获取UIElement的类型,并查找Silverlight 3中添加的内容,例如UIElement上的mouse wheel support的MouseWheel事件。再说一遍,我不推荐它,但你可以做到。

答案 1 :(得分:0)

如果您将此dll添加到visual studio,您可以右键单击该属性,运行时版本会告诉您。

您还可以编写要加载和查看的程序。比如..

    // now get an external assembly
    AssemblyName anm = AssemblyName.GetAssemblyName( 
     "c:\\winnt\\microsoft.net\\framework\\v1.0.3705\\mscorlib.dll");
    // and show its version
    Console.WriteLine(anm.Version.ToString());