如何动态地在visual studio中为解决方案创建解决方案文件夹?

时间:2017-12-04 06:56:08

标签: visual-studio powershell visual-studio-2017 solution

我想使用PowerShell脚本在Visual Studio中动态创建一个新的解决方案文件夹

我知道如何手动为Visual Studio中的现有解决方案创建解决方案文件夹,但有没有办法可以使用PowerShell自动化它?

1 个答案:

答案 0 :(得分:1)

要添加解决方案文件夹,您应添加Project条目。解决方案文件夹的项目类型的Guid应为:"{2150E333-8FDC-42A3-9474-1A3956D46DE8}",对于项目Guid,您应该使用新的Guid。

这是一个将文件夹添加到解决方案文件的功能:

Function AddFolderToSolution($folderName, $solutionFile)
{
   $solutionFolderGuid = "{2150E333-8FDC-42A3-9474-1A3956D46DE8}"
   $content = [System.IO.File]::ReadLines($solutionFile)
   $lines = New-Object System.Collections.Generic.List[string]
   $lines.AddRange($content)
   $index = $lines.IndexOf("Global")
   $guid = [System.Guid]::NewGuid().ToString().ToUpper()
   $txt = "Project(`"$solutionFolderGuid`") = `"$folderName`", `"$folderName`", `"$guid`""
   $lines.Insert($index, $txt)
   $lines.Insert($index+1, "EndProject")
   [System.IO.File]::WriteAllLines($solutionFile, $lines)
}

以下是用法:

AddFolderToSolution "NewFolder10" "D:\Solution1.sln"