Opening dll's in another framework

I'm wondering how I would go about opening a dll that's made using the .net 2.0 c# framework.

Whenever I open up the DLL it shows up under the .Net 4.0 Framework category, and I can't find an option to change the framework version


Good point.

But you should be able to open .NET 2.0 assemblies even it "looks not good" that they're listed under .NET Framework 4.0 ;)

Opened .NET Compact Framework 1.0 assemblies successfully using dotPeek.


Hello Harald-René Flasch,

But what about assemblies in the GAC ? It seems thant the assemblies do not appear in the list.

Have I to extract them from the GAC to open them in DotPeek ?


Thanks for the response :)


When using File | Open from GAC (or Ctrl+Shift+O) all assemblies from all versions (1.0 - 4.0) are displayed in the list ...
(BTW: Somethimes I get confused with the thread title: "Opening dll's in another framework" --> should be "Opening dll's in another framework version"? When hearing or reading "another framework" I assume Mono etc.)


Not in the build I just tried (1219) - its only showing .NET 4.0 DLLs from the GAC.

I can't even load the pre-4.0 ones manually from C:\Windows\Assembly since they are virtual, you have to get them from C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\ or thereabouts.



Thats a bit strange. Just used build 1219 and opened System.Xml, Version 1.0.5000.0 from GAC without any problems.
Are you sure that you have .NET Framework 1.0, 1.1, 2.0, 3.5 also installed?


Just installed the newest build 1.0 EAP Build

The reason for that seems "missing" Framework vesion:

So dotPeek seems to work correctly now since it displayes the closed Framework version  (2.0 --> 3.5). Since The Framework version are backward compatible (2.0 assembly will run/work on a machine with only .NET 3.5 installed).


Please sign in to leave a comment.