public async Task Test_ExtractionIgnoresNupkgFile() { // Arrange var package = new PackageIdentity("packageA", new NuGetVersion("2.0.3")); using (var packagesDirectory = TestFileSystemUtility.CreateRandomTestFolder()) { var pathResolver = new VersionFolderPathResolver(packagesDirectory); var packageFileInfo = await TestPackages.GetPackageWithNupkgAtRoot( packagesDirectory, package.Id, package.Version.ToNormalizedString()); var versionFolderPathContext = new VersionFolderPathContext( package, packagesDirectory, NullLogger.Instance, packageSaveMode: PackageSaveMode.Defaultv3, xmlDocFileSaveMode: XmlDocFileSaveMode.None); // Act using (var packageFileStream = packageFileInfo.OpenRead()) { await PackageExtractor.InstallFromSourceAsync( stream => packageFileStream.CopyToAsync(stream), versionFolderPathContext, CancellationToken.None); } // Assert var packageVersionDirectory = pathResolver.GetInstallPath(package.Id, package.Version); AssertDirectoryExists(packageVersionDirectory); AssertFileExists(packageVersionDirectory, pathResolver.GetPackageFilePath(package.Id, package.Version)); AssertFileExists(packageVersionDirectory, pathResolver.GetManifestFileName(package.Id, package.Version)); AssertFileExists(packageVersionDirectory, "lib", "net45", "A.dll"); var nupkgPath = pathResolver.GetPackageFilePath(package.Id, package.Version); var nupkgFileInfo = new FileInfo(nupkgPath); Assert.True(File.Exists(nupkgFileInfo.FullName)); Assert.NotEqual(0, nupkgFileInfo.Length); var bnupkgPath = Path.Combine(packageVersionDirectory, "lib", "net45", "B.nupkg"); var bnupkgFileInfo = new FileInfo(bnupkgPath); Assert.True(File.Exists(bnupkgFileInfo.FullName)); Assert.Equal(0, bnupkgFileInfo.Length); } }