Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/rx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Uninstall.ps1')
-rw-r--r--Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Uninstall.ps125
1 files changed, 25 insertions, 0 deletions
diff --git a/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Uninstall.ps1 b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Uninstall.ps1
new file mode 100644
index 0000000..204e4cc
--- /dev/null
+++ b/Rx/NET/Source/packages/Microsoft.Bcl.Build.1.0.10/tools/Uninstall.ps1
@@ -0,0 +1,25 @@
+param($installPath, $toolsPath, $package, $project)
+
+ # Need to load MSBuild assembly if it's not loaded yet.
+ Add-Type -AssemblyName 'Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
+
+ # Grab the loaded MSBuild project for the project
+ $msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($project.FullName) | Select-Object -First 1
+
+ # Find all the imports and targets added by this package.
+ $itemsToRemove = @()
+
+ # Allow many in case a past package was incorrectly uninstalled
+ $itemsToRemove += $msbuild.Xml.Imports | Where-Object { $_.Project.EndsWith($package.Id + '.targets') }
+ $itemsToRemove += $msbuild.Xml.Targets | Where-Object { $_.Name -eq "EnsureBclBuildImported" }
+
+ # Remove the elements and save the project
+ if ($itemsToRemove -and $itemsToRemove.length)
+ {
+ foreach ($itemToRemove in $itemsToRemove)
+ {
+ $msbuild.Xml.RemoveChild($itemToRemove) | out-null
+ }
+
+ $project.Save()
+ } \ No newline at end of file