private static void ChangeOutputPath(IEnumerable<FileSystemInfo> projectFiles, string projectPath, string binariesPath, string[] targetProjects) { foreach (var singleProject in projectFiles) { var projectFile = new ProjectFile(singleProject.FullName); var relativePath = projectFile.CalculateRelativePath(projectPath); var assemblyName = projectFile.GetAssemblyName(); var outputPath = relativePath + binariesPath; if (!outputPath.EndsWith("\\")) { outputPath += "\\"; } var isTargetProject = IsTargetProject(assemblyName, targetProjects, projectFile); var changed = projectFile.SetOutputPath(!isTargetProject ? outputPath : "bin\\"); if (changed) { projectFile.Save(); } } }