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

Resolve runtime pack assets for crossgen even if app is framework-dependent #3110

Closed
nguerrera opened this issue Apr 9, 2019 · 3 comments · Fixed by #3326
Closed

Resolve runtime pack assets for crossgen even if app is framework-dependent #3110

nguerrera opened this issue Apr 9, 2019 · 3 comments · Fixed by #3326
Assignees
Milestone

Comments

@nguerrera
Copy link
Contributor

Crossgen operates on implementation assemblies only, even when passed as references to the compiler. To crossgen a framework-dependent app, we need all of the framework implementation assemblies to be passed to crossgen as references.

Note that crossgen requires picking a RID. The app can be framework-dependent, but it must be RID specific. (Crossgen generates native code, which can't be rid-agnostic, obviously.) We are guaranteed to have downloaded the runtime packs, we just need to resolve the framework assemblies from it as though the app was self-contained, but without putting them in deps.json or copying them, etc.

Today, crossgen tasks can find the base shared framework implementation assemblies next to it (it ships in the base runtime pack), but this doesn't work for the other frameworks like WindowsDesktop or ASP.NET. This also can't just blindly aggregate all the files in all the runtime packs, this list needs to account for conflict resolution (WindowsBase in WindowsDesktop wins over WindowsBase in NETCoreApp), etc.

@nguerrera nguerrera added this to the 3.0.1xx milestone Apr 9, 2019
@nguerrera
Copy link
Contributor Author

cc @fadimounir @dsplaisted

nguerrera pushed a commit that referenced this issue Apr 17, 2019
* Changing crossgen commands to use response files.
Changing /Platform_Assemblies_Paths to a set of /r arguments
Using resolved files list as assembly references to crossgen (temp hack until issue #3110 is fixed)
@fadimounir
Copy link

@nguerrera Can we mark this issue as blocking to R2R/ILLinker scenarios to bump the priority?

@nguerrera nguerrera self-assigned this Jun 4, 2019
@nguerrera
Copy link
Contributor Author

I will look at this tomorrow. Feel free to keep nagging me about it on Teams. ;) I added the label, but I'm not sure how much that is being monitored these days.

dsplaisted pushed a commit to dsplaisted/sdk that referenced this issue Feb 19, 2020
…build 20191005.6 (dotnet#3110)

- Microsoft.NET.Sdk.Razor - 3.1.0-preview1.19505.6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants