private List <PackageType> GetPackageTypes() { var listOfPackageTypes = new List <PackageType>(); // Copied and slightly modified from ParsePackageTypes(): // https://github.com/NuGet/NuGet.Client/blob/50af5271b98ac5cb2896a707569bc4cd1e87a017/src/NuGet.Core/NuGet.Build.Tasks.Pack/PackTaskLogic.cs#L338 foreach (var packageType in PackageTypes.TrimAndExcludeNullOrEmpty()) { string[] packageTypeSplitInPart = packageType.Split(new char[] { ',' }); string packageTypeName = packageTypeSplitInPart[0].Trim(); var version = PackageType.EmptyVersion; if (packageTypeSplitInPart.Length > 1) { string versionString = packageTypeSplitInPart[1]; System.Version.TryParse(versionString, out version); } listOfPackageTypes.Add(new PackageType(packageTypeName, version)); } return(listOfPackageTypes); }