Refix is an attempt to address the issues of dependency management in .NET projects. It uses a combination of two things to do this: a repository of binary depedencies, including metadata that identifies alternative versions of components that can be viewed as compatible; and rewriting of files to correct dependency versioning (specifically, project files and configuration files).

Demonstration: version resolution

User guide

At present, Refix exists as a command line tool, and only uses a local repository of binary files. It only works with C# project files. Online help is available for the tool, which you can access by typing rfx help at the command line. There are two things you will probably want to do before doing this: edit the configuration file to point to the folder in which you want your local repository to be stored, and add the path to the rfx.exe file to your PATH environment variable.

Essentially, the following sequence of commands will sort out the dependencies in a project (if possible), and (re)write the necessary files - after this, the solution should build against a single unified set of binaries that are in a .refix folder under the solution root:

rfx extract
rfx resolve
rfx inject

The changes can be reverted by typing rfx clean -a. PLEASE NOTE THIS IS VERY EARLY PRE-RELEASE SOFTWARE, AND YOU USE IT AT YOUR OWN RISK.

Building Refix

There are no prerequisites for building Refix beyond Visual Studio 2008 or higher. You should be able to open the solution file and build it first time. To use the proper project build file, you should install Ruby and Rake. The albacore library for Rake is included in the source.


Last edited Jun 14, 2010 at 11:59 AM by davidmus, version 4


No comments yet.