.NET Reference Builder

Recent Changes 5.7+

Due to recent changes in the Eiffel compiler this tool may not been needed anymore. In fact the new consumer is now optimized not to consume those assemblies not listed in the project ecf, thereby decreasing compilation/consumption time. One of the EiffelEnvision projects (for building EiffelEnvision) went down from referencing 75+ assemblies to compile to just over 10 because the references are no longer needed.

paulb wrote a command-line front end to the .NET consumer (Eiffel for .NET Metadata Consumer) that will allow you to consume assemblies without and Eiffel project, thus speeding up compliation time. It can also be used as a verification tool if you simply cannot get your project to compile.


The Eiffel for .NET Reference Builder tool is a tool used to build a flat list of all assemblies that might need to go into an Eiffel for .NET project for it to compile. The tool is useful for complex systems where the default reference inferencing of the compiler is not up to the task.

Not having the correct assemblies referenced in a project can prevent compilation from succeeding, hence the introducation of this tool.

The tool may optional modify an Eiffel Configuration File (ECF) be inserting any required assemblies, modifying existing assemblies and automatically setting each reference's name. This insertion may be done on all or just specific targets.


This tool is for .NET 2.0 only. This is because of the changes made to the security mechanisms introduced in 2.0, requiring 2.0 added features to be used. The .NET consumer cannot deal with these issues on the 32bit version of EiffelStudio (the consumer needs to be loaded in a 1.0 runtime in order to consume 1.0, so it is compiled targeting the 1.0 version of the CLR.) The 64bit version, in which only 2.0 exists, the security rules are respected.

Anyone with a 32bit version of the compiler can compile [or request] a 2.0 consumer, but all Eiffel for .NET project will have to be for 2.0 only.

This tool is provided as an intermediate tool. Future versions of the Eiffel for .NET compiler will not need all of the references to be declared in a project, only those that you will be using types from. When that time comes this tool will become obsolete.

Command-line Options

To view the help information please use the /? switch.


This tool was developed and maintained by Paulb.

Location: https://eiffelsoftware.origo.ethz.ch/svn/es/trunk/Src/tools/dotnet_reference_builder

Change Log

Initial Entry: Paulb 19:38, 18 August 2006 (CEST)