如何为 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"
我想在 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"