public async Task NetCoreTransitivePackageReferenceLimitAsync(ProjectTemplate projectTemplate) { // Arrange EnsureVisualStudioHost(); using (var testContext = new ApexTestContext(VisualStudio, projectTemplate, XunitLogger, addNetStandardFeeds: true)) { var project2 = testContext.SolutionService.AddProject(ProjectLanguage.CSharp, projectTemplate, ProjectTargetFramework.V46, "TestProject2"); project2.Build(); var project3 = testContext.SolutionService.AddProject(ProjectLanguage.CSharp, projectTemplate, ProjectTargetFramework.V46, "TestProject3"); project3.Build(); var projectX = testContext.SolutionService.AddProject(ProjectLanguage.CSharp, projectTemplate, ProjectTargetFramework.V46, "TestProjectX"); projectX.Build(); testContext.SolutionService.Build(); testContext.Project.References.Dte.AddProjectReference(project2); testContext.Project.References.Dte.AddProjectReference(projectX); project2.References.Dte.AddProjectReference(project3); testContext.SolutionService.SaveAll(); testContext.SolutionService.Build(); var nugetConsole = GetConsole(project3); var packageName = "newtonsoft.json"; var packageVersion = "9.0.1"; await CommonUtility.CreatePackageInSourceAsync(testContext.PackageSource, packageName, packageVersion); nugetConsole.InstallPackageFromPMC(packageName, packageVersion); testContext.SolutionService.Build(); project2.Build(); project3.Build(); projectX.Build(); testContext.SolutionService.Build(); CommonUtility.AssertPackageInAssetsFile(VisualStudio, project3, packageName, packageVersion, XunitLogger); CommonUtility.AssertPackageInAssetsFile(VisualStudio, testContext.Project, packageName, packageVersion, XunitLogger); CommonUtility.AssertPackageInAssetsFile(VisualStudio, project2, packageName, packageVersion, XunitLogger); CommonUtility.AssertPackageNotInAssetsFile(VisualStudio, projectX, packageName, packageVersion, XunitLogger); } }
public async Task UninstallPackageFromPMCForPRAsync(ProjectTemplate projectTemplate) { // Arrange EnsureVisualStudioHost(); using (var testContext = new ApexTestContext(VisualStudio, projectTemplate, XunitLogger)) { var packageName = "TestPackage"; var packageVersion = "1.0.0"; await CommonUtility.CreatePackageInSourceAsync(testContext.PackageSource, packageName, packageVersion); var nugetConsole = GetConsole(testContext.Project); nugetConsole.InstallPackageFromPMC(packageName, packageVersion); testContext.Project.Build(); testContext.NuGetApexTestService.WaitForAutoRestore(); nugetConsole.UninstallPackageFromPMC(packageName); testContext.Project.Build(); CommonUtility.AssertPackageReferenceDoesNotExist(VisualStudio, testContext.Project, packageName, packageVersion, XunitLogger); CommonUtility.AssertPackageNotInAssetsFile(VisualStudio, testContext.Project, packageName, packageVersion, XunitLogger); } }