IL.View October 2011 Features.

October 2011 was a very busy month for IL.View in terms of new features  introduced.

The major features that are worth mentioning in this recap is as following:

  • Automatic updates for OOB (out-of-browser) scenario
  • Rich browsing for Silverlight packages (.xap files)
  • Platform identifiers for assemblies
  • Version numbers for assembly references
  • Content preview for some file types (xml/xaml/ClientConfig/jpg/png)
  • Displaying and expanding embedded resource assemblies (for Silverlight assemblies only) by pressing Space bar
  • Preview of embedded resources (xml/xaml/ClientConfig/jpg/png) by pressing Space bar
  • User-defined reference paths for automatic assembly resolution (similar to Visual Studio “reference paths” feature)
  • Lot of stabilization and improvements for underlying infrastructures
  • New assembly versioning schema based on “YYYY.MM.DD.{Build}” format

Automatic Updates

Live preview builds that are continuously  pushed to the project page got support for automatic updates. Users that are using the full-trust OOB (out-of-browser) scenario will get the application up-to-date automatically upon every launch.

Browsing Silverlight Packages

IL.View now provides rich capabilities for browsing Silverlight packages (“.xap” files). Users are now able to drag and drop “.xap” package directly onto the application surface and view package contents. Package browsing includes full support for content and assembly navigation in the same way it is done for a regular assembly.
Silverlight Package Browsing

Platform identifiers for assemblies

As application is moving forward having a single list of assemblies within the browser the platform identifiers were added to assembly names. Silverlight assemblies will be marked as “(SL)” while .NET assemblies will be marked as “.NET”. Later on identifiers will be extended to display the actual version of the corresponding framework.

Platform Identifiers

Version numbers for assembly references

To improve dependency analysis process the application provides version numbers for assembly references within the reference title. That allows to avoid unnecessary decompilation or assembly resolution calls when it is only the version of reference the user is interested in.

Version numbers for assembly references

Content Preview

It is now possible to view the content of the files that are frequently added to the “.xap” files. IL.View provides support to show xml-based files (xml, xaml, ClientConfig) with syntax colouring:

Content Preview of xml-based files

 It is also possible to preview the content of image files in the formats supported by Silverlight (.png and .jpg). Images are displayed in real sizes.
Content preview for image files

Browsing embedded resource assemblies

October version of IL.View brings out support for embedded resource assemblies navigation. This feature is however limited to only Silverlight assemblies. A new node called “Resources” will appear next to every main module of the assembly. Resource assemblies can be expanded like regular assemblies and their xml/image-based content can be previewed by pressing a Space bar on the selected item.

Browsing embedded resources

 Reference Paths

Application now provides a way to define common reference paths that should be used for assembly lookup during decompilation and reference resolution. There will be a new options panel called “Reference Paths” within the “Settings” page. The user is able to add or remove a path to any directory containing .NET or Silverlight assemblies that needs to be checked during decompilation process. Every single reference path can be configured to use recursive search, meaning that the entire folder tree (including all sub-folders) is going to be inspected. However recursive search is a time consuming event and users discouraged to use it against deep nested folders.

Every time an external assembly is found the path to the file is cached. This gives much better performance during next sessions.

Reference Paths

This feature is however limited to full-trust mode running on Windows machines. “Reference Paths” section won’t be displayed when running IL.View on non-Windows computers (i.e. MacOs).

New Versioning Schema

New assembly versioning schema was applied based on “YYYY.MM.DD.{Build}” format. The version number can now be checked at the “About” page:

Versioning Schema

Besides new features there was a lot of stabilization work performed.

More and more features are being registered within the issue tracking system.