initial commit

This commit is contained in:
2026-11-04 14:29:22 -06:00
parent 73028cc5ba
commit 3f37abf34a
170 changed files with 22100 additions and 0 deletions
@@ -0,0 +1,10 @@
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
<Project>
<PropertyGroup Condition="'$(RuntimeIdentifier)' == 'wasi-wasm'">
<WasiNativeWorkloadAvailable Condition="'$(TargetsCurrent)' == 'true' and '$(WasiNativeWorkload)' == 'net8.0'">true</WasiNativeWorkloadAvailable>
</PropertyGroup>
<PropertyGroup Condition="'$(RuntimeIdentifier)' == 'wasi-wasm' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
<UsingWasiRuntimeWorkload Condition="'$(UsingWasiRuntimeWorkload)' == ''">$(WasiNativeWorkloadAvailable)</UsingWasiRuntimeWorkload>
</PropertyGroup>
</Project>
@@ -0,0 +1,469 @@
{
"version": "8.0.33",
"depends-on": {
"Microsoft.NET.Workload.Emscripten.Current": "8.0.33"
},
"workloads": {
"wasm-tools": {
"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", "microsoft-net-sdk-emscripten" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64"]
},
"wasm-experimental": {
"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" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ]
},
"wasi-experimental": {
"description": ".NET WASI experimental for net8.0",
"packs": [
"Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.net8",
"Microsoft.NETCore.App.Runtime.Mono.net8.wasi-wasm",
"Microsoft.NET.Runtime.WebAssembly.Templates.net8"
],
"extends": [ "microsoft-net-runtime-mono-tooling" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ]
},
"mobile-librarybuilder": {
"description": "Mobile SDK for building a self-contained .NET native library",
"packs": [
"Microsoft.NET.Runtime.LibraryBuilder.Sdk.net8"
],
"extends": [ "microsoft-net-runtime-android-aot", "microsoft-net-runtime-ios", "microsoft-net-runtime-maccatalyst", "microsoft-net-runtime-tvos" ],
"platforms": [ "win-x64", "win-arm64", "osx-x64", "osx-arm64" ]
},
"microsoft-net-runtime-android": {
"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" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
},
"microsoft-net-runtime-android-aot": {
"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" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
},
"microsoft-net-runtime-ios": {
"abstract": true,
"description": "iOS Mono Runtime and AOT Workload",
"packs": [
"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"
],
"extends": [ "runtimes-ios" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"runtimes-ios": {
"abstract": true,
"description": "iOS Mono Runtime Packs",
"packs": [
"Microsoft.NETCore.App.Runtime.Mono.net8.ios-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-x64"
],
"extends": [ "microsoft-net-runtime-mono-tooling" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"microsoft-net-runtime-maccatalyst": {
"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" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"runtimes-maccatalyst": {
"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" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"microsoft-net-runtime-macos": {
"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" ],
"platforms": [ "osx-arm64", "osx-x64" ]
},
"microsoft-net-runtime-tvos": {
"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" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"runtimes-tvos": {
"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" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"runtimes-windows": {
"abstract": true,
"description": "Windows Runtime Packs",
"packs": [
"Microsoft.NETCore.App.Runtime.win-x64",
"Microsoft.NETCore.App.Runtime.win-x86",
"Microsoft.NETCore.App.Runtime.win-arm64"
]
},
"microsoft-net-runtime-mono-tooling": {
"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": "8.0.33",
"alias-to": {
"any": "Microsoft.NET.Runtime.MonoAOTCompiler.Task"
}
},
"Microsoft.NET.Runtime.MonoTargets.Sdk.net8": {
"kind": "Sdk",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NET.Runtime.MonoTargets.Sdk"
}
},
"Microsoft.NET.Runtime.LibraryBuilder.Sdk.net8": {
"kind": "Sdk",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NET.Runtime.LibraryBuilder.Sdk"
}
},
"Microsoft.NET.Runtime.WebAssembly.Sdk.net8": {
"kind": "Sdk",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NET.Runtime.WebAssembly.Sdk"
}
},
"Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.net8": {
"kind": "Sdk",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk"
}
},
"Microsoft.NET.Runtime.WebAssembly.Templates.net8": {
"kind": "template",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NET.Runtime.WebAssembly.Templates"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.android-arm": {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.android-arm"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.android-arm64": {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.android-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.android-x64": {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.android-x64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.android-x86": {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.android-x86"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x86": {
"kind": "Sdk",
"version": "8.0.33",
"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",
"linux-arm64": "Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.android-x86",
"osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86",
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.android-x86"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x64": {
"kind": "Sdk",
"version": "8.0.33",
"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",
"linux-arm64": "Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.android-x64",
"osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64",
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.android-x64"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm": {
"kind": "Sdk",
"version": "8.0.33",
"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",
"linux-arm64": "Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.android-arm",
"osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm",
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.android-arm"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm64": {
"kind": "Sdk",
"version": "8.0.33",
"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",
"linux-arm64": "Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.android-arm64",
"osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64",
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.android-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.maccatalyst-arm64": {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.maccatalyst-x64": {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.osx-arm64": {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.osx-x64": {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.osx-x64"
}
},
"Microsoft.NETCore.App.Runtime.osx-arm64": {
"kind": "framework",
"version": "8.0.33"
},
"Microsoft.NETCore.App.Runtime.osx-x64": {
"kind": "framework",
"version": "8.0.33"
},
"Microsoft.NETCore.App.Runtime.Mono.net8.ios-arm64" : {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-arm64" : {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.iossimulator-x64" : {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvos-arm64": {
"kind": "Sdk",
"version": "8.0.33",
"alias-to": {
"osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64",
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.tvos-arm64",
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.tvos-arm64" : {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.tvos-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.tvossimulator-arm64" : {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.tvossimulator-x64" : {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-arm64": {
"kind": "Sdk",
"version": "8.0.33",
"alias-to": {
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.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": "8.0.33",
"alias-to": {
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.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": "8.0.33",
"alias-to": {
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.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": "8.0.33",
"alias-to": {
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.tvossimulator-x64",
"osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm64": {
"kind": "Sdk",
"version": "8.0.33",
"alias-to": {
"osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64",
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.ios-arm64",
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-arm64": {
"kind": "Sdk",
"version": "8.0.33",
"alias-to": {
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.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": "8.0.33",
"alias-to": {
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.iossimulator-x64",
"osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net8.browser-wasm": {
"kind": "Sdk",
"version": "8.0.33",
"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",
"linux-arm64": "Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.browser-wasm",
"osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm",
"osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.browser-wasm"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.browser-wasm" : {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.browser-wasm"
}
},
"Microsoft.NETCore.App.Runtime.Mono.multithread.net8.browser-wasm" : {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net8.wasi-wasm" : {
"kind": "framework",
"version": "8.0.33",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.wasi-wasm"
}
},
"Microsoft.NETCore.App.Runtime.win-x64" : {
"kind": "framework",
"version": "8.0.33"
},
"Microsoft.NETCore.App.Runtime.win-x86" : {
"kind": "framework",
"version": "8.0.33"
},
"Microsoft.NETCore.App.Runtime.win-arm64" : {
"kind": "framework",
"version": "8.0.33"
}
}
}
@@ -0,0 +1,218 @@
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
<Project>
<PropertyGroup>
<_RuntimePackInWorkloadVersionCurrent>8.0.33</_RuntimePackInWorkloadVersionCurrent>
<_RuntimePackInWorkloadVersion7>7.0.20</_RuntimePackInWorkloadVersion7>
<_RuntimePackInWorkloadVersion6>6.0.36</_RuntimePackInWorkloadVersion6>
<TargetsNet8 Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '8.0'))">true</TargetsNet8>
<TargetsNet6 Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '6.0'))">true</TargetsNet6>
<TargetsNet7 Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '7.0'))">true</TargetsNet7>
<TargetsCurrent Condition="'$(TargetsNet8)' == 'true'">true</TargetsCurrent>
<!-- override WorkloadDetectionWhen net7 == net8 -->
<WasmNativeWorkload7 Condition="'7.0.20' == '8.0.33'">$(WasmNativeWorkload8)</WasmNativeWorkload7>
</PropertyGroup>
<Import Project="$(MSBuildThisFileDirectory)WorkloadManifest.Wasi.targets" />
<PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
<_BrowserWorkloadNotSupportedForTFM Condition="$([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '6.0'))">true</_BrowserWorkloadNotSupportedForTFM>
<_BrowserWorkloadDisabled>$(_BrowserWorkloadNotSupportedForTFM)</_BrowserWorkloadDisabled>
<_UsingBlazorOrWasmSdk Condition="'$(UsingMicrosoftNETSdkBlazorWebAssembly)' == 'true' or '$(UsingMicrosoftNETSdkWebAssembly)' == 'true'">true</_UsingBlazorOrWasmSdk>
<!-- Is the workload for the target framework available -->
<!--<WasmNativeWorkloadAvailable />-->
<!--<WasmNativeWorkloadAvailable Condition="'$(TargetsNet8)' == 'true' and $(WasmNativeWorkloadAvailableList.Contains('+net8.0+'))">true</WasmNativeWorkloadAvailable>-->
<!--<WasmNativeWorkloadAvailable Condition="'$(TargetsNet7)' == 'true' and $(WasmNativeWorkloadAvailableList.Contains('+net7.0+'))">true</WasmNativeWorkloadAvailable>-->
<!--<WasmNativeWorkloadAvailable Condition="'$(TargetsNet6)' == 'true' and $(WasmNativeWorkloadAvailableList.Contains('+net6.0+'))">true</WasmNativeWorkloadAvailable>-->
</PropertyGroup>
<PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">
<SelfContained>true</SelfContained>
<WasmNativeWorkloadAvailable Condition="'$(TargetsNet7)' == 'true'">$(WasmNativeWorkload7)</WasmNativeWorkloadAvailable>
<WasmNativeWorkloadAvailable Condition="'$(TargetsNet8)' == 'true'">$(WasmNativeWorkload8)</WasmNativeWorkloadAvailable>
<WasmNativeWorkloadAvailable Condition="'$(TargetsNet6)' == 'true'">$(WasmNativeWorkload)</WasmNativeWorkloadAvailable>
<WasmNativeWorkloadAvailable Condition="'$(WasmNativeWorkloadAvailable)' == '' or '$(WasmNativeWorkload)' == 'false'">false</WasmNativeWorkloadAvailable>
<WasmNativeWorkload>$(WasmNativeWorkloadAvailable)</WasmNativeWorkload>
</PropertyGroup>
<PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
<!-- Keep in sync with WasmApp.Native.targets -->
<_WasmPropertiesDifferFromRuntimePackThusNativeBuildNeeded Condition="
'$(WasmEnableLegacyJsInterop)' == 'false' or
'$(WasmEnableSIMD)' == 'false' or
'$(WasmEnableExceptionHandling)' == 'false' or
'$(InvariantTimezone)' == 'true' or
('$(_UsingBlazorOrWasmSdk)' != 'true' and '$(InvariantGlobalization)' == 'true') or
'$(WasmNativeStrip)' == 'false'">true</_WasmPropertiesDifferFromRuntimePackThusNativeBuildNeeded>
<!-- $(WasmBuildNative)==true is needed to enable workloads, when using native references, without AOT -->
<!-- FIXME: is the blazor condition here correct? -->
<_WasmNativeWorkloadNeeded Condition="
'$(_WasmPropertiesDifferFromRuntimePackThusNativeBuildNeeded)' == 'true' or
'$(RunAOTCompilation)' == 'true' or
'$(WasmBuildNative)' == 'true' or
'$(WasmGenerateAppBundle)' == 'true' or
'$(_UsingBlazorOrWasmSdk)' != 'true'" >true</_WasmNativeWorkloadNeeded>
<UsingBrowserRuntimeWorkload Condition="'$(_BrowserWorkloadNotSupportedForTFM)' == 'true'">false</UsingBrowserRuntimeWorkload>
<UsingBrowserRuntimeWorkload Condition="'$(UsingBrowserRuntimeWorkload)' == '' and '$(_WasmNativeWorkloadNeeded)' == 'true'">true</UsingBrowserRuntimeWorkload>
<UsingBrowserRuntimeWorkload Condition="'$(UsingBrowserRuntimeWorkload)' == ''">$(WasmNativeWorkloadAvailable)</UsingBrowserRuntimeWorkload>
</PropertyGroup>
<!-- Mono AOT library mode support -->
<PropertyGroup Condition="'$(PublishAot)' != 'true' and '$(NativeLib)' != ''">
<_IsAndroidLibraryMode Condition="'$(RuntimeIdentifier)' == 'android-arm64' or '$(RuntimeIdentifier)' == 'android-arm' or '$(RuntimeIdentifier)' == 'android-x64' or '$(RuntimeIdentifier)' == 'android-x86'">true</_IsAndroidLibraryMode>
<_IsAppleMobileLibraryMode Condition="'$(RuntimeIdentifier)' == 'ios-arm64' or '$(RuntimeIdentifier)' == 'iossimulator-arm64' or '$(RuntimeIdentifier)' == 'iossimulator-x64' or '$(RuntimeIdentifier)' == 'maccatalyst-arm64' or '$(RuntimeIdentifier)' == 'maccatalyst-x64' or '$(RuntimeIdentifier)' == 'tvos-arm64'">true</_IsAppleMobileLibraryMode>
<_IsiOSLibraryMode Condition="'$(RuntimeIdentifier)' == 'ios-arm64' or '$(RuntimeIdentifier)' == 'iossimulator-arm64' or '$(RuntimeIdentifier)' == 'iossimulator-x64'">true</_IsiOSLibraryMode>
<_IsMacCatalystLibraryMode Condition="'$(RuntimeIdentifier)' == 'maccatalyst-arm64' or '$(RuntimeIdentifier)' == 'maccatalyst-x64'">true</_IsMacCatalystLibraryMode>
<_IstvOSLibraryMode Condition="'$(RuntimeIdentifier)' == 'tvos-arm64'">true</_IstvOSLibraryMode>
</PropertyGroup>
<PropertyGroup
Condition="'$(TargetPlatformIdentifier)' == 'android' or '$(_IsAndroidLibraryMode)' == 'true' or '$(TargetPlatformIdentifier)' == 'macOS' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'tvos' or '$(_IsAppleMobileLibraryMode)' == 'true'">
<UsingMobileWorkload>true</UsingMobileWorkload>
</PropertyGroup>
<PropertyGroup Condition="'$(_UsingBlazorOrWasmSdk)' == 'true' and '$(UsingBrowserRuntimeWorkload)' == 'true'">
<WasmGenerateAppBundle>false</WasmGenerateAppBundle>
<UsingBlazorAOTWorkloadManifest>true</UsingBlazorAOTWorkloadManifest>
</PropertyGroup>
<!-- TFM specific -->
<Import Condition="'$(TargetsCurrent)' == 'true' and '$(RunAOTCompilation)' == 'true' and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingMobileWorkload)' == 'true')" Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoAOTCompiler.Task.net8" />
<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and ('$(TargetPlatformIdentifier)' == 'android' or '$(_IsAndroidLibraryMode)' == 'true')">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
</ImportGroup>
<ImportGroup Condition="'$(_IsAndroidLibraryMode)' == 'true' or '$(_IsAppleMobileLibraryMode)' == 'true'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.LibraryBuilder.Sdk.net8" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.LibraryBuilder.Sdk.net8" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and '$(RunAOTCompilation)' == 'true' and ('$(TargetPlatformIdentifier)' == 'android' or '$(_IsAndroidLibraryMode)' == 'true')">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x86" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm64" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and '$(TargetPlatformIdentifier)' == 'macOS'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and ('$(TargetPlatformIdentifier)' == 'ios' or '$(_IsiOSLibraryMode)' == 'true')">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and $([MSBuild]::IsOSPlatform('osx')) and ('$(TargetPlatformIdentifier)' == 'ios' or '$(_IsiOSLibraryMode)' == 'true')">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-x64" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and ('$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(_IsMacCatalystLibraryMode)' == 'true')">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and $([MSBuild]::IsOSPlatform('osx')) and ('$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(_IsMacCatalystLibraryMode)' == 'true')">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-x64" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and ('$(TargetPlatformIdentifier)' == 'tvos' or '$(_IstvOSLibraryMode)' == 'true')">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and $([MSBuild]::IsOSPlatform('osx')) and ('$(TargetPlatformIdentifier)' == 'tvos' or '$(_IstvOSLibraryMode)' == 'true')">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvos-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-x64" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and '$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net8" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net8" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.browser-wasm" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and '$(RuntimeIdentifier)' == 'wasi-wasm' and '$(UsingWasiRuntimeWorkload)' == 'true'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.net8" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.net8" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />
</ImportGroup>
<PropertyGroup Condition="'$(TargetsCurrent)' == 'true' and ('$(UsingMobileWorkload)' == 'true' or '$(RuntimeIdentifier)' == 'browser-wasm' or '$(RuntimeIdentifier)' == 'wasi-wasm')">
<_MonoWorkloadTargetsMobile>true</_MonoWorkloadTargetsMobile>
<_MonoWorkloadRuntimePackPackageVersion>$(_RuntimePackInWorkloadVersionCurrent)</_MonoWorkloadRuntimePackPackageVersion>
<_KnownWebAssemblySdkPackVersion>$(_RuntimePackInWorkloadVersionCurrent)</_KnownWebAssemblySdkPackVersion>
</PropertyGroup>
<!-- Support for "browser" target platform identifier -->
<PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'browser' and $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0'))">
<TargetPlatformSupported>true</TargetPlatformSupported>
<TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == ''">1.0</TargetPlatformVersion>
</PropertyGroup>
<ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'browser' and $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0'))">
<SdkSupportedTargetPlatformVersion Include="1.0" />
</ItemGroup>
<ItemGroup Condition="'$(TargetsCurrent)' == 'true' and '$(_MonoWorkloadTargetsMobile)' == 'true'">
<KnownRuntimePack Update="@(KnownRuntimePack)">
<!-- FIXMEWASI: workaround for now -->
<RuntimePackRuntimeIdentifiers Condition="'$(RuntimeIdentifier)' == 'wasi-wasm'">%(RuntimePackRuntimeIdentifiers);wasi-wasm</RuntimePackRuntimeIdentifiers>
<LatestRuntimeFrameworkVersion Condition="'%(KnownRuntimePack.TargetFramework)' == 'net8.0' and '%(KnownRuntimePack.RuntimePackLabels)' == 'Mono'">$(_MonoWorkloadRuntimePackPackageVersion)</LatestRuntimeFrameworkVersion>
<!-- Overrides for wasm threading support -->
<RuntimePackNamePatterns Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(WasmEnableThreads)' == 'true'">Microsoft.NETCore.App.Runtime.Mono.multithread.**RID**</RuntimePackNamePatterns>
</KnownRuntimePack>
<KnownWebAssemblySdkPack Update="@(KnownWebAssemblySdkPack)">
<WebAssemblySdkPackVersion Condition="'%(KnownWebAssemblySdkPack.TargetFramework)' == 'net8.0'">$(_KnownWebAssemblySdkPackVersion)</WebAssemblySdkPackVersion>
</KnownWebAssemblySdkPack>
</ItemGroup>
<!-- we can't condition sdk imports on the item @(NativeFileReference). Instead, explicitly check before the build
and emit a warning -->
<Target Name="_CheckBrowserWorkloadNeededButNotAvailable"
Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(_BrowserWorkloadDisabled)' != 'true' and '$(WasmNativeWorkloadAvailable)' != 'true'"
BeforeTargets="Build">
<Warning Condition="@(NativeFileReference->Count()) > 0"
Text="%40(NativeFileReference) is not empty, but the native references won't be linked in, because neither %24(WasmBuildNative), nor %24(RunAOTCompilation) are 'true'. NativeFileReference=@(NativeFileReference)" />
</Target>
<Target Name="_ErrorWorkloadDisabledForTFMLessThan6" Condition="'$(_BrowserWorkloadNotSupportedForTFM)' == 'true'" BeforeTargets="Build">
<Error Condition="'$(RunAOTCompilation)' == 'true'"
Text="WebAssembly workloads, required for AOT, are only supported for projects targeting net6.0+ . Set %24(RunAOTCompilation)=false to disable it." />
<Error Condition="@(NativeFileReference->Count()) > 0"
Text="WebAssembly workloads, required for linking native files (from %40(NativeFileReference)), are only supported for projects targeting net6.0+ ." />
<Error Condition="'$(WasmBuildNative)' == 'true'"
Text="WebAssembly workloads, required for native relinking, are only supported for projects targeting net6.0+ . Set %24(WasmBuildNative)=false to disable it." />
</Target>
<Target Name="_ErrorDualWasmThreadPropsOn7"
Condition="'$(TargetsNet7)' == 'true' and '$(RuntimeIdentifier)' == 'browser-wasm' and
'$(BrowserWorkloadDisabled)' != 'true' and '$(WasmEnableThreads)' == 'true' and '$(WasmEnablePerfTrace)' == 'true'"
BeforeTargets="Build">
<Error Text="WebAssembly workloads can only support one active threading mode at a time. Either set WasmEnableThreads or WasmEnablePerfTracing to true, but not both." />
</Target>
<Target Name="_SuggestWasmWorkloadForBlazor" BeforeTargets="Publish">
<Message
Condition="'$(_UsingBlazorOrWasmSdk)' == 'true' and '$(WasmNativeWorkloadAvailable)' != 'true'"
Text="Publishing without optimizations. Although it's optional for Blazor, we strongly recommend using `wasm-tools` workload! You can install it by running `dotnet workload install wasm-tools` from the command line."
Importance="High" />
</Target>
<Import Condition="'$(TargetsCurrent)' == 'true' and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingMobileWorkload)' == 'true')"
Project="$(MSBuildThisFileDirectory)WorkloadTelemetry.targets" />
</Project>
@@ -0,0 +1,48 @@
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
<Project>
<Target Name="_WorkloadTelemetry"
Condition="'$(_MonoWorkloadTargetsMobile)' == 'true' and '$(TargetsCurrent)' == 'true'"
AfterTargets="Publish"
DependsOnTargets="_WorkloadGatherTelemetryData">
<ItemGroup>
<WorkloadPublishProperties Include="TargetPlatformIdentifier" Value="$(TargetPlatformIdentifier)" />
<WorkloadPublishProperties Include="RuntimeIdentifier" Value="$(RuntimeIdentifier)" />
<WorkloadPublishProperties Include="BlazorWasm" Value="$(_WorkloadUsesBlazorWasm)" />
<WorkloadPublishProperties Include="WasmSDK" Value="$(_WorkloadUsesWasmSDK)" />
<WorkloadPublishProperties Include="UsesMaui" Value="$(UseMaui)" />
<WorkloadPublishProperties Include="UsesMobileSDKOnly" Value="$(_WorkloadUsesMobileSDKOnly)" />
<WorkloadPublishProperties Include="UsesOtherMobileSDK" Value="$(_WorkloadUsesOther)" />
<WorkloadPublishProperties Include="MonoAOT" Value="$(_WorkloadUsesMonoAOT)" />
<WorkloadPublishProperties Include="NativeAOT" Value="$(_WorkloadUsesNativeAOT)" />
<WorkloadPublishProperties Include="Interp" Value="$(_WorkloadUsesInterpreter)" />
<WorkloadPublishProperties Include="LibraryMode" Value="$(_WorkloadUsesLibraryMode)" />
<WorkloadPublishProperties Include="HybridGlobalization" Value="$(HybridGlobalization)" />
<WorkloadPublishProperties Include="ResolvedRuntimePack" Value="$(_MonoWorkloadRuntimePackPackageVersion)" />
<WorkloadPublishProperties Include="StripILAfterAOT" Value="$(_WorkloadUsesStripILAfterAOT)" />
</ItemGroup>
<AllowEmptyTelemetry EventName="WorkloadPublishProperties" EventData="@(WorkloadPublishProperties)" />
</Target>
<Target Name="_WorkloadGatherTelemetryData">
<PropertyGroup>
<_WorkloadUsesBlazorWasm>$(UsingMicrosoftNETSdkBlazorWebAssembly)</_WorkloadUsesBlazorWasm>
<_WorkloadUsesWasmSDK>$(UsingMicrosoftNETSdkWebAssembly)</_WorkloadUsesWasmSDK>
<_WorkloadUsesMonoAOT>$(RunAOTCompilation)</_WorkloadUsesMonoAOT>
<_WorkloadUsesMonoAOT Condition="'$(_WorkloadUsesMonoAOT)' == '' and '$(PublishAot)' != 'true' and ('$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'tvos')">$(_RunAotCompiler)</_WorkloadUsesMonoAOT>
<_WorkloadUsesNativeAOT>$(PublishAot)</_WorkloadUsesNativeAOT>
<_WorkloadUsesInterpreter>$(MonoForceInterpreter)</_WorkloadUsesInterpreter>
<_WorkloadUsesInterpreter Condition="'$(_WorkloadUsesInterpreter)' == '' and '$(UseInterpreter)' == 'true'">true</_WorkloadUsesInterpreter>
<_WorkloadUsesInterpreter Condition="'$(_WorkloadUsesInterpreter)' == '' and '$(RunAOTCompilation)' != 'true' and ('$(_WorkloadUsesBlazorWasm)' == 'true' or '$(_WorkloadUsesWasmSDK)' == 'true')">true</_WorkloadUsesInterpreter>
<_WorkloadUsesLibraryMode Condition="'$(NativeLib)' != '' and ('$(_WorkloadUsesMonoAOT)' == 'true' or '$(_WorkloadUsesNativeAOT)' == 'true')">true</_WorkloadUsesLibraryMode>
<_WorkloadUsesStripILAfterAOT Condition="'$(WasmStripILAfterAOT)' == 'true' or '$(AndroidStripILAfterAOT)' == 'true'">true</_WorkloadUsesStripILAfterAOT>
</PropertyGroup>
<PropertyGroup>
<_WorkloadUsesOther Condition="'$([System.IO.Path]::GetFileName(&quot;%(ReferencePath.Identity)&quot;).ToLowerInvariant())' == 'avalonia.dll'">true</_WorkloadUsesOther>
<_WorkloadUsesOther Condition="'$([System.IO.Path]::GetFileName(&quot;%(ReferencePath.Identity)&quot;).ToLowerInvariant())' == 'uno.dll'">true</_WorkloadUsesOther>
<_WorkloadUsesMobileSDKOnly Condition="'$(RuntimeIdentifier)' != 'browser-wasm' and '$(UseMaui)' != 'true' and '$(_WorkloadUsesOther)' != 'true'">true</_WorkloadUsesMobileSDKOnly>
</PropertyGroup>
</Target>
</Project>
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": "Nástroje pro sestavení .NET WebAssembly"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": ".NET WebAssembly-Buildtools"
}
@@ -0,0 +1,5 @@
{
"workloads/wasm-tools/description": ".NET WebAssembly build tools",
"workloads/wasm-tools-experimental/description": ".NET WebAssembly experimental tooling",
"workloads/runtimes-windows/description": "Windows Runtime Packs"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": "Herramientas de compilación de WebAssembly de .NET"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": "Outils de construction .NET WebAssembly"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": "Strumenti di compilazione WebAssembly .NET"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": ".NET WebAssembly ビルド ツール"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": ".NET WebAssembly 빌드 도구"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": "Narzędzia kompilacji zestawu WebAssembly platformy .NET"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": "Ferramentas de build do .NET WebAssembly"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": "Средства сборки WebAssembly .NET"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": ".NET WebAssembly derleme araçları"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": ".NET WebAssembly 生成工具"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": ".NET WebAssembly 組建工具"
}