diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 68a296dc447a80..c41f2bbfbefd0c 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -90,9 +90,9 @@
89be445dd4936157533ad96bafb95f701430653a
-
+
https://github.com/dotnet/emsdk
- bebe955e9f7d392fbca594b1c76c54ba2e27027e
+ fc01829cbf76b7bbf48a39161562468715a0a3b4
diff --git a/eng/Versions.props b/eng/Versions.props
index f70c21cf3ca6c7..939f5639553e87 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -7,7 +7,7 @@
0
0
9.0.100
- 8.0.0-rc.1.23414.4
+ 8.0.0-rc.2.23469.22
7.0.8
6.0.$([MSBuild]::Add($([System.Version]::Parse('$(PackageVersionNet7)').Build),11))
alpha
@@ -236,7 +236,7 @@
Note: when the name is updated, make sure to update dependency name in eng/pipelines/common/xplat-setup.yml
like - DarcDependenciesChanged.Microsoft_NET_Workload_Emscripten_Current_Manifest-8_0_100_Transport
-->
- 9.0.0-alpha.1.23465.3
+ 9.0.0-alpha.1.23471.2
$(MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportVersion)
1.1.87-gba258badda
diff --git a/eng/testing/tests.browser.targets b/eng/testing/tests.browser.targets
index 8c4b3e46c9eac9..4f10b931f79757 100644
--- a/eng/testing/tests.browser.targets
+++ b/eng/testing/tests.browser.targets
@@ -264,6 +264,11 @@
Variant="latest"
Version="$(PackageVersionForWorkloadManifests)" />
+
+
-
+
diff --git a/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/AutoImport.props b/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/AutoImport.props
index 6c0c775c12b0aa..46d7b7e50b4a51 100644
--- a/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/AutoImport.props
+++ b/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Sdk/Sdk/AutoImport.props
@@ -1,8 +1,8 @@
- net8.0
- true
+ net9.0
+ true
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest.pkgproj b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest.pkgproj
index e327fcf2635a2a..41c41ea12cd6cf 100644
--- a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest.pkgproj
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest.pkgproj
@@ -44,9 +44,10 @@
<_WorkloadManifestValues Include="WorkloadVersion" Value="$(PackageVersion)" />
<_WorkloadManifestValues Include="PackageVersion" Value="$(PackageVersion)" />
+ <_WorkloadManifestValues Include="PackageVersionNet8" Value="$(PackageVersionNet8)" Condition="'$(PackageVersionNet8)' != ''" />
+ <_WorkloadManifestValues Include="PackageVersionNet8" Value="$(PackageVersion)" Condition="'$(PackageVersionNet8)' == ''" />
+ <_WorkloadManifestValues Include="PackageVersionNet7" Value="$(PackageVersionNet7)" />
<_WorkloadManifestValues Include="PackageVersionNet6" Value="$(PackageVersionNet6)" />
- <_WorkloadManifestValues Include="PackageVersionNet7" Value="$(PackageVersionNet7)" Condition="'$(PackageVersionNet7)' != ''" />
- <_WorkloadManifestValues Include="PackageVersionNet7" Value="$(PackageVersion)" Condition="'$(PackageVersionNet7)' == ''" />
<_WorkloadManifestValues Include="NetCoreAppCurrent" Value="$(NetCoreAppCurrent)" />
<_WorkloadManifestValues Include="EmscriptenVersion" Value="$(MicrosoftNETRuntimeEmscriptenVersion)" />
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.Wasi.targets.in b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.Wasi.targets.in
index f6197d5e269b4b..6828a880c74206 100644
--- a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.Wasi.targets.in
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.Wasi.targets.in
@@ -1,10 +1,11 @@
-
- true
+
+ true
+ true
-
+
$(WasiNativeWorkloadAvailable)
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.json.in b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.json.in
index 5af8dcbd94e17e..993a9733f362ec 100644
--- a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.json.in
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.json.in
@@ -18,7 +18,7 @@
"description": ".NET WebAssembly experimental tooling",
"packs": [
"Microsoft.NET.Runtime.WebAssembly.Templates",
- "Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm",
+ "Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm"
],
"extends": [ "wasm-tools" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ]
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in
index 70658c5c21a1f7..953ca2b03351af 100644
--- a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in
@@ -2,19 +2,22 @@
<_RuntimePackInWorkloadVersionCurrent>${PackageVersion}
+ <_RuntimePackInWorkloadVersion8>${PackageVersionNet8}
<_RuntimePackInWorkloadVersion7>${PackageVersionNet7}
<_RuntimePackInWorkloadVersion6>${PackageVersionNet6}
+ true
true
- true
true
- true
+ true
+
+ true
$(WasmNativeWorkload8)
-
+
<_BrowserWorkloadNotSupportedForTFM Condition="$([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '6.0'))">true
@@ -31,8 +34,9 @@
true
- $(WasmNativeWorkload7)
+ $(WasmNativeWorkload9)
$(WasmNativeWorkload8)
+ $(WasmNativeWorkload7)
$(WasmNativeWorkload)
false
$(WasmNativeWorkloadAvailable)
@@ -141,14 +145,14 @@
-
+
-
+
<_MonoWorkloadTargetsMobile>true
<_MonoWorkloadRuntimePackPackageVersion>$(_RuntimePackInWorkloadVersionCurrent)
<_KnownWebAssemblySdkPackVersion>$(_RuntimePackInWorkloadVersionCurrent)
@@ -163,7 +167,16 @@
-
+
+
+ true
+ 1.0
+
+
+
+
+
+
%(RuntimePackRuntimeIdentifiers);wasi-wasm
@@ -212,6 +225,6 @@
Importance="High" />
-
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest.pkgproj b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest.pkgproj
new file mode 100644
index 00000000000000..59f77406140cf1
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest.pkgproj
@@ -0,0 +1,63 @@
+
+
+
+
+ Internal toolchain package not meant for direct consumption. Please do not reference directly.
+
+
+
+
+
+
+
+ Microsoft.NET.Workload.Mono.ToolChain.net8.Manifest-$(SdkBandVersionForWorkload_FromRuntimeVersions)
+
+
+
+ $(IntermediateOutputPath)WorkloadManifest.json
+ $(IntermediateOutputPath)WorkloadManifest.targets
+
+
+
+
+
+
+
+
+
+ data/localize
+
+
+
+
+
+
+
+ PackageVersion=$(PackageVersion);
+
+
+
+ <_WorkloadManifestValues Include="WorkloadVersion" Value="$(PackageVersion)" />
+ <_WorkloadManifestValues Include="PackageVersionNet8" Value="$(PackageVersionNet8)" Condition="'$(PackageVersionNet8)' != ''" />
+ <_WorkloadManifestValues Include="PackageVersionNet8" Value="$(PackageVersion)" Condition="'$(PackageVersionNet8)' == ''" />
+ <_WorkloadManifestValues Include="EmscriptenVersion" Value="$(MicrosoftNETRuntimeEmscriptenVersion)" />
+ <_WorkloadManifestValues Include="NetCoreAppCurrent" Value="$(NetCoreAppCurrent)" />
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/WorkloadManifest.json.in b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/WorkloadManifest.json.in
new file mode 100644
index 00000000000000..a52b903984804f
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/WorkloadManifest.json.in
@@ -0,0 +1,494 @@
+{
+ "version": "${WorkloadVersion}",
+ "depends-on": {
+ "Microsoft.NET.Workload.Emscripten.net8": "${EmscriptenVersion}"
+ },
+ "workloads": {
+ "wasm-tools-net8": {
+ "description": ".NET WebAssembly build tools for net8.0",
+ "packs": [
+ "Microsoft.NET.Runtime.WebAssembly.Sdk.net8",
+ "Microsoft.NETCore.App.Runtime.Mono.net8.browser-wasm",
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.browser-wasm"
+ ],
+ "extends": [ "microsoft-net-runtime-mono-tooling-net8", "microsoft-net-sdk-emscripten-net8" ],
+ "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
+ },
+ "wasm-experimental-net8": {
+ "description": ".NET WebAssembly experimental tooling for net8.0",
+ "packs": [
+ "Microsoft.NET.Runtime.WebAssembly.Templates.net8",
+ "Microsoft.NETCore.App.Runtime.Mono.multithread.net8.browser-wasm"
+ ],
+ "extends": [ "wasm-tools-net8" ],
+ "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
+ },
+ "wasi-experimental-net8": {
+ "description": ".NET WASI experimental",
+ "packs": [
+ "Microsoft.NETCore.App.Runtime.Mono.net8.wasi-wasm",
+ ],
+ "extends": [ "wasi-experimental", "microsoft-net-runtime-mono-tooling-net8" ],
+ "platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ]
+ },
+ "microsoft-net-runtime-android-net8": {
+ "abstract": true,
+ "description": "Android Mono Runtime",
+ "packs": [
+ "Microsoft.NETCore.App.Runtime.Mono.net8.android-arm",
+ "Microsoft.NETCore.App.Runtime.Mono.net8.android-arm64",
+ "Microsoft.NETCore.App.Runtime.Mono.net8.android-x64",
+ "Microsoft.NETCore.App.Runtime.Mono.net8.android-x86"
+ ],
+ "extends": [ "microsoft-net-runtime-mono-tooling-net8" ],
+ "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
+ },
+ "microsoft-net-runtime-android-aot-net8": {
+ "abstract": true,
+ "description": "Android Mono AOT Workload",
+ "packs": [
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x86",
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x64",
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm",
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm64"
+ ],
+ "extends": [ "microsoft-net-runtime-android-net8" ],
+ "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
+ },
+ "microsoft-net-runtime-ios-net8": {
+ "abstract": true,
+ "description": "iOS Mono Runtime and AOT Workload",
+ "packs": [
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm",
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm64",
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-arm64",
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-x64",
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-x86"
+ ],
+ "extends": [ "runtimes-ios-net8" ],
+ "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
+ },
+ "runtimes-ios-net8": {
+ "abstract": true,
+ "description": "iOS Mono Runtime Packs",
+ "packs": [
+ "Microsoft.NETCore.App.Runtime.Mono.net8.ios-arm",
+ "Microsoft.NETCore.App.Runtime.Mono.net8.ios-arm64",
+ "Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-arm64",
+ "Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-x64",
+ "Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-x86"
+ ],
+ "extends": [ "microsoft-net-runtime-mono-tooling-net8" ],
+ "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
+ },
+ "microsoft-net-runtime-maccatalyst-net8": {
+ "abstract": true,
+ "description": "MacCatalyst Mono Runtime and AOT Workload",
+ "packs": [
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-arm64",
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-x64"
+ ],
+ "extends": [ "runtimes-maccatalyst-net8" ],
+ "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
+ },
+ "runtimes-maccatalyst-net8": {
+ "abstract": true,
+ "description": "MacCatalyst Mono Runtime Packs",
+ "packs": [
+ "Microsoft.NETCore.App.Runtime.Mono.net8.maccatalyst-arm64",
+ "Microsoft.NETCore.App.Runtime.Mono.net8.maccatalyst-x64"
+ ],
+ "extends": [ "microsoft-net-runtime-mono-tooling-net8" ],
+ "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
+ },
+ "microsoft-net-runtime-macos-net8": {
+ "abstract": true,
+ "description": "MacOS CoreCLR and Mono Runtime Workload",
+ "packs": [
+ "Microsoft.NETCore.App.Runtime.Mono.net8.osx-arm64",
+ "Microsoft.NETCore.App.Runtime.Mono.net8.osx-x64",
+ "Microsoft.NETCore.App.Runtime.osx-arm64",
+ "Microsoft.NETCore.App.Runtime.osx-x64"
+ ],
+ "extends": [ "microsoft-net-runtime-mono-tooling-net8" ],
+ "platforms": [ "osx-arm64", "osx-x64" ]
+ },
+ "microsoft-net-runtime-tvos-net8": {
+ "abstract": true,
+ "description": "tvOS Mono Runtime and AOT Workload",
+ "packs": [
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvos-arm64",
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-arm64",
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-x64"
+ ],
+ "extends": [ "runtimes-tvos-net8" ],
+ "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
+ },
+ "runtimes-tvos-net8": {
+ "abstract": true,
+ "description": "tvOS Mono Runtime Packs",
+ "packs": [
+ "Microsoft.NETCore.App.Runtime.Mono.net8.tvos-arm64",
+ "Microsoft.NETCore.App.Runtime.Mono.net8.tvossimulator-arm64",
+ "Microsoft.NETCore.App.Runtime.Mono.net8.tvossimulator-x64"
+ ],
+ "extends": [ "microsoft-net-runtime-mono-tooling-net8" ],
+ "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
+ },
+ "runtimes-windows-net8": {
+ "abstract": true,
+ "description": "Windows Runtime Packs for net8.0",
+ "packs": [
+ "Microsoft.NETCore.App.Runtime.net8.win-x64",
+ "Microsoft.NETCore.App.Runtime.net8.win-x86",
+ "Microsoft.NETCore.App.Runtime.net8.win-arm",
+ "Microsoft.NETCore.App.Runtime.net8.win-arm64"
+ ]
+ },
+ "microsoft-net-runtime-mono-tooling-net8": {
+ "abstract": true,
+ "description": "Shared native build tooling for Mono runtime",
+ "packs": [
+ "Microsoft.NET.Runtime.MonoAOTCompiler.Task.net8",
+ "Microsoft.NET.Runtime.MonoTargets.Sdk.net8"
+ ]
+ }
+ },
+ "packs": {
+ "Microsoft.NET.Runtime.MonoAOTCompiler.Task.net8": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NET.Runtime.MonoAOTCompiler.Task"
+ }
+ },
+ "Microsoft.NET.Runtime.MonoTargets.Sdk.net8": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NET.Runtime.MonoTargets.Sdk"
+ }
+ },
+ "Microsoft.NET.Runtime.WebAssembly.Sdk.net8": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NET.Runtime.WebAssembly.Sdk"
+ }
+ },
+ "Microsoft.NET.Runtime.WebAssembly.Templates.net8": {
+ "kind": "template",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NET.Runtime.WebAssembly.Templates"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.android-arm": {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.android-arm"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.android-arm64": {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.android-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.android-x64": {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.android-x64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.android-x86": {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.android-x86"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x86": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86",
+ "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86",
+ "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x86",
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86",
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x64": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64",
+ "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64",
+ "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x64",
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64",
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm",
+ "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm",
+ "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm",
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm",
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm64": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64",
+ "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64",
+ "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm64",
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64",
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.maccatalyst-arm64": {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.maccatalyst-x64": {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.osx-arm64": {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.osx-x64": {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.osx-x64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.net8.osx-arm64": {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.net8.osx-x64": {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.osx-x64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.ios-arm" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.ios-arm64" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-arm64" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-x64" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-x86" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvos-arm64": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64",
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.tvos-arm64" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.tvos-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.tvossimulator-arm64" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.tvossimulator-x64" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-arm64": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64",
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-x64": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64",
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-arm64": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64",
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-x64": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64",
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm",
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm64": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64",
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-arm64": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64",
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-x64": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64",
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-x86": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86",
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.AOT.Cross.net8.browser-wasm": {
+ "kind": "Sdk",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm",
+ "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm",
+ "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.browser-wasm",
+ "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm",
+ "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.browser-wasm" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.browser-wasm"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.multithread.net8.browser-wasm" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.Mono.net8.wasi-wasm" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}"
+ },
+ "Microsoft.NETCore.App.Runtime.net8.win-x64" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.win-x64"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.net8.win-x86" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.win-x86"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.net8.win-arm" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.win-arm"
+ }
+ },
+ "Microsoft.NETCore.App.Runtime.net8.win-arm64" : {
+ "kind": "framework",
+ "version": "${PackageVersionNet8}",
+ "alias-to": {
+ "any": "Microsoft.NETCore.App.Runtime.win-arm64"
+ }
+ }
+ }
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/WorkloadManifest.targets.in b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/WorkloadManifest.targets.in
new file mode 100644
index 00000000000000..096fdf71743fc3
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/WorkloadManifest.targets.in
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_MonoWorkloadTargetsMobile>true
+ <_MonoWorkloadRuntimePackPackageVersion>$(_RuntimePackInWorkloadVersion8)
+
+
+
+
+
+ %(RuntimePackRuntimeIdentifiers);wasi-wasm
+ $(_MonoWorkloadRuntimePackPackageVersion)
+
+ Microsoft.NETCore.App.Runtime.Mono.multithread.**RID**
+
+
+
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.cs.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.cs.json
new file mode 100644
index 00000000000000..c79d39ad7f74a1
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.cs.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net7/description": "Nástroje pro sestavení .NET WebAssembly"
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.de.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.de.json
new file mode 100644
index 00000000000000..deac970f9cf458
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.de.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net8/description": ".NET 8.0 WebAssembly-Buildtools"
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.en.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.en.json
new file mode 100644
index 00000000000000..78a5129362796d
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.en.json
@@ -0,0 +1,5 @@
+{
+ "workloads/wasm-tools-net8/description": ".NET WebAssembly build tools for net8.0",
+ "workloads/wasm-experimental-net8/description": ".NET WebAssembly experimental tooling for net8.0",
+ "workloads/runtimes-windows-net8/description": "Windows Runtime Packs for net8.0"
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.es.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.es.json
new file mode 100644
index 00000000000000..06b3489658c9d1
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.es.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net8/description": "Herramientas de compilación de WebAssembly de .NET 8.0"
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.fr.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.fr.json
new file mode 100644
index 00000000000000..87fe76f3549521
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.fr.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net8/description": "Outils de construction .NET 8.0 WebAssembly"
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.it.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.it.json
new file mode 100644
index 00000000000000..d4c591ea616d14
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.it.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net8/description": "Strumenti di compilazione WebAssembly .NET 8.0"
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ja.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ja.json
new file mode 100644
index 00000000000000..c57f53c27ccecc
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ja.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net8/description": ".NET WebAssembly ビルド ツール"
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ko.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ko.json
new file mode 100644
index 00000000000000..fc62bb1de6da73
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ko.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net8/description": ".NET 8.0 WebAssembly 빌드 도구"
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.pl.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.pl.json
new file mode 100644
index 00000000000000..0ec404a2bea3e4
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.pl.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net8/description": "Narzędzia kompilacji zestawu WebAssembly platformy .NET 8.0"
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.pt-BR.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.pt-BR.json
new file mode 100644
index 00000000000000..82031365ecb7ca
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.pt-BR.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net8/description": "Ferramentas de build do .NET 8.0 WebAssembly"
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ru.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ru.json
new file mode 100644
index 00000000000000..d797f5dcc3f20c
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.ru.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net8/description": "Средства сборки WebAssembly .NET 8.0"
+}
\ No newline at end of file
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.tr.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.tr.json
new file mode 100644
index 00000000000000..e20300297e258a
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.tr.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net8/description": ".NET 8.0 derleme araçları"
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.zh-Hans.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.zh-Hans.json
new file mode 100644
index 00000000000000..351d7a5aeed3cb
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.zh-Hans.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net8/description": ".NET 8.0 WebAssembly 生成工具"
+}
diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.zh-Hant.json b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.zh-Hant.json
new file mode 100644
index 00000000000000..10cf7b47769291
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.net8.Manifest/localize/WorkloadManifest.zh-Hant.json
@@ -0,0 +1,3 @@
+{
+ "workloads/wasm-tools-net8/description": ".NET 8.0 WebAssembly 組建工具"
+}
diff --git a/src/mono/nuget/manifest-packages.proj b/src/mono/nuget/manifest-packages.proj
index 271409ec507a0f..e7cd9607a4a02b 100644
--- a/src/mono/nuget/manifest-packages.proj
+++ b/src/mono/nuget/manifest-packages.proj
@@ -3,5 +3,6 @@
+
diff --git a/src/mono/wasm/Makefile b/src/mono/wasm/Makefile
index 6af5ba3a597fc8..5d6f4e53085877 100644
--- a/src/mono/wasm/Makefile
+++ b/src/mono/wasm/Makefile
@@ -88,7 +88,7 @@ build-tasks:
$(DOTNET) build $(TOP)/src/tasks/tasks.proj /p:Configuration=$(CONFIG) $(MSBUILD_ARGS)
build-packages:
- rm $(TOP)/artifacts/packages/$(CONFIG)/Shipping/*.nupkg
+ rm -f $(TOP)/artifacts/packages/$(CONFIG)/Shipping/*.nupkg
EMSDK_PATH=$(EMSDK_PATH) $(TOP)/build.sh mono.packages+mono.manifests+packs.product -os browser -c $(CONFIG) --binaryLog /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS)
clean:
diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs
index 08488d487a6151..4462452486768f 100644
--- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs
@@ -185,19 +185,19 @@ public void ConsoleBuildThenPublish(string config)
[InlineData("Release", false)]
[InlineData("Release", true)]
public void ConsoleBuildAndRunDefault(string config, bool relinking)
- => ConsoleBuildAndRun(config, relinking, string.Empty, DefaultTargetFramework);
+ => ConsoleBuildAndRun(config, relinking, string.Empty, DefaultTargetFramework, addFrameworkArg: true);
[Theory]
// [ActiveIssue("https://github.com/dotnet/runtime/issues/79313")]
// [InlineData("Debug", "-f net7.0", "net7.0")]
[InlineData("Debug", "-f net8.0", "net8.0")]
public void ConsoleBuildAndRunForSpecificTFM(string config, string extraNewArgs, string expectedTFM)
- => ConsoleBuildAndRun(config, false, extraNewArgs, expectedTFM);
+ => ConsoleBuildAndRun(config, false, extraNewArgs, expectedTFM, addFrameworkArg: extraNewArgs?.Length == 0);
- private void ConsoleBuildAndRun(string config, bool relinking, string extraNewArgs, string expectedTFM)
+ private void ConsoleBuildAndRun(string config, bool relinking, string extraNewArgs, string expectedTFM, bool addFrameworkArg)
{
string id = $"{config}_{GetRandomId()}";
- string projectFile = CreateWasmTemplateProject(id, "wasmconsole", extraNewArgs);
+ string projectFile = CreateWasmTemplateProject(id, "wasmconsole", extraNewArgs, addFrameworkArg: addFrameworkArg);
string projectName = Path.GetFileNameWithoutExtension(projectFile);
UpdateProgramCS();
@@ -418,7 +418,7 @@ public async Task BrowserBuildAndRun(string extraNewArgs, string targetFramework
{
string config = "Debug";
string id = $"browser_{config}_{GetRandomId()}";
- CreateWasmTemplateProject(id, "wasmbrowser", extraNewArgs);
+ CreateWasmTemplateProject(id, "wasmbrowser", extraNewArgs, addFrameworkArg: extraNewArgs.Length == 0);
UpdateBrowserMainJs(targetFramework, runtimeAssetsRelativePath);
diff --git a/src/mono/wasm/Wasm.Build.Tests/WasmTemplateTestBase.cs b/src/mono/wasm/Wasm.Build.Tests/WasmTemplateTestBase.cs
index d23166ff5545e2..c7392f3dbece93 100644
--- a/src/mono/wasm/Wasm.Build.Tests/WasmTemplateTestBase.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/WasmTemplateTestBase.cs
@@ -21,7 +21,7 @@ protected WasmTemplateTestBase(ITestOutputHelper output, SharedBuildPerTestClass
_provider.BundleDirName = "AppBundle";
}
- public string CreateWasmTemplateProject(string id, string template = "wasmbrowser", string extraArgs = "", bool runAnalyzers = true)
+ public string CreateWasmTemplateProject(string id, string template = "wasmbrowser", string extraArgs = "", bool runAnalyzers = true, bool addFrameworkArg = true)
{
InitPaths(id);
InitProjectDir(_projectDir, addNuGetSourceForLocalPackages: true);
@@ -39,6 +39,8 @@ public string CreateWasmTemplateProject(string id, string template = "wasmbrowse
""");
File.Copy(BuildEnvironment.WasmOverridePacksTargetsPath, Path.Combine(_projectDir, Path.GetFileName(BuildEnvironment.WasmOverridePacksTargetsPath)), overwrite: true);
+ if (addFrameworkArg)
+ extraArgs += $" -f {DefaultTargetFramework}";
new DotNetCommand(s_buildEnv, _testOutput, useDefaultArgs: false)
.WithWorkingDirectory(_projectDir!)
.ExecuteWithCapturedOutput($"new {template} {extraArgs}")
diff --git a/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs b/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs
index fa36165bab3bc0..009da0c7bb1aee 100644
--- a/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs
@@ -5,6 +5,7 @@
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
+using System.Text.RegularExpressions;
using System.Xml;
using System.Xml.Serialization;
using Xunit;
@@ -58,13 +59,20 @@ public void FilesInUnixFilesPermissionsXmlExist()
// have the unixFilePermissions for that
// Expect just the emscripten ones here for now
- // linux doesn't have Emscripten.Python package, so only 2 there
int expectedPermFileCount = RuntimeInformation.IsOSPlatform(OSPlatform.Linux) ? 4 : 5;
- int permFileCount = unixPermFiles.Count();
- if (permFileCount != expectedPermFileCount)
- throw new XunitException($"Expected to find {expectedPermFileCount} UnixFilePermissions.xml files, but got {permFileCount}."
- + $"{Environment.NewLine}Files: {string.Join(", ", unixPermFiles)}");
+ // extract pack names from ./artifacts/bin/dotnet-latest/packs/Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.linux-x64/8.0.0-rtm.23470.1/data/UnixFilePermissions.xml
+ var packNames = unixPermFiles.Select(f => Path.GetFileName(Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(f))))).ToArray();
+
+ Assert.Contains(packNames, name => Regex.IsMatch(name!, "Microsoft\\.NET\\.Runtime\\.Emscripten\\.[0-9\\.]+\\.Cache\\."));
+ Assert.Contains(packNames, name => Regex.IsMatch(name!, "Microsoft\\.NET\\.Runtime\\.Emscripten\\.[0-9\\.]+\\.Node\\."));
+ Assert.Contains(packNames, name => Regex.IsMatch(name!, "Microsoft\\.NET\\.Runtime\\.Emscripten\\.[0-9\\.]+\\.Sdk\\."));
+
+ // linux doesn't have Emscripten.Python package, so only 2 there
+ if (!RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+ Assert.Contains(packNames, name => Regex.IsMatch(name!, "Microsoft\\.NET\\.Runtime\\.Emscripten\\.[0-9\\.]+\\.Python\\."));
+
+ Assert.Contains(packNames, name => Regex.IsMatch(name!, "Microsoft.NETCore.App.Runtime.AOT\\..*\\.Cross.browser-wasm"));
}
}
diff --git a/src/mono/wasm/templates/templates/browser/.template.config/template.json b/src/mono/wasm/templates/templates/browser/.template.config/template.json
index 3cb0a19dc265b2..9d3e32811b8fa9 100644
--- a/src/mono/wasm/templates/templates/browser/.template.config/template.json
+++ b/src/mono/wasm/templates/templates/browser/.template.config/template.json
@@ -4,8 +4,8 @@
"classifications": [ "Web", "WebAssembly", "Browser" ],
"generatorVersions": "[1.0.0.0-*)",
"groupIdentity": "WebAssembly.Browser",
- "precedence": 8000,
- "identity": "WebAssembly.Browser.8.0",
+ "precedence": 9000,
+ "identity": "WebAssembly.Browser.9.0",
"name": "WebAssembly Browser App",
"description": "A project template for creating a .NET app that runs on WebAssembly in a browser",
"shortName": "wasmbrowser",
@@ -40,12 +40,12 @@
"datatype": "choice",
"choices": [
{
- "choice": "net8.0",
- "description": "Target net8.0",
- "displayName": ".NET 8.0"
+ "choice": "net9.0",
+ "description": "Target net9.0",
+ "displayName": ".NET 9.0"
}
],
- "defaultValue": "net8.0",
+ "defaultValue": "net9.0",
"replaces": "net7.0",
"displayName": "framework"
}
diff --git a/src/mono/wasm/templates/templates/console/.template.config/template.json b/src/mono/wasm/templates/templates/console/.template.config/template.json
index 559902639dec4d..a3dd13fc2d10c0 100644
--- a/src/mono/wasm/templates/templates/console/.template.config/template.json
+++ b/src/mono/wasm/templates/templates/console/.template.config/template.json
@@ -3,8 +3,8 @@
"author": "Microsoft",
"classifications": [ "Web", "WebAssembly", "Console" ],
"groupIdentity": "WebAssembly.Console",
- "precedence": 8000,
- "identity": "WebAssembly.Console.8.0",
+ "precedence": 9000,
+ "identity": "WebAssembly.Console.9.0",
"name": "WebAssembly Console App",
"description": "A project template for creating a .NET app that runs on WebAssembly on Node JS or V8",
"shortName": "wasmconsole",
@@ -21,12 +21,12 @@
"datatype": "choice",
"choices": [
{
- "choice": "net8.0",
- "description": "Target net8.0",
- "displayName": ".NET 8.0"
+ "choice": "net9.0",
+ "description": "Target net9.0",
+ "displayName": ".NET 9.0"
}
],
- "defaultValue": "net8.0",
+ "defaultValue": "net9.0",
"replaces": "net7.0",
"displayName": "framework"
}