{"record":{"id":"45b90b481ff26c98","repo":"Unity-Technologies/UnityCsReference","slug":"invalid-extension-manifest-at-0","errorCode":null,"errorMessage":"Invalid extension manifest at \\\"{0}\\\".","messagePattern":"Invalid extension manifest at \\\\\"(.+?)\\\\\"\\.","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"Editor/Mono/Scripting/Compilers/UWPReferences.cs","lineNumber":71,"sourceCode":"            DefaultFallback = defaultFallback;\n        }\n    }\n\n    [VisibleToOtherModules(\"UnityEditor.BurstModule\")]\n    internal static class UWPReferences\n    {\n        private sealed class UWPExtension\n        {\n            public string Name { get; private set; }\n\n            public string[] References { get; private set; }\n\n            public UWPExtension(string manifest, string windowsKitsFolder, string sdkVersion)\n            {\n                var document = XDocument.Load(manifest);\n                var fileListElement = document.Element(\"FileList\");\n                if (fileListElement.Attribute(\"TargetPlatform\").Value != \"UAP\")\n                    throw new Exception(string.Format(\"Invalid extension manifest at \\\"{0}\\\".\", manifest));\n                Name = fileListElement.Attribute(\"DisplayName\").Value;\n                var containedApiContractsElement = fileListElement.Element(\"ContainedApiContracts\");\n                References = GetReferences(windowsKitsFolder, sdkVersion, containedApiContractsElement);\n            }\n        }\n\n        private static readonly Version kMinimumSupportedUWPVersion = new Version(10, 0, 19041, 0);\n        private static readonly PreviousUWPSDK kMinimumSupportedPreviousUWPSDK = new PreviousUWPSDK(kMinimumSupportedUWPVersion, true);\n        private static readonly UWPSDK kMinimumSupportedUWPSDK = new UWPSDK(kMinimumSupportedUWPVersion, new Version(16, 0), new[] { kMinimumSupportedPreviousUWPSDK });\n\n        public static UWPSDK MinimumSupportedUWPSDK { get { return kMinimumSupportedUWPSDK; } }\n        public static string GetBinPath(UWPSDK sdk, string architecture)\n        {\n            var folder = GetWindowsKit10();\n            if (string.IsNullOrEmpty(folder))\n                return null;\n            var version = SdkVersionToString(sdk.Version);\n","sourceCodeStart":53,"sourceCodeEnd":89,"githubUrl":"https://github.com/Unity-Technologies/UnityCsReference/blob/225b0fbdb57cc17d094e8056b71f8314aba56f73/Editor/Mono/Scripting/Compilers/UWPReferences.cs#L53-L89","documentation":"Thrown from the UWPExtension constructor when parsing a UWP extension SDK manifest (XDocument). The <FileList> element's TargetPlatform attribute is read and must equal \"UAP\"; any other value (or an unexpected manifest schema) is rejected as an invalid extension manifest before references are resolved.","triggerScenarios":"Constructing a UWPExtension with a manifest whose <FileList TargetPlatform=\"...\"> attribute is not \"UAP\", during UWP player build reference resolution.","commonSituations":"Pointing the build at the wrong Windows SDK / kits folder, an outdated or hand-edited extension SDK manifest, mismatched UWP SDK version selection, or a non-UAP SDK manifest being picked up.","solutions":["Install/select a supported UWP/UAP SDK and a Windows Kits folder whose extension manifests declare TargetPlatform=\"UAP\".","Verify the sdkVersion and windowsKitsFolder passed to UWP references resolve to a real UAP extension SDK.","Inspect the manifest path shown in the message and confirm its <FileList> element is a valid UAP extension manifest."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"var doc = XDocument.Load(manifest);\nvar fileList = doc.Element(\"FileList\");\nif (fileList?.Attribute(\"TargetPlatform\")?.Value != \"UAP\")\n    throw new InvalidOperationException($\"{manifest} is not a UAP extension manifest; check the Windows SDK path.\");","typeGuard":null,"tryCatchPattern":"try\n{\n    var ext = new UWPExtension(manifest, windowsKitsFolder, sdkVersion);\n}\ncatch (Exception ex) when (ex.Message.Contains(\"Invalid extension manifest\"))\n{\n    // Point the build at a UAP-capable SDK manifest instead.\n}","preventionTips":["Install a supported UWP/UAP SDK before building for UWP.","Verify the windowsKitsFolder and sdkVersion resolve to a real UAP extension SDK.","Inspect extension manifests' TargetPlatform attribute before relying on them."],"tags":["uwp","build","manifest","sdk","windows"],"backgroundTag":null,"analyzedSha":"225b0fbdb57cc17d094e8056b71f8314aba56f73","analyzedAt":"2026-08-13T19:07:19.849Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}