Skip to content

Commit 2935436

Browse files
committed
fix: ILRepack LZMA-SDK into single DLL
- Merge SevenZip.dll (LZMA-SDK) into KK_SaveLoadCompression.dll - Add /lib paths for BepInEx, IllusionLibs, and Unity references - Fixes ReflectionTypeLoadException at runtime
1 parent ac77c2b commit 2935436

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

‎KK_SaveLoadCompression.Plugin/KK_SaveLoadCompression.csproj‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,29 @@
1313
<PackageReference Include="IllusionLibs.Koikatu.Assembly-CSharp" Version="2019.4.27.4" />
1414
<PackageReference Include="IllusionLibs.Koikatu.Assembly-CSharp-firstpass" Version="2019.4.27.4" />
1515
<PackageReference Include="IllusionLibs.Koikatu.UnityEngine" Version="5.6.2.4" />
16+
<PackageReference Include="ILRepack" Version="2.0.18" />
1617
<PackageReference Include="LZMA-SDK" Version="19.0.0" />
1718
</ItemGroup>
1819

1920
<ItemGroup>
2021
<EmbeddedResource Include="Resources\zip_watermark.png" />
2122
<EmbeddedResource Include="Resources\unzip_watermark.png" />
2223
</ItemGroup>
24+
25+
<!-- Copy SevenZip.dll (LZMA-SDK) to output for ILRepack -->
26+
<Target Name="CopyLzmaForRepack" AfterTargets="Build" Condition="'$(Configuration)' == 'Release'">
27+
<Copy SourceFiles="$(NuGetPackageRoot)lzma-sdk\19.0.0\lib\net20\SevenZip.dll" DestinationFolder="$(OutputPath)" SkipUnchangedFiles="true" />
28+
</Target>
29+
30+
<!-- ILRepack: merge SevenZip.dll into output DLL -->
31+
<Target Name="ILRepack" AfterTargets="CopyLzmaForRepack" Condition="'$(Configuration)' == 'Release'">
32+
<PropertyGroup>
33+
<ILRepackExe>$(NuGetPackageRoot)ilrepack\2.0.18\tools\ILRepack.exe</ILRepackExe>
34+
<IllusionLib>$(NuGetPackageRoot)illusionlibs.koikatu.assembly-csharp\2019.4.27.4\lib\net35</IllusionLib>
35+
<UnityLib>$(NuGetPackageRoot)illusionlibs.koikatu.unityengine\5.6.2.4\lib\net35</UnityLib>
36+
<GameBepInEx>G:\MyGAME\Koikatsu\BepInEx\core</GameBepInEx>
37+
<LibPaths>/lib:"$(IllusionLib)" /lib:"$(UnityLib)" /lib:"$(GameBepInEx)"</LibPaths>
38+
</PropertyGroup>
39+
<Exec Command="&quot;$(ILRepackExe)&quot; $(LibPaths) /target:library /internalize /out:&quot;$(OutputPath)KK_SaveLoadCompression.dll&quot; &quot;$(OutputPath)KK_SaveLoadCompression.dll&quot; &quot;$(OutputPath)SevenZip.dll&quot;" />
40+
</Target>
2341
</Project>

0 commit comments

Comments
 (0)