【发布时间】:2014-06-13 12:31:30
【问题描述】:
我希望利用 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”的异常:“命令“Project.AddExistingItem”不接受参数或开关。”
有没有人尝试做类似的事情并取得了成功?
【问题讨论】:
-
另一个需要注意的重要点。我已经使用硬编码的已知良好文件路径尝试了这两种方法,但都失败了
-
要添加文件,您需要使用 Project.ProjectItems.AddFromFile。见stackoverflow.com/questions/2000197/…
-
我在 PowerShell 中找不到此内容。但是,我找到了相同方法的不同路径: $dte.ItemOperations.AddFromFile(file)
标签: powershell visual-studio-2013