▄▄▌  ▪  ▄▄▄▄· ▄▄▄  ▄▄▄ .• ▌ ▄ ·. ▄▄▄ .▄▄▄▄▄ ▄▄▄·  ▌ ▐·▄▄▄ .▄▄▄  .▄▄ · ▄▄▄ .
██•  ██ ▐█ ▀█▪▀▄ █·▀▄.▀··██ ▐███▪▀▄.▀·•██  ▐█ ▀█ ▪█·█▌▀▄.▀·▀▄ █·▐█ ▀. ▀▄.▀·
██▪  ▐█·▐█▀▀█▄▐▀▀▄ ▐▀▀▪▄▐█ ▌▐▌▐█·▐▀▀▪▄ ▐█.▪▄█▀▀█ ▐█▐█•▐▀▀▪▄▐▀▀▄ ▄▀▀▀█▄▐▀▀▪▄
▐█▌▐▌▐█▌██▄▪▐█▐█•█▌▐█▄▄▌██ ██▌▐█▌▐█▄▄▌ ▐█▌·▐█ ▪▐▌ ███ ▐█▄▄▌▐█•█▌▐█▄▪▐█▐█▄▄▌
.▀▀▀ ▀▀▀·▀▀▀▀ .▀  ▀ ▀▀▀ ▀▀  █▪▀▀▀ ▀▀▀  ▀▀▀  ▀  ▀ . ▀   ▀▀▀ .▀  ▀ ▀▀▀▀  ▀▀▀ 
LibreMetaverse is a fork of libOpenMetaverse which in turn was a fork of libSecondLife, a library for developing Second Life-compatible virtual world clients. LibreMetaverse returns the focus to up-to-date Second Life and OpenSim compatibility with an eye to performance, multi-threading, and memory management.
The canonical source for LibreMetaverse can be found at: https://github.com/cinderblocks/libremetaverse
The dotnet utility is cross-platform so compilation is no different than on Linux/macOS.
You may, however, opt to use Visual Studio as you would any other .NET application.
- 
Make sure you have at least
dotnetinstalled, with a valid SDK and runtime of at least .NET6 available! - 
From the root, run
dotnet restore LibreMetaverse.Release.sln. You should get some errors regarding missing Windows libraries; that's ok, you can ignore those, they're to be expected since Linux/macOS do not include such libraries. Some test applications are Windows-only.
If all goes well, you should now have all dependent packages properly installed. - 
From the root, run
dotnet msbuild LibreMetaverse.Release.sln, and enjoy the superfast Roslyn compiler at work 😄 It should finish after a few minutes, depending on the speed of your machine. - 
Your binaries will be under
../bin/net8.0or../bin/net9.0(there might be a few more directories under../bin), depending on what runtimes you have installed on your system. Make sure youcdto the correct directory depending on the runtime you have, and then search for all your binaries there: they should be normal-looking executable files (with thexattribute set) and having the name of the appropriate test application (e.g.TestClientfor the interactive testing tool). - 
Unlike OpenSimulator and LibOpenMetaverse, you don't need to launch the binaries with Mono, they're directly executable; the
dotnetchain already embeds the small runtime that allows .NET apps to run natively on whatever operating system you've got.