Building dotnet also creates a collection of NuGet packages that aren't
installed as a part of the dotnet distribution. They are instead
available from Microsoft's NuGet repositories.
Some of these packages are platform-specific and some features (like
e.g. publishing a .NET application with the "ReadyToRun" option) require
some of these, but the FreeBSD-specific packages aren't available on
Microsoft's servers (yet).
As a workaround, add a port option NUPKG that will add a "packages"
directory to the dotnet distribution and populate it with all
platform-specific packages. A post-install script will configure this as
an additional default nuget package source.
Unfortunately, many projects clear the list of package sources in their
own nuget configurations, so you might still need to patch them in order
to build them for FreeBSD as e.g. ReadyToRun.