Refix

.NET dependency management
Download

Refix Ranking & Summary

Advertisement

  • Rating:
  • Publisher Name:
  • DavidMus
  • Operating Systems:
  • Windows All
  • File Size:
  • 211 KB

Refix Tags


Refix Description

Refix solves the problem of binary dependency management in .NET solutions. Refix is the only binary you'll need to commit to your source code repository! Short of installing all dependent binaries in the GAC, dependency management is something with which many .NET development teams struggle. When many .NET projects use continuous integration, often with a build that may run on one of several build agents, making sure that all the dependencies are in place is a complex problem. Some achieve it by committing third-party binaries with their source code - at the more organised end of the spectrum, this could take the form of a central Subversion-based repository of binaries included via an svn:externals link for example. But this approach is slow, and slows down every commit and update. The aim in our view should always be that a developer can get a fresh copy of a project from source control and just build it. .NET promised Microsoft platform developers an end to DLL hell. Certainly, multiple versions of a DLL can be installed side-by-side in the GAC and accessed independently. But for those wanting to bundle dependencies with their application for a true XCopy deployment, this is not an option. We were motivated to write Refix by a Subversion-based solution that was getting slower and slower to update, and where two third party libraries introduced a clash between two versions of a DLL each depended on. "We can deal with this using an assembly binding redirect, as we know the newer version to be backwardly compatible with the old. But shouldn't there be a tool that can sort this all out for us?" we asked ourselves. Refix does just that. Refix application was developed to be a command line tool to "Refixize" a solution, and manually perform tasks if for whatever reason Refix is not integrated into a solution. 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.


Refix Related Software