private BindingRedirectsExecutionResult GenerateBindingRedirects(string appConfigFile, string targetAppConfigFile, params ITaskItem[] suggestedRedirects) { // Create the engine. MockEngine engine = new MockEngine(_output); string outputAppConfig = string.IsNullOrEmpty(targetAppConfigFile) ? _env.ExpectFile(".config").Path : targetAppConfigFile; GenerateBindingRedirects bindingRedirects = new GenerateBindingRedirects { BuildEngine = engine, SuggestedRedirects = suggestedRedirects ?? new ITaskItem[] { }, AppConfigFile = new TaskItem(appConfigFile), OutputAppConfigFile = new TaskItem(outputAppConfig) }; bool executionResult = bindingRedirects.Execute(); return(new BindingRedirectsExecutionResult { ExecuteResult = executionResult, Engine = engine, SourceAppConfigContent = File.ReadAllText(appConfigFile), TargetAppConfigContent = File.ReadAllText(outputAppConfig), TargetAppConfigFilePath = outputAppConfig }); }
private static BindingRedirectsExecutionResult GenerateBindingRedirects(string appConfigFile, params TaskItemMock[] suggestedRedirects) { // Create the engine. MockEngine engine = new MockEngine(); string outputAppConfig = FileUtilities.GetTemporaryFile(); GenerateBindingRedirects bindingRedirects = new GenerateBindingRedirects(); bindingRedirects.BuildEngine = engine; bindingRedirects.SuggestedRedirects = suggestedRedirects ?? new ITaskItem[] { }; bindingRedirects.AppConfigFile = new TaskItem(appConfigFile); bindingRedirects.OutputAppConfigFile = new TaskItem(outputAppConfig); try { bool executionResult = bindingRedirects.Execute(); return(new BindingRedirectsExecutionResult { ExecuteResult = executionResult, Engine = engine, SourceAppConfigContent = File.ReadAllText(appConfigFile), TargetAppConfigContent = File.ReadAllText(outputAppConfig), }); } finally { CleanupNoThrow(bindingRedirects); } }
private static void CleanupNoThrow(GenerateBindingRedirects redirects) { if (redirects.AppConfigFile != null && redirects.AppConfigFile.ItemSpec != null) { FileUtilities.DeleteNoThrow(redirects.AppConfigFile.ItemSpec); } if (redirects.OutputAppConfigFile != null && redirects.OutputAppConfigFile.ItemSpec != null) { FileUtilities.DeleteNoThrow(redirects.OutputAppConfigFile.ItemSpec); } }
private static BindingRedirectsExecutionResult GenerateBindingRedirects(string appConfigFile, params TaskItemMock[] suggestedRedirects) { // Create the engine. MockEngine engine = new MockEngine(); string outputAppConfig = FileUtilities.GetTemporaryFile(); GenerateBindingRedirects bindingRedirects = new GenerateBindingRedirects(); bindingRedirects.BuildEngine = engine; bindingRedirects.SuggestedRedirects = suggestedRedirects ?? new ITaskItem[] { }; bindingRedirects.AppConfigFile = new TaskItem(appConfigFile); bindingRedirects.OutputAppConfigFile = new TaskItem(outputAppConfig); try { bool executionResult = bindingRedirects.Execute(); return new BindingRedirectsExecutionResult { ExecuteResult = executionResult, Engine = engine, SourceAppConfigContent = File.ReadAllText(appConfigFile), TargetAppConfigContent = File.ReadAllText(outputAppConfig), }; } finally { CleanupNoThrow(bindingRedirects); } }