.net 运行xap文件时,Silverlight程序集存储在哪里?
我们目前有一个包含Foo.dll的XAP文件,还有另一个名称完全不同的XAP文件,其中包含更新版本Foo.dll,但版本号相同 当我们运行第二个XAP文件时,客户端上的Silverlight运行时似乎从第一个XAP文件中获取了旧版本的Foo.dll.net 运行xap文件时,Silverlight程序集存储在哪里?,.net,silverlight,appdomain,.net,Silverlight,Appdomain,我们目前有一个包含Foo.dll的XAP文件,还有另一个名称完全不同的XAP文件,其中包含更新版本Foo.dll,但版本号相同 当我们运行第二个XAP文件时,客户端上的Silverlight运行时似乎从第一个XAP文件中获取了旧版本的Foo.dll 有人知道Silverlight运行时在运行xap文件内容之前在哪里解压它吗?或者,如果运行时在单个应用程序域上执行,这可能会解释这些错误?正如您所知,XAP文件只是ZIP文件,因此您可以将XAP文件双重重命名为ZIP,并检查第二个文件的内容,以确保其
有人知道Silverlight运行时在运行xap文件内容之前在哪里解压它吗?或者,如果运行时在单个应用程序域上执行,这可能会解释这些错误?正如您所知,XAP文件只是ZIP文件,因此您可以将XAP文件双重重命名为ZIP,并检查第二个文件的内容,以确保其具有正确的dll。我不确定silverlight如何查找dll,我会让别人回答这一部分。尝试对程序集进行签名
除非您这样做,否则系统无法知道哪个版本是哪个版本。用于解析程序集的未签名名称不包含程序集版本,而我认为已签名的程序集包含该版本。在创建新的应用程序域之前,它始终是单个应用程序域。
在AssemblyInfo.cs中指定版本号,然后使用反射从SLV应用程序中获取该版本号。Yep。我知道一个xap文件的版本不正确,但无法解释为什么该版本会突然影响另一个xap文件。我将两者都解压缩以进行检查。在追查之前,您可能希望将其转换为更积极的声明。确保这一切都发生了,否则你可能是在浪费时间。