Skip to content
Cooper edited this page Oct 21, 2020 · 6 revisions

Cecil, despite being written in C# 3, is usable on a variety of version of the .net framework. You can use any .net IDE, such as Visual Studio 2010, SharpDevelop, MonoDevelop, or use Microsoft's msbuild or Mono's xbuild tool to compile Cecil.

The csproj files define a bunch of different configurations, such as:

  • net_2_0_Debug, net_2_0_Release
  • net_3_5_Debug, net_3_5_Release
  • net_4_0_Debug, net_4_0_Release
  • silverlight_Debug, silverlight_Release
  • winphone_Debug, winphone_Release

If you need to adjust the Compilation to suit your needs, the following symbols need to be defined, depending on the version of .net you target:

  • NET_3_5
  • NET_4_0
  • SILVERLIGHT
  • CF

You can also tweak the csproj to define the symbol READ_ONLY. This way, only the reading layer of Cecil gets compiled, for special cases where size matters.

In order to create a NuGet package locally, you can do:

dotnet build -c:Release
nuget pack Mono.Cecil.nuspec

This will create a file in your repository named Mono.Cecil.(version).nupkg

This file can then be installed like so:

nuget install Mono.Cecil -Source <directory with Mono.Cecil.(version).nupkg> -OutputDirectory <install directory>

This will create a directory Mono.Cecil.(version) in the install directory.

Clone this wiki locally