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

The browser-wasm SDK should automatically reference the threading/perf-tracing ref assemblies #72872

Closed
Tracked by #68162
lambdageek opened this issue Jul 26, 2022 · 12 comments
Labels
arch-wasm WebAssembly architecture area-Build-mono
Milestone

Comments

@lambdageek
Copy link
Member

lambdageek commented Jul 26, 2022

Some property property that uses the multithreaded runtime pack for the runtime artifacts and that adds a <PackageReference Include="Microsoft.NET.WebAssembly.Threading" IncludeAssets="compile" PrivateAssets="none" /> package to use the right ref assemblies.

And the same thing for the perftrace runtime pack and the System.Diagnostics.Tracing.WebAssembly.PerfTracing ref assemblies

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jul 26, 2022
@lambdageek lambdageek added arch-wasm WebAssembly architecture area-Build-mono and removed untriaged New issue has not been triaged by the area owner labels Jul 26, 2022
@lambdageek lambdageek added this to the 8.0.0 milestone Jul 26, 2022
@ghost
Copy link

ghost commented Jul 26, 2022

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Some property property that uses the multithreaded runtime pack for the runtime artifacts and that adds a <PackageReference Include="Microsoft.NET.WebAssembly.Threading" IncludeAssets="compile" PrivateAssets="none" /> package to use the right ref assemblies.

And the same thing for the perftrace runtime pack and the System.Diagnostics.Tracing.WebAssembly.PerfTracing ref assemblies

Author: lambdageek
Assignees: -
Labels:

arch-wasm, area-Build-mono

Milestone: -

@lambdageek
Copy link
Member Author

I think this is @radical 's #72815

@lambdageek lambdageek mentioned this issue Jul 26, 2022
22 tasks
@lewing
Copy link
Member

lewing commented Jul 26, 2022

it is #72412 but yes that is blocked on wbt at the moment

@radical
Copy link
Member

radical commented Jul 27, 2022

The ref assemblies should be same for all the 3 variants, correct?

@lambdageek
Copy link
Member Author

lambdageek commented Jul 27, 2022

we have extra ref assemblies (Microsoft.NET.WebAssembly.Threading and System.Diagnostics.Tracing.WebAssembly.PerfTracing). Original plan was to place these in separate nugets that would get referenced when a user .csproj did some gesture. Does that make sense to do as part of the work you're doing?

I tried this out and it seemed to work (compilation would use the ref assemblies from the nugets, not the ones in the base SDK)

if we're doing different runtime packs, I'm not sure if it's possible to place ref assemblies into the runtime packs directly. that might be simpler.

@radical
Copy link
Member

radical commented Jul 27, 2022

we have extra ref assemblies (Microsoft.NET.WebAssembly.Threading and System.Diagnostics.Tracing.WebAssembly.PerfTracing). Original plan was to place these in separate nugets that would get referenced when a user .csproj did some gesture. Does that make sense to do as part of the work you're doing?

So, we need 3 ref pack nugets then?

@radical
Copy link
Member

radical commented Jul 27, 2022

We also need a few Wasm.Build.Tests to exercise using the threaded runtimes, and the extra ref assemblies.

@lambdageek
Copy link
Member Author

we have extra ref assemblies (Microsoft.NET.WebAssembly.Threading and System.Diagnostics.Tracing.WebAssembly.PerfTracing). Original plan was to place these in separate nugets that would get referenced when a user .csproj did some gesture. Does that make sense to do as part of the work you're doing?

So, we need 3 ref pack nugets then?

No? we need the SDK to add a PackageReference to one of the two new nugets when the corresponding runtime variant is selected that just has the handful of updated ref assemblies.

@radical
Copy link
Member

radical commented Jul 28, 2022

  • What would be a good test to confirm that the correct runtime is being used?
  • For the extra ref assemblies, I guess, we could use something from them

@lambdageek
Copy link
Member Author

This is now mostly done (see https://github.com/lambdageek/hithread)

I think the only remaining thing is to automatically add a <PackageReference Include=Microsoft.NET.WebAssembly.Threading"/> that will pull in the threading-enabled reference assemblies which will quiet down the platform compatibility analyzer warnings about "unsupported" threading operations

https://github.com/lambdageek/hithread/blob/f7118d19ac88472576bd55671a33cfe9e5c2c099/hithread.csproj#L25

@lambdageek lambdageek changed the title The browser-wasm SDK should support using multithread and perftrace runtime variants. The browser-wasm SDK should automatically reference the threading/perf-tracing ref assemblies Oct 12, 2022
@lewing
Copy link
Member

lewing commented Jul 22, 2023

done

@lewing lewing closed this as completed Jul 22, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Aug 21, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-Build-mono
Projects
None yet
Development

No branches or pull requests

3 participants