To run the tests you will need to:
-
Build a runtime with the
MonoMetadataUpdateproperty set to true:/p:MonoMetadataUpdate=true. -
Put the hotreload-delta-gen command line tool somewhere on your
PATH.Build the tool with
dotnet publish --self-contained -r <RID>and then add thepublish/hotreload-delta-gendirectory to yourPATH. If you don't want to add it to yourPATH, you can set theHotReloadDeltaGenFullPathmsbuild property inDeltaHelper.targetsto the full path name of the published executable.
The tool, runtime changes and samples should work on Mac and Linux. Windows might work, but it hasn't been tested.
Build the runtime with the /p:MonoMetadataUpdate=true option.
Both Debug and Release configurations should work.
For desktop:
build.sh -s Mono+Libs /p:MonoMetadataUpdate=trueFor WebAssembly:
Make sure EMSDK_PATH is set (see workflow)
build.sh --os browserFor Apple targets:
build.sh --os MacCatalyst -s Mono+Libsor
build.sh --os iOSSimulator -s Mono+LibsFor console (desktop):
make CONFIG=Debug publish && make CONFIG=Debug run
The output from run should print an old string, apply an update and then print a new string
For browser (WebAssembly):
make CONFIG=Debug && make CONFIG=Debug run
Then go to http://localhost:8000/ and click the button once or twice (the example has 2 updates prebuilt)
For Apple targets:
for ios simulator
make run-sim
for Mac Catalyst
make run-catalyst