Class PackageFolderReader
Reads an unzipped nupkg folder.
public class PackageFolderReader : PackageReaderBase, IPackageCoreReader, IPackageContentReader, IAsyncPackageCoreReader, IAsyncPackageContentReader, ISignedPackageReader, IDisposable
- Inheritance
-
PackageFolderReader
- Implements
- Inherited Members
- Extension Methods
Constructors
PackageFolderReader(DirectoryInfo)
Package folder reader
public PackageFolderReader(DirectoryInfo folder)
Parameters
folderDirectoryInforoot directory of an extracted nupkg
PackageFolderReader(DirectoryInfo, IFrameworkNameProvider, IFrameworkCompatibilityProvider)
Package folder reader
public PackageFolderReader(DirectoryInfo folder, IFrameworkNameProvider frameworkProvider, IFrameworkCompatibilityProvider compatibilityProvider)
Parameters
folderDirectoryInforoot directory of an extracted nupkg
frameworkProviderIFrameworkNameProviderframework mappings
compatibilityProviderIFrameworkCompatibilityProviderframework compatibility provider
PackageFolderReader(string)
Package folder reader
public PackageFolderReader(string folderPath)
Parameters
folderPathstring
PackageFolderReader(string, IFrameworkNameProvider, IFrameworkCompatibilityProvider)
Package folder reader
public PackageFolderReader(string folderPath, IFrameworkNameProvider frameworkProvider, IFrameworkCompatibilityProvider compatibilityProvider)
Parameters
folderPathstringroot directory of an extracted nupkg
frameworkProviderIFrameworkNameProviderframework mappings
compatibilityProviderIFrameworkCompatibilityProviderframework compatibility provider
Methods
CanVerifySignedPackages(SignedPackageVerifierSettings)
Indicates if the the ISignedPackageReader instance can verify signed packages.
public override bool CanVerifySignedPackages(SignedPackageVerifierSettings verifierSettings)
Parameters
verifierSettingsSignedPackageVerifierSettingsPackage verification settings. Include information about what is allowed.
Returns
Exceptions
- SignatureException
if the ISignedPackageReader does not support signed packages
CopyFiles(string, IEnumerable<string>, ExtractPackageFileDelegate, ILogger, CancellationToken)
Copies files from a package to a new location.
public override IEnumerable<string> CopyFiles(string destination, IEnumerable<string> packageFiles, ExtractPackageFileDelegate extractFile, ILogger logger, CancellationToken token)
Parameters
destinationstringThe destination folder path.
packageFilesIEnumerable<string>The package files to copy.
extractFileExtractPackageFileDelegateA package file extraction delegate.
loggerILoggerA logger.
tokenCancellationTokenA cancellation token.
Returns
- IEnumerable<string>
An enumerable of paths of files copied to the destination.
Dispose(bool)
protected override void Dispose(bool disposing)
Parameters
disposingbool
GetArchiveHashAsync(HashAlgorithmName, CancellationToken)
Gets the hash of an archive to be embedded in the package signature.
public override Task<byte[]> GetArchiveHashAsync(HashAlgorithmName hashAlgorithm, CancellationToken token)
Parameters
hashAlgorithmHashAlgorithmNametokenCancellationToken
Returns
GetContentHash(CancellationToken, Func<string>)
Get contenthash for a package.
public override string GetContentHash(CancellationToken token, Func<string> GetUnsignedPackageHash = null)
Parameters
tokenCancellationTokenGetUnsignedPackageHashFunc<string>
Returns
GetFiles()
Gets all files in the package.
public override IEnumerable<string> GetFiles()
Returns
- IEnumerable<string>
An enumerable of files in the package.
GetFiles(string)
Gets files in a folder in the package.
public override IEnumerable<string> GetFiles(string folder)
Parameters
folderstringFolder path
Returns
- IEnumerable<string>
An enumerable of files under specified folder.
GetNuspecFile()
Gets a nuspec file path.
public override string GetNuspecFile()
Returns
- string
The nuspec file path.
GetPrimarySignatureAsync(CancellationToken)
Get package signature.
public override Task<PrimarySignature> GetPrimarySignatureAsync(CancellationToken token)
Parameters
tokenCancellationToken
Returns
Remarks
Returns a null if the package is unsigned.
GetStream(string)
Opens a local file in read only mode.
public override Stream GetStream(string path)
Parameters
pathstring
Returns
IsSignedAsync(CancellationToken)
Check if a package contains signing information.
public override Task<bool> IsSignedAsync(CancellationToken token)
Parameters
tokenCancellationToken
Returns
ValidateIntegrityAsync(SignatureContent, CancellationToken)
Checks for the integrity of a package
public override Task ValidateIntegrityAsync(SignatureContent signatureContent, CancellationToken token)
Parameters
signatureContentSignatureContentSignatureContent with expected hash value and hash algorithm used
tokenCancellationToken