Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 运行xap文件时,Silverlight程序集存储在哪里?_.net_Silverlight_Appdomain - Fatal编程技术网

.net 运行xap文件时,Silverlight程序集存储在哪里?

.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,并检查第二个文件的内容,以确保其

我们目前有一个包含Foo.dll的XAP文件,还有另一个名称完全不同的XAP文件,其中包含更新版本Foo.dll,但版本号相同

当我们运行第二个XAP文件时,客户端上的Silverlight运行时似乎从第一个XAP文件中获取了旧版本的Foo.dll


有人知道Silverlight运行时在运行xap文件内容之前在哪里解压它吗?或者,如果运行时在单个应用程序域上执行,这可能会解释这些错误?

正如您所知,XAP文件只是ZIP文件,因此您可以将XAP文件双重重命名为ZIP,并检查第二个文件的内容,以确保其具有正确的dll。我不确定silverlight如何查找dll,我会让别人回答这一部分。

尝试对程序集进行签名


除非您这样做,否则系统无法知道哪个版本是哪个版本。用于解析程序集的未签名名称不包含程序集版本,而我认为已签名的程序集包含该版本。

在创建新的应用程序域之前,它始终是单个应用程序域。
在AssemblyInfo.cs中指定版本号,然后使用反射从SLV应用程序中获取该版本号。

Yep。我知道一个xap文件的版本不正确,但无法解释为什么该版本会突然影响另一个xap文件。我将两者都解压缩以进行检查。在追查之前,您可能希望将其转换为更积极的声明。确保这一切都发生了,否则你可能是在浪费时间。