如何判断Silverlight 2是否足以进行装配或需要Silverlight 3? 我拥有通过反射提供的所有信息(Mono.Cecil)。
SL 3与4相同的问题。
提前致谢。
答案 0 :(得分:1)
您无法从类库及其元数据中分辨出来 - 这只能通过.Xap中的Silverlight应用程序的嵌入式清单文件可靠地确定。
答案 1 :(得分:1)
这可能正是您所寻找的:
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/post/Detecting-Silverlight-version-installed.aspx
Version detection with 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
如果您运行的是错误版本的SL,Thge GAC也会在编译时通知您。通常,当您安装了Silverlight工具并尝试编译应用程序时。例如,您的程序集是在版本3中创建的,并且您使用的控件仅在3中可用,您必须安装SL 3工具,否则构建将会出错,让您知道。有关Silverlight程序集的更多信息:
http://www.netfxharmonics.com/2008/12/Reusing-NET-Assemblies-in-Silverlight