Skip to content

Need to merge runtime.json's into the Targets packages #15592

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

Closed
ericstj opened this issue Oct 29, 2015 · 5 comments
Closed

Need to merge runtime.json's into the Targets packages #15592

ericstj opened this issue Oct 29, 2015 · 5 comments
Assignees
Labels
packaging Related to packaging
Milestone

Comments

@ericstj
Copy link
Member

ericstj commented Oct 29, 2015

Currently we have many packages including runtime.json's to represent x-plat implementations.

This causes a problem when any of those packages is not in the compile graph since DNX/NuGet will not merge runtime.json's that aren't in the compile graph.

For many of our packages that are considered "part of the platform" we already have a common runtime.json that is meant to serve as defining the implementation package for a specific platform: the Microsoft.NETCore.Targets.* packages. For any package already listed in these packages we should merge in the runtime.json that came from that specific package. This will ensure that the runtime.json content is in the compile graph.

This is not a complete solution. Some of our packages are not "part of the platform" and third party packages are not either. For these we need the nuget feature: NuGet/Home#1660.

Once that feature exists we should also adopt it in all of our packages in addition to the runtime.json since it supports a more dynamic mapping. EG: I can update a single package that has new platform specific dependencies/shape without updating the entire platform.

/cc @chcosta

@joshfree
Copy link
Member

joshfree commented Nov 3, 2015

This is fixed in 23502.00 and newer builds https://www.myget.org/gallery/dotnet-core-rel

@joshfree joshfree closed this as completed Nov 3, 2015
@guardrex
Copy link

@ericstj @anurse

Having ...

"System.Net.Security": "4.0.0-beta-*",
"Microsoft.NETCore.Platforms": "1.0.1-beta-*",

... was working and providing System.Net.Security in my beta8 dnxcore50 proj (it was pulling down -23409 earlier when we discussed it in https://github.com/dotnet/corefx/issues/3927), but it's broken again. Merely having that combo in dependencies doesn't work. I've had to go back to ...

"System.Net.Security": "4.0.0-beta-23405",

It looks like the fix on this will be for rc1. Should I just stick with -23405 until I move to rc1?

@ericstj
Copy link
Member Author

ericstj commented Nov 16, 2015

Using the latest packages on an older beta8 dnx is not going to work for a few reasons

  1. The latest packages rely on packaging features added post-beta8
  2. DNX includes a fixed copy of some of our implementation assemblies. Even though the newer packages may specify a dependency on a newer version of these implementation assemblies from packages, you'll still be running on the older version. This can result in any number of problems at runtime: missing type, missing member, differing behavior, missing p-invokes, etc.

I know 2. is a problem for this package in particular because it has undergone a ton of development in this milestone where it has required new members from our native binaries that are inside DNX\bin. This library itself however is not part of DNX\bin so you end up running in torn state.

@guardrex
Copy link

@ericstj Ok, thanks. I'm going to stick with -23405 until I go to rc.

@guardrex
Copy link

@ericstj Question on Microsoft.NETCore.Targets.DNXCore ... just noticed this package. My apps are all dnxcore50 framework only. Can I/should I use this one in place of Microsoft.NETCore.Platforms?

@msftgits msftgits transferred this issue from dotnet/corefx Jan 31, 2020
@msftgits msftgits added this to the 1.0.0-rc1 milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Jan 4, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
packaging Related to packaging
Projects
None yet
Development

No branches or pull requests

5 participants