生成.cs文件并包含在项目中

时间:2017-09-14 16:02:11

标签: c# visual-studio microsoft.build

我正在生成.cs文件,然后自动将文件包含在指定的项目中(如果您对view this question的方式感兴趣)。我可以运行该函数,并按预期包含文件。

问题

我从项目中手动删除文件并保存。然后我重新运行该函数,但项目对象仍然包含已删除的项目 - 虽然项目已被重新评估,但事件仍然存在。

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

0 个答案:

没有答案
相关问题