Как я могу создать новое пустое решение в 2008 году программно? - PullRequest
3 голосов
/ 18 февраля 2011

Подход на основе дизайна: Новый проект -> Другой тип проекта -> Решение Visual Studio -> Пустое решение

Мне нужно программно создать пустое решение в C #, и в этом решении добавить новый пустой проект ифайлы.Я нашел много кода в сети, используя DTE, но они добавляют мой пустой проект в существующий обозреватель решений, поэтому, пожалуйста, дайте мне некоторый справочный код.

Ответы [ 3 ]

6 голосов
/ 18 февраля 2011

Вы можете создать новое пустое решение, используя DTE, например:

string visualStudioProgID = "VisualStudio.Solution.9.0";
Type solutionObjectType = System.Type.GetTypeFromProgID(visualStudioProgID, true);
object obj = System.Activator.CreateInstance(solutionObjectType, true);
Solution3 solutionObject = (Solution3)obj;
solutionObject.Create(".", "MySolution");
solutionObject.SaveAs(@"C:\Temp\MySolution.sln"); //or wherever you prefer

Вам необходимо добавить ссылки на EnvDTE.dll, EnvDTE80.dll и EnvDTE90.dll. Полученный файл очень прост и может быть создан другими способами (как простой текстовый файл).

0 голосов
/ 18 февраля 2011

Создать решение с пустым проектом вручную.Замените имя проекта / решения / другие конкретные данные на {n}, чтобы вы могли заполнить их, используя string.Format позже.Затем вставьте эти файлы (sln и csproj) в свою сборку и используйте их в качестве ресурса.

0 голосов
/ 18 февраля 2011

Если вам действительно нужно создать решение с пустым файлом проекта , вероятно, гораздо проще просто написать файл .sln (это простой текстовый файл) и файл .csproj (это XML Файл MSBuild) вручную, чем связываться с автоматизацией Visual Studio.

...