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

Q: blazor support #1721

Closed
tmds opened this issue Aug 26, 2020 · 5 comments
Closed

Q: blazor support #1721

tmds opened this issue Aug 26, 2020 · 5 comments

Comments

@tmds
Copy link
Member

tmds commented Aug 26, 2020

How does blazor support fit into the sdk, and what does it mean for source-build?
Is it something ships out-of-band for source-build SDKs? And for Microsoft SDKs?

@dagood @crummel @dseefeld @omajid @RheaAyase @aslicerh

@dagood
Copy link
Member

dagood commented Aug 26, 2020

We had a source-build meeting about this a bit ago, @directhex looked into some of the details and I'll try to recap:

When you do dotnet new blazorwasm, it downloads Microsoft.NETCore.App.Runtime.browser-wasm, a runtime pack produced from dotnet/runtime. This means we can't include it in a source-built SDK currently:

  • We don't have a way to ship any source-built runtime packs yet. Support building sdks that can build self-contained / ReadyToRun / NativeAOT applications without using pre-builts from nuget.org #1215
  • browser-wasm is handed as an extra platform in dotnet/runtime, so we need to either build dotnet/runtime multiple times, or get a single build command that can build multiple platforms.
    • Doesn't seem like an impossible problem so much as something we need to figure out.
  • It's difficult to build browser-wasm. The build depends on emscripten, which doesn't exist in many distros, and where it does, it seems to be a very old version. So, anyone trying to build .NET from source would have problems beyond .NET infra, unless we took on emscripten maintenance.

However, since runtime packs are downloaded from nuget.org automatically, I would expect the feature to still work when using a source-built SDK. It'll just have to use a Microsoft-built runtime pack.

One thing to watch out for is any SDK functionality that might be missing in the source-built SDK that's necessary to apply the runtime pack properly. It seems worthwhile to add a blazorwasm app to our smoke tests to make sure.

/cc @dleeapho

@tmds
Copy link
Member Author

tmds commented Aug 27, 2020

This means we can't include it in a source-built SDK

Does Microsoft ship this with the SDK?

Microsoft.NETCore.App.Runtime.browser-wasm, a runtime pack produced from dotnet/runtime.

Is this the mono-based runtime that eventually runs inside the browser?

It seems worthwhile to add a blazorwasm app to our smoke tests to make sure.

+1 definitly!

@dagood
Copy link
Member

dagood commented Aug 27, 2020

Does Microsoft ship this with the SDK?

No, the Microsoft-built SDK can also only acquire runtime packs from nuget.org.

Is this the mono-based runtime that eventually runs inside the browser?

My understanding is it's the Mono runtime compiled via emscripten to run in the browser, plus libraries. This is something I'm less familiar with though.

@dseefeld
Copy link
Contributor

It looks like the questions have been answered here. Blazor will be added to 5.0 smoke-tests (#1724).

@tmds
Copy link
Member Author

tmds commented Aug 31, 2020

@dagood, thank you for clarifying how Blazor fits into the source-build SDK.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants