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

How to create a solution folder for a solution in visual studio dynamically?

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

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

要添加 解决方案文件夹 ,您应该添加 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"