Я создаю вспомогательное приложение, которое переформатирует некоторые файлы кода и создает новые файлы кода, которые нужно добавить в другой мой проект, чтобы я мог сразу использовать новый код, но у меня возникли серьезные проблемы с автоматическим добавлением этого нового файла кода в мой проект. Кстати, это на C#, а вспомогательное приложение — WinForms.
Неудачные попытки
Единственный ответ на этот вопрос имеет два способа сделать это, но я не смог заставить ни один из них работать. В первом я не могу найти сборку Microsoft.Build для ссылки, а в другом явно не хватает аргументов для командной строки.
Вопрос
Как программно включить файл в проект без использования сторонних приложений?
В принципе ищу аналог этого:

...Но сделано с использованием кода.
Требования
По моему мнению, решение должно предлагать следующие функции:
- Выберите решение в котором есть проект, в который мы добавляем файл.
- Выберите проект, в который нужно добавить файл.
- Выберите каталог внутри проекта.
- И, конечно же, файл, который мы добавляем.
С помощью пользователя @psubsee2003 мне удалось найти файл Microsoft.Build.dll в папке C:\Windows\Microsoft.NET\Framework\v4.0.30319 на моем компьютере и успешно импортировать его, изменив целевую платформу моего проекта на версию 4 Полный профиль, а не профиль клиента по умолчанию.
И я нашел, как использовать метод AddItem:
Код: Выделить всё
var p = new Microsoft.Build.Evaluation.Project(@"C:\projects\MyProject.csproj");
p.AddItem("Compile", @"C:\folder\file.cs");
p.Save();