mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-25 15:08:47 -07:00
1f407ef7b3
The mod resolves every game-side type at runtime via AccessTools.TypeByName, so the IL2CPP interop assemblies (Assembly-CSharp, Photon3Unity3D, UnityEngine.*) in the csproj were dead references. Dropped them entirely — only MelonLoader's own DLLs are actually needed at compile time. tools/build-patcher-zip.ps1 now downloads MelonLoader BEFORE the dotnet build and points MelonLoaderDir at the extracted contents, so a fresh contributor checkout builds the patcher zip cold with no Rec Room install required. (Previously the csproj defaulted RecRoomDir to a hardcoded user path and failed for anyone else.) Verified by deleting bin/obj and running the script from scratch on a machine without RecRoomDir set — produces a 20 MB zip with the same manifest/DLL/MelonLoader.zip layout as before.
53 lines
2.0 KiB
XML
53 lines
2.0 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net6.0</TargetFramework>
|
|
<LangVersion>latest</LangVersion>
|
|
<Nullable>enable</Nullable>
|
|
<RootNamespace>DorkNet.ClientMod</RootNamespace>
|
|
<AssemblyName>DorkNet.ClientMod</AssemblyName>
|
|
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
|
<CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
|
|
<NoWarn>$(NoWarn);CS8602;CS8604;CS0436</NoWarn>
|
|
</PropertyGroup>
|
|
|
|
<!--
|
|
MelonLoader 0.6.x build of the DorkNet client patches. Resolves
|
|
every game-side type at runtime via AccessTools.TypeByName, so
|
|
Rec Room's IL2CPP-derived interop assemblies (Assembly-CSharp,
|
|
Photon3Unity3D, UnityEngine.*) are NOT needed at compile time —
|
|
they would be derivative works of the game anyway, so we never
|
|
reference them. Only MelonLoader's own DLLs are needed.
|
|
|
|
tools/build-patcher-zip.ps1 downloads the MelonLoader release zip
|
|
and points MelonLoaderDir at its extracted contents, so a fresh
|
|
contributor checkout builds without a local Rec Room install.
|
|
|
|
To build outside the script (manual dev loop):
|
|
dotnet build -p:MelonLoaderDir=<path-to-extracted-MelonLoader>
|
|
-->
|
|
<PropertyGroup>
|
|
<MelonLoaderDir Condition="'$(MelonLoaderDir)' == ''">$(MSBuildThisFileDirectory)..\build\melonloader</MelonLoaderDir>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<Reference Include="MelonLoader">
|
|
<HintPath>$(MelonLoaderDir)\net6\MelonLoader.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<Reference Include="0Harmony">
|
|
<HintPath>$(MelonLoaderDir)\net6\0Harmony.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<Reference Include="Il2CppInterop.Runtime">
|
|
<HintPath>$(MelonLoaderDir)\net6\Il2CppInterop.Runtime.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<Reference Include="Il2CppInterop.Common">
|
|
<HintPath>$(MelonLoaderDir)\net6\Il2CppInterop.Common.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
</ItemGroup>
|
|
|
|
</Project>
|