예제 #1
0
        LibraryInfo Refresh(AssemblyResolver resolver, string assembly, string baseDirectory)
        {
            LibraryInfo info = GetInfo(resolver, assembly, baseDirectory);

            if (info == null || info.IsCurrent || !File.Exists(info.File))
            {
                return(info);
            }

            info.Timestamp = File.GetLastWriteTime(info.File).ToUniversalTime();
            info.Guid      = Guid.NewGuid();
            Save();
            AssemblyDefinition adef    = AssemblyDefinition.ReadAssembly(info.File);
            XmlDocument        objects = GetObjectsDoc(resolver, adef, info.File, baseDirectory);

            if (objects != null)
            {
                info.ObjectsDocument = objects;
                XmlDocument gui = GetGuiDoc(adef);
                if (gui != null)
                {
                    info.GuiDocument = gui;
                }
            }
            info.OnChanged();
            return(info);
        }