Итак, в мой Install.ps1 я могу добавить ссылку, подобную этой:
param($installPath, $toolsPath, $package, $project) $project.Object.References.Add("YourDLL")
Как удалить ссылку на проект в PowerShell?
Вот что мы используем для Машины. Технические характеристики :
param($installPath, $toolsPath, $package, $project) $project.Object.References | Where-Object { $_.Name -eq 'Machine.Specifications.TDNetRunner' } | ForEach-Object { $_.Remove() }
Есть некоторые проблемы с приведением типов в 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