gpt4 book ai didi

c# - C# EnvDTE 将项目从解决方案移动到解决方案文件夹

转载 作者:可可西里 更新时间:2023-11-01 09:14:44 26 4
gpt4 key购买 nike

需要将项目从Solution 移动到SolutionFolder。我正在尝试从解决方案中删除项目并使用 EnvDTE SolutionFolder.AddFromFile(Filepath line); 将其添加回文件夹,因为在文档中找不到如何移动项目在解决方案中(或为项目安装一个新的父项)。但是在MRU列表(起始页和windows开始菜单)中以这种方式添加项目后,就会出现这个项目。

如何在不添加到 MRU 列表的情况下将项目移动到 SolutionFolder?

对不起英语不好

按现在的样子添加功能:

protected Project AddProjectToSolutionFolder(Project project1, SolFolderTypes solutionFolderType)
{
try
{
Solution2 solution = (Solution2)((DTE2)base._dteObject).Solution;

string projFullname = project1.FullName;

string solutionFolderName = solutionFolderType == SolFolderTypes.Folder1 ? "Folder1" : "Folder2";

Project project = GetSolutionSubFolder(solution, solutionFolderName);

if (project != null)
{
SolutionFolder folder = (SolutionFolder)project.Object;
solution.Remove(project1);
project1 = folder.AddFromFile(projFullname);
}
}
catch (Exception e)
{
}
return project1;
}

private static Project GetSolutionSubFolder(Solution2 solution, string subfolder)
{
Projects projects = solution.Projects;
Project folder = projects.Cast<Project>().FirstOrDefault(p => string.Equals(p.Name, subfolder));

if (folder == null)
folder = solution.AddSolutionFolder(subfolder);

return folder;
}

最佳答案

SolutionFolder 和项目类不提供在不删除项目的情况下将解决方案中的包含项目移动到解决方案文件夹的方法。

如果项目包含在您的解决方案中,您需要将其删除并将其添加到解决方案文件夹中。

关于c# - C# EnvDTE 将项目从解决方案移动到解决方案文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41159073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com