每次重新/安装/更新我目前无法修改的特定NuGet包时,我都需要从Visual Studio中的几个项目中删除引用。
是否可以使用PowerShell
或命令自动执行此过程?
如果我只是通过在Package Manager Console
中粘贴它而不是打开每个项目并手动删除它,我也可以执行它。
实际上我需要与Uninstall-Package
命令类似的功能,但需要一个参考。我没有运气寻找这个命令的源代码。
答案 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();
}
}