diff --git a/Harmony/ForwardingAttributes/Mono.Cecil.Cil.cs b/Harmony/ForwardingAttributes/Mono.Cecil.Cil.cs
index 23b2e22e..8bb27b76 100644
--- a/Harmony/ForwardingAttributes/Mono.Cecil.Cil.cs
+++ b/Harmony/ForwardingAttributes/Mono.Cecil.Cil.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD
+#if HARMONY_THIN && (NETFRAMEWORK || NETSTANDARD)
using System.Runtime.CompilerServices;
[assembly: TypeForwardedTo(typeof(Mono.Cecil.Cil.Code))]
diff --git a/Harmony/ForwardingAttributes/Mono.Cecil.Mdb.cs b/Harmony/ForwardingAttributes/Mono.Cecil.Mdb.cs
index 24a23087..5fb893fe 100644
--- a/Harmony/ForwardingAttributes/Mono.Cecil.Mdb.cs
+++ b/Harmony/ForwardingAttributes/Mono.Cecil.Mdb.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD
+#if HARMONY_THIN && (NETFRAMEWORK || NETSTANDARD)
using System.Runtime.CompilerServices;
[assembly: TypeForwardedTo(typeof(Mono.Cecil.Mdb.MdbReader))]
diff --git a/Harmony/ForwardingAttributes/Mono.Cecil.Pdb.cs b/Harmony/ForwardingAttributes/Mono.Cecil.Pdb.cs
index 87ddb933..c4d23df6 100644
--- a/Harmony/ForwardingAttributes/Mono.Cecil.Pdb.cs
+++ b/Harmony/ForwardingAttributes/Mono.Cecil.Pdb.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD
+#if HARMONY_THIN && (NETFRAMEWORK || NETSTANDARD)
using System.Runtime.CompilerServices;
[assembly: TypeForwardedTo(typeof(Mono.Cecil.Pdb.NativePdbReader))]
diff --git a/Harmony/ForwardingAttributes/Mono.Cecil.Rocks.cs b/Harmony/ForwardingAttributes/Mono.Cecil.Rocks.cs
index f280f013..60ce2e33 100644
--- a/Harmony/ForwardingAttributes/Mono.Cecil.Rocks.cs
+++ b/Harmony/ForwardingAttributes/Mono.Cecil.Rocks.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD
+#if HARMONY_THIN && (NETFRAMEWORK || NETSTANDARD)
using System.Runtime.CompilerServices;
[assembly: TypeForwardedTo(typeof(Mono.Cecil.Rocks.IILVisitor))]
diff --git a/Harmony/ForwardingAttributes/Mono.Cecil.cs b/Harmony/ForwardingAttributes/Mono.Cecil.cs
index bc59c59f..67e727fa 100644
--- a/Harmony/ForwardingAttributes/Mono.Cecil.cs
+++ b/Harmony/ForwardingAttributes/Mono.Cecil.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD
+#if HARMONY_THIN && (NETFRAMEWORK || NETSTANDARD)
using System.Runtime.CompilerServices;
[assembly: TypeForwardedTo(typeof(Mono.Cecil.AssemblyAttributes))]
diff --git a/Harmony/ForwardingAttributes/Mono.Collections.Generic.cs b/Harmony/ForwardingAttributes/Mono.Collections.Generic.cs
index ee777f6d..93ff05a2 100644
--- a/Harmony/ForwardingAttributes/Mono.Collections.Generic.cs
+++ b/Harmony/ForwardingAttributes/Mono.Collections.Generic.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD
+#if HARMONY_THIN && (NETFRAMEWORK || NETSTANDARD)
using System.Runtime.CompilerServices;
[assembly: TypeForwardedTo(typeof(Mono.Collections.Generic.Collection<>))]
diff --git a/Harmony/ForwardingAttributes/Mono.CompilerServices.SymbolWriter.cs b/Harmony/ForwardingAttributes/Mono.CompilerServices.SymbolWriter.cs
index 6c334824..e6f4a9e7 100644
--- a/Harmony/ForwardingAttributes/Mono.CompilerServices.SymbolWriter.cs
+++ b/Harmony/ForwardingAttributes/Mono.CompilerServices.SymbolWriter.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD
+#if HARMONY_THIN && (NETFRAMEWORK || NETSTANDARD)
using System.Runtime.CompilerServices;
[assembly: TypeForwardedTo(typeof(Mono.CompilerServices.SymbolWriter.AnonymousScopeEntry))]
diff --git a/Harmony/ForwardingAttributes/MonoMod.Utils.Cil.cs b/Harmony/ForwardingAttributes/MonoMod.Utils.Cil.cs
index cd4aaf58..65050ef2 100644
--- a/Harmony/ForwardingAttributes/MonoMod.Utils.Cil.cs
+++ b/Harmony/ForwardingAttributes/MonoMod.Utils.Cil.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD
+#if HARMONY_THIN && (NETFRAMEWORK || NETSTANDARD)
using System.Runtime.CompilerServices;
[assembly: TypeForwardedTo(typeof(MonoMod.Utils.Cil.CecilILGenerator))]
diff --git a/Harmony/ForwardingAttributes/MonoMod.Utils.cs b/Harmony/ForwardingAttributes/MonoMod.Utils.cs
index ca6a4a1c..3901c74d 100644
--- a/Harmony/ForwardingAttributes/MonoMod.Utils.cs
+++ b/Harmony/ForwardingAttributes/MonoMod.Utils.cs
@@ -1,4 +1,4 @@
-#if NETFRAMEWORK || NETSTANDARD
+#if HARMONY_THIN && (NETFRAMEWORK || NETSTANDARD)
using System.Runtime.CompilerServices;
[assembly: TypeForwardedTo(typeof(MonoMod.Utils.DMDEmitDynamicMethodGenerator))]
diff --git a/Lib.Harmony.Ref/Lib.Harmony.Ref.csproj b/Lib.Harmony.Ref/Lib.Harmony.Ref.csproj
index b3f8906f..e7d946db 100644
--- a/Lib.Harmony.Ref/Lib.Harmony.Ref.csproj
+++ b/Lib.Harmony.Ref/Lib.Harmony.Ref.csproj
@@ -9,6 +9,7 @@
$(TargetsForTfmSpecificContentInPackage);AddRefAssemblyToPackage
Lib.Harmony.Ref
+ $(DefineConstants);HARMONY_THIN
diff --git a/Lib.Harmony.Thin/Lib.Harmony.Thin.csproj b/Lib.Harmony.Thin/Lib.Harmony.Thin.csproj
index e307bd5f..0cac3024 100644
--- a/Lib.Harmony.Thin/Lib.Harmony.Thin.csproj
+++ b/Lib.Harmony.Thin/Lib.Harmony.Thin.csproj
@@ -2,6 +2,7 @@
Lib.Harmony.Thin
$(TargetFrameworks);netstandard2.0
+ $(DefineConstants);HARMONY_THIN
diff --git a/Lib.Harmony/Lib.Harmony.csproj b/Lib.Harmony/Lib.Harmony.csproj
index c64b64bd..6526967d 100644
--- a/Lib.Harmony/Lib.Harmony.csproj
+++ b/Lib.Harmony/Lib.Harmony.csproj
@@ -12,7 +12,6 @@
-