aspnet / dnx

OBSOLETE - see readme
Other
963 stars 224 forks source link

Publish --no-source doesn't pull in runtime dependencies #3193

Closed analogrelay closed 8 years ago

analogrelay commented 8 years ago

In order to properly pull in runtime dependencies, a direct dependency on Microsoft.NETCore.Platforms is required. However, when we publish with --no-source, we create a synthetic outer project that references the compiled project output. This means that we appear to incorrectly handle the reference to Microsoft.NETCore.Platforms.

Some solutions:

  1. If the project has a dependency on Microsoft.NETCore.Platforms, pull that dependency through to the project we create
  2. Fix whatever transitive logic isn't working to pull in Microsoft.NETCore.Platforms correctly.

/cc @davidfowl @muratg @Eilon @BrennanConroy

analogrelay commented 8 years ago

Grah! It's nearest-wins plus our weird embedded Microsoft.NETCore.Platforms version. I'm going to remove that weird version and instead manually merge in our runtime data (allowing existing runtime data to override it). We only have that package to ensure that if someone doesn't pull in a package that defines what win10-x64 (and friends) mean, we still know what they mean.

matizk144 commented 8 years ago

Additionaly I observed situation, that dnx publish command publish app with depedencies (packages), but finally, when we want to run app (from published folder) published runtime (dnx) still use packages from C:\Users[user].dnx\packages, instead from published packages.

Tested in runtime dnx-coreclr-win-arm.1.0.0-rc2-16177, during publish asp.net webapi.

analogrelay commented 8 years ago

There are probably some issues with this in arm. Right now arm isn't formally supported, so we'll try to take a look but this issue is focused on solving the issues with the officially supported flavors of RC1.

Thanks for the report!