public override void Save(IProjectEnvironment environment, IProjectManifest projectManifest)
 {
     string manifestPath = GetManifestPath(environment);
     ProjectManifestBuilder builder = new ProjectManifestBuilder();
     XmlSerializer serializer = new XmlSerializer(typeof (Manifest));
     using (StringWriter writer = new StringWriter())
     {
         serializer.Serialize(writer, builder.Build(projectManifest));
         PrepareManifestDirectory(environment);
         _fileSystem.Write(manifestPath, writer.ToString());
     }
 }
        public override IProjectManifest Load(IProjectEnvironment environment)
        {
            Manifest manifest;
            string manifestPath = GetManifestPath(environment);
            ProjectManifestBuilder builder = new ProjectManifestBuilder();
            XmlSerializer serializer = new XmlSerializer(typeof (Manifest));

            if(!Exists(environment))
                throw new FileNotFoundException(string.Format(CultureInfo.CurrentUICulture,
                    nuresources.ProjectManifest_ManifestDoesNotExist, manifestPath));

            using (Stream stream = _fileSystem.Read(manifestPath))
            {
                manifest = (Manifest) serializer.Deserialize(stream);
            }
            return builder.Build(manifest);
        }