2011-02-03 8 views

Odpowiedz

8

Jest kilka problemów z castowaniem w Power Shell.

To jest C#, aby usunąć odniesienie.

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

Jeśli chcesz użyć pakietu nuget Solution Factory, możesz użyć polecenia powershell, które dodaje fabryka rozwiązań.

Remove-LibraryReference projectName system.web 

Oto link źródłem fabryka rozwiązanie http://solutionfactory.codeplex.com/SourceControl/network/Forks/erichexter/PowershellRewrite

Aktualizacja: nowy adres URL fabryce rozwiązanie: https://github.com/erichexter/SolutionFactory

14

Oto co używamy do Machine.Specifications:

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