【发布时间】:2018-01-29 02:08:57
【问题描述】:
使用 PowerShell 我正在尝试使用 EnvDTE 从我的项目中删除特定的子文件夹。
我要删除的文件夹是:
MyWebProject\Assets\FolderToDelete
我开始的脚本是:
$DTE.Solution.Projects|Where-Object{$_.Name -eq 'MyWebProject'}|Select-Object -Expand ProjectItems
然后我使用循环遍历ProjectItems 以找到“FolderToDelete”(ProjectItem 类型)。然后我调用ProjectItem.Remove 并将其从磁盘中删除:
$folderToDelete.Remove()
$folderToDeletePath = $folderToDelete.Remove.Properties.Item("FullPath").Value
Remove-Item -path $folderToDeletePath -recurse
$project.Save()
在 Visual Studio 解决方案资源管理器中,我打开了“显示所有文件”,我可以看到“FolderToDelete”已从项目中删除,但解决方案资源管理器仍将其显示为在磁盘上,但实际上已已被删除(如果我在解决方案资源管理器中单击“刷新”,它就会消失)。
这给我带来了一些问题,因为 Visual Studio 似乎仍然认为它在磁盘上。
使用 EnvDTE,我如何让 Visual Studio 刷新并确认此删除?
【问题讨论】:
标签: powershell visual-studio-2015 envdte