anchor.diff:          let findByIncludeFile name seq = 
               seq |> where (fun elem -> (elem |> attributeValue "Include") = Path.GetFileName(name) )
                   |> firstOrNone
  +        
  +        let getFullName (pf:ProjectFile) = pf.ProjectVirtualPath.ToString().Replace("/", "\\")
   
  -        let movingElement = compileNodes |> findByIncludeFile movingNode.Name
  -        let moveToElement = compileNodes |> findByIncludeFile moveToNode.Name
  +        let movingElement = compileNodes |> findByIncludeFile (getFullName movingNode)
  +        let moveToElement = compileNodes |> findByIncludeFile (getFullName moveToNode)
   
           let addFunction (moveTo:XElement) (position:DropPosition) =
               match position with
  
positive.code: open MonoDevelop.Projects
  open MonoDevelop.Ide
  open MonoDevelop.Ide.Gui
  
  open System.Collections.Generic
  open System.Linq
  
negative.code:     //reload project causing the node tree up refresh with new ordering
      use monitor = IdeApp.Workbench.ProgressMonitors.GetProjectLoadProgressMonitor(true)
      monitor.BeginTask("Reloading Project", 1)
      let file = currentNode.DataItem :?> ProjectFile
      file.Project.ParentFolder.ReloadItem(monitor, file.Project) |> ignore
      monitor.Step (1)
      monitor.EndTask()
  
    let moveNodes (currentNode: ITreeNavigator) (movingNode:ProjectFile) position =
          let moveToNode = currentNode.DataItem :?> ProjectFile
  
          let projectFile = movingNode.Project.FileName.ToString()
  
          ///partially apply the default namespace of msbuild to xs
  