使用powershell将项目添加到项目中

时间:2014-06-13 12:31:31

标签: powershell visual-studio-2013

我希望利用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“不接受参数或开关。”

有没有人试图做类似的事情并取得了成功?

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,我认为很好地解决了这个问题。我正在使用的命令是:

 Split-Path -Parent -Path $dte.Solution.FullName | `
 Get-ChildItem -Include @("*.cs") -Recurse | `
 Select-Object FullName | `
 %{ $dte.Application.ItemOperations.AddExistingItem($_.FullName) }