При попытке добавить папку в проект получаю ошибку, что данная операция не поддерживается. При всём этом, на кодепроджекте выложен код, который заявляется как рабочий:
//path is a list of folders from the root of the project.
public void AddFolder(string NewFolder, List<string> path) {
ProjectItems pi = project.ProjectItems;
for (int i = 0; i < path.Count; i++) {
pi = pi.Item(path[i]).ProjectItems;
}
pi.AddFolder(NewFolder,
EnvDTE.Constants.vsProjectItemKindPhysicalFolder);
}
Этот код работает только для папок имеющихся на диске и включённых в решение. Виртуальные папки и папки не включённые в решение не поддерживаются.
Как это можно обойти?
Второй вопрос, как в папки в решении добавить проект? Следующий код добавляет проект в решение, но уровня указать не даёт.
_solution.AddFromTemplate(templatePath, _projectFullPath, _projectName, false);
Добавление проекта в папку указанным ниже путём невозможно — разрешено только для членов проекта.
project.ProjectItems.AddFromTemplate(templatePath, _projectFullPath + _projectName);
Помогите кто чем сможет
Мну думает. Значит. Ага.