Cecil is a library to generate and inspect .NET programs and libraries.
Latest commit c0181b8 Dec 7, 2016 @jbevain committed on GitHub Merge pull request #307 from StephaneDelcroix/optimizeLdcI8
Optimize ldc.i8
Failed to load latest commit information.
Mono.Cecil.Cil handle broken mdb's better Nov 10, 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 Provide an API to return all custom attributes defined in a module Dec 6, 2016
Mono.Collections.Generic Style fixes Jul 13, 2016
Mono.Security.Cryptography Merge branch 'master' into net_core Jan 23, 2016
Mono Remove unused property Oct 16, 2016
System.Security.Cryptography Compiling version of PCL May 28, 2015
Test Fix writing types in custom attributes that are arrays of nested types Oct 14, 2016
core Depend on more specific packages Aug 29, 2016
rocks Use mono style Dec 7, 2016
symbols Fix roundtrip of native pdb info with no sequence points Oct 27, 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