2011-02-03 16 views

Respuesta

8

Hay algunos problemas de conversión para hacer esto en powershell.

este es el C# para eliminar una referencia.

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

Si desea utilizar el paquete nuget Solution Factory, puede usar el comando powershell que agrega la fábrica de soluciones.

Remove-LibraryReference projectName system.web 

Aquí hay un enlace de la fuente de la fábrica de solución http://solutionfactory.codeplex.com/SourceControl/network/Forks/erichexter/PowershellRewrite

Actualización: nueva URL para la solución de la fábrica: https://github.com/erichexter/SolutionFactory

14

Esto es lo que usamos para Machine.Specifications:

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