| File: Core\FrameworkNameValidatorUtility.cs | Web Access |
| Project: src\nuget-client\src\NuGet.Core\NuGet.Packaging\NuGet.Packaging.csproj (NuGet.Packaging) |
using System; using System.IO; using NuGet.Frameworks; namespace NuGet.Packaging.Rules { internal static class FrameworkNameValidatorUtility { internal static bool IsValidFrameworkName(NuGetFramework framework) { return IsValidFrameworkName(PackagingConstants.Folders.Build + Path.DirectorySeparatorChar + framework.GetShortFolderName() + Path.DirectorySeparatorChar); } internal static bool IsValidFrameworkName(string path) { NuGetFramework? fx; try { string effectivePath; fx = FrameworkNameUtility.ParseNuGetFrameworkFromFilePath(path, out effectivePath); } catch (ArgumentException) { fx = null; } // return false if the framework is Null or Unsupported return fx != null && fx.Framework != NuGetFramework.UnsupportedFramework.Framework; } internal static bool IsValidCultureName(PackageArchiveReader builder, string name) { // starting from NuGet 1.8, we support localized packages, which // can have a culture folder under lib, e.g. lib\fr-FR\strings.resources.dll var nuspecReader = builder.NuspecReader; if (string.IsNullOrEmpty(nuspecReader.GetLanguage())) { return false; } // the folder name is considered valid if it matches the package's Language property. return name.Equals(nuspecReader.GetLanguage(), StringComparison.OrdinalIgnoreCase); } } }