Cecil is a library to generate and inspect .NET programs and libraries.
Failed to load latest commit information.
Mono.Cecil.Cil Remove associated sequence points when removing instructions Aug 30, 2016
Mono.Cecil.Metadata Set pdb tables sorted flags Jul 16, 2016
Mono.Cecil.PE Make sure we do not mess with the stream position when writing Aug 3, 2016
Mono.Cecil Make BaseAssemblyResolver.Dispose suppress finalization Sep 23, 2016
Mono.Collections.Generic Style fixes Jul 13, 2016
Mono.Security.Cryptography Merge branch 'master' into net_core Jan 23, 2016
Mono Protect against module leaks triggered by the AssemblyResolver Jul 27, 2016
System.Security.Cryptography Compiling version of PCL May 28, 2015
Test Properly handle ownership of streams used by Cecil Jul 28, 2016
core Depend on more specific packages Aug 29, 2016
rocks Fix docid of generic instances Aug 3, 2016
symbols Read and write the checksum for files in mdbs Aug 5, 2016
.gitattributes Use auto EOL for text Nov 13, 2014
.gitignore Ignore .vs/ folder generated by Visual Studio 2015. Aug 29, 2016
.travis.yml Added travis CI Jun 1, 2015
LICENSE.txt This file doesn't use any markdown Jan 19, 2016
Mono.Cecil.Tests.props Rename settings files to props Jul 27, 2016
Mono.Cecil.csproj Rename settings files to props Jul 27, 2016
Mono.Cecil.nunit Added travis CI Jun 1, 2015
Mono.Cecil.nuspec Depend on more specific packages Aug 29, 2016
Mono.Cecil.props Rename settings files to props Jul 27, 2016
Mono.Cecil.sln Remove useless build configs and defines Jul 27, 2016
Mono.Cecil.sln.DotSettings Add support for the portable pdb format Jul 13, 2016
ProjectInfo.cs Use beta1 suffix Aug 29, 2016
README.md Add travis badge Jun 2, 2015
appveyor.yml Add appveyor config to the repo Jun 2, 2015
mono.snk initial commit Apr 12, 2010



Mono.Cecil is a library to generate and inspect programs and libraries in the ECMA CIL form.

To put it simply, you can use Cecil to:

  • Analyze .NET binaries using a simple and powerful object model, without having to load assemblies to use Reflection.
  • Modify .NET binaries, add new metadata structures and alter the IL code.

Cecil has been around since 2004 and is widely used in the .NET community.

The best way to learn how to use Cecil is to dive into the Cecil.Samples repository. It's a growing collection of samples with the goal of showing how to get things done using Cecil, as IL manipulation can sometime get tricky.

Read about the Cecil development on the development log.

To discuss Cecil, the best place is the mono-cecil Google Group.

Cecil is a project under the benevolent umbrella of the .NET Foundation.

.NET build status Mono build status Join the chat at https://gitter.im/jbevain/cecil