[英]C # EnvDTE Moving projects from the Solution to SolutionFolder
有必要將項目從Solution
移動到SolutionFolder
。 我試圖從解決方案中刪除該項目,並使用EnvDTE
SolutionFolder.AddFromFile(Filepath line);
將其添加回文件夾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和Project Class不提供將解決方案中的include項目移動到解決方案文件夾而不刪除項目的方法。
如果項目包含在您的解決方案中,則需要將其刪除並將其添加到解決方案文件夾中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.