NuGet Uninstall.ps1 - удалить ссылку на проект - PullRequest
6 голосов
/ 03 февраля 2011

Итак, в мой Install.ps1 я могу добавить ссылку, подобную этой:

param($installPath, $toolsPath, $package, $project)
$project.Object.References.Add("YourDLL")

Как удалить ссылку на проект в PowerShell?

Ответы [ 2 ]

14 голосов
/ 06 марта 2011

Вот что мы используем для Машины. Технические характеристики :

param($installPath, $toolsPath, $package, $project)
$project.Object.References | Where-Object { $_.Name -eq 'Machine.Specifications.TDNetRunner' } | ForEach-Object { $_.Remove() }
8 голосов
/ 03 февраля 2011

Есть некоторые проблемы с приведением типов в PowerShell.

Это c # для удаления ссылки.

DTE dte = (DTE)dteObject;
        var targetProject = (VSProject)dte.GetProject(target).Object;
        var refToRemove = targetProject.References.Cast<Reference>().Where(assembly => assembly.Name.EndsWith(library, System.StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
        if (refToRemove != null)
        {
            refToRemove.Remove();
        }

Если вы хотите использовать пакет nuget Solution Factory, вы можетеиспользуйте команду powershell, которую добавляет фабрика решений.

Remove-LibraryReference  projectName system.web

Вот ссылка на источник фабрики решений http://solutionfactory.codeplex.com/SourceControl/network/Forks/erichexter/PowershellRewrite

Обновление: новый URL для фабрики решений: https://github.com/erichexter/SolutionFactory

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...