3

When I am trying to read a Silverlight 5 assembly via Mono.Cecil version 0.9.3.0, I am getting the following exception:

System.NotSupportedException: Version not supported: 5.0.5.0
------   
at Mono.Cecil.BaseAssemblyResolver.GetCorlib(AssemblyNameReference reference) in C:\programming\mono.cecil\jbevain-cecil-5df660e\Mono.Cecil\BaseAssemblyResolver.cs:line 200
------  
at Mono.Cecil.BaseAssemblyResolver.Resolve(AssemblyNameReference name) in C:\programming\mono.cecil\jbevain-cecil-5df660e\Mono.Cecil\BaseAssemblyResolver.cs:line 117
....

It happens because the reference in the Silverlight project is to mscorlib 5.0.5.0 while the GetCorlib function doesn't seem to be handling these cases.

Is there a solution to this issue?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
VitalyB
  • 12,397
  • 9
  • 72
  • 94
  • Report a bug at https://github.com/jbevain/cecil/issues @jbevain usually address issues fast :) – leppie Feb 02 '12 at 09:08
  • I am not sure it is an issue, as such, since there are various `#if !SILVERLIGHT` in the code. So it seems to be something that is already taken into some account and handled, I just don't understand how I can use a single mono.Cecil.dll to handle both regular .NET assemblies and Silverlight assemblies. – VitalyB Feb 02 '12 at 09:15
  • 5
    @leppie, google alerts work too :) I have a mail in only minutes after a question is asked on SO. – Jb Evain Feb 02 '12 at 09:18
  • @JbEvain: Cool, never knew about that, time to investigate :) – leppie Feb 02 '12 at 09:22
  • @JBEvain: That IS fast. Thanks! – VitalyB Feb 02 '12 at 09:34

1 Answers1

8

Cecil's default resolver doesn't handle Silverlight assemblies. It's easy to fix. Just pass your own resolver to your assemblies, and make sure it can resolve Silverlight assemblies:

var resolver = new DefaultAssemblyResolver ();
resolver.AddSearchDirectory ("path/to/silverlight/assemblies");

var assembly = AssemblyDefinition.ReadAssembly (
    assemblyFile,
    new ReaderParameters { AssemblyResolver = resolver });

Also, I strongly suggest you update from 0.9.3 to a newer release.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Jb Evain
  • 17,319
  • 2
  • 67
  • 67