public void RemoveCodeFile(DocumentPath documentPath)
        {
            MsBuildProject container    = null;
            MsBuildItem    itemToRemove = null;

            foreach (var proj in this.Solution.Projects)
            {
                if (proj.Value.Name == documentPath.ProjectName)
                {
                    foreach (var item in proj.Value.Items)
                    {
                        if (item.DocumentPath.Equals(documentPath) && this.msBuildStoreAdapters.Any(a => a.ItemSupported(item)))
                        {
                            container    = proj.Value;
                            itemToRemove = item;
                            break;
                        }
                    }
                }
            }

            if (itemToRemove != null)
            {
                container.RemoveItem(itemToRemove);
            }
        }
        public virtual void Remove(CodeFile codeFile, MsBuildProject msBuildProject)
        {
            var relativeItemPath = this.GetProjectRelativePath(codeFile.Location, msBuildProject);
            var existingItems    = msBuildProject.FindProjectItems(relativeItemPath).ToList();

            foreach (var item in existingItems)
            {
                msBuildProject.RemoveItem(item);
            }
        }