private void SetManifestPath(string path)
        {
            var manifests = GetManifestInfoCollection();

            if (manifests == null)
            {
                var manifestInfo = new ManifestInfo();

                manifests = new ManifestInfoCollection
                    {
                        ActiveManifest = path,
                        Manifests = new Dictionary<string, ManifestInfo> { { path, manifestInfo } },
                    };
            }
            else
            {
                if (manifests.Manifests.ContainsKey(path))
                {
                    manifests.ActiveManifest = path;
                }
                else
                {
                    var manifestInfo = new ManifestInfo();

                    manifests.Manifests.Add(path, manifestInfo);
                    manifests.ActiveManifest = path;
                }
            }

            SaveManifestInfoCollection(manifests);
        }
        private void SaveManifestInfoCollection(ManifestInfoCollection manifests)
        {
            var currentDirectory = Directory.GetCurrentDirectory();
            var manifestPath = Path.Combine(currentDirectory, ManifestInfoFileName);

            using (var sw = new StreamWriter(manifestPath, false))
            {
                sw.WriteLine(JsonConvert.SerializeObject(manifests, Formatting.Indented));
            }
        }