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

[Question] How to create separate NuGet packages for OS specific native components #6083

Open
conniey opened this issue Oct 23, 2017 · 5 comments
Labels
Functionality:Pack Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. Status:Excluded from icebox cleanup Status:Inactive Icebox issues not updated for a specific long time

Comments

@conniey
Copy link

conniey commented Oct 23, 2017

Details about Problem

I am trying to create a NuGet package that is a C# wrapper around ic4c. It has a set of native dlls that need to be compiled for each OS. I don't want to include it into a single NuGet package because the DLLs are 27MB for each OS. I noticed that the .NET team has NuGet packages like:
runtime.ubuntu.14.04-x64.runtime.native.system.io.compression that contain assets only for that OS.

Is there guidance on how to create those packages? I tried to find documentation on docs.microsoft.com and this repository but was unable to.

Thanks,
Connie

@jp2masa
Copy link

jp2masa commented Oct 23, 2017

Maybe create a package that imports build targets, which add package references based on the RID?

@conniey
Copy link
Author

conniey commented Oct 25, 2017

@emgarten Could you point me in the right direction?

@rrelyea
Copy link
Contributor

rrelyea commented Oct 30, 2017

@kzu @ericstj - can one of you help us understand how to improve our docs for this?

@emgarten
Copy link
Member

The current guidance is that packages should put all RID specific assemblies in the same package instead of splitting them up.

I don't believe there are docs on how to use runtime.json for this currently. There have been concerns raised about it being used out side of the System.* packages.

@ericstj @davidfowl should runtime.json be documented for splitting up packages?

@davidfowl
Copy link
Member

davidfowl commented Oct 31, 2017

The caveats need to be explained, but we should document it.

@conniey The downside is that the consumer of your package has to specify which RID they want to get assets for at restore time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Functionality:Pack Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. Status:Excluded from icebox cleanup Status:Inactive Icebox issues not updated for a specific long time
Projects
None yet
Development

No branches or pull requests

10 participants