是否可以从XAP文件中获取版本号

时间:2011-01-26 16:06:56

标签: silverlight

Silverlight客户端是否可以从下载的xap文件中获取任何程序集版本信息。

基本上,我需要一种方法让客户确认实际上是在运行最新的位,如果有更好的方式我愿意接受建议。

2 个答案:

答案 0 :(得分:9)

如果您在应用程序运行时尝试检查,可以引入System.Reflection并执行以下操作:

Assembly assembly = Assembly.GetExecutingAssembly();
if (assembly.FullName != null)
{
    string versionPart = assembly.FullName.Split(',')[1];
    string version = versionPart.Split('=')[1];

    // check version against something
}

答案 1 :(得分:0)

对于客户端,可以使用以下代码

    public static string getAsmVersionInfo()
    {
        return "v " + ParseVersionNumber(Assembly.GetExecutingAssembly()).ToString();
    }

    public static Version ParseVersionNumber(Assembly assembly)
    {
        AssemblyName assemblyName = new AssemblyName(assembly.FullName);
        return assemblyName.Version;
    }

但我们怎样才能从网络上学到这一点?我想将其显示为index.aspx的标题。 ClientBin /目录中有一个xap。我们需要在服务器端到达它内部的dll。

对于另一个可用的解决方案,从客户端http://blogs.msdn.com/b/zainala/archive/2008/11/23/changing-html-page-title-from-silverlight.aspx

更改aspx页面的标题