所以在我的Install.ps1中我可以添加这样的引用:
param($installPath, $toolsPath, $package, $project)
$project.Object.References.Add("YourDLL")
如何在PowerShell中删除项目引用?
答案 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