Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace CoApp package overlay with runtime.json for native dependencies #21

Closed
glopesdev opened this issue Dec 28, 2021 · 1 comment
Closed
Labels
feature New planned feature
Milestone

Comments

@glopesdev
Copy link
Contributor

Until now, OpenCV.NET relied on the legacy CoApp powershell tools to generate package overlays to be installed on demand depending on build configuration. This turned out to be a brittle solution in the long-run, as CoApp is no longer maintained, and the community has moved on into new cross-platform dependency deployment for .NET 5.0 and .NET 6.0.

One of the most promising approaches is the one followed by the ClangSharp project, which co-opts the runtime.json file which is used by nuget and the build system to deploy platform-specific assets in .NET Core and beyond. This approach is particularly exciting as it is also backwards compatible with .NET framework. Although it is an undocumented feature with some drawbacks, it does provide a seamless experiencing of downloading packages on demand and copying them to the application output file.

More information can be found in NuGet/Home#10571 and in various other issues raised in dotnet/runtime and dotnet/sdk raised recently.

Starting with next version of OpenCV.NET, we want to leverage this approach to manage native dependency distribution.

@glopesdev glopesdev added the proposal Request for a new feature label Dec 28, 2021
@glopesdev glopesdev added this to the 3.4.0 milestone Dec 28, 2021
@glopesdev glopesdev added feature New planned feature and removed proposal Request for a new feature labels Dec 28, 2021
@glopesdev
Copy link
Contributor Author

Fixed in ea9b439

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New planned feature
Projects
None yet
Development

No branches or pull requests

1 participant