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

Solution Factoryのnugetパッケージを使用する場合は、SolutionFactoryが追加するpowershellコマンドを使用できます。

Remove-LibraryReference  projectName system.web

ソリューションファクトリソースのリンクは次のとおりですhttp://solutionfactory.codeplex.com/SourceControl/network/Forks/erichexter/PowershellRewrite

更新:ソリューションファクトリの新しいURL: https ://github.com/erichexter/SolutionFactory

于 2011-02-03T05:29:42.317 に答える