private static string GetPackageMetadataValue(LegacyCSProjPackageReference item, string metadataElement) { if (item == null) { throw new ArgumentNullException(nameof(item)); } if (string.IsNullOrEmpty(metadataElement)) { throw new ArgumentNullException(nameof(metadataElement)); } if (item.MetadataElements == null || item.MetadataValues == null) { return(String.Empty); // no metadata for package } var index = Array.IndexOf(item.MetadataElements, metadataElement); if (index >= 0) { return(item.MetadataValues.GetValue(index) as string); } return(string.Empty); }
private static LibraryDependency ToPackageLibraryDependency(LegacyCSProjPackageReference item) { var dependency = new LibraryDependency { LibraryRange = new LibraryRange( name: item.Name, versionRange: new VersionRange(new NuGetVersion(item.Version), originalString: item.Version), typeConstraint: LibraryDependencyTarget.Package) }; MSBuildRestoreUtility.ApplyIncludeFlags( dependency, GetPackageMetadataValue(item, _includeAssets), GetPackageMetadataValue(item, _excludeAssets), GetPackageMetadataValue(item, _privateAssets)); return(dependency); }