我希望利用visual studio中的powershell将已删除的多个文件添加到项目目录中。我已经尝试了一些方法来实现这一目标,使用this thread中的提示但仍然遇到了问题。
第一次尝试在解决方案目录中查找任何.cs文件并尝试将它们添加到解决方案中(不确定这是否真的正确,因为我希望它们添加到项目中,而不是解决方案)。
Split-Path -Parent -Path $dte.Solution.FullName | '
Get-ChildItem -Include @("*.cs") -Recurse | '
%{ [string]$_.FullName; $dte.Solution.AddFromFile([string]$_.FullName) }
这会抛出一个错误:使用“1”参数调用“AddFromFile”的异常:“找不到指定的模板。请检查完整路径是否正确。”我在添加它之前写出了文件的路径,所以我能够验证它是正确的路径。
我还尝试使用ExecuteCommand将现有项目添加到项目中
Split-Path -Parent -Path $dte.Solution.FullName | '
Get-ChildItem -Include @("*.cs") -Recurse | '
%{ $dte.ExecuteCommand("Project.AddExistingItem", $_.FullName) }
这里的错误是:使用“2”参数调用“ExecuteCommand”的异常:“Command”Project.AddExistingItem“不接受参数或开关。”
有没有人试图做类似的事情并取得了成功?
答案 0 :(得分:0)
我找到了一个解决方案,我认为很好地解决了这个问题。我正在使用的命令是:
Split-Path -Parent -Path $dte.Solution.FullName | `
Get-ChildItem -Include @("*.cs") -Recurse | `
Select-Object FullName | `
%{ $dte.Application.ItemOperations.AddExistingItem($_.FullName) }