Необходимо переместить проект с Solution
на SolutionFolder
. Я пытаюсь удалить проект из решения и добавить его обратно в папку с помощью EnvDTE
SolutionFolder.AddFromFile(Filepath line);
, потому что не найден в документации, как перемещать проекты в решении (или устанавливать нового родителя для проекта). Но с добавлением проектов таким образом в список MRU (стартовая страница и меню запуска Windows) появляются эти проекты.C# EnvDTE Перемещение проектов из решения в SolutionFolder
Как переместить проект в SolutionFolder без добавления в список MRU?
СРЮ за плохой английского
добавления функции, как и в этот момент:
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;
}
Почему проекты с этим ходом попадают на стартовую страницу и как их избежать? –
Вы хотите отметить, что он удалит проект Startup? –
Когда вы создаете решение (constrainin 10 projects) с помощью IWizard, оно появляется в столбце «Недавние» на начальной странице Visual Studio (одна ссылка на sln-файл), и это нормально. Но если я удалю проект из этого решения и добавлю его снова, этот проект появится в этом столбце. Столбец заполнен 10 проектами одного решения, он выглядит не очень хорошо. Как этого избежать? –