2011-02-03 13 views

risposta

8

Ci sono alcuni problemi di trasmissione per farlo in PowerShell.

questo è il C# per rimuovere un riferimento.

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(); 
     } 

Se si desidera utilizzare la fabbrica soluzione NuGet pacchetto è possibile utilizzare il comando PowerShell soluzione fabbrica aggiunge.

Remove-LibraryReference projectName system.web 

Ecco un link alla fonte la soluzione fabbrica http://solutionfactory.codeplex.com/SourceControl/network/Forks/erichexter/PowershellRewrite

Aggiornamento: nuovo URL per soluzione fabbrica: https://github.com/erichexter/SolutionFactory

14

Ecco quello che usiamo per Machine.Specifications:

param($installPath, $toolsPath, $package, $project) 
$project.Object.References | Where-Object { $_.Name -eq 'Machine.Specifications.TDNetRunner' } | ForEach-Object { $_.Remove() } 
Problemi correlati