dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.85k stars 4.62k forks source link

Ship nethost in standard native library locations #102587

Open jkoritzinsky opened 3 months ago

jkoritzinsky commented 3 months ago

Today, we ship the nethost shared and static libraries as part of the host pack. However, we do not ship them (or create symlinks to them from) standard library install locations. As a result, referencing an installed nethost on a machine is extremely difficult. In vcxproj scenarios, nethost can be consumed by a NuGet package reference, but from CMake, there's no good solution. Given that the consumers of nethost are primarily native developers, having a native development-focused discovery story is important.

For Unix-based platforms, we should update our installers to install the nethost in the standard location, so linking to nethost via -lnethost works seamlessly.

Alternatively, we should ship a CMake config module for nethost that will be discoverable by CMake's config-style package discovery on all of our target systems, enabling CMake projects to reference nethost with find_package(nethost) and target_link_libraries seamlessly.

NikolaMilosavljevic commented 2 months ago

[Triage] We are not considering new features in our installers for 9.0. @jkoritzinsky are there customer asks for this feature?

jkoritzinsky commented 2 months ago

There are not customers asking for this feature at this time. This can go in Future.