NuGet Configuration
You only need this if you hit dependency errors while using BitMono as a NuGet package. BitMono sometimes pulls a nightly build of AsmResolver (when we need a critical fix that isn’t on nuget.org yet), and those live on Washi’s feed, not the default one. If NuGet can’t resolve AsmResolver, point it at that feed too.
Add a NuGet.config to your project root:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="asmresolver-nightly" value="https://nuget.washi.dev/v3/index.json" />
</packageSources>
</configuration>
Then restore:
dotnet restore
That’s it, AsmResolver should resolve now.
The packages
Most people only ever need one of these:
BitMono.Integration - obfuscate your project on every build by adding one
<PackageReference>. See MSBuild Integration (NuGet).BitMono.GlobalTool - the BitMono CLI as a .NET global tool (
dotnet tool install --global BitMono.GlobalTool). See How To Use.
The rest are the engine packages, for building your own tools on top of BitMono (see Configuration):
BitMono.API - core interfaces and abstractions
BitMono.Core - the obfuscation engine
BitMono.Protections - the protection implementations
BitMono.Shared - shared utilities and models
BitMono.Host - application host framework
BitMono.Utilities - helper functions
BitMono.Obfuscation - high-level obfuscation orchestrator
BitMono.Runtime - runtime components for obfuscated assemblies