mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-25 23:18:44 -07:00
76 lines
3.7 KiB
XML
76 lines
3.7 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework Condition="'$(TargetFramework)' == '' and '$(TargetFrameworks)' == ''">net6.0</TargetFramework>
|
|
<LangVersion>latest</LangVersion>
|
|
<Nullable>enable</Nullable>
|
|
<RootNamespace>DorkNet.ClientMod</RootNamespace>
|
|
<AssemblyName>DorkNet.ClientMod</AssemblyName>
|
|
<AppendTargetFrameworkToOutputPath Condition="'$(TargetFrameworks)' == ''">false</AppendTargetFrameworkToOutputPath>
|
|
<AppendTargetFrameworkToOutputPath Condition="'$(TargetFrameworks)' != ''">true</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.
|
|
|
|
By default the project downloads the pinned desktop MelonLoader release
|
|
into DorkNet.ClientMod/build/ and references its net6 DLLs. For Quest /
|
|
LemonLoader builds, pass:
|
|
|
|
-p:TargetFrameworks=net8.0
|
|
-p:MelonLoaderDir=<path-to-LemonLoader-melon_data/MelonLoader>
|
|
|
|
The reference folder follows the target framework unless explicitly
|
|
overridden with -p:MelonLoaderReferenceTfm=...
|
|
-->
|
|
<PropertyGroup>
|
|
<MelonLoaderVersion Condition="'$(MelonLoaderVersion)' == ''">v0.6.6</MelonLoaderVersion>
|
|
<MelonLoaderCacheRoot>$(MSBuildThisFileDirectory)build\melonloader</MelonLoaderCacheRoot>
|
|
<MelonLoaderZip>$(MelonLoaderCacheRoot)\MelonLoader.x64.$(MelonLoaderVersion).zip</MelonLoaderZip>
|
|
<MelonLoaderDir Condition="'$(MelonLoaderDir)' == ''">$(MelonLoaderCacheRoot)\MelonLoader</MelonLoaderDir>
|
|
<MelonLoaderReferenceTfm Condition="'$(MelonLoaderReferenceTfm)' == '' and '$(TargetFramework)' == 'net8.0'">net8</MelonLoaderReferenceTfm>
|
|
<MelonLoaderReferenceTfm Condition="'$(MelonLoaderReferenceTfm)' == ''">net6</MelonLoaderReferenceTfm>
|
|
</PropertyGroup>
|
|
|
|
<Target Name="EnsureMelonLoaderReferences"
|
|
BeforeTargets="ResolveAssemblyReferences"
|
|
Condition="'$(MelonLoaderReferenceTfm)' == 'net6' and !Exists('$(MelonLoaderDir)\$(MelonLoaderReferenceTfm)\MelonLoader.dll')">
|
|
<MakeDir Directories="$(MelonLoaderCacheRoot)" />
|
|
<DownloadFile
|
|
SourceUrl="https://github.com/LavaGang/MelonLoader/releases/download/$(MelonLoaderVersion)/MelonLoader.x64.zip"
|
|
DestinationFolder="$(MelonLoaderCacheRoot)"
|
|
DestinationFileName="MelonLoader.x64.$(MelonLoaderVersion).zip"
|
|
SkipUnchangedFiles="true" />
|
|
<Unzip SourceFiles="$(MelonLoaderZip)"
|
|
DestinationFolder="$(MelonLoaderCacheRoot)"
|
|
OverwriteReadOnlyFiles="true" />
|
|
</Target>
|
|
|
|
<ItemGroup>
|
|
<Reference Include="MelonLoader">
|
|
<HintPath>$(MelonLoaderDir)\$(MelonLoaderReferenceTfm)\MelonLoader.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<Reference Include="0Harmony">
|
|
<HintPath>$(MelonLoaderDir)\$(MelonLoaderReferenceTfm)\0Harmony.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<Reference Include="Il2CppInterop.Runtime">
|
|
<HintPath>$(MelonLoaderDir)\$(MelonLoaderReferenceTfm)\Il2CppInterop.Runtime.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<Reference Include="Il2CppInterop.Common">
|
|
<HintPath>$(MelonLoaderDir)\$(MelonLoaderReferenceTfm)\Il2CppInterop.Common.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
</ItemGroup>
|
|
|
|
</Project>
|