Instead of building with a patched meson version, make use of custom
targets and generated csproj files so we can used upstream meson
This avoids digging into "non official" dotnet stuff like calling
the CSC.dll directly that the patched meson tried to do.
To enable, run meson with -Ddotnet=true.
Regarding source file dependencies, Meson has a limitation
about generated artifacts being placed in subdirectories.
In order to correctly track these generated artifacts for dotnet, we
generated them in the same folder as the csproj file through
dotnet build -o.
Instead of installing the dll like we do for mono, a nupkg is generated
and installed in the same folder as the dll would be
To avoid messing around with Nupkg caches, we reference the source
project for the library directly instead of the nupkg when building the