diff --git a/Tools/ANXContentCompilerGUI/MainWindow.Designer.cs b/Tools/ANXContentCompilerGUI/MainWindow.Designer.cs index e14a4823..eaed7d9a 100644 --- a/Tools/ANXContentCompilerGUI/MainWindow.Designer.cs +++ b/Tools/ANXContentCompilerGUI/MainWindow.Designer.cs @@ -33,6 +33,13 @@ namespace ANX.ContentCompiler.GUI { this.components = new System.ComponentModel.Container(); this.splitContainerMenuLayout = new System.Windows.Forms.SplitContainer(); + this.ribbonTextBox = new ANX.ContentCompiler.GUI.Controls.RibbonTextBox(); + this.ribbonButtonHelp = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); + this.ribbonButtonWeb = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); + this.ribbonButtonClean = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); + this.ribbonButtonSave = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); + this.ribbonButtonLoad = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); + this.ribbonButtonNew = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); this.buttonQuit = new System.Windows.Forms.Button(); this.buttonMenu = new System.Windows.Forms.Button(); this.labelTitle = new System.Windows.Forms.Label(); @@ -41,21 +48,16 @@ namespace ANX.ContentCompiler.GUI this.treeView = new System.Windows.Forms.TreeView(); this.treeViewContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components); this.treeViewItemAddFolder = new System.Windows.Forms.ToolStripMenuItem(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.folderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.treeViewItemRename = new System.Windows.Forms.ToolStripMenuItem(); this.treeViewItemDelete = new System.Windows.Forms.ToolStripMenuItem(); this.splitContainerProperties = new System.Windows.Forms.SplitContainer(); + this.editingState = new ANX.ContentCompiler.GUI.States.EditingState(); + this.startState = new ANX.ContentCompiler.GUI.States.StartState(); this.labelProperties = new System.Windows.Forms.Label(); this.propertyGrid = new System.Windows.Forms.PropertyGrid(); this.menuState = new ANX.ContentCompiler.GUI.States.MenuState(); - this.ribbonTextBox = new ANX.ContentCompiler.GUI.Controls.RibbonTextBox(); - this.ribbonButtonHelp = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); - this.ribbonButtonWeb = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); - this.ribbonButtonClean = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); - this.ribbonButtonSave = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); - this.ribbonButtonLoad = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); - this.ribbonButtonNew = new ANX.ContentCompiler.GUI.Controls.RibbonButton(); - this.editingState = new ANX.ContentCompiler.GUI.States.EditingState(); - this.startState = new ANX.ContentCompiler.GUI.States.StartState(); ((System.ComponentModel.ISupportInitialize)(this.splitContainerMenuLayout)).BeginInit(); this.splitContainerMenuLayout.Panel1.SuspendLayout(); this.splitContainerMenuLayout.Panel2.SuspendLayout(); @@ -101,6 +103,82 @@ namespace ANX.ContentCompiler.GUI this.splitContainerMenuLayout.SplitterDistance = 99; this.splitContainerMenuLayout.TabIndex = 0; // + // ribbonTextBox + // + this.ribbonTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.ribbonTextBox.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ribbonTextBox.Location = new System.Drawing.Point(532, 26); + this.ribbonTextBox.Name = "ribbonTextBox"; + this.ribbonTextBox.Size = new System.Drawing.Size(320, 70); + this.ribbonTextBox.TabIndex = 9; + // + // ribbonButtonHelp + // + this.ribbonButtonHelp.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ribbonButtonHelp.Content = "Help"; + this.ribbonButtonHelp.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_question; + this.ribbonButtonHelp.Location = new System.Drawing.Point(299, 26); + this.ribbonButtonHelp.Name = "ribbonButtonHelp"; + this.ribbonButtonHelp.Size = new System.Drawing.Size(52, 68); + this.ribbonButtonHelp.TabIndex = 8; + this.ribbonButtonHelp.Click += new System.EventHandler(this.RibbonButtonHelpClick); + // + // ribbonButtonWeb + // + this.ribbonButtonWeb.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ribbonButtonWeb.Content = "Website"; + this.ribbonButtonWeb.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_globe; + this.ribbonButtonWeb.Location = new System.Drawing.Point(237, 26); + this.ribbonButtonWeb.Name = "ribbonButtonWeb"; + this.ribbonButtonWeb.Size = new System.Drawing.Size(63, 68); + this.ribbonButtonWeb.TabIndex = 7; + this.ribbonButtonWeb.Click += new System.EventHandler(this.RibbonButtonWebClick); + // + // ribbonButtonClean + // + this.ribbonButtonClean.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; + this.ribbonButtonClean.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ribbonButtonClean.Content = "Clean"; + this.ribbonButtonClean.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_clean; + this.ribbonButtonClean.Location = new System.Drawing.Point(186, 26); + this.ribbonButtonClean.Name = "ribbonButtonClean"; + this.ribbonButtonClean.Size = new System.Drawing.Size(52, 68); + this.ribbonButtonClean.TabIndex = 6; + this.ribbonButtonClean.Click += new System.EventHandler(this.RibbonButtonCleanClick); + // + // ribbonButtonSave + // + this.ribbonButtonSave.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ribbonButtonSave.Content = "Save"; + this.ribbonButtonSave.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_save; + this.ribbonButtonSave.Location = new System.Drawing.Point(105, 26); + this.ribbonButtonSave.Name = "ribbonButtonSave"; + this.ribbonButtonSave.Size = new System.Drawing.Size(52, 68); + this.ribbonButtonSave.TabIndex = 5; + this.ribbonButtonSave.Click += new System.EventHandler(this.SaveProject); + // + // ribbonButtonLoad + // + this.ribbonButtonLoad.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ribbonButtonLoad.Content = "Open"; + this.ribbonButtonLoad.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_folder_open; + this.ribbonButtonLoad.Location = new System.Drawing.Point(54, 26); + this.ribbonButtonLoad.Name = "ribbonButtonLoad"; + this.ribbonButtonLoad.Size = new System.Drawing.Size(52, 68); + this.ribbonButtonLoad.TabIndex = 4; + this.ribbonButtonLoad.Click += new System.EventHandler(this.OpenProjectDialog); + // + // ribbonButtonNew + // + this.ribbonButtonNew.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.ribbonButtonNew.Content = "New"; + this.ribbonButtonNew.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_page_multiple; + this.ribbonButtonNew.Location = new System.Drawing.Point(3, 26); + this.ribbonButtonNew.Name = "ribbonButtonNew"; + this.ribbonButtonNew.Size = new System.Drawing.Size(52, 68); + this.ribbonButtonNew.TabIndex = 3; + this.ribbonButtonNew.Click += new System.EventHandler(this.NewProject); + // // buttonQuit // this.buttonQuit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -215,6 +293,9 @@ namespace ANX.ContentCompiler.GUI // // treeViewItemAddFolder // + this.treeViewItemAddFolder.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem, + this.folderToolStripMenuItem}); this.treeViewItemAddFolder.ForeColor = System.Drawing.Color.White; this.treeViewItemAddFolder.Name = "treeViewItemAddFolder"; this.treeViewItemAddFolder.Size = new System.Drawing.Size(92, 22); @@ -222,6 +303,24 @@ namespace ANX.ContentCompiler.GUI this.treeViewItemAddFolder.MouseEnter += new System.EventHandler(this.TreeViewItemMouseEnter); this.treeViewItemAddFolder.MouseLeave += new System.EventHandler(this.TreeViewItemeLeave); // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.fileToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Control; + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.fileToolStripMenuItem.Text = "File"; + this.fileToolStripMenuItem.Click += new System.EventHandler(this.FileToolStripMenuItemClick); + // + // folderToolStripMenuItem + // + this.folderToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.folderToolStripMenuItem.ForeColor = System.Drawing.Color.White; + this.folderToolStripMenuItem.Name = "folderToolStripMenuItem"; + this.folderToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.folderToolStripMenuItem.Text = "Folder"; + this.folderToolStripMenuItem.Click += new System.EventHandler(this.FolderToolStripMenuItemClick); + // // treeViewItemRename // this.treeViewItemRename.ForeColor = System.Drawing.Color.White; @@ -237,6 +336,7 @@ namespace ANX.ContentCompiler.GUI this.treeViewItemDelete.Name = "treeViewItemDelete"; this.treeViewItemDelete.Size = new System.Drawing.Size(92, 22); this.treeViewItemDelete.Text = "Delete"; + this.treeViewItemDelete.Click += new System.EventHandler(this.TreeViewItemDeleteClick); this.treeViewItemDelete.MouseEnter += new System.EventHandler(this.TreeViewItemMouseEnter); this.treeViewItemDelete.MouseLeave += new System.EventHandler(this.TreeViewItemeLeave); // @@ -262,6 +362,26 @@ namespace ANX.ContentCompiler.GUI this.splitContainerProperties.SplitterDistance = 366; this.splitContainerProperties.TabIndex = 0; // + // editingState + // + this.editingState.Dock = System.Windows.Forms.DockStyle.Fill; + this.editingState.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.editingState.Location = new System.Drawing.Point(0, 0); + this.editingState.Name = "editingState"; + this.editingState.Size = new System.Drawing.Size(364, 547); + this.editingState.TabIndex = 1; + this.editingState.Visible = false; + // + // startState + // + this.startState.Dock = System.Windows.Forms.DockStyle.Fill; + this.startState.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.startState.Location = new System.Drawing.Point(0, 0); + this.startState.Name = "startState"; + this.startState.Size = new System.Drawing.Size(364, 547); + this.startState.TabIndex = 0; + this.startState.Visible = false; + // // labelProperties // this.labelProperties.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) @@ -310,108 +430,14 @@ namespace ANX.ContentCompiler.GUI this.menuState.TabIndex = 1; this.menuState.Visible = false; // - // ribbonTextBox - // - this.ribbonTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.ribbonTextBox.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.ribbonTextBox.Location = new System.Drawing.Point(532, 26); - this.ribbonTextBox.Name = "ribbonTextBox"; - this.ribbonTextBox.Size = new System.Drawing.Size(320, 70); - this.ribbonTextBox.TabIndex = 9; - // - // ribbonButtonHelp - // - this.ribbonButtonHelp.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.ribbonButtonHelp.Content = "Help"; - this.ribbonButtonHelp.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_question; - this.ribbonButtonHelp.Location = new System.Drawing.Point(299, 26); - this.ribbonButtonHelp.Name = "ribbonButtonHelp"; - this.ribbonButtonHelp.Size = new System.Drawing.Size(52, 68); - this.ribbonButtonHelp.TabIndex = 8; - // - // ribbonButtonWeb - // - this.ribbonButtonWeb.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.ribbonButtonWeb.Content = "Website"; - this.ribbonButtonWeb.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_globe; - this.ribbonButtonWeb.Location = new System.Drawing.Point(237, 26); - this.ribbonButtonWeb.Name = "ribbonButtonWeb"; - this.ribbonButtonWeb.Size = new System.Drawing.Size(63, 68); - this.ribbonButtonWeb.TabIndex = 7; - // - // ribbonButtonClean - // - this.ribbonButtonClean.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; - this.ribbonButtonClean.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.ribbonButtonClean.Content = "Clean"; - this.ribbonButtonClean.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_clean; - this.ribbonButtonClean.Location = new System.Drawing.Point(186, 26); - this.ribbonButtonClean.Name = "ribbonButtonClean"; - this.ribbonButtonClean.Size = new System.Drawing.Size(52, 68); - this.ribbonButtonClean.TabIndex = 6; - this.ribbonButtonClean.Click += new System.EventHandler(this.RibbonButtonCleanClick); - // - // ribbonButtonSave - // - this.ribbonButtonSave.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.ribbonButtonSave.Content = "Save"; - this.ribbonButtonSave.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_save; - this.ribbonButtonSave.Location = new System.Drawing.Point(105, 26); - this.ribbonButtonSave.Name = "ribbonButtonSave"; - this.ribbonButtonSave.Size = new System.Drawing.Size(52, 68); - this.ribbonButtonSave.TabIndex = 5; - this.ribbonButtonSave.Click += new System.EventHandler(this.SaveProject); - // - // ribbonButtonLoad - // - this.ribbonButtonLoad.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.ribbonButtonLoad.Content = "Open"; - this.ribbonButtonLoad.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_folder_open; - this.ribbonButtonLoad.Location = new System.Drawing.Point(54, 26); - this.ribbonButtonLoad.Name = "ribbonButtonLoad"; - this.ribbonButtonLoad.Size = new System.Drawing.Size(52, 68); - this.ribbonButtonLoad.TabIndex = 4; - this.ribbonButtonLoad.Click += new System.EventHandler(this.OpenProjectDialog); - // - // ribbonButtonNew - // - this.ribbonButtonNew.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.ribbonButtonNew.Content = "New"; - this.ribbonButtonNew.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_page_multiple; - this.ribbonButtonNew.Location = new System.Drawing.Point(3, 26); - this.ribbonButtonNew.Name = "ribbonButtonNew"; - this.ribbonButtonNew.Size = new System.Drawing.Size(52, 68); - this.ribbonButtonNew.TabIndex = 3; - this.ribbonButtonNew.Click += new System.EventHandler(this.NewProject); - // - // editingState - // - this.editingState.Dock = System.Windows.Forms.DockStyle.Fill; - this.editingState.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.editingState.Location = new System.Drawing.Point(0, 0); - this.editingState.Name = "editingState"; - this.editingState.Size = new System.Drawing.Size(364, 547); - this.editingState.TabIndex = 1; - this.editingState.Visible = false; - // - // startState - // - this.startState.Dock = System.Windows.Forms.DockStyle.Fill; - this.startState.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.startState.Location = new System.Drawing.Point(0, 0); - this.startState.Name = "startState"; - this.startState.Size = new System.Drawing.Size(364, 547); - this.startState.TabIndex = 0; - this.startState.Visible = false; - // // MainWindow // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.ClientSize = new System.Drawing.Size(865, 652); - this.Controls.Add(this.menuState); this.Controls.Add(this.splitContainerMenuLayout); + this.Controls.Add(this.menuState); this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.ForeColor = System.Drawing.Color.White; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; @@ -464,6 +490,8 @@ namespace ANX.ContentCompiler.GUI private MenuState menuState; private System.Windows.Forms.Button buttonMenu; public Controls.RibbonTextBox ribbonTextBox; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem folderToolStripMenuItem; } } diff --git a/Tools/ANXContentCompilerGUI/MainWindow.cs b/Tools/ANXContentCompilerGUI/MainWindow.cs index f4dad48e..3da5d6c9 100644 --- a/Tools/ANXContentCompilerGUI/MainWindow.cs +++ b/Tools/ANXContentCompilerGUI/MainWindow.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; @@ -11,7 +12,7 @@ using ANX.Framework.NonXNA.Development; namespace ANX.ContentCompiler.GUI { [Developer("SilentWarrior/Eagle Eye Studios")] - [PercentageComplete(71)] //TODO: Implement parameter handling, Tour, HelpButton, WebsiteButton, Preview! + [PercentageComplete(80)] //TODO: Implement Tour, Preview, Renaming of Folders! [TestState(TestStateAttribute.TestState.InProgress)] public partial class MainWindow : Form { @@ -29,6 +30,7 @@ namespace ANX.ContentCompiler.GUI private Point _lastPos; private bool _menuMode; private bool _mouseDown; + private readonly string[] _args; #endregion @@ -51,6 +53,7 @@ namespace ANX.ContentCompiler.GUI { InitializeComponent(); Instance = this; + _args = args; _firstStart = !File.Exists(SettingsFile); if (_firstStart) { @@ -76,6 +79,11 @@ namespace ANX.ContentCompiler.GUI if (_firstStart) ShowFirstStartStuff(); ChangeEnvironmentStartState(); + if (_args.Length > 0) + { + if (File.Exists(_args[0])) + OpenProject(_args[0]); + } } #endregion @@ -341,14 +349,32 @@ namespace ANX.ContentCompiler.GUI public void RemoveFile(string name) { + for (var i = _contentProject.BuildItems.Count - 1; i >= 0; i--) + { + if (_contentProject.BuildItems[i].AssetName == name) + _contentProject.BuildItems.RemoveAt(i); + } + ChangeEnvironmentOpenProject(); } public void RemoveFiles(string[] files) { + foreach (var file in files) + { + RemoveFile(file); + } } public void RemoveFolder(string name) { + if (treeView.RecursiveSearch(name).Nodes.Count > 0) + { + foreach (var buildItem in _contentProject.BuildItems.Where(buildItem => buildItem.AssetName.Contains(name))) + { + RemoveFile(buildItem.AssetName); + } + } + treeView.Nodes.Remove(treeView.RecursiveSearch(name)); } #endregion @@ -484,6 +510,15 @@ namespace ANX.ContentCompiler.GUI } } + private void RibbonButtonWebClick(object sender, EventArgs e) + { + Process.Start("http://anxframework.codeplex.com/"); + } + + private void RibbonButtonHelpClick(object sender, EventArgs e) + { + Process.Start("http://anxframework.codeplex.com/wikipage?title=Content%20Compiler"); + } #endregion #region WindowMoveMethods @@ -643,5 +678,40 @@ namespace ANX.ContentCompiler.GUI #endregion + #region ContextMenuStuff + private void FileToolStripMenuItemClick(object sender, EventArgs e) + { + using (var dlg = new OpenFileDialog()) + { + dlg.Multiselect = true; + dlg.Title = "Add files"; + if (dlg.ShowDialog() == DialogResult.OK) + AddFiles(dlg.FileNames); + } + } + + private void FolderToolStripMenuItemClick(object sender, EventArgs e) + { + using (var dlg = new NewFolderScreen()) + { + if (dlg.ShowDialog() == DialogResult.OK) + { + AddFolder(dlg.textBoxName.Text); + } + } + } + + private void TreeViewItemDeleteClick(object sender, EventArgs e) + { + if (treeView.SelectedNode == null) return; + if (treeView.SelectedNode == treeView.Nodes[0]) return; + foreach (var buildItem in _contentProject.BuildItems.Where(buildItem => buildItem.AssetName == treeView.SelectedNode.Name)) + { + RemoveFile(buildItem.AssetName); + return; + } + RemoveFolder(treeView.SelectedNode.Name); + } + #endregion } } \ No newline at end of file diff --git a/Tools/ContentBuilder/ContentBuilder.csproj b/Tools/ContentBuilder/ContentBuilder.csproj index b0954831..66f70ee8 100644 --- a/Tools/ContentBuilder/ContentBuilder.csproj +++ b/Tools/ContentBuilder/ContentBuilder.csproj @@ -33,6 +33,24 @@ prompt 4 + + true + bin\Debug\ + DEBUG;TRACE + full + AnyCPU + prompt + MinimumRecommendedRules.ruleset + + + bin\Release\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset +