Exemplo n.º 1
0
        private static void AddPackageReferences(PackageSpec spec, IEnumerable <IMSBuildItem> items, bool isCpvmEnabled)
        {
            foreach (var item in GetItemByType(items, "Dependency"))
            {
                var dependency = new LibraryDependency
                {
                    LibraryRange = new LibraryRange(
                        name: item.GetProperty("Id"),
                        versionRange: GetVersionRange(item, defaultValue: isCpvmEnabled ? null : VersionRange.All),
                        typeConstraint: LibraryDependencyTarget.Package),

                    AutoReferenced       = IsPropertyTrue(item, "IsImplicitlyDefined"),
                    GeneratePathProperty = IsPropertyTrue(item, "GeneratePathProperty"),
                    Aliases         = item.GetProperty("Aliases"),
                    VersionOverride = GetVersionRange(item, defaultValue: null, "VersionOverride")
                };

                // Add warning suppressions
                foreach (var code in MSBuildStringUtility.GetNuGetLogCodes(item.GetProperty("NoWarn")))
                {
                    dependency.NoWarn.Add(code);
                }

                ApplyIncludeFlags(dependency, item);

                var frameworks = GetFrameworks(item);

                if (frameworks.Count == 0)
                {
                    AddDependencyIfNotExist(spec, dependency);
                }
                else
                {
                    foreach (var framework in frameworks)
                    {
                        AddDependencyIfNotExist(spec, framework, dependency);
                    }
                }
            }

            if (isCpvmEnabled)
            {
                AddCentralPackageVersions(spec, items);
            }
        }
Exemplo n.º 2
0
        private static void AddPackageReferences(PackageSpec spec, IEnumerable <IMSBuildItem> items)
        {
            foreach (var item in GetItemByType(items, "Dependency"))
            {
                var dependency = new LibraryDependency();

                dependency.LibraryRange = new LibraryRange(
                    name: item.GetProperty("Id"),
                    versionRange: GetVersionRange(item),
                    typeConstraint: LibraryDependencyTarget.Package);

                dependency.AutoReferenced = IsPropertyTrue(item, "IsImplicitlyDefined");

                // Add warning suppressions
                foreach (var code in MSBuildStringUtility.GetNuGetLogCodes(item.GetProperty("NoWarn")))
                {
                    dependency.NoWarn.Add(code);
                }

                ApplyIncludeFlags(dependency, item);

                var frameworks = GetFrameworks(item);

                if (frameworks.Count == 0)
                {
                    AddDependencyIfNotExist(spec, dependency);
                }
                else
                {
                    foreach (var framework in frameworks)
                    {
                        AddDependencyIfNotExist(spec, framework, dependency);
                    }
                }
            }
        }