Создать файл.cs и включить в проект
краткое
Я создаю файлы.cs, а затем автоматически включаю файлы в указанные проекты (если вам интересно, как просмотреть этот вопрос). Я могу запустить функцию, и файлы включены, как ожидалось.
вопрос
Я удаляю файлы вручную из проекта и сохраняю. Затем я снова запускаю функцию, но объект проекта все еще содержит удаленные элементы - событие, хотя проект был переоценен.
Функция GetItemsByEvaluatedInclude возвращает элемент, даже если я его удалил, и он больше не находится в файле.csproj.
Код, который я сейчас использую:
var project = ProjectCollection.GlobalProjectCollection.LoadedProjects.FirstOrDefault(pr => pr.FullPath == projectLocation);
if (project == null)
{
project = new Microsoft.Build.Evaluation.Project(projectLocation);
}
project.ReevaluateIfNecessary();
var loc = Path.Combine(location, FileName);
if (!File.Exists(loc))
{
File.Create(loc).Dispose();
}
var items = project.GetItemsByEvaluatedInclude(loc); // Issue here
if (items == null || items.Count == 0)
{
project.AddItem("Compile", loc);
}
Заметки
Visual Studios Professional 2012