Today, .NET tools always target "any" and as such cannot trivially support scenarios such as https://github.com/dotnet/ClangSharp where native dependencies need to be bundled.
For https://github.com/dotnet/ClangSharp in particular, the tooling has a dependency on libClang and libClangSharp and thus needs to have some mechanism to bundle these dependencies for win-x64, win-arm64, linux-x64, and macos-x64 at a minimum.
It's worth noting support for RID specific tools would likewise allow support for AOT scenarios.
Ideally such support would also support the runtimes.json functionality so that you can have a "meta package" that then only downloads the required RID specific tool for a particular platform. This would reduce the size of NuGet packages for the common scenario.
Today, .NET tools always target "any" and as such cannot trivially support scenarios such as https://github.com/dotnet/ClangSharp where native dependencies need to be bundled.
For https://github.com/dotnet/ClangSharp in particular, the tooling has a dependency on
libClangandlibClangSharpand thus needs to have some mechanism to bundle these dependencies forwin-x64,win-arm64,linux-x64, andmacos-x64at a minimum.It's worth noting support for RID specific tools would likewise allow support for AOT scenarios.
Ideally such support would also support the
runtimes.jsonfunctionality so that you can have a "meta package" that then only downloads the required RID specific tool for a particular platform. This would reduce the size of NuGet packages for the common scenario.