public WorkspaceItem ReadWorkspaceItem (IProgressMonitor monitor, string file)
{
file = Path.GetFullPath (file);
using (Counters.ReadWorkspaceItem.BeginTiming ("Read solution " + file)) {
file = GetTargetFile (file);
WorkspaceItem item = GetExtensionChain (null).LoadWorkspaceItem (monitor, file) as WorkspaceItem;
if (item != null)
item.NeedsReload = false;
else
throw new InvalidOperationException ("Invalid file format: " + file);
return item;
}
}