NaGet.Packages.Install.Installation[] insts = NaGet.Utils.GetDeserializedObject<NaGet.Packages.Install.Installation[]>((string) appArgs["instsref"]);\r
\r
form = new PackageListViewForm();\r
+ form.UpdatePackageList();\r
hideSplashScreen();\r
form.installActionInvoke(insts);\r
} catch (UnauthorizedAccessException e) {\r
NaGet.Packages.Install.InstalledPackage[] pkgs = NaGet.Utils.GetDeserializedObject<NaGet.Packages.Install.InstalledPackage[]>((string) appArgs["pkgsref"]);\r
\r
form = new PackageListViewForm();\r
+ form.UpdatePackageList();\r
hideSplashScreen();\r
form.uninstallActionInvoke(pkgs);\r
} catch (UnauthorizedAccessException e) {\r
downloader.DownloadEventRaised += new EventHandler<DownloadEventArgs>(dl.OnDownload);\r
\r
pkgListMan = new PackageListsManager();\r
+ pkgListMan.LoadPackageLists();\r
}\r
\r
public void Update()\r
private List<InstallationLog> systemInstalledLogList;\r
\r
/// <summary>\r
- /// å\88\9dæ\9c\9få\8c\96ã\82\92ã\81\99ã\82\8bã\80\82ã\83\95ã\82¡ã\82¤ã\83«ç¾¤ã\82\92èªã\81¿è¾¼ã\82\93ã\81§æ\9b´æ\96°ã\81\8cã\81ªã\81\95ã\82\8cã\82\8b。\r
+ /// å\88\9dæ\9c\9få\8c\96ã\82\92ã\81\99ã\82\8bã\80\82ã\83\87ã\83¼ã\82¿ã\81®èªã\81¿è¾¼ã\81¿ã\81¯æ\98\8e示ç\9a\84ã\81«LoadPackageLists()ã\82\92å\91¼ã\81³å\87ºã\81\95ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84。\r
/// </summary>\r
public PackageListsManager()\r
{\r
- LoadPackageLists();\r
+ availablePkgList = new PackageList<Package>();\r
+ installedPkgList = new PackageList<InstalledPackage>();\r
+ systemInstalledPkgList = new PackageList<InstalledPackage>();\r
+ systemInstalledLogList = new List<InstallationLog>();\r
}\r
\r
#region ファイル読み書き\r
/// </summary>\r
public void LoadPackageLists()\r
{\r
- try {\r
- availablePkgList = NaGet.Utils.GetDeserializedObject<PackageList<Package>>(NaGet.Env.PackageListFile);\r
- } catch (FileNotFoundException) {\r
+ System.Xml.Serialization.XmlSerializer sr;\r
+ \r
+ // ソフトリストのパッケージリスト読み込み\r
+ sr = new System.Xml.Serialization.XmlSerializer(typeof(PackageList<Package>));\r
+ if (File.Exists(NaGet.Env.PackageListFile)) {\r
+ availablePkgList = (PackageList<Package>) NaGet.Utils.GetDeserializedObject(NaGet.Env.PackageListFile, sr);\r
+ } else {\r
availablePkgList = new PackageList<Package>();\r
}\r
\r
- try {\r
- installedPkgList = NaGet.Utils.GetDeserializedObject<PackageList<InstalledPackage>>(NaGet.Env.ArchiveInstalledPackageListFile);\r
- } catch (FileNotFoundException) {\r
+ sr = new System.Xml.Serialization.XmlSerializer(typeof(PackageList<InstalledPackage>));\r
+ if (File.Exists(NaGet.Env.ArchiveInstalledPackageListFile)) {\r
+ installedPkgList = (PackageList<InstalledPackage>) NaGet.Utils.GetDeserializedObject(NaGet.Env.ArchiveInstalledPackageListFile, sr);\r
+ } else {\r
installedPkgList = new PackageList<InstalledPackage>();\r
}\r
\r
- try {\r
- systemInstalledPkgList = NaGet.Utils.GetDeserializedObject<PackageList<InstalledPackage>>(NaGet.Env.SystemInstalledPackageListFile);\r
- } catch (FileNotFoundException) {\r
+ //sr = new System.Xml.Serialization.XmlSerializer(typeof(PackageList<InstalledPackage>));\r
+ if (File.Exists(NaGet.Env.SystemInstalledPackageListFile)) {\r
+ systemInstalledPkgList = (PackageList<InstalledPackage>) NaGet.Utils.GetDeserializedObject(NaGet.Env.SystemInstalledPackageListFile, sr);\r
+ } else {\r
systemInstalledPkgList = new PackageList<InstalledPackage>();\r
}\r
\r
- \r
- systemInstalledLogList = new List<InstallationLog>();\r
- try {\r
- systemInstalledLogList.AddRange(\r
- NaGet.Utils.GetDeserializedObject<InstallationLog[]>(NaGet.Env.SystemInstalledPackageLogFile)\r
+ sr = new System.Xml.Serialization.XmlSerializer(typeof(InstallationLog[]));\r
+ if (File.Exists(NaGet.Env.SystemInstalledPackageLogFile)) {\r
+ systemInstalledLogList = new List<InstallationLog>(\r
+ (InstallationLog[]) NaGet.Utils.GetDeserializedObject(NaGet.Env.SystemInstalledPackageLogFile, sr)\r
);\r
- } catch (Exception) {\r
- // do nothing\r
+ } else {\r
+ systemInstalledLogList = new List<InstallationLog>();\r
}\r
}\r
\r
runDownloadPackages();\r
} catch (NaGetTaskCanceledException) {\r
RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, "リストのダウンロード処理がキャンセルされました");\r
+ pkgListMan.LoadPackageLists();\r
} catch (System.Net.WebException e) {\r
RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, e.Message);\r
if (System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) {\r
} else {\r
RaiseTaskSetEvent(NaGetTaskSetEventType.WARNING, "ネットワークに接続できませんでした。ネットワークが切断されているか、ファイアウォールによって遮断された可能性があります。");\r
}\r
+ pkgListMan.LoadPackageLists();\r
} finally {\r
int numOfEnabledRepos = NaGet.Utils.IEnumerable2Array(repoList.EnabledRepositories).Length;\r
currentTaskSetIndex = numOfEnabledRepos + 1;\r
\r
#region シリアル化関連\r
\r
+ \r
/// <summary>\r
/// XMLでシリアル化したオブジェクトのXMLファイルを読み込み、デシリアル化したオブジェクトを取得する\r
/// </summary>\r
/// <param name="path">XMLファイルのパス</param>\r
+ /// <param name="sr">シリアライザ</param>\r
/// <returns>デシリアル化されたオブジェクト</returns>\r
- public static T GetDeserializedObject<T>(string path)\r
+ public static object GetDeserializedObject(string path, System.Xml.Serialization.XmlSerializer sr)\r
{\r
- T retVal = default(T);\r
+ object retVal = null;\r
using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read)) {\r
- System.Xml.Serialization.XmlSerializer sr = new System.Xml.Serialization.XmlSerializer(typeof(T));\r
- retVal = (T) sr.Deserialize(fs);\r
+ retVal = sr.Deserialize(fs);\r
}\r
return retVal;\r
}\r
\r
/// <summary>\r
+ /// XMLでシリアル化したオブジェクトのXMLファイルを読み込み、デシリアル化したオブジェクトを取得する\r
+ /// </summary>\r
+ /// <param name="path">XMLファイルのパス</param>\r
+ /// <returns>デシリアル化されたオブジェクト</returns>\r
+ public static T GetDeserializedObject<T>(string path)\r
+ {\r
+ T retVal = default(T);\r
+ System.Xml.Serialization.XmlSerializer sr = new System.Xml.Serialization.XmlSerializer(typeof(T));\r
+ retVal = (T) GetDeserializedObject(path, sr);\r
+ return retVal;\r
+ }\r
+ \r
+ /// <summary>\r
/// オブジェクトをXMLでシリアル化してファイルに書き込む\r
/// </summary>\r
/// <param name="path">XMLファイルのパス</param>\r