NuGet Uninstall.ps1 - 删除项目引用

时间:2011-02-03 05:18:52

标签: powershell nuget

所以在我的Install.ps1中我可以添加这样的引用:

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

如何在PowerShell中删除项目引用?

2 个答案:

答案 0 :(得分:14)

以下是我们用于Machine.Specifications的内容:

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

答案 1 :(得分:8)

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

如果要使用Solution Factory nuget包,可以使用解决方案工厂添加的powershell命令。

Remove-LibraryReference  projectName system.web

以下是解决方案工厂来源http://solutionfactory.codeplex.com/SourceControl/network/Forks/erichexter/PowershellRewrite

的链接

更新:解决方案工厂的新网址: https://github.com/erichexter/SolutionFactory