views:

141

answers:

3

We currently have a XAP file which contains Foo.dll, and another XAP file (with a completely different name) which contains an updated version Foo.dll (but the same version number).

When we run the second XAP file, it looks as though the Silverlight runtime on the client, is picking up the old version of Foo.dll from the first XAP file.

Anyone know where the Silverlight runtime unzips the xap file before running its content? Or if the runtime executes on a single app domain which could explain these errors?

A: 

Just you know, XAP file is nothing but ZIP file so you can double always rename the xap file to zip and examine the content of the second file to make sure it has the correct dll. I am not sure how silverlight look for dll, I will let someone answer that part.

Nair
Yep. I know one xap file has the incorrect version, but can't explain why that version is suddenly affecting the other xap file. I've unzipped both to check.
ForeverDebugging
A: 

Try signing your assemblies.

Unless you do, the system has no way of knowing which version is which. The un-signed name which is used to resolve the assembly doesn't contain the assembly version version while the signed assembly does (I think).

R4cOON
A: 

It is always single app domain till your create a new one. Specify Version number in AssemblyInfo.cs, then use Reflection to get it from your SLV application.

Daniel Bern