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,16 @@
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
<Name>Applications</Name>
<Menu>
<Name>wine-wine</Name>
<Directory>wine-wine.directory</Directory>
<Menu>
<Name>wine-Programs</Name>
<Directory>wine-Programs.directory</Directory>
<Include>
<Filename>wine-Programs-LiveWall.desktop</Filename>
</Include>
</Menu>
</Menu>
</Menu>
@@ -0,0 +1 @@
[]
View File
@@ -0,0 +1,18 @@
-----BEGIN X509 CRL-----
MIIC3TCBxgIBATANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQGEwJVUzEVMBMGA1UE
ChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEwHwYD
VQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQXDTI2MTAzMDE3NDIzNVoXDTI2
MTEyMDE3NDIzNVqgMDAuMB8GA1UdIwQYMBaAFOzX44LScV1kTN8uZz/nupiuHA9P
MAsGA1UdFAQEAgIDCTANBgkqhkiG9w0BAQwFAAOCAgEAuyJwNbNRv3YXzowM4Pyb
NM3mYGWmADl/YbLkMc3yJ5fI/9zLkR3QtHr570Gh6YDuciCuUs/U4UbQDrvNm/3j
q618MXyBpRnHgsNZZ4+snIzUUlmX9LVk47/NMMNcKyOHAfcJnz/5ZrDltSmL5DuB
MAJn5ufIVJwwdZjYEv1fdPKaJmDF9Pbe+qp8rUdcpNgaqkHToDROixgZ4EB8aEes
5qjDnvFDt6Xd/mcY59NoAjnocv2RdN+PmelO5B48aiahf5XMceKAAPDhCazg+DZo
Yi7X6coMS8ahQLPjuqn6lIr617edeUOsyQ+Bsh9PBmMstTDYGr0UiCLHIcATBdC4
RSqjKgf8QUgJu1cvo3tikYzcQANMR6njJ/KEWR8Nr978JSpFfYcmsrfUm6I1Eytn
bKP3woWntBJTVX3PFrq9NMnFQXLfKALhIVIRzRoc849j7L8eNqKnpcKNqc0mHBSd
KsPOT8TLxe6opfRybG2yDpfqs+ugWC1ydkMmQbI+MVD+u5l+WnpRdA+sdYFpn0kV
pJQDaNIwdNKjvYywsVeNJALH+wArpwBfuBoPxwkwXHjWj9SEgbOjide6nwZRXqAS
rUppXgLzJBgULsOfiU6mHrB4TCFRmkCFBiAXRosON17uRP69O7eIzojOnz1ENu1/
PJuwNwV8oNxqqQPpk7DhtEE=
-----END X509 CRL-----
@@ -0,0 +1,22 @@
-----BEGIN X509 CRL-----
MIIDnTCCAYUCAQEwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMxFzAVBgNV
BAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVkIEc0
IFRpbWVTdGFtcGluZyBSU0E0MDk2IFNIQTI1NiAyMDI1IENBMRcNMjYxMDI4MTY0
MDI2WhcNMjYxMTE4MTY0MDI2WqCB5zCB5DAfBgNVHSMEGDAWgBTvb1NK6eQGfHrK
4pBW9i/USezLTjAKBgNVHRQEAwIBTzCBtAYDVR0cAQH/BIGpMIGmoIGjoIGghk5o
dHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRUaW1lU3Rh
bXBpbmdSU0E0MDk2U0hBMjU2MjAyNUNBMS5jcmyGTmh0dHA6Ly9jcmw0LmRpZ2lj
ZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNFRpbWVTdGFtcGluZ1JTQTQwOTZTSEEy
NTYyMDI1Q0ExLmNybDANBgkqhkiG9w0BAQsFAAOCAgEADAj8kSpzYt1n103D8QgZ
VdSZZl+pNdH3M8IwSpQz3yOHIl0+HJoRH+yIAUsBUf7kqtAghfkb68DdsINrmEn1
HChyzQZMZko/qrA42wXRBgDoxbfNoLhJnG64PwbOb0oRlc8q+4cxcb+pzlFkszFs
6yr/HY3SEgLj/Yf4oFNsWToGmfjgb7nK6zZXQqD/GjrRLhaO9bxyb2o2XupHcwlf
t8oJ+P+62eb0PX4OZ7icR0Akn+dMoYvSxKyI5RplS6mdBxmjE7T7cJee1RNbWPyl
3kd7LjLEdvszA0y6SzChhRxhmEGGR9XFSweAs4hF5IjX65chf2arNKdJy9ITxDS3
1N3fmkYq0uAe86l/swXoKg63eStu22QNaH7FuiNBOFWFcUsDVn+EJiXlFJdCkK9e
2YL6yjxarZZ78q9GuG6Wo86HpRMU2bV4uCbAv7x6Y5sS7jgCTvUGWq6kKcyz5h6l
rHLIB0IpJTOZ+HPMOVPbblElKDW/yFKfIz2vXY/rbxocQII5ykJw6XLEaIRAG+jh
kAQArkbBE1iLdCFxpnPwT0EJd1jHdBnIeQd/SbYhI7KUN5Gkp3JNNXuLUjlzFn4J
90iFoniPRfegIYJISk6n8i3v4rryOC/Ks1aTFNoiMHi3wwQ+1rvWj9fpa8/x31P0
xIgqutlMiFp2Y29qv5i8LG4=
-----END X509 CRL-----
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,77 @@
{
"version": "34.0.154",
"workloads": {
"android": {
"description": ".NET SDK Workload for building Android applications.",
"packs": [
"Microsoft.Android.Sdk.net8",
"Microsoft.Android.Sdk.net7",
"Microsoft.Android.Ref.34",
"Microsoft.Android.Runtime.34.android-arm",
"Microsoft.Android.Runtime.34.android-arm64",
"Microsoft.Android.Runtime.34.android-x86",
"Microsoft.Android.Runtime.34.android-x64",
"Microsoft.Android.Templates"
],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ],
"extends" : [
"microsoft-net-runtime-android-net7",
"microsoft-net-runtime-android-aot-net7",
"microsoft-net-runtime-android",
"microsoft-net-runtime-android-aot"
]
}
},
"packs": {
"Microsoft.Android.Sdk.net8": {
"kind": "sdk",
"version": "34.0.154",
"alias-to": {
"osx-x64": "Microsoft.Android.Sdk.Darwin",
"osx-arm64": "Microsoft.Android.Sdk.Darwin",
"win-x86": "Microsoft.Android.Sdk.Windows",
"win-x64": "Microsoft.Android.Sdk.Windows",
"win-arm64": "Microsoft.Android.Sdk.Windows",
"linux-x64": "Microsoft.Android.Sdk.Linux",
"linux-arm64": "Microsoft.Android.Sdk.Linux"
}
},
"Microsoft.Android.Sdk.net7": {
"kind": "sdk",
"version": "33.0.95",
"alias-to": {
"osx-x64": "Microsoft.Android.Sdk.Darwin",
"osx-arm64": "Microsoft.Android.Sdk.Darwin",
"win-x86": "Microsoft.Android.Sdk.Windows",
"win-x64": "Microsoft.Android.Sdk.Windows",
"win-arm64": "Microsoft.Android.Sdk.Windows",
"linux-x64": "Microsoft.Android.Sdk.Linux",
"linux-arm64": "Microsoft.Android.Sdk.Linux"
}
},
"Microsoft.Android.Ref.34": {
"kind": "framework",
"version": "34.0.154"
},
"Microsoft.Android.Runtime.34.android-arm": {
"kind": "framework",
"version": "34.0.154"
},
"Microsoft.Android.Runtime.34.android-arm64": {
"kind": "framework",
"version": "34.0.154"
},
"Microsoft.Android.Runtime.34.android-x86": {
"kind": "framework",
"version": "34.0.154"
},
"Microsoft.Android.Runtime.34.android-x64": {
"kind": "framework",
"version": "34.0.154"
},
"Microsoft.Android.Templates": {
"kind": "template",
"version": "34.0.154"
}
}
}
@@ -0,0 +1,22 @@
<Project>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'android' ">
<Import Project="Sdk.targets" Sdk="Microsoft.Android.Sdk.net8"
Condition=" $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0')) " />
<Import Project="Sdk.targets" Sdk="Microsoft.Android.Sdk.net7"
Condition=" $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0')) " />
<Import Project="Eol.targets" Sdk="Microsoft.Android.Sdk.net8"
Condition=" $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '6.0')) " />
</ImportGroup>
<ItemGroup Condition=" '$(TargetPlatformIdentifier)' == 'android' and $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0')) ">
<KnownFrameworkReference
Update="Microsoft.Android"
LatestRuntimeFrameworkVersion="33.0.95"
TargetingPackVersion="33.0.95"
/>
</ItemGroup>
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '7.0')) ">
<SdkSupportedTargetPlatformIdentifier Include="android" DisplayName="Android" />
</ItemGroup>
</Project>
@@ -0,0 +1,6 @@
<Project>
<Import Project="Sdk.props" Sdk="Aspire.Hosting.Sdk" />
<Import Project="Sdk.targets" Sdk="Aspire.Hosting.Sdk" />
</Project>
@@ -0,0 +1,22 @@
{
"version": "8.2.2",
"workloads": {
"aspire": {
"description": ".NET Aspire SDK",
"packs": [
"Aspire.Hosting.Sdk",
"Aspire.ProjectTemplates"
]
}
},
"packs": {
"Aspire.Hosting.Sdk": {
"kind": "sdk",
"version": "8.2.2"
},
"Aspire.ProjectTemplates": {
"kind": "template",
"version": "8.2.2"
}
}
}
@@ -0,0 +1,8 @@
<Project>
<Import
Project="WorkloadManifest.Aspire.targets"
Condition=" '$(IsAspireHost)' == 'true' and '$(SkipAspireWorkloadManifest)' != 'true' "
/>
</Project>
@@ -0,0 +1,92 @@
{
"version": "18.0.8319",
"workloads": {
"ios": {
"description": ".NET SDK Workload for building iOS applications.",
"packs": [
"Microsoft.iOS.Sdk.net8.0_18.0",
"Microsoft.iOS.Sdk.net8.0_17.0",
"Microsoft.iOS.Sdk.net7",
"Microsoft.iOS.Windows.Sdk.Aliased.net8.0_18.0",
"Microsoft.iOS.Windows.Sdk.Aliased.net8.0_17.0",
"Microsoft.iOS.Windows.Sdk.Aliased.net7",
"Microsoft.iOS.Ref.net8.0_18.0",
"Microsoft.iOS.Runtime.ios-arm64.net8.0_18.0",
"Microsoft.iOS.Runtime.iossimulator-x64.net8.0_18.0",
"Microsoft.iOS.Runtime.iossimulator-arm64.net8.0_18.0",
"Microsoft.iOS.Templates.net8"
],
"extends": [
"microsoft-net-runtime-ios",
"microsoft-net-runtime-ios-net7",
]
},
},
"packs": {
"Microsoft.iOS.Sdk.net8.0_18.0": {
"kind": "sdk",
"version": "18.0.8319",
},
"Microsoft.iOS.Windows.Sdk.Aliased.net8.0_18.0": {
"kind": "sdk",
"version": "18.0.8319",
"alias-to": {
"win-x64": "Microsoft.iOS.Windows.Sdk.net8.0_18.0",
"win-x86": "Microsoft.iOS.Windows.Sdk.net8.0_18.0",
"win-arm64": "Microsoft.iOS.Windows.Sdk.net8.0_18.0",
}
},
"Microsoft.iOS.Sdk.net8.0_17.0": {
"kind": "sdk",
"version": "17.0.8523",
},
"Microsoft.iOS.Windows.Sdk.Aliased.net8.0_17.0": {
"kind": "sdk",
"version": "17.0.8523",
"alias-to": {
"win-x64": "Microsoft.iOS.Windows.Sdk.net8.0_17.0",
"win-x86": "Microsoft.iOS.Windows.Sdk.net8.0_17.0",
"win-arm64": "Microsoft.iOS.Windows.Sdk.net8.0_17.0",
}
},
"Microsoft.iOS.Sdk.net7": {
"kind": "sdk",
"version": "16.4.7142",
"alias-to": {
"any": "Microsoft.iOS.Sdk"
}
},
"Microsoft.iOS.Windows.Sdk.Aliased.net7": {
"kind": "sdk",
"version": "16.4.7142",
"alias-to": {
"win-x64": "Microsoft.iOS.Windows.Sdk",
"win-x86": "Microsoft.iOS.Windows.Sdk",
"win-arm64": "Microsoft.iOS.Windows.Sdk",
}
},
"Microsoft.iOS.Ref.net8.0_18.0": {
"kind": "framework",
"version": "18.0.8319"
},
"Microsoft.iOS.Runtime.ios-arm64.net8.0_18.0": {
"kind": "framework",
"version": "18.0.8319"
},
"Microsoft.iOS.Runtime.iossimulator-x64.net8.0_18.0": {
"kind": "framework",
"version": "18.0.8319"
},
"Microsoft.iOS.Runtime.iossimulator-arm64.net8.0_18.0": {
"kind": "framework",
"version": "18.0.8319"
},
"Microsoft.iOS.Templates.net8": {
"kind": "template",
"version": "18.0.8319",
"alias-to": {
"any": "Microsoft.iOS.Templates",
}
}
}
}
@@ -0,0 +1,26 @@
<Project>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))">
<Import Project="Sdk.props" Sdk="Microsoft.iOS.Sdk.net7" />
<Import Project="Sdk.props" Sdk="Microsoft.iOS.Windows.Sdk.Aliased.net7" Condition=" $([MSBuild]::IsOSPlatform('windows'))" />
</ImportGroup>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0')) And '$(TargetPlatformVersion)' == '17.0'">
<Import Project="Sdk.props" Sdk="Microsoft.iOS.Sdk.net8.0_17.0" />
<Import Project="Sdk.props" Sdk="Microsoft.iOS.Windows.Sdk.Aliased.net8.0_17.0" Condition=" $([MSBuild]::IsOSPlatform('windows'))" />
</ImportGroup>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0'))">
<Import Project="Sdk.props" Sdk="Microsoft.iOS.Sdk.net8.0_18.0" /> <!-- this SDK version will validate the TargetPlatformVersion and show an error (in .NET 9+) or a warning (.NET 8) if it's not valid -->
<Import Project="Sdk.props" Sdk="Microsoft.iOS.Windows.Sdk.Aliased.net8.0_18.0" Condition=" $([MSBuild]::IsOSPlatform('windows'))" />
</ImportGroup>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' And '$(UsingAppleNETSdk)' != 'true'">
<Import Project="Sdk-eol.props" Sdk="Microsoft.iOS.Sdk.net8.0_18.0" Condition=" $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '7.0'))" />
<Import Project="Sdk.props" Sdk="Microsoft.iOS.Sdk.net8.0_18.0" Condition=" $([MSBuild]::VersionGreaterThan($(TargetFrameworkVersion), '8.0'))" />
</ImportGroup>
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
<SdkSupportedTargetPlatformIdentifier Include="ios" DisplayName="iOS" />
</ItemGroup>
</Project>
@@ -0,0 +1,57 @@
{
"version": "18.0.8319",
"workloads": {
"maccatalyst": {
"description": ".NET SDK Workload for building MacCatalyst applications.",
"packs": [
"Microsoft.MacCatalyst.Sdk.net8.0_18.0",
"Microsoft.MacCatalyst.Sdk.net8.0_17.0",
"Microsoft.MacCatalyst.Sdk.net7",
"Microsoft.MacCatalyst.Ref.net8.0_18.0",
"Microsoft.MacCatalyst.Runtime.maccatalyst-x64.net8.0_18.0",
"Microsoft.MacCatalyst.Runtime.maccatalyst-arm64.net8.0_18.0",
"Microsoft.MacCatalyst.Templates.net8"
],
"extends": [
"microsoft-net-runtime-maccatalyst",
"microsoft-net-runtime-maccatalyst-net7",
]
},
},
"packs": {
"Microsoft.MacCatalyst.Sdk.net8.0_18.0": {
"kind": "sdk",
"version": "18.0.8319",
},
"Microsoft.MacCatalyst.Sdk.net8.0_17.0": {
"kind": "sdk",
"version": "17.0.8523",
},
"Microsoft.MacCatalyst.Sdk.net7": {
"kind": "sdk",
"version": "16.4.7142",
"alias-to": {
"any": "Microsoft.MacCatalyst.Sdk"
}
},
"Microsoft.MacCatalyst.Ref.net8.0_18.0": {
"kind": "framework",
"version": "18.0.8319"
},
"Microsoft.MacCatalyst.Runtime.maccatalyst-x64.net8.0_18.0": {
"kind": "framework",
"version": "18.0.8319"
},
"Microsoft.MacCatalyst.Runtime.maccatalyst-arm64.net8.0_18.0": {
"kind": "framework",
"version": "18.0.8319"
},
"Microsoft.MacCatalyst.Templates.net8": {
"kind": "template",
"version": "18.0.8319",
"alias-to": {
"any": "Microsoft.MacCatalyst.Templates",
}
}
}
}
@@ -0,0 +1,23 @@
<Project>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'MacCatalyst' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))">
<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk.net7" />
</ImportGroup>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'MacCatalyst' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0')) And '$(TargetPlatformVersion)' == '17.0'">
<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk.net8.0_17.0" />
</ImportGroup>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'MacCatalyst' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0'))">
<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk.net8.0_18.0" /> <!-- this SDK version will validate the TargetPlatformVersion and show an error (in .NET 9+) or a warning (.NET 8) if it's not valid -->
</ImportGroup>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'MacCatalyst' And '$(UsingAppleNETSdk)' != 'true'">
<Import Project="Sdk-eol.props" Sdk="Microsoft.MacCatalyst.Sdk.net8.0_18.0" Condition=" $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '7.0'))" />
<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk.net8.0_18.0" Condition=" $([MSBuild]::VersionGreaterThan($(TargetFrameworkVersion), '8.0'))" />
</ImportGroup>
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
<SdkSupportedTargetPlatformIdentifier Include="maccatalyst" DisplayName="MacCatalyst" />
</ItemGroup>
</Project>
@@ -0,0 +1,57 @@
{
"version": "15.0.8319",
"workloads": {
"macos": {
"description": ".NET SDK Workload for building macOS applications.",
"packs": [
"Microsoft.macOS.Sdk.net8.0_15.0",
"Microsoft.macOS.Sdk.net8.0_14.0",
"Microsoft.macOS.Sdk.net7",
"Microsoft.macOS.Ref.net8.0_15.0",
"Microsoft.macOS.Runtime.osx-x64.net8.0_15.0",
"Microsoft.macOS.Runtime.osx-arm64.net8.0_15.0",
"Microsoft.macOS.Templates.net8"
],
"extends": [
"microsoft-net-runtime-mono-tooling",
"microsoft-net-runtime-mono-tooling-net7",
]
},
},
"packs": {
"Microsoft.macOS.Sdk.net8.0_15.0": {
"kind": "sdk",
"version": "15.0.8319",
},
"Microsoft.macOS.Sdk.net8.0_14.0": {
"kind": "sdk",
"version": "14.0.8523",
},
"Microsoft.macOS.Sdk.net7": {
"kind": "sdk",
"version": "13.3.7142",
"alias-to": {
"any": "Microsoft.macOS.Sdk"
}
},
"Microsoft.macOS.Ref.net8.0_15.0": {
"kind": "framework",
"version": "15.0.8319"
},
"Microsoft.macOS.Runtime.osx-x64.net8.0_15.0": {
"kind": "framework",
"version": "15.0.8319"
},
"Microsoft.macOS.Runtime.osx-arm64.net8.0_15.0": {
"kind": "framework",
"version": "15.0.8319"
},
"Microsoft.macOS.Templates.net8": {
"kind": "template",
"version": "15.0.8319",
"alias-to": {
"any": "Microsoft.macOS.Templates",
}
}
}
}
@@ -0,0 +1,23 @@
<Project>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'macOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))">
<Import Project="Sdk.props" Sdk="Microsoft.macOS.Sdk.net7" />
</ImportGroup>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'macOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0')) And '$(TargetPlatformVersion)' == '14.0'">
<Import Project="Sdk.props" Sdk="Microsoft.macOS.Sdk.net8.0_14.0" />
</ImportGroup>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'macOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0'))">
<Import Project="Sdk.props" Sdk="Microsoft.macOS.Sdk.net8.0_15.0" /> <!-- this SDK version will validate the TargetPlatformVersion and show an error (in .NET 9+) or a warning (.NET 8) if it's not valid -->
</ImportGroup>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'macOS' And '$(UsingAppleNETSdk)' != 'true'">
<Import Project="Sdk-eol.props" Sdk="Microsoft.macOS.Sdk.net8.0_15.0" Condition=" $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '7.0'))" />
<Import Project="Sdk.props" Sdk="Microsoft.macOS.Sdk.net8.0_15.0" Condition=" $([MSBuild]::VersionGreaterThan($(TargetFrameworkVersion), '8.0'))" />
</ImportGroup>
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
<SdkSupportedTargetPlatformIdentifier Include="macos" DisplayName="macOS" />
</ItemGroup>
</Project>
@@ -0,0 +1,166 @@
{
"version": "8.0.100",
"workloads": {
"maui": {
"description": ".NET MAUI SDK for all platforms",
"extends": [
"maui-mobile",
"maui-desktop"
]
},
"maui-mobile": {
"description": ".NET MAUI SDK for Mobile",
"extends": [
"maui-android",
"maui-ios",
"maui-tizen"
]
},
"maui-desktop": {
"description": ".NET MAUI SDK for Desktop",
"extends": [
"maui-maccatalyst",
"maui-windows"
]
},
"maui-core": {
"abstract": true,
"description": ".NET MAUI SDK Core Packages",
"packs": [
"Microsoft.Maui.Sdk.net8",
"Microsoft.Maui.Sdk.net7",
"Microsoft.Maui.Graphics",
"Microsoft.Maui.Resizetizer",
"Microsoft.Maui.Resizetizer.Sdk",
"Microsoft.Maui.Templates.net8",
"Microsoft.Maui.Templates.net7",
"Microsoft.Maui.Core",
"Microsoft.Maui.Controls",
"Microsoft.Maui.Controls.Build.Tasks",
"Microsoft.Maui.Controls.Core",
"Microsoft.Maui.Controls.Xaml",
"Microsoft.Maui.Controls.Compatibility",
"Microsoft.Maui.Essentials"
]
},
"maui-blazor": {
"abstract": true,
"description": ".NET MAUI SDK Blazor Packages",
"extends": [ "maui-core" ],
"packs": [
"Microsoft.AspNetCore.Components.WebView.Maui"
]
},
"maui-android": {
"description": ".NET MAUI SDK for Android",
"extends": [
"maui-blazor",
"android"
]
},
"maui-maccatalyst": {
"description": ".NET MAUI SDK for Mac Catalyst",
"extends": [
"maui-blazor",
"maccatalyst"
]
},
"maui-ios": {
"description": ".NET MAUI SDK for iOS",
"extends": [
"maui-blazor",
"ios"
]
},
"maui-windows": {
"description": ".NET MAUI SDK for Windows",
"extends": [ "maui-blazor" ],
"packs": [
"Microsoft.Maui.Graphics.Windows"
]
},
"maui-tizen": {
"description": ".NET MAUI SDK for Tizen",
"extends": [
"maui-blazor"
]
}
},
"packs": {
"Microsoft.AspNetCore.Components.WebView.Maui": {
"kind": "library",
"version": "8.0.100"
},
"Microsoft.Maui.Core": {
"kind": "library",
"version": "8.0.100"
},
"Microsoft.Maui.Controls": {
"kind": "library",
"version": "8.0.100"
},
"Microsoft.Maui.Controls.Build.Tasks": {
"kind": "library",
"version": "8.0.100"
},
"Microsoft.Maui.Controls.Core": {
"kind": "library",
"version": "8.0.100"
},
"Microsoft.Maui.Controls.Xaml": {
"kind": "library",
"version": "8.0.100"
},
"Microsoft.Maui.Controls.Compatibility": {
"kind": "library",
"version": "8.0.100"
},
"Microsoft.Maui.Essentials": {
"kind": "library",
"version": "8.0.100"
},
"Microsoft.Maui.Graphics": {
"kind": "library",
"version": "8.0.100"
},
"Microsoft.Maui.Graphics.Windows": {
"kind": "library",
"version": "8.0.100",
"alias-to": {
"win-x86": "Microsoft.Maui.Graphics.Win2D.WinUI.Desktop",
"win-x64": "Microsoft.Maui.Graphics.Win2D.WinUI.Desktop",
"win-arm64": "Microsoft.Maui.Graphics.Win2D.WinUI.Desktop"
}
},
"Microsoft.Maui.Resizetizer": {
"kind": "library",
"version": "8.0.100"
},
"Microsoft.Maui.Sdk.net8": {
"kind": "sdk",
"version": "8.0.100",
"alias-to": {
"any": "Microsoft.Maui.Sdk"
}
},
"Microsoft.Maui.Sdk.net7": {
"kind": "sdk",
"version": "7.0.101",
"alias-to": {
"any": "Microsoft.Maui.Sdk"
}
},
"Microsoft.Maui.Resizetizer.Sdk": {
"kind": "sdk",
"version": "7.0.101"
},
"Microsoft.Maui.Templates.net8": {
"kind": "template",
"version": "8.0.100"
},
"Microsoft.Maui.Templates.net7": {
"kind": "template",
"version": "7.0.101"
}
}
}
@@ -0,0 +1,61 @@
<Project>
<!--
.NET MAUI telemetry and failure tracking. These are used to detect when the user specified one of the
various <UseMaui*> properties, but for some reason the workload was not installed correctly.
-->
<ItemGroup>
<ProjectCapability Condition=" '$(UseMaui)' == 'true' " Include="UseMaui" />
<ProjectCapability Condition=" '$(UseMauiCore)' == 'true' " Include="UseMauiCore" />
<ProjectCapability Condition=" '$(UseMauiNuGets)' == 'true' " Include="UseMauiNuGets" />
<ProjectCapability Condition=" '$(UseMauiEssentials)' == 'true' " Include="UseMauiEssentials" />
<ProjectCapability Condition=" '$(UseMauiAssets)' == 'true' " Include="UseMauiAssets" />
</ItemGroup>
<!--
Specifying any of the <UseMaui*> properties will enable the maui workload. BundledVersions.targets enables
the specific parts of .NET MAUI SDK.
-->
<Import
Condition=" ('$(UseMaui)' == 'true' or '$(UseMauiCore)' == 'true' or '$(UseMauiEssentials)' == 'true' or '$(UseMauiAssets)' == 'true') and ($([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0'))) and ('$(SkipMauiWorkloadManifest)' != 'true') "
Project="Sdk.targets" Sdk="Microsoft.Maui.Sdk.net8"
/>
<Import
Condition=" ('$(UseMaui)' == 'true' or '$(UseMauiCore)' == 'true' or '$(UseMauiEssentials)' == 'true' or '$(UseMauiAssets)' == 'true') and ($([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))) and ('$(SkipMauiWorkloadManifest)' != 'true') "
Project="Sdk.targets" Sdk="Microsoft.Maui.Sdk.net7"
/>
<!--
Previous versions of the .NET MAUI SDK used Microsoft.Maui.Resizetizer.Sdk, but the new version uses a NuGet.
-->
<Import
Condition=" ('$(UseMaui)' == 'true' or '$(UseMauiAssets)' == 'true') and ($([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))) and ('$(SkipMauiWorkloadManifest)' != 'true') "
Project="Sdk.targets" Sdk="Microsoft.Maui.Resizetizer.Sdk"
/>
<!--
Previous versions of the .NET MAUI SDK used **FromWorkload**, so replace with explicit versions.
The BundledVersions.targets that is imported is from the previous SDK, so all the other values are correct.
-->
<ItemGroup Condition=" $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0')) and ('$(SkipMauiWorkloadManifest)' != 'true') ">
<KnownFrameworkReference
Update="Microsoft.Maui.Core"
DefaultRuntimeFrameworkVersion="$(MauiVersion)"
LatestRuntimeFrameworkVersion="$(MauiVersion)"
TargetingPackVersion="$(MauiVersion)"
/>
<KnownFrameworkReference
Update="Microsoft.Maui.Controls"
DefaultRuntimeFrameworkVersion="$(MauiVersion)"
LatestRuntimeFrameworkVersion="$(MauiVersion)"
TargetingPackVersion="$(MauiVersion)"
/>
<KnownFrameworkReference
Update="Microsoft.Maui.Essentials"
DefaultRuntimeFrameworkVersion="$(MauiVersion)"
LatestRuntimeFrameworkVersion="$(MauiVersion)"
TargetingPackVersion="$(MauiVersion)"
/>
</ItemGroup>
</Project>
@@ -0,0 +1,62 @@
{
"version": "18.0.8319",
"workloads": {
"tvos": {
"description": ".NET SDK Workload for building tvOS applications.",
"packs": [
"Microsoft.tvOS.Sdk.net8.0_18.0",
"Microsoft.tvOS.Sdk.net8.0_17.0",
"Microsoft.tvOS.Sdk.net7",
"Microsoft.tvOS.Ref.net8.0_18.0",
"Microsoft.tvOS.Runtime.tvos-arm64.net8.0_18.0",
"Microsoft.tvOS.Runtime.tvossimulator-x64.net8.0_18.0",
"Microsoft.tvOS.Runtime.tvossimulator-arm64.net8.0_18.0",
"Microsoft.tvOS.Templates.net8"
],
"extends": [
"microsoft-net-runtime-tvos",
"microsoft-net-runtime-tvos-net7",
]
},
},
"packs": {
"Microsoft.tvOS.Sdk.net8.0_18.0": {
"kind": "sdk",
"version": "18.0.8319",
},
"Microsoft.tvOS.Sdk.net8.0_17.0": {
"kind": "sdk",
"version": "17.0.8523",
},
"Microsoft.tvOS.Sdk.net7": {
"kind": "sdk",
"version": "16.4.7142",
"alias-to": {
"any": "Microsoft.tvOS.Sdk"
}
},
"Microsoft.tvOS.Ref.net8.0_18.0": {
"kind": "framework",
"version": "18.0.8319"
},
"Microsoft.tvOS.Runtime.tvos-arm64.net8.0_18.0": {
"kind": "framework",
"version": "18.0.8319"
},
"Microsoft.tvOS.Runtime.tvossimulator-x64.net8.0_18.0": {
"kind": "framework",
"version": "18.0.8319"
},
"Microsoft.tvOS.Runtime.tvossimulator-arm64.net8.0_18.0": {
"kind": "framework",
"version": "18.0.8319"
},
"Microsoft.tvOS.Templates.net8": {
"kind": "template",
"version": "18.0.8319",
"alias-to": {
"any": "Microsoft.tvOS.Templates",
}
}
}
}
@@ -0,0 +1,23 @@
<Project>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'tvOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))">
<Import Project="Sdk.props" Sdk="Microsoft.tvOS.Sdk.net7" />
</ImportGroup>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'tvOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0')) And '$(TargetPlatformVersion)' == '17.0'">
<Import Project="Sdk.props" Sdk="Microsoft.tvOS.Sdk.net8.0_17.0" />
</ImportGroup>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'tvOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0'))">
<Import Project="Sdk.props" Sdk="Microsoft.tvOS.Sdk.net8.0_18.0" /> <!-- this SDK version will validate the TargetPlatformVersion and show an error (in .NET 9+) or a warning (.NET 8) if it's not valid -->
</ImportGroup>
<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'tvOS' And '$(UsingAppleNETSdk)' != 'true'">
<Import Project="Sdk-eol.props" Sdk="Microsoft.tvOS.Sdk.net8.0_18.0" Condition=" $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '7.0'))" />
<Import Project="Sdk.props" Sdk="Microsoft.tvOS.Sdk.net8.0_18.0" Condition=" $([MSBuild]::VersionGreaterThan($(TargetFrameworkVersion), '8.0'))" />
</ImportGroup>
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
<SdkSupportedTargetPlatformIdentifier Include="tvos" DisplayName="tvOS" />
</ItemGroup>
</Project>
@@ -0,0 +1,64 @@
{
"version": "8.0.33",
"workloads": {
"microsoft-net-sdk-emscripten": {
"abstract": true,
"description": "Emscripten SDK compiler tooling for net8.0",
"packs": [
"Microsoft.NET.Runtime.Emscripten.Node.net8",
"Microsoft.NET.Runtime.Emscripten.Python.net8",
"Microsoft.NET.Runtime.Emscripten.Cache.net8",
"Microsoft.NET.Runtime.Emscripten.Sdk.net8"
],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ]
}
},
"packs": {
"Microsoft.NET.Runtime.Emscripten.Node.net8" : {
"kind": "Sdk",
"version": "8.0.33",
"alias-to": {
"win-x64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Node.win-x64",
"win-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Node.win-arm64",
"linux-x64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Node.linux-x64",
"linux-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Node.linux-arm64",
"osx-x64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Node.osx-x64",
"osx-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Node.osx-arm64"
}
},
"Microsoft.NET.Runtime.Emscripten.Python.net8" : {
"kind": "Sdk",
"version": "8.0.33",
"alias-to": {
"win-x64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Python.win-x64",
"win-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Python.win-arm64",
"osx-x64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Python.osx-x64",
"osx-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Python.osx-arm64"
}
},
"Microsoft.NET.Runtime.Emscripten.Cache.net8" : {
"kind": "Sdk",
"version": "8.0.33",
"alias-to": {
"win-x64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.win-x64",
"win-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.win-arm64",
"linux-x64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.linux-x64",
"linux-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.linux-arm64",
"osx-x64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.osx-x64",
"osx-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.osx-arm64"
}
},
"Microsoft.NET.Runtime.Emscripten.Sdk.net8" : {
"kind": "Sdk",
"version": "8.0.33",
"alias-to": {
"win-x64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.win-x64",
"win-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.win-arm64",
"linux-x64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.linux-x64",
"linux-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.linux-arm64",
"osx-x64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.osx-x64",
"osx-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.osx-arm64"
}
}
}
}
@@ -0,0 +1,28 @@
<Project>
<PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">
<BrowserWorkloadDisabled Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and !$([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '6.0'))">true</BrowserWorkloadDisabled>
</PropertyGroup>
<PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(BrowserWorkloadDisabled)' == 'true'">
<_NativeBuildNeeded Condition="'$(RunAOTCompilation)' == 'true'">true</_NativeBuildNeeded>
<WorkloadDisabledWithReason Condition="'$(_NativeBuildNeeded)' == 'true'">WebAssembly workloads (required for AOT) are only supported for projects targeting net6.0+</WorkloadDisabledWithReason>
</PropertyGroup>
<PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(BrowserWorkloadDisabled)' != 'true'">
<UsingBrowserRuntimeWorkload Condition="'$(RunAOTCompilation)' == 'true' or '$(UsingMicrosoftNETSdkBlazorWebAssembly)' != 'true' or '$(UsingMicrosoftNETSdkWebAssembly)' != 'true'" >true</UsingBrowserRuntimeWorkload>
<UsingBrowserRuntimeWorkload Condition="'$(UsingBrowserRuntimeWorkload)' == ''" >$(WasmNativeWorkload)</UsingBrowserRuntimeWorkload>
</PropertyGroup>
<PropertyGroup Condition="'$(BrowserWorkloadDisabled)' == 'true'">
<UsingBrowserRuntimeWorkload>false</UsingBrowserRuntimeWorkload>
<WasmNativeWorkload>false</WasmNativeWorkload>
</PropertyGroup>
<ImportGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0'))">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Python.net8" Condition="!$([MSBuild]::IsOsPlatform('Linux'))" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Node.net8" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Sdk.net8" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Cache.net8" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.Emscripten.Cache.net8" />
</ImportGroup>
</Project>
@@ -0,0 +1,49 @@
{
"version": "8.0.33",
"workloads": {
"microsoft-net-sdk-emscripten-net6": {
"abstract": true,
"description": "Emscripten SDK compiler tooling",
"packs": [
"Microsoft.NET.Runtime.Emscripten.Node.net6",
"Microsoft.NET.Runtime.Emscripten.Python.net6",
"Microsoft.NET.Runtime.Emscripten.Sdk.net6"
],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
}
},
"packs": {
"Microsoft.NET.Runtime.Emscripten.Node.net6" : {
"kind": "Sdk",
"version": "6.0.36",
"alias-to": {
"win-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.win-x64",
"win-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.win-x64",
"linux-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.linux-x64",
"osx-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.osx-x64",
"osx-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Node.osx-x64"
}
},
"Microsoft.NET.Runtime.Emscripten.Python.net6" : {
"kind": "Sdk",
"version": "6.0.36",
"alias-to": {
"win-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Python.win-x64",
"win-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Python.win-x64",
"osx-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Python.osx-x64",
"osx-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Python.osx-x64"
}
},
"Microsoft.NET.Runtime.Emscripten.Sdk.net6" : {
"kind": "Sdk",
"version": "6.0.36",
"alias-to": {
"win-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64",
"win-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64",
"linux-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64",
"osx-x64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.osx-x64",
"osx-arm64": "Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.osx-x64"
}
}
}
}
@@ -0,0 +1,7 @@
<Project>
<ImportGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '6.0'))">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Python.net6" Condition="!$([MSBuild]::IsOsPlatform('Linux'))" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Node.net6" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Sdk.net6" />
</ImportGroup>
</Project>
@@ -0,0 +1,61 @@
{
"version": "8.0.33",
"workloads": {
"microsoft-net-sdk-emscripten-net7": {
"abstract": true,
"description": "Emscripten SDK compiler tooling",
"packs": [
"Microsoft.NET.Runtime.Emscripten.Node.net7",
"Microsoft.NET.Runtime.Emscripten.Python.net7",
"Microsoft.NET.Runtime.Emscripten.Cache.net7",
"Microsoft.NET.Runtime.Emscripten.Sdk.net7"
],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
}
},
"packs": {
"Microsoft.NET.Runtime.Emscripten.Node.net7" : {
"kind": "Sdk",
"version": "7.0.20",
"alias-to": {
"win-x64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Node.win-x64",
"win-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Node.win-x64",
"linux-x64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Node.linux-x64",
"osx-x64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Node.osx-x64",
"osx-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Node.osx-x64"
}
},
"Microsoft.NET.Runtime.Emscripten.Python.net7" : {
"kind": "Sdk",
"version": "7.0.20",
"alias-to": {
"win-x64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Python.win-x64",
"win-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Python.win-x64",
"osx-x64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Python.osx-x64",
"osx-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Python.osx-x64"
}
},
"Microsoft.NET.Runtime.Emscripten.Cache.net7" : {
"kind": "Sdk",
"version": "7.0.20",
"alias-to": {
"win-x64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Cache.win-x64",
"win-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Cache.win-x64",
"linux-x64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Cache.linux-x64",
"osx-x64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Cache.osx-x64",
"osx-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Cache.osx-x64"
}
},
"Microsoft.NET.Runtime.Emscripten.Sdk.net7" : {
"kind": "Sdk",
"version": "7.0.20",
"alias-to": {
"win-x64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Sdk.win-x64",
"win-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Sdk.win-x64",
"linux-x64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Sdk.linux-x64",
"osx-x64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Sdk.osx-x64",
"osx-arm64": "Microsoft.NET.Runtime.Emscripten.3.1.12.Sdk.osx-x64"
}
}
}
}
@@ -0,0 +1,28 @@
<Project>
<PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">
<BrowserWorkloadDisabled Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and !$([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '6.0'))">true</BrowserWorkloadDisabled>
</PropertyGroup>
<PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(BrowserWorkloadDisabled)' == 'true'">
<_NativeBuildNeeded Condition="'$(RunAOTCompilation)' == 'true'">true</_NativeBuildNeeded>
<WorkloadDisabledWithReason Condition="'$(_NativeBuildNeeded)' == 'true'">WebAssembly workloads (required for AOT) are only supported for projects targeting net6.0+</WorkloadDisabledWithReason>
</PropertyGroup>
<PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(BrowserWorkloadDisabled)' != 'true'">
<UsingBrowserRuntimeWorkload Condition="'$(RunAOTCompilation)' == 'true' or '$(UsingMicrosoftNETSdkBlazorWebAssembly)' != 'true'" >true</UsingBrowserRuntimeWorkload>
<UsingBrowserRuntimeWorkload Condition="'$(UsingBrowserRuntimeWorkload)' == ''" >$(WasmNativeWorkload)</UsingBrowserRuntimeWorkload>
</PropertyGroup>
<PropertyGroup Condition="'$(BrowserWorkloadDisabled)' == 'true'">
<UsingBrowserRuntimeWorkload>false</UsingBrowserRuntimeWorkload>
<WasmNativeWorkload>false</WasmNativeWorkload>
</PropertyGroup>
<ImportGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '7.0'))">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Python.net7" Condition="!$([MSBuild]::IsOsPlatform('Linux'))" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Node.net7" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Sdk.net7" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Cache.net7" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.Emscripten.Cache.net7" />
</ImportGroup>
</Project>
@@ -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 組建工具"
}
@@ -0,0 +1,459 @@
{
"version": "8.0.33",
"depends-on": {
"Microsoft.NET.Workload.Emscripten.net6": "8.0.33"
},
"workloads": {
"wasm-tools-net6": {
"description": ".NET WebAssembly build tools for net6.0",
"packs": [
"Microsoft.NET.Runtime.WebAssembly.Sdk.net6",
"Microsoft.NETCore.App.Runtime.Mono.net6.browser-wasm",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.browser-wasm"
],
"extends": [ "microsoft-net-runtime-mono-tooling-net6", "microsoft-net-sdk-emscripten-net6" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
},
"microsoft-net-runtime-android-net6": {
"abstract": true,
"description": "Android Mono Runtime",
"packs": [
"Microsoft.NETCore.App.Runtime.Mono.net6.android-arm",
"Microsoft.NETCore.App.Runtime.Mono.net6.android-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net6.android-x64",
"Microsoft.NETCore.App.Runtime.Mono.net6.android-x86"
],
"extends": [ "microsoft-net-runtime-mono-tooling-net6" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
},
"microsoft-net-runtime-android-aot-net6": {
"abstract": true,
"description": "Android Mono AOT Workload",
"packs": [
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x86",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm64"
],
"extends": [ "microsoft-net-runtime-android-net6" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
},
"microsoft-net-runtime-ios-net6": {
"abstract": true,
"description": "iOS Mono Runtime and AOT Workload",
"packs": [
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-arm64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x86"
],
"extends": [ "runtimes-ios-net6" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"runtimes-ios-net6": {
"abstract": true,
"description": "iOS Mono Runtime Packs",
"packs": [
"Microsoft.NETCore.App.Runtime.Mono.net6.ios-arm",
"Microsoft.NETCore.App.Runtime.Mono.net6.ios-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-x64",
"Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-x86"
],
"extends": [ "microsoft-net-runtime-mono-tooling-net6" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"microsoft-net-runtime-maccatalyst-net6": {
"abstract": true,
"description": "MacCatalyst Mono Runtime and AOT Workload",
"packs": [
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-arm64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-x64"
],
"extends": [ "runtimes-maccatalyst-net6" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"runtimes-maccatalyst-net6": {
"abstract": true,
"description": "MacCatalyst Mono Runtime Packs",
"packs": [
"Microsoft.NETCore.App.Runtime.Mono.net6.maccatalyst-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net6.maccatalyst-x64"
],
"extends": [ "microsoft-net-runtime-mono-tooling-net6" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"microsoft-net-runtime-macos-net6": {
"abstract": true,
"description": "MacOS CoreCLR and Mono Runtime Workload",
"packs": [
"Microsoft.NETCore.App.Runtime.Mono.net6.osx-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net6.osx-x64",
"Microsoft.NETCore.App.Runtime.net6.osx-arm64",
"Microsoft.NETCore.App.Runtime.net6.osx-x64"
],
"extends": [ "microsoft-net-runtime-mono-tooling-net6" ],
"platforms": [ "osx-arm64", "osx-x64" ]
},
"microsoft-net-runtime-tvos-net6": {
"abstract": true,
"description": "tvOS Mono Runtime and AOT Workload",
"packs": [
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvos-arm64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-arm64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-x64"
],
"extends": [ "runtimes-tvos-net6" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"runtimes-tvos-net6": {
"abstract": true,
"description": "tvOS Mono Runtime Packs",
"packs": [
"Microsoft.NETCore.App.Runtime.Mono.net6.tvos-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net6.tvossimulator-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net6.tvossimulator-x64"
],
"extends": [ "microsoft-net-runtime-mono-tooling-net6" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"runtimes-windows-net6": {
"abstract": true,
"description": "Windows Runtime Packs for net6.0",
"packs": [
"Microsoft.NETCore.App.Runtime.net6.win-x64",
"Microsoft.NETCore.App.Runtime.net6.win-x86",
"Microsoft.NETCore.App.Runtime.net6.win-arm",
"Microsoft.NETCore.App.Runtime.net6.win-arm64"
]
},
"microsoft-net-runtime-mono-tooling-net6": {
"abstract": true,
"description": "Shared native build tooling for Mono runtime",
"packs": [
"Microsoft.NET.Runtime.MonoAOTCompiler.Task.net6",
"Microsoft.NET.Runtime.MonoTargets.Sdk.net6"
]
}
},
"packs": {
"Microsoft.NET.Runtime.MonoAOTCompiler.Task.net6": {
"kind": "Sdk",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NET.Runtime.MonoAOTCompiler.Task"
}
},
"Microsoft.NET.Runtime.MonoTargets.Sdk.net6": {
"kind": "Sdk",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NET.Runtime.MonoTargets.Sdk"
}
},
"Microsoft.NET.Runtime.WebAssembly.Sdk.net6": {
"kind": "Sdk",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NET.Runtime.WebAssembly.Sdk"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.android-arm": {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.android-arm"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.android-arm64": {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.android-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.android-x64": {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.android-x64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.android-x86": {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.android-x86"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x86": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.android-x64": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.android-arm": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.android-arm64": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.maccatalyst-arm64": {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.maccatalyst-x64": {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.osx-arm64": {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.osx-x64": {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.osx-x64"
}
},
"Microsoft.NETCore.App.Runtime.net6.osx-arm64": {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"
}
},
"Microsoft.NETCore.App.Runtime.net6.osx-x64": {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.osx-x64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.ios-arm" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.ios-arm64" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-arm64" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-x64" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.iossimulator-x86" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvos-arm64": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.tvos-arm64" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.tvos-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.tvossimulator-arm64" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net6.tvossimulator-x64" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-arm64": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.maccatalyst-x64": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.tvossimulator-arm64": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.tvossimulator-x64": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.ios-arm": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.ios-arm64": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.iossimulator-arm64": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.iossimulator-x64": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.iossimulator-x86": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.browser-wasm": {
"kind": "Sdk",
"version": "6.0.36",
"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.net6.browser-wasm" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.browser-wasm"
}
},
"Microsoft.NETCore.App.Runtime.net6.win-x64" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.win-x64"
}
},
"Microsoft.NETCore.App.Runtime.net6.win-x86" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.win-x86"
}
},
"Microsoft.NETCore.App.Runtime.net6.win-arm" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.win-arm"
}
},
"Microsoft.NETCore.App.Runtime.net6.win-arm64" : {
"kind": "framework",
"version": "6.0.36",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.win-arm64"
}
}
}
}
@@ -0,0 +1,75 @@
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
<Project TreatAsLocalProperty="WasmNativeWorkload">
<Import Condition="'$(TargetsNet6)' == 'true' and '$(RunAOTCompilation)' == 'true' and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingMobileWorkload)' == 'true')" Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoAOTCompiler.Task.net6" />
<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'android'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'android' and '$(RunAOTCompilation)' == 'true'">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x86" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm64" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'macOS'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />
</ImportGroup>
<!--
<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'macOS' and $([MSBuild]::IsOSPlatform('osx'))">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.osx-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.osx-x64" />
</ImportGroup>
-->
<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'ios'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'ios' and $([MSBuild]::IsOSPlatform('osx'))">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x86" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'maccatalyst'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'maccatalyst' and $([MSBuild]::IsOSPlatform('osx'))">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-x64" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'tvos'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'tvos' and $([MSBuild]::IsOSPlatform('osx'))">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvos-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-x64" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net6" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.browser-wasm" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />
</ImportGroup>
<PropertyGroup Condition="'$(TargetsNet6)' == 'true' and ('$(TargetPlatformIdentifier)' == 'android' or '$(TargetPlatformIdentifier)' == 'macOS' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'tvos' or '$(RuntimeIdentifier)' == 'browser-wasm')">
<_MonoWorkloadTargetsMobile>true</_MonoWorkloadTargetsMobile>
<_MonoWorkloadRuntimePackPackageVersion>$(_RuntimePackInWorkloadVersion6)</_MonoWorkloadRuntimePackPackageVersion>
</PropertyGroup>
<ItemGroup Condition="'$(TargetsNet6)' == 'true' and '$(_MonoWorkloadTargetsMobile)' == 'true'">
<KnownRuntimePack Update="@(KnownRuntimePack)">
<LatestRuntimeFrameworkVersion Condition="'%(KnownRuntimePack.TargetFramework)' == 'net6.0' and '%(KnownRuntimePack.RuntimePackLabels)' == 'Mono'">$(_MonoWorkloadRuntimePackPackageVersion)</LatestRuntimeFrameworkVersion>
</KnownRuntimePack>
</ItemGroup>
</Project>
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": "Nástroje pro sestavení .NET WebAssembly"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": ".NET WebAssembly-Buildtools"
}
@@ -0,0 +1,4 @@
{
"workloads/wasm-tools-net6/description": ".NET WebAssembly build tools for net6.0",
"workloads/runtimes-windows-net6/description": "Windows Runtime Packs for net6.0"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": "Herramientas de compilación de WebAssembly de .NET"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": "Outils de construction .NET WebAssembly"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": "Strumenti di compilazione WebAssembly .NET"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": ".NET WebAssembly ビルド ツール"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": ".NET WebAssembly 빌드 도구"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": "Narzędzia kompilacji zestawu WebAssembly platformy .NET"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": "Ferramentas de build do .NET WebAssembly"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": "Средства сборки WebAssembly .NET"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": ".NET WebAssembly derleme araçları"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": ".NET WebAssembly 生成工具"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net6/description": ".NET WebAssembly 組建工具"
}
@@ -0,0 +1,490 @@
{
"version": "8.0.33",
"depends-on": {
"Microsoft.NET.Workload.Emscripten.net7": "8.0.33"
},
"workloads": {
"wasm-tools-net7": {
"description": ".NET WebAssembly build tools for net7.0",
"packs": [
"Microsoft.NET.Runtime.WebAssembly.Sdk.net7",
"Microsoft.NETCore.App.Runtime.Mono.net7.browser-wasm",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.browser-wasm"
],
"extends": [ "microsoft-net-runtime-mono-tooling-net7", "microsoft-net-sdk-emscripten-net7" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
},
"wasm-experimental-net7": {
"description": ".NET WebAssembly experimental tooling for net7.0",
"packs": [
"Microsoft.NET.Runtime.WebAssembly.Templates.net7",
"Microsoft.NETCore.App.Runtime.Mono.multithread.net7.browser-wasm",
"Microsoft.NETCore.App.Runtime.Mono.perftrace.net7.browser-wasm"
],
"extends": [ "wasm-tools-net7" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
},
"microsoft-net-runtime-android-net7": {
"abstract": true,
"description": "Android Mono Runtime",
"packs": [
"Microsoft.NETCore.App.Runtime.Mono.net7.android-arm",
"Microsoft.NETCore.App.Runtime.Mono.net7.android-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net7.android-x64",
"Microsoft.NETCore.App.Runtime.Mono.net7.android-x86"
],
"extends": [ "microsoft-net-runtime-mono-tooling-net7" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
},
"microsoft-net-runtime-android-aot-net7": {
"abstract": true,
"description": "Android Mono AOT Workload",
"packs": [
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-x86",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-x64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-arm",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-arm64"
],
"extends": [ "microsoft-net-runtime-android-net7" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
},
"microsoft-net-runtime-ios-net7": {
"abstract": true,
"description": "iOS Mono Runtime and AOT Workload",
"packs": [
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.ios-arm",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.ios-arm64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.iossimulator-arm64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.iossimulator-x64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.iossimulator-x86"
],
"extends": [ "runtimes-ios-net7" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"runtimes-ios-net7": {
"abstract": true,
"description": "iOS Mono Runtime Packs",
"packs": [
"Microsoft.NETCore.App.Runtime.Mono.net7.ios-arm",
"Microsoft.NETCore.App.Runtime.Mono.net7.ios-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net7.iossimulator-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net7.iossimulator-x64",
"Microsoft.NETCore.App.Runtime.Mono.net7.iossimulator-x86"
],
"extends": [ "microsoft-net-runtime-mono-tooling-net7" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"microsoft-net-runtime-maccatalyst-net7": {
"abstract": true,
"description": "MacCatalyst Mono Runtime and AOT Workload",
"packs": [
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.maccatalyst-arm64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.maccatalyst-x64"
],
"extends": [ "runtimes-maccatalyst-net7" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"runtimes-maccatalyst-net7": {
"abstract": true,
"description": "MacCatalyst Mono Runtime Packs",
"packs": [
"Microsoft.NETCore.App.Runtime.Mono.net7.maccatalyst-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net7.maccatalyst-x64"
],
"extends": [ "microsoft-net-runtime-mono-tooling-net7" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"microsoft-net-runtime-macos-net7": {
"abstract": true,
"description": "MacOS CoreCLR and Mono Runtime Workload",
"packs": [
"Microsoft.NETCore.App.Runtime.Mono.net7.osx-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net7.osx-x64",
"Microsoft.NETCore.App.Runtime.osx-arm64",
"Microsoft.NETCore.App.Runtime.osx-x64"
],
"extends": [ "microsoft-net-runtime-mono-tooling-net7" ],
"platforms": [ "osx-arm64", "osx-x64" ]
},
"microsoft-net-runtime-tvos-net7": {
"abstract": true,
"description": "tvOS Mono Runtime and AOT Workload",
"packs": [
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.tvos-arm64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.tvossimulator-arm64",
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.tvossimulator-x64"
],
"extends": [ "runtimes-tvos-net7" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"runtimes-tvos-net7": {
"abstract": true,
"description": "tvOS Mono Runtime Packs",
"packs": [
"Microsoft.NETCore.App.Runtime.Mono.net7.tvos-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net7.tvossimulator-arm64",
"Microsoft.NETCore.App.Runtime.Mono.net7.tvossimulator-x64"
],
"extends": [ "microsoft-net-runtime-mono-tooling-net7" ],
"platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
},
"runtimes-windows-net7": {
"abstract": true,
"description": "Windows Runtime Packs for net7.0",
"packs": [
"Microsoft.NETCore.App.Runtime.net7.win-x64",
"Microsoft.NETCore.App.Runtime.net7.win-x86",
"Microsoft.NETCore.App.Runtime.net7.win-arm",
"Microsoft.NETCore.App.Runtime.net7.win-arm64"
]
},
"microsoft-net-runtime-mono-tooling-net7": {
"abstract": true,
"description": "Shared native build tooling for Mono runtime",
"packs": [
"Microsoft.NET.Runtime.MonoAOTCompiler.Task.net7",
"Microsoft.NET.Runtime.MonoTargets.Sdk.net7"
]
}
},
"packs": {
"Microsoft.NET.Runtime.MonoAOTCompiler.Task.net7": {
"kind": "Sdk",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NET.Runtime.MonoAOTCompiler.Task"
}
},
"Microsoft.NET.Runtime.MonoTargets.Sdk.net7": {
"kind": "Sdk",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NET.Runtime.MonoTargets.Sdk"
}
},
"Microsoft.NET.Runtime.WebAssembly.Sdk.net7": {
"kind": "Sdk",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NET.Runtime.WebAssembly.Sdk"
}
},
"Microsoft.NET.Runtime.WebAssembly.Templates.net7": {
"kind": "template",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NET.Runtime.WebAssembly.Templates"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.android-arm": {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.android-arm"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.android-arm64": {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.android-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.android-x64": {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.android-x64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.android-x86": {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.android-x86"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-x86": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.android-x64": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.android-arm": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.android-arm64": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.maccatalyst-arm64": {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.maccatalyst-x64": {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.osx-arm64": {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.osx-x64": {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.osx-x64"
}
},
"Microsoft.NETCore.App.Runtime.net7.osx-arm64": {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"
}
},
"Microsoft.NETCore.App.Runtime.net7.osx-x64": {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.osx-x64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.ios-arm" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.ios-arm64" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.ios-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.iossimulator-arm64" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.iossimulator-x64" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.iossimulator-x86" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x86"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.tvos-arm64": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.tvos-arm64" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.tvos-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.tvossimulator-arm64" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64"
}
},
"Microsoft.NETCore.App.Runtime.Mono.net7.tvossimulator-x64" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64"
}
},
"Microsoft.NETCore.App.Runtime.AOT.Cross.net7.maccatalyst-arm64": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.maccatalyst-x64": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.tvossimulator-arm64": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.tvossimulator-x64": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.ios-arm": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.ios-arm64": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.iossimulator-arm64": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.iossimulator-x64": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.iossimulator-x86": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.browser-wasm": {
"kind": "Sdk",
"version": "7.0.20",
"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.net7.browser-wasm" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.browser-wasm"
}
},
"Microsoft.NETCore.App.Runtime.Mono.multithread.net7.browser-wasm" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm"
}
},
"Microsoft.NETCore.App.Runtime.Mono.perftrace.net7.browser-wasm" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.Mono.perftrace.browser-wasm"
}
},
"Microsoft.NETCore.App.Runtime.net7.win-x64" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.win-x64"
}
},
"Microsoft.NETCore.App.Runtime.net7.win-x86" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.win-x86"
}
},
"Microsoft.NETCore.App.Runtime.net7.win-arm" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.win-arm"
}
},
"Microsoft.NETCore.App.Runtime.net7.win-arm64" : {
"kind": "framework",
"version": "7.0.20",
"alias-to": {
"any": "Microsoft.NETCore.App.Runtime.win-arm64"
}
}
}
}
@@ -0,0 +1,73 @@
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
<Project>
<Import Condition="'$(TargetsNet7)' == 'true' and '$(RunAOTCompilation)' == 'true' and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingMobileWorkload)' == 'true')" Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoAOTCompiler.Task.net7" />
<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'android'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'android' and '$(RunAOTCompilation)' == 'true'">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-x86" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-x64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-arm" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-arm64" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'macOS'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'ios'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'ios' and $([MSBuild]::IsOSPlatform('osx'))">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.ios-arm" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.ios-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.iossimulator-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.iossimulator-x64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.iossimulator-x86" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'maccatalyst'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'maccatalyst' and $([MSBuild]::IsOSPlatform('osx'))">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.maccatalyst-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.maccatalyst-x64" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'tvos'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'tvos' and $([MSBuild]::IsOSPlatform('osx'))">
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.tvos-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.tvossimulator-arm64" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.tvossimulator-x64" />
</ImportGroup>
<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true'">
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net7" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net7" />
<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.browser-wasm" />
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />
</ImportGroup>
<PropertyGroup Condition="'$(TargetsNet7)' == 'true' and ('$(TargetPlatformIdentifier)' == 'android' or '$(TargetPlatformIdentifier)' == 'macOS' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'tvos' or '$(RuntimeIdentifier)' == 'browser-wasm')">
<_MonoWorkloadTargetsMobile>true</_MonoWorkloadTargetsMobile>
<_MonoWorkloadRuntimePackPackageVersion>$(_RuntimePackInWorkloadVersion7)</_MonoWorkloadRuntimePackPackageVersion>
</PropertyGroup>
<ItemGroup Condition="'$(TargetsNet7)' == 'true' and '$(_MonoWorkloadTargetsMobile)' == 'true'">
<KnownRuntimePack Update="@(KnownRuntimePack)">
<LatestRuntimeFrameworkVersion Condition="'%(KnownRuntimePack.TargetFramework)' == 'net7.0' and '%(KnownRuntimePack.RuntimePackLabels)' == 'Mono'">$(_MonoWorkloadRuntimePackPackageVersion)</LatestRuntimeFrameworkVersion>
<!-- Overrides for wasm threads support -->
<RuntimePackNamePatterns Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(WasmEnablethreads)' == 'true'">Microsoft.NETCore.App.Runtime.Mono.multithread.**RID**</RuntimePackNamePatterns>
<RuntimePackNamePatterns Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(WasmEnablePerfTracing)' == 'true'">Microsoft.NETCore.App.Runtime.Mono.perftrace.**RID**</RuntimePackNamePatterns>
</KnownRuntimePack>
</ItemGroup>
</Project>
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net7/description": "Nástroje pro sestavení .NET WebAssembly"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net7/description": ".NET WebAssembly-Buildtools"
}
@@ -0,0 +1,5 @@
{
"workloads/wasm-tools-net7/description": ".NET WebAssembly build tools for net7.0",
"workloads/wasm-experimental-net7/description": ".NET WebAssembly experimental tooling for net7.0",
"workloads/runtimes-windows-net7/description": "Windows Runtime Packs for net7.0"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net7/description": "Herramientas de compilación de WebAssembly de .NET"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net7/description": "Outils de construction .NET WebAssembly"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net7/description": "Strumenti di compilazione WebAssembly .NET"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net7/description": ".NET WebAssembly ビルド ツール"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net7/description": ".NET WebAssembly 빌드 도구"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net7/description": "Narzędzia kompilacji zestawu WebAssembly platformy .NET"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net7/description": "Ferramentas de build do .NET WebAssembly"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools/description": "Средства сборки WebAssembly .NET"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net7/description": ".NET WebAssembly derleme araçları"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net7/description": ".NET WebAssembly 生成工具"
}
@@ -0,0 +1,3 @@
{
"workloads/wasm-tools-net7/description": ".NET WebAssembly 組建工具"
}
+10
View File
@@ -0,0 +1,10 @@
# build output
bin/
obj/
prebuilt/
*.user
.vs/
# installers and archives — attach these to a Gitea Release instead of committing them
*.exe
*.zip
*.pdb
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
View File
+359
View File
@@ -0,0 +1,359 @@
using System.Windows;
namespace LiveWall.Sdk;
/// <summary>Version of the plugin API. Bumped when contracts change in an incompatible way.</summary>
public static class PluginApi
{
/// <summary>Current contract version. Plugins must declare a compatible version in plugin.json.</summary>
public const string Version = "1.0";
/// <summary>Host application version this SDK shipped with (informational).</summary>
public const string HostVersion = "1.8.4";
}
/// <summary>
/// What a plugin is allowed to do, declared in its <c>plugin.json</c> and shown to the user before
/// the plugin is enabled. These are declarations, not a sandbox: a plugin runs inside LiveWall's
/// process with full .NET rights. They exist so the user knows what they are agreeing to.
/// </summary>
[Flags]
public enum PluginPermission
{
None = 0,
/// <summary>Read the current wallpaper, playback state and a snapshot of the settings.</summary>
ReadWallpaper = 1 << 0,
/// <summary>Play / pause / next / set the wallpaper.</summary>
ControlPlayback = 1 << 1,
/// <summary>Draw a layer on top of the wallpaper (clocks, visualisers, badges…).</summary>
DesktopOverlay = 1 << 2,
/// <summary>Contribute pages to the LiveWall settings window.</summary>
SettingsUi = 1 << 3,
/// <summary>Contribute commands the user can run from the app.</summary>
Commands = 1 << 4,
/// <summary>Contribute entries to the tray menu.</summary>
TrayMenu = 1 << 5,
/// <summary>Register global hotkeys.</summary>
Hotkeys = 1 << 6,
/// <summary>Read and write files (the plugin's data folder, and anything the user points it at).</summary>
FileSystem = 1 << 7,
/// <summary>Make outbound network requests.</summary>
Network = 1 << 8,
/// <summary>Supply a wallpaper renderer for sources it claims (overrides the built-in players).</summary>
Renderer = 1 << 9,
/// <summary>Rewrite or veto wallpaper requests before the engine applies them.</summary>
Filters = 1 << 10,
All = ReadWallpaper | ControlPlayback | DesktopOverlay | SettingsUi | Commands | TrayMenu |
Hotkeys | FileSystem | Network | Renderer | Filters
}
/// <summary>Human readable description of what every permission means (used by the warning dialog).</summary>
public static class PluginPermissionInfo
{
public static string Describe(PluginPermission permission) => permission switch
{
PluginPermission.ReadWallpaper => "Read your current wallpaper, playback state and settings",
PluginPermission.ControlPlayback => "Start, stop, skip and replace your wallpaper",
PluginPermission.DesktopOverlay => "Draw content on top of your desktop wallpaper",
PluginPermission.SettingsUi => "Add pages to the LiveWall settings window",
PluginPermission.Commands => "Add commands to LiveWall",
PluginPermission.TrayMenu => "Add entries to the LiveWall tray menu",
PluginPermission.Hotkeys => "Register system-wide keyboard shortcuts",
PluginPermission.FileSystem => "Read and write files on your computer",
PluginPermission.Network => "Connect to the internet",
PluginPermission.Renderer => "Take over wallpaper playback with its own renderer",
PluginPermission.Filters => "Rewrite or block wallpaper changes",
_ => permission.ToString()
};
/// <summary>Expands a flag set into individual descriptions.</summary>
public static IReadOnlyList<(PluginPermission Permission, string Description)> Expand(PluginPermission permissions)
{
var list = new List<(PluginPermission, string)>();
foreach (PluginPermission p in Enum.GetValues<PluginPermission>())
{
if (p is PluginPermission.None or PluginPermission.All) continue;
if (permissions.HasFlag(p)) list.Add((p, Describe(p)));
}
return list;
}
}
/// <summary>Everything the host knows about a plugin. Filled in by LiveWall before Initialize.</summary>
public sealed class PluginInfo
{
public string Id { get; init; } = "";
public string Name { get; init; } = "";
public string Version { get; init; } = "";
public string Author { get; init; } = "";
public string Description { get; init; } = "";
public string Homepage { get; init; } = "";
public string ApiVersion { get; init; } = "";
public PluginPermission Permissions { get; init; }
/// <summary>Absolute path of the plugin folder.</summary>
public string Folder { get; init; } = "";
/// <summary>Absolute path of the plugin assembly.</summary>
public string AssemblyPath { get; init; } = "";
/// <summary>SHA-256 of the plugin assembly (lower case hex).</summary>
public string Sha256 { get; init; } = "";
/// <summary>
/// True when the loaded assembly hash matches the hash the user trusted on this machine, or the
/// publisher ships it in LiveWall's built-in trusted list. Unverified plugins run with a warning.
/// </summary>
public bool Verified { get; init; }
}
/// <summary>The plugin entry point. One public class implementing this per assembly.</summary>
public interface ILiveWallPlugin
{
/// <summary>
/// Called once, on the UI thread, after the user enabled the plugin. Register your extensions
/// and subscribe to events here. Exceptions are caught, logged and disable the plugin.
/// </summary>
void Initialize(IPluginContext context);
/// <summary>Called when the plugin is disabled, reloaded or the app is closing.</summary>
void Shutdown();
}
/// <summary>Everything a plugin can reach. One instance per plugin.</summary>
public interface IPluginContext
{
PluginInfo Info { get; }
/// <summary>Writes to the LiveWall log next to the host's own messages.</summary>
IPluginLog Log { get; }
/// <summary>Persistent key/value storage owned by the plugin (JSON file in its data folder).</summary>
IPluginStorage Storage { get; }
/// <summary>Read-only snapshot of the user's configuration.</summary>
ISettingsSnapshot Settings { get; }
/// <summary>Actions a plugin may trigger in the host.</summary>
IHostActions Host { get; }
/// <summary>Type based publish/subscribe bus.</summary>
IPluginEvents Events { get; }
/// <summary>Registers extension points (overlays, pages, commands, renderers, filters, hotkeys).</summary>
IPluginRegistrar Extensions { get; }
/// <summary>Cancelled when the plugin is being shut down. Pass it to your async work.</summary>
CancellationToken ShutdownToken { get; }
}
/// <summary>Logging façade. Everything lands in %APPDATA%\LiveWall\logs.</summary>
public interface IPluginLog
{
void Debug(string message);
void Info(string message);
void Warn(string message);
void Error(string message, Exception? exception = null);
}
/// <summary>
/// Per plugin JSON storage. Values are serialised with System.Text.Json, so any POCO works.
/// </summary>
public interface IPluginStorage
{
/// <summary>The plugin's private data folder (created on demand).</summary>
string DataFolder { get; }
T? Get<T>(string key, T? fallback = default);
void Set<T>(string key, T value);
bool Remove(string key);
IReadOnlyCollection<string> Keys { get; }
/// <summary>Absolute path inside the data folder; the directory is created for you.</summary>
string PathFor(string fileName);
/// <summary>Writes pending changes immediately (normally done automatically).</summary>
void Flush();
}
/// <summary>Read-only view of the live settings.</summary>
public interface ISettingsSnapshot
{
Guid SnapshotId { get; }
string SourceKind { get; } // "Video", "AnimatedGif", "Image", "YouTube", "WebPage"
string SourceLocation { get; } // file path or URL
bool Muted { get; }
double Volume { get; } // 0–100
double Speed { get; } // 0.25–4
bool Loop { get; }
bool InteractiveMode { get; }
bool Paused { get; }
int DimPercent { get; }
string DimColor { get; }
IReadOnlyList<string> DisplayDevices { get; }
}
/// <summary>The current wallpaper, as seen by plugins.</summary>
public sealed class WallpaperState
{
public string Kind { get; init; } = "";
public string Source { get; init; } = "";
public string Title { get; init; } = "";
public bool IsPlaying { get; init; }
public bool IsPaused { get; init; }
public bool IsInteractive { get; init; }
public bool SuppliedByPlugin { get; init; }
public string RendererName { get; init; } = "";
}
/// <summary>Host actions. Each one is a no-op when the plugin lacks the permission for it.</summary>
public interface IHostActions
{
WallpaperState Current { get; }
/// <summary>Replaces the wallpaper (needs <see cref="PluginPermission.ControlPlayback"/>).</summary>
void SetWallpaper(WallpaperRequest request);
void Play();
void Pause();
void TogglePause();
void NextWallpaper();
void ReloadWallpaper();
void Reattach();
/// <summary>Opens the LiveWall settings window.</summary>
void OpenSettings();
/// <summary>Status line in the settings window.</summary>
void SetStatus(string text);
/// <summary>Balloon notification (respects the user's notification setting).</summary>
void ShowNotification(string title, string message);
/// <summary>Shows or hides the desktop overlay layer for this plugin.</summary>
void SetOverlayVisible(bool visible);
}
/// <summary>A wallpaper a plugin wants to show.</summary>
public sealed class WallpaperRequest
{
/// <summary>"Video", "AnimatedGif", "Image", "YouTube", "WebPage" or "Custom".</summary>
public string Kind { get; set; } = "Custom";
/// <summary>File path, URL or any string your renderer interprets.</summary>
public string Source { get; set; } = "";
public string Title { get; set; } = "";
/// <summary>Free-form data for your own renderer (survives filters, not persisted).</summary>
public Dictionary<string, string> Metadata { get; } = new(StringComparer.OrdinalIgnoreCase);
public WallpaperRequest Clone()
{
var clone = new WallpaperRequest { Kind = Kind, Source = Source, Title = Title };
foreach (var pair in Metadata) clone.Metadata[pair.Key] = pair.Value;
return clone;
}
public override string ToString() => $"{Kind}:{Source}";
}
/// <summary>Registers extension points. All calls are thread safe and may happen in Initialize.</summary>
public interface IPluginRegistrar
{
/// <summary>Draws above the wallpaper (needs <see cref="PluginPermission.DesktopOverlay"/>).</summary>
void AddOverlay(IWallpaperOverlay overlay);
void RemoveOverlay(IWallpaperOverlay overlay);
/// <summary>Adds a page to the Plugins tab (needs <see cref="PluginPermission.SettingsUi"/>).</summary>
void AddSettingsPage(IPluginSettingsPage page);
/// <summary>Adds a command to the app and the tray menu.</summary>
void AddCommand(PluginCommand command);
/// <summary>Adds a wallpaper filter (needs <see cref="PluginPermission.Filters"/>).</summary>
void AddFilter(IWallpaperFilter filter);
/// <summary>Takes over rendering of sources it claims (needs <see cref="PluginPermission.Renderer"/>).</summary>
void AddRenderer(IWallpaperRendererPlugin renderer);
/// <summary>Registers a global hotkey such as "Ctrl+Alt+K" (needs <see cref="PluginPermission.Hotkeys"/>).</summary>
void AddHotkey(PluginHotkey hotkey);
}
/// <summary>An entry in the app's plugin command list and the tray menu.</summary>
public sealed class PluginCommand
{
public PluginCommand(string id, string title, Action<PluginCommandContext> execute)
{
Id = id;
Title = title;
Execute = execute;
}
public string Id { get; }
public string Title { get; set; }
/// <summary>Optional grouping label, e.g. "Wallpaper".</summary>
public string Category { get; set; } = "";
/// <summary>Return false to disable the entry (evaluated when the menu opens).</summary>
public Func<bool>? CanExecute { get; set; }
internal Action<PluginCommandContext> Execute { get; }
public void Run(PluginCommandContext context) => Execute(context);
}
/// <summary>Passed to <see cref="PluginCommand"/>.</summary>
public sealed class PluginCommandContext
{
public PluginCommandContext(IPluginContext plugin, IHostActions host)
{
Plugin = plugin;
Host = host;
}
public IPluginContext Plugin { get; }
public IHostActions Host { get; }
}
/// <summary>A global keyboard shortcut contributed by a plugin.</summary>
public sealed class PluginHotkey
{
public PluginHotkey(string id, string gesture, Action action)
{
Id = id;
Gesture = gesture;
Action = action;
}
public string Id { get; }
/// <summary>Combination such as "Ctrl+Alt+K", parsed like LiveWall's own hotkeys.</summary>
public string Gesture { get; }
public string Description { get; set; } = "";
public Action Action { get; }
}
/// <summary>Raised by plugins to inform others about something (or to listen).</summary>
public interface IPluginEvents
{
IDisposable Subscribe<TEvent>(Action<TEvent> handler) where TEvent : class;
void Publish<TEvent>(TEvent payload) where TEvent : class;
}
+82
View File
@@ -0,0 +1,82 @@
namespace LiveWall.Sdk;
// ---------------------------------------------------------------------------------------------
// Events published on IPluginEvents. Subscribe from ILiveWallPlugin.Initialize:
//
// context.Events.Subscribe<WallpaperChangedEvent>(e => context.Log.Info($"now: {e.Source}"));
//
// Handlers always run on the WPF UI thread.
// ---------------------------------------------------------------------------------------------
/// <summary>The host finished starting: settings are loaded and the wallpaper is attached.</summary>
public sealed class AppStartedEvent
{
public string HostVersion { get; init; } = "";
public string PluginApiVersion { get; init; } = "";
}
/// <summary>LiveWall is shutting down. Unsubscribe and release resources now.</summary>
public sealed class AppStoppingEvent
{
public string Reason { get; init; } = "exit";
}
/// <summary>A new wallpaper was applied (kind/source/renderer as they are now).</summary>
public sealed class WallpaperChangedEvent
{
public string Kind { get; init; } = "";
public string Source { get; init; } = "";
public string RendererName { get; init; } = "";
public bool FromPlugin { get; init; }
}
/// <summary>Playback started, stopped or was suspended (lock screen, battery, fullscreen…).</summary>
public sealed class PlaybackChangedEvent
{
public bool IsPlaying { get; init; }
public bool IsPaused { get; init; }
public string Reason { get; init; } = "";
}
/// <summary>Interactive mode was toggled.</summary>
public sealed class InteractionChangedEvent
{
public bool Interactive { get; init; }
}
/// <summary>Any settings change. <see cref="Property"/> is the property name that changed.</summary>
public sealed class SettingsChangedEvent
{
public string Property { get; init; } = "";
public ISettingsSnapshot Snapshot { get; init; } = null!;
}
/// <summary>Display topology changed or the wallpaper was re-attached.</summary>
public sealed class DisplayChangedEvent
{
public IReadOnlyList<string> Devices { get; init; } = Array.Empty<string>();
public bool Reattached { get; init; }
}
/// <summary>Session state (lock screen, battery, remote desktop) changed.</summary>
public sealed class SessionChangedEvent
{
public bool Locked { get; init; }
public bool OnBattery { get; init; }
public bool RemoteSession { get; init; }
}
/// <summary>Something failed inside the host; useful for plugins that surface errors.</summary>
public sealed class HostErrorEvent
{
public string Message { get; init; } = "";
public string Source { get; init; } = "";
}
/// <summary>Plugin-to-plugin messaging: publish any class you like.</summary>
public sealed class PluginMessageEvent
{
public string FromPluginId { get; init; } = "";
public string Topic { get; init; } = "";
public string? Payload { get; init; }
}

Some files were not shown because too many files have changed in this diff Show More