如何使用PowerShell或命令删除Visual Studio中的引用?

时间:2015-08-20 07:21:43

标签: visual-studio powershell visual-studio-2013 command-line nuget

每次重新/安装/更新我目前无法修改的特定NuGet包时,我都需要从Visual Studio中的几个项目中删除引用。

是否可以使用PowerShell或命令自动执行此过程?

如果我只是通过在Package Manager Console中粘贴它而不是打开每个项目并手动删除它,我也可以执行它。

实际上我需要与Uninstall-Package命令类似的功能,但需要一个参考。我没有运气寻找这个命令的源代码。

1 个答案:

答案 0 :(得分:1)

有人在SO上已经使用powershell做了here,他给脚本添加或删除了对csproj的引用。

如果要在Visual Studio中打开解决方案时执行此操作,也可以使用Visual Studio加载项执行此操作。 创建一个加载项并添加对EnvDTE,Extensibility和VSLangProj的引用。

然后,这里有一些示例代码放在Exec方法中以帮助您入门:

foreach (Project project in _applicationObject.Solution.Projects)
{
    if (project.Object is VSLangProj.VSProject)
    {
        VSLangProj.VSProject vsproject = (VSLangProj.VSProject)project.Object;

        var reference = vsproject.References.Find("System.Xml");
        if (reference != null)
            reference.Remove();
    }
}