Beispiel #1
0
        private Dictionary <string, PackageOverride> BuildPackageOverrides()
        {
            Dictionary <string, PackageOverride> result;

            if (_packageOverrideItems?.Length > 0)
            {
                result = new Dictionary <string, PackageOverride>(_packageOverrideItems.Length, StringComparer.OrdinalIgnoreCase);

                foreach (ITaskItem packageOverrideItem in _packageOverrideItems)
                {
                    PackageOverride packageOverride = PackageOverride.Create(packageOverrideItem);

                    if (result.TryGetValue(packageOverride.PackageName, out PackageOverride existing))
                    {
                        MergePackageOverrides(packageOverride, existing);
                    }
                    else
                    {
                        result[packageOverride.PackageName] = packageOverride;
                    }
                }
            }
            else
            {
                result = null;
            }

            return(result);
        }