public SolutionEntityItem ReadSolutionItem (IProgressMonitor monitor, string file)
{
file = Path.GetFullPath (file);
using (Counters.ReadSolutionItem.BeginTiming ("Read project " + file)) {
file = GetTargetFile (file);
SolutionEntityItem loadedItem = GetExtensionChain (null).LoadSolutionItem (monitor, file, delegate {
FileFormat format;
SolutionEntityItem item = ReadFile (monitor, file, typeof(SolutionEntityItem), out format) as SolutionEntityItem;
if (item != null)
item.FileFormat = format;
else
throw new InvalidOperationException ("Invalid file format: " + file);
return item;
});
loadedItem.NeedsReload = false;
return loadedItem;
}
}