6

因此,在我的 Install.ps1 中,我可以添加如下引用:

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

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

4

2 回答 2

14

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

param($installPath, $toolsPath, $package, $project)
$project.Object.References | Where-Object { $_.Name -eq 'Machine.Specifications.TDNetRunner' } | ForEach-Object { $_.Remove() }
于 2011-03-06T01:22:51.717 回答
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();
        }

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

Remove-LibraryReference  projectName system.web

这是解决方案工厂源http://solutionfactory.codeplex.com/SourceControl/network/Forks/erichexter/PowershellRewrite的链接

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

于 2011-02-03T05:29:42.317 回答