Skip to content

v0.3.1

Choose a tag to compare

@Zaldaryon Zaldaryon released this 31 Jul 01:08
· 4 commits to main since this release
v0.3.1
53834c4

Fixes

  • Runtime donor build fails during install when ILSpy generates self-closing <Reference> elements without <HintPath>. MSBuild cannot resolve assemblies like Newtonsoft.Json from a bare <Reference Include="Newtonsoft.Json" />. Added Resolve-ProjectReferences/resolve_references to both the PowerShell and bash donor scripts. A two-pass strategy expands self-closing references (finds DLLs in the vanilla Lib/, root, and Mods/ directories) and replaces invalid relative HintPaths with correct absolute paths from the user's local installation.
  • <LangVersion> hardcoded to 15.0. ILSpy changes the emitted version number across releases. The regex now matches any X.Y version.
  • macOS bash 3.2 compatibility. set -o pipefail, sort -z, and find -quit are GNU extensions unavailable on macOS's bundled bash and BSD find. All three now have conditional fallbacks.
  • PowerShell 5.1 compatibility. $IsWindows is PS 6+ only; the fallback path now probes for both ilspycmd and ilspycmd.exe. Native build commands use Invoke-NativeStep (from _exec.ps1) to prevent stderr lines from becoming terminating errors under $ErrorActionPreference = 'Stop' (PowerShell/PowerShell#4002).
  • Missing reference-path directories are now reported. Vanilla Lib/, root, and Mods/ directories are checked for existence before being passed to ilspycmd --referencepath. Missing directories emit a warning instead of silently being skipped.
  • Build step tries all donors before failing. If one donor (VSEssentials or VSSurvivalMod) fails to build, the script now attempts the other and reports all failures at the end.