private IEnumerable<XmlAttribute> ValueAttributes(XmlAttributeCollection c)
 {
   return c.OfType<XmlAttribute>().Where(a => a.NamespaceURI != JsonNamespaceUri);
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Reads the attributes from the "FileList" element of the SDK manifest.
        /// </summary>
        private void ReadFileListAttributes(XmlAttributeCollection attributes)
        {
            foreach (XmlAttribute attribute in attributes.OfType<XmlAttribute>())
            {
                string value = attribute.Value.Trim();
                if (value.Length > 0)
                {
                    if (attribute.Name.StartsWith(SDKManifest.Attributes.FrameworkIdentity, StringComparison.OrdinalIgnoreCase))
                    {
                        if (_frameworkIdentities == null)
                        {
                            _frameworkIdentities = new Dictionary<string, string>();
                        }

                        _frameworkIdentities.Add(attribute.Name, value);
                        continue;
                    }

                    if (attribute.Name.StartsWith(SDKManifest.Attributes.APPX, StringComparison.OrdinalIgnoreCase))
                    {
                        if (_appxLocations == null)
                        {
                            _appxLocations = new Dictionary<string, string>();
                        }

                        _appxLocations.Add(attribute.Name, value);
                        continue;
                    }

                    switch (attribute.Name)
                    {
                        case SDKManifest.Attributes.TargetPlatform:
                            TargetPlatform = value;
                            break;
                        case SDKManifest.Attributes.TargetPlatformMinVersion:
                            TargetPlatformMinVersion = value;
                            break;
                        case SDKManifest.Attributes.TargetPlatformVersion:
                            TargetPlatformVersion = value;
                            break;
                        case SDKManifest.Attributes.MinVSVersion:
                            MinVSVersion = value;
                            break;
                        case SDKManifest.Attributes.MinOSVersion:
                            _minOSVersion = value;
                            break;
                        case SDKManifest.Attributes.MaxOSVersionTested:
                            _maxOSVersionTested = value;
                            break;
                        case SDKManifest.Attributes.MaxPlatformVersion:
                            _maxPlatformVersion = value;
                            break;
                        case SDKManifest.Attributes.PlatformIdentity:
                            PlatformIdentity = value;
                            break;
                        case SDKManifest.Attributes.SupportPrefer32Bit:
                            SupportPrefer32Bit = value;
                            break;
                        case SDKManifest.Attributes.SupportsMultipleVersions:
                            if (!ParseSupportMultipleVersions(value))
                            {
                                _supportsMultipleVersions = MultipleVersionSupport.Allow;
                            }

                            break;
                        case SDKManifest.Attributes.SDKType:
                            Enum.TryParse<SDKType>(value, out _sdkType);
                            break;
                        case SDKManifest.Attributes.DisplayName:
                            DisplayName = value;
                            break;
                        case SDKManifest.Attributes.MoreInfo:
                            MoreInfo = value;
                            break;
                        case SDKManifest.Attributes.CopyRedistToSubDirectory:
                            CopyRedistToSubDirectory = value;
                            break;
                        case SDKManifest.Attributes.SupportedArchitectures:
                            SupportedArchitectures = value;
                            break;
                        case SDKManifest.Attributes.DependsOnSDK:
                            DependsOnSDK = value;
                            break;
                        case SDKManifest.Attributes.ProductFamilyName:
                            ProductFamilyName = value;
                            break;
                    }
                }
            }
        }