@ -219,6 +219,7 @@ namespace ICSharpCode.PackageManagement
@@ -219,6 +219,7 @@ namespace ICSharpCode.PackageManagement
public void AddOrManagePackage ( )
{
try {
if ( ! selectedProjects . HasSingleProjectSelected ( ) ) {
if ( IsProjectPackage ( package ) ) {
ManagePackage ( ) ;
@ -228,6 +229,10 @@ namespace ICSharpCode.PackageManagement
@@ -228,6 +229,10 @@ namespace ICSharpCode.PackageManagement
} else {
AddPackage ( ) ;
}
} catch ( Exception ex ) {
ReportError ( ex ) ;
logger . LogError ( ex ) ;
}
}
public void AddPackage ( )
@ -236,14 +241,27 @@ namespace ICSharpCode.PackageManagement
@@ -236,14 +241,27 @@ namespace ICSharpCode.PackageManagement
logger . LogAddingPackage ( ) ;
using ( IDisposable operation = StartInstallOperation ( package ) ) {
TryAddingPackage ( ) ;
}
logger . LogAfterPackageOperationCompletes ( ) ;
}
void TryAddingPackage ( )
{
try {
if ( IsProjectPackage ( package ) ) {
TryInstallingPackageIntoProject ( ) ;
GetInstallOperationsForProject ( ) ;
if ( LicensesAccepted ( ) ) {
InstallPackageIntoProject ( ) ;
}
} else {
TryInstallingPackageIntoSolution ( ) ;
InstallPackageIntoSolution ( ) ;
}
} catch ( Exception ex ) {
ReportError ( ex ) ;
logger . LogError ( ex ) ;
}
logger . LogAfterPackageOperationCompletes ( ) ;
}
protected virtual IDisposable StartInstallOperation ( IPackageFromRepository package )
@ -315,10 +333,9 @@ namespace ICSharpCode.PackageManagement
@@ -315,10 +333,9 @@ namespace ICSharpCode.PackageManagement
return selectedProjects . Solution . IsPackageInstalled ( packageToCheck ) ;
}
protected virtual void Try Installing PackageIntoSolution( )
protected virtual void InstallPackageIntoSolution ( )
{
try {
var solutionRepository = selectedProjects . Solution . CreateSolutionPackageRepository ( ) ;
ISolutionPackageRepository solutionRepository = selectedProjects . Solution . CreateSolutionPackageRepository ( ) ;
var installAction = new InstallPackageAction ( null , packageManagementEvents ) ;
installAction . Package = package ;
installAction . IgnoreDependencies = false ;
@ -330,11 +347,6 @@ namespace ICSharpCode.PackageManagement
@@ -330,11 +347,6 @@ namespace ICSharpCode.PackageManagement
InstallPackageIntoSolution ( solutionRepository , installAction , package ) ;
packageManagementEvents . OnParentPackageInstalled ( package ) ;
}
} catch ( Exception ex ) {
ReportError ( ex ) ;
logger . LogError ( ex ) ;
}
}
void GetInstallOperationsForSolutionPackage (
@ -369,10 +381,9 @@ namespace ICSharpCode.PackageManagement
@@ -369,10 +381,9 @@ namespace ICSharpCode.PackageManagement
installAction . AllowPrereleaseVersions ) ;
}
protected virtual void TryUpdating PackageInSolution ( )
protected void Update PackageInSolution ( )
{
try {
var solutionRepository = selectedProjects . Solution . CreateSolutionPackageRepository ( ) ;
ISolutionPackageRepository solutionRepository = selectedProjects . Solution . CreateSolutionPackageRepository ( ) ;
var updateAction = new UpdatePackageAction ( null , packageManagementEvents ) ;
updateAction . Package = package ;
updateAction . AllowPrereleaseVersions = parent . IncludePrerelease ;
@ -389,10 +400,6 @@ namespace ICSharpCode.PackageManagement
@@ -389,10 +400,6 @@ namespace ICSharpCode.PackageManagement
packageManagementEvents . OnParentPackagesUpdated ( updatedPackages ) ;
}
} catch ( Exception ex ) {
ReportError ( ex ) ;
logger . LogError ( ex ) ;
}
}
void GetUpdateOperationsForSolutionPackage (
@ -426,19 +433,6 @@ namespace ICSharpCode.PackageManagement
@@ -426,19 +433,6 @@ namespace ICSharpCode.PackageManagement
updateAction . AllowPrereleaseVersions ) ;
}
void TryInstallingPackageIntoProject ( )
{
try {
GetInstallOperationsForProject ( ) ;
if ( LicensesAccepted ( ) ) {
InstallPackageIntoProject ( ) ;
}
} catch ( Exception ex ) {
ReportError ( ex ) ;
logger . LogError ( ex ) ;
}
}
void InstallPackageIntoProject ( )
{
InstallPackageIntoProject ( packageOperations ) ;
@ -467,6 +461,7 @@ namespace ICSharpCode.PackageManagement
@@ -467,6 +461,7 @@ namespace ICSharpCode.PackageManagement
public void RemoveOrManagePackage ( )
{
try {
if ( selectedProjects . HasMultipleProjects ( ) ) {
if ( IsProjectPackage ( package ) ) {
ManagePackage ( ) ;
@ -476,6 +471,10 @@ namespace ICSharpCode.PackageManagement
@@ -476,6 +471,10 @@ namespace ICSharpCode.PackageManagement
} else {
RemovePackage ( ) ;
}
} catch ( Exception ex ) {
ReportError ( ex ) ;
logger . LogError ( ex ) ;
}
}
public void RemovePackage ( )
@ -483,57 +482,46 @@ namespace ICSharpCode.PackageManagement
@@ -483,57 +482,46 @@ namespace ICSharpCode.PackageManagement
ClearReportedMessages ( ) ;
logger . LogRemovingPackage ( ) ;
if ( IsProjectPackage ( package ) ) {
TryUninstallingPackageFromProject ( ) ;
} else {
TrySolutionPackageUninstall ( ) ;
}
TryRemovingPackage ( ) ;
logger . LogAfterPackageOperationCompletes ( ) ;
}
void Log RemovingPackage( )
void Try RemovingPackage( )
{
logger . LogRemovingPackage ( ) ;
try {
if ( IsProjectPackage ( package ) ) {
IPackageManagementProject project = GetSingleProjectSelected ( ) ;
UninstallPackageAction action = project . CreateUninstallPackageAction ( ) ;
action . Package = package ;
actionRunner . Run ( action ) ;
} else {
UninstallPackageFromSolution ( ) ;
}
} catch ( Exception ex ) {
ReportError ( ex ) ;
logger . LogError ( ex ) ;
}
}
void TrySolutionPackageUninstall ( )
void LogRemovingPackage ( )
{
TryUninstallingPackageFromSolution ( package ) ;
logger . LogRemovingPackage ( ) ;
}
protected void TryUninstallingPackageFromSolution ( IPackage removePackage )
void UninstallPackageFromSolution ( )
{
try {
var solutionPackageRepository = PackageManagementServices . Solution . CreateSolutionPackageRepository ( ) ;
var packageManager = new PackageManager (
solutionPackageRepository . Repository ,
solutionPackageRepository . PackagePathResolver ,
solutionPackageRepository . FileSystem ) ;
packageManager . UninstallPackage ( removePackage ) ;
solutionPackageRepository . Repository . RemovePackage ( removePackage ) ;
packageManagementEvents . OnParentPackageUninstalled ( removePackage ) ;
packageManager . UninstallPackage ( package ) ;
} catch ( Exception ex ) {
ReportError ( ex ) ;
logger . LogError ( ex ) ;
}
}
solutionPackageRepository . Repository . RemovePackage ( package ) ;
void TryUninstallingPackageFromProject ( )
{
try {
IPackageManagementProject project = GetSingleProjectSelected ( ) ;
UninstallPackageAction action = project . CreateUninstallPackageAction ( ) ;
action . Package = package ;
actionRunner . Run ( action ) ;
} catch ( Exception ex ) {
ReportError ( ex ) ;
logger . LogError ( ex ) ;
}
packageManagementEvents . OnParentPackageUninstalled ( package ) ;
}
public bool IsManaged {