public override bool Execute() { Log.LogMessage(MessageImportance.Normal, "Project File : {0}", SsasProjectFile); Log.LogMessage(MessageImportance.Normal, "Target File : {0}", SsasTargetFile); Log.LogMessage(MessageImportance.Normal, "Server Edition: {0}", SsasServerEdition); // Validate Project File Exists if (!File.Exists(SsasProjectFile)) { throw new FileNotFoundException(string.Format("'{0}' does not exist.", SsasProjectFile)); } try { Database database = ProjectHelper.DeserializeProject(SsasProjectFile); // ... Verify our project doesn't have any errors ... ValidationResultCollection results; bool isValidated = ProjectHelper.ValidateDatabase(database, SsasServerEdition, out results); // If the database doesn't validate (i.e., a build error) // log the errors and return failure. foreach (ValidationResult result in results) { Log.LogError(result.Description); } if (!isValidated) { return(false); } // Build the .ASDatabase file ProjectHelper.GenerateASDatabaseFile(database, SsasTargetFile); } catch (Exception ex) { Log.LogErrorFromException(ex); return(false); } return(true); }