diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/BuildOptions.xfrm b/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/BuildOptions.xfrm index aeff2b9d67..7e3022fe32 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/BuildOptions.xfrm +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/BuildOptions.xfrm @@ -214,7 +214,8 @@ - + + @@ -229,7 +230,7 @@ - + @@ -237,7 +238,7 @@ - + @@ -245,7 +246,7 @@ - + @@ -255,7 +256,7 @@ - + @@ -270,7 +271,7 @@ - + @@ -286,7 +287,7 @@ - + diff --git a/src/AddIns/BackendBindings/ILAsmBinding/Project/Src/ILAsmProject.cs b/src/AddIns/BackendBindings/ILAsmBinding/Project/Src/ILAsmProject.cs index 5990496ea6..0474fa1905 100644 --- a/src/AddIns/BackendBindings/ILAsmBinding/Project/Src/ILAsmProject.cs +++ b/src/AddIns/BackendBindings/ILAsmBinding/Project/Src/ILAsmProject.cs @@ -25,7 +25,7 @@ namespace ICSharpCode.ILAsmBinding { Language = "ILAsm"; Create(info); - imports.Add(@"$(SharpDevelopBuildBinPath)\SharpDevelop.Build.MSIL.Targets"); + imports.Add(@"$(SharpDevelopBinPath)\SharpDevelop.Build.MSIL.Targets"); } public override bool CanCompile(string fileName) diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Resources/BuildOptions.xfrm b/src/AddIns/BackendBindings/VBNetBinding/Project/Resources/BuildOptions.xfrm index 237e04419a..96b3cc4063 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Resources/BuildOptions.xfrm +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Resources/BuildOptions.xfrm @@ -213,7 +213,7 @@ - + @@ -228,7 +228,7 @@ - + @@ -236,7 +236,7 @@ - + @@ -244,7 +244,7 @@ - + @@ -254,7 +254,7 @@ - + @@ -269,7 +269,7 @@ - + @@ -285,7 +285,7 @@ - + diff --git a/src/Libraries/ICSharpCode.Build.Tasks/Project/SharpDevelop.Build.MSIL.targets b/src/Libraries/ICSharpCode.Build.Tasks/Project/SharpDevelop.Build.MSIL.targets index e1120fef4a..2966172f34 100644 --- a/src/Libraries/ICSharpCode.Build.Tasks/Project/SharpDevelop.Build.MSIL.targets +++ b/src/Libraries/ICSharpCode.Build.Tasks/Project/SharpDevelop.Build.MSIL.targets @@ -1,8 +1,8 @@ - + - $(MSBuildAllProjects);$(SharpDevelopBuildBinPath)\SharpDevelop.Build.MSIL.targets + $(MSBuildAllProjects);$(SharpDevelopBinPath)\SharpDevelop.Build.MSIL.targets .il ILAsm @@ -37,5 +37,5 @@ /> - + diff --git a/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs b/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs index 59a1e761fd..4075d40e83 100644 --- a/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs +++ b/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs @@ -29,7 +29,7 @@ namespace ICSharpCode.NRefactory.Parser.VB if (curToken == null) { // first call of NextToken() curToken = Next(); specialTracker.InformToken(curToken.kind); - Console.WriteLine("Tok:" + Tokens.GetTokenString(curToken.kind) + " --- " + curToken.val); + //Console.WriteLine("Tok:" + Tokens.GetTokenString(curToken.kind) + " --- " + curToken.val); return curToken; } @@ -48,7 +48,7 @@ namespace ICSharpCode.NRefactory.Parser.VB curToken.next = new Token(Tokens.EOF, curToken.col, curToken.line, "\n"); specialTracker.InformToken(curToken.next.kind); } - Console.WriteLine("Tok:" + Tokens.GetTokenString(curToken.kind) + " --- " + curToken.val); + //Console.WriteLine("Tok:" + Tokens.GetTokenString(curToken.kind) + " --- " + curToken.val); return curToken; } diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index a2cc052892..f9b57fad1c 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -614,7 +614,6 @@ - @@ -702,6 +701,7 @@ + diff --git a/src/Main/Base/Project/Resources/ProjectOptions/ReferencePaths.xfrm b/src/Main/Base/Project/Resources/ProjectOptions/ReferencePaths.xfrm deleted file mode 100644 index 46c7d351a3..0000000000 --- a/src/Main/Base/Project/Resources/ProjectOptions/ReferencePaths.xfrm +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Main/Base/Project/Src/Dom/Implementations/AbstractDecoration.cs b/src/Main/Base/Project/Src/Dom/Implementations/AbstractDecoration.cs index 5b03aba14c..38bf2d9c9a 100644 --- a/src/Main/Base/Project/Src/Dom/Implementations/AbstractDecoration.cs +++ b/src/Main/Base/Project/Src/Dom/Implementations/AbstractDecoration.cs @@ -197,9 +197,6 @@ namespace ICSharpCode.SharpDevelop.Dom } // TODO: check inner classes for protected members too. - // TODO: look for FullyQualifiedName == FullyQualifiedName. Must be replaced by a function wich pays attention to the case. - // Look at NRefactoryResolver.IsSameName. Also pay attention if you can put this Function in IClass, and if you have to - // compare the names instead of the FullyQualifiedNames public bool IsAccessible(IClass callingClass, bool isClassInInheritanceTree) { if (IsInternal) { diff --git a/src/Main/Base/Project/Src/Gui/Components/StringListEditor.cs b/src/Main/Base/Project/Src/Gui/Components/StringListEditor.cs new file mode 100644 index 0000000000..3d32efa1bf --- /dev/null +++ b/src/Main/Base/Project/Src/Gui/Components/StringListEditor.cs @@ -0,0 +1,348 @@ +/* + * Created by SharpDevelop. + * User: Daniel Grunwald + * Date: 17.09.2005 + * Time: 18:31 + */ + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using ICSharpCode.Core; + +namespace ICSharpCode.SharpDevelop.Gui +{ + /// + /// Control to edit a list of strings. + /// + public class StringListEditor : System.Windows.Forms.UserControl + { + public StringListEditor() + { + // + // The InitializeComponent() call is required for Windows Forms designer support. + // + InitializeComponent(); + + this.ManualOrder = true; + this.BrowseForDirectory = false; + // init enabled states: + ListBoxSelectedIndexChanged(null, null); + EditTextBoxTextChanged(null, null); + updateButton.Text = StringParser.Parse(updateButton.Text); + removeButton.Text = StringParser.Parse(removeButton.Text); + moveUpButton.Image = ResourceService.GetBitmap("Icons.16x16.ArrowUp"); + moveDownButton.Image = ResourceService.GetBitmap("Icons.16x16.ArrowDown"); + deleteButton.Image = ResourceService.GetBitmap("Icons.16x16.DeleteIcon"); + } + + #region Windows Forms Designer generated code + /// + /// This method is required for Windows Forms designer support. + /// Do not change the method contents inside the source code editor. The Forms designer might + /// not be able to load this method if it was changed manually. + /// + private void InitializeComponent() + { + this.Size = new System.Drawing.Size(380, 272); + // + // StringListEditor + // + removeButton = new System.Windows.Forms.Button(); + // + // removeButton + // + removeButton.Location = new System.Drawing.Point(165, 53); + removeButton.Name = "removeButton"; + removeButton.Size = new System.Drawing.Size(75, 23); + removeButton.TabIndex = 5; + removeButton.Text = "${res:Global.DeleteButtonText}"; + removeButton.Click += new System.EventHandler(this.RemoveButtonClick); + deleteButton = new System.Windows.Forms.Button(); + // + // deleteButton + // + deleteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + deleteButton.Location = new System.Drawing.Point(329, 164); + deleteButton.Name = "deleteButton"; + deleteButton.Size = new System.Drawing.Size(24, 24); + deleteButton.TabIndex = 10; + deleteButton.Click += new System.EventHandler(this.RemoveButtonClick); + moveDownButton = new System.Windows.Forms.Button(); + // + // moveDownButton + // + moveDownButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + moveDownButton.Location = new System.Drawing.Point(329, 134); + moveDownButton.Name = "moveDownButton"; + moveDownButton.Size = new System.Drawing.Size(24, 24); + moveDownButton.TabIndex = 9; + moveDownButton.Click += new System.EventHandler(this.MoveDownButtonClick); + moveUpButton = new System.Windows.Forms.Button(); + // + // moveUpButton + // + moveUpButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + moveUpButton.Location = new System.Drawing.Point(329, 104); + moveUpButton.Name = "moveUpButton"; + moveUpButton.Size = new System.Drawing.Size(24, 24); + moveUpButton.TabIndex = 8; + moveUpButton.Click += new System.EventHandler(this.MoveUpButtonClick); + listBox = new System.Windows.Forms.ListBox(); + // + // listBox + // + listBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + listBox.FormattingEnabled = true; + listBox.Location = new System.Drawing.Point(3, 104); + listBox.Name = "listBox"; + listBox.Size = new System.Drawing.Size(320, 160); + listBox.TabIndex = 7; + listBox.SelectedIndexChanged += new System.EventHandler(this.ListBoxSelectedIndexChanged); + listLabel = new System.Windows.Forms.Label(); + // + // listLabel + // + listLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + listLabel.Location = new System.Drawing.Point(3, 89); + listLabel.Name = "listLabel"; + listLabel.Size = new System.Drawing.Size(350, 23); + listLabel.TabIndex = 6; + listLabel.Text = "List:"; + updateButton = new System.Windows.Forms.Button(); + // + // updateButton + // + updateButton.Location = new System.Drawing.Point(84, 53); + updateButton.Name = "updateButton"; + updateButton.Size = new System.Drawing.Size(75, 23); + updateButton.TabIndex = 4; + updateButton.Text = "${res:Global.UpdateButtonText}"; + updateButton.Click += new System.EventHandler(this.UpdateButtonClick); + addButton = new System.Windows.Forms.Button(); + // + // addButton + // + addButton.Location = new System.Drawing.Point(3, 53); + addButton.Name = "addButton"; + addButton.Size = new System.Drawing.Size(75, 23); + addButton.TabIndex = 3; + addButton.Text = "Add Item"; + addButton.Click += new System.EventHandler(this.AddButtonClick); + editTextBox = new System.Windows.Forms.TextBox(); + // + // editTextBox + // + editTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + editTextBox.Location = new System.Drawing.Point(3, 26); + editTextBox.Name = "editTextBox"; + editTextBox.Size = new System.Drawing.Size(316, 21); + editTextBox.TabIndex = 1; + editTextBox.TextChanged += new System.EventHandler(this.EditTextBoxTextChanged); + browseButton = new System.Windows.Forms.Button(); + // + // browseButton + // + browseButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + browseButton.Location = new System.Drawing.Point(325, 24); + browseButton.Name = "browseButton"; + browseButton.Size = new System.Drawing.Size(28, 23); + browseButton.TabIndex = 2; + browseButton.Text = "..."; + browseButton.Click += new System.EventHandler(this.BrowseButtonClick); + TitleLabel = new System.Windows.Forms.Label(); + // + // TitleLabel + // + TitleLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + TitleLabel.Location = new System.Drawing.Point(3, 10); + TitleLabel.Name = "TitleLabel"; + TitleLabel.Size = new System.Drawing.Size(350, 23); + TitleLabel.TabIndex = 0; + TitleLabel.Text = "Title:"; + this.Controls.Add(removeButton); + this.Controls.Add(deleteButton); + this.Controls.Add(moveDownButton); + this.Controls.Add(moveUpButton); + this.Controls.Add(listBox); + this.Controls.Add(listLabel); + this.Controls.Add(updateButton); + this.Controls.Add(addButton); + this.Controls.Add(editTextBox); + this.Controls.Add(browseButton); + this.Controls.Add(TitleLabel); + this.Name = "StringListEditor"; + } + private System.Windows.Forms.Button removeButton; + private System.Windows.Forms.Button deleteButton; + private System.Windows.Forms.Button moveDownButton; + private System.Windows.Forms.Button moveUpButton; + private System.Windows.Forms.ListBox listBox; + private System.Windows.Forms.Label listLabel; + private System.Windows.Forms.Button updateButton; + private System.Windows.Forms.Button addButton; + private System.Windows.Forms.TextBox editTextBox; + private System.Windows.Forms.Button browseButton; + private System.Windows.Forms.Label TitleLabel; + #endregion + + public event EventHandler ListChanged; + + protected virtual void OnListChanged(EventArgs e) + { + if (ListChanged != null) { + ListChanged(this, e); + } + } + + public bool ManualOrder { + get { + return !listBox.Sorted; + } + set { + moveUpButton.Visible = moveDownButton.Visible = deleteButton.Visible = value; + removeButton.Visible = !value; + listBox.Sorted = !value; + } + } + + bool browseForDirectory; + + public bool BrowseForDirectory { + get { + return browseForDirectory; + } + set { + browseForDirectory = value; + browseButton.Visible = browseForDirectory; // || browseForFile; + } + } + + public string TitleText { + get { + return TitleLabel.Text; + } + set { + TitleLabel.Text = value; + } + } + + public string AddButtonText { + get { + return addButton.Text; + } + set { + addButton.Text = value; + } + } + + public string ListCaption { + get { + return listLabel.Text; + } + set { + listLabel.Text = value; + } + } + + public void LoadList(IEnumerable list) + { + listBox.Items.Clear(); + foreach (string str in list) { + listBox.Items.Add(str); + } + } + + public string[] GetList() + { + string[] list = new string[listBox.Items.Count]; + for (int i = 0; i < list.Length; i++) { + list[i] = listBox.Items[i].ToString(); + } + return list; + } + + void BrowseButtonClick(object sender, EventArgs e) + { + FolderDialog fdiag = new FolderDialog(); + if (fdiag.DisplayDialog("Select folder") == DialogResult.OK) { + string path = fdiag.Path; + if (!path.EndsWith("\\") && !path.EndsWith("/")) + path += "\\"; + editTextBox.Text = path; + } + } + + void AddButtonClick(object sender, EventArgs e) + { + editTextBox.Text = editTextBox.Text.Trim(); + if (editTextBox.TextLength > 0) { + int index = listBox.Items.IndexOf(editTextBox.Text); + if (index < 0) { + index = listBox.Items.Add(editTextBox.Text); + OnListChanged(EventArgs.Empty); + } + listBox.SelectedIndex = index; + } + } + + void UpdateButtonClick(object sender, EventArgs e) + { + editTextBox.Text = editTextBox.Text.Trim(); + if (editTextBox.TextLength > 0) { + listBox.Items[listBox.SelectedIndex] = editTextBox.Text; + OnListChanged(EventArgs.Empty); + } + } + + void RemoveButtonClick(object sender, EventArgs e) + { + listBox.Items.RemoveAt(listBox.SelectedIndex); + OnListChanged(EventArgs.Empty); + } + + void MoveUpButtonClick(object sender, EventArgs e) + { + int index = listBox.SelectedIndex; + object tmp = listBox.Items[index]; + listBox.Items[index] = listBox.Items[index - 1]; + listBox.Items[index - 1] = tmp; + listBox.SelectedIndex = index - 1; + OnListChanged(EventArgs.Empty); + } + + void MoveDownButtonClick(object sender, EventArgs e) + { + int index = listBox.SelectedIndex; + object tmp = listBox.Items[index]; + listBox.Items[index] = listBox.Items[index + 1]; + listBox.Items[index + 1] = tmp; + listBox.SelectedIndex = index + 1; + OnListChanged(EventArgs.Empty); + } + + void ListBoxSelectedIndexChanged(object sender, EventArgs e) + { + if (listBox.SelectedIndex >= 0) { + editTextBox.Text = listBox.Items[listBox.SelectedIndex].ToString(); + } + moveUpButton.Enabled = listBox.SelectedIndex > 0; + moveDownButton.Enabled = listBox.SelectedIndex >= 0 && listBox.SelectedIndex < listBox.Items.Count - 1; + removeButton.Enabled = deleteButton.Enabled = listBox.SelectedIndex >= 0; + updateButton.Enabled = listBox.SelectedIndex >= 0 && editTextBox.TextLength > 0; + } + + void EditTextBoxTextChanged(object sender, System.EventArgs e) + { + addButton.Enabled = editTextBox.TextLength > 0; + updateButton.Enabled = listBox.SelectedIndex >= 0 && editTextBox.TextLength > 0; + } + } +} diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs index a776ecd8df..33c4f2dd08 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs @@ -113,11 +113,6 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels { helper.BindEnum("debugInfoComboBox", "DebugType"); helper.BindBoolean("registerCOMInteropCheckBox", "RegisterForComInterop", false); - helper.BindStringEnum("generateSerializationAssemblyComboBox", "GenerateSerializationAssemblies", - "Auto", - new StringPair("Off", "Off"), - new StringPair("On", "On"), - new StringPair("Auto", "Auto")); helper.BindStringEnum("generateSerializationAssemblyComboBox", "GenerateSerializationAssemblies", "Auto", new StringPair("Off", "Off"), diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePaths.cs b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePaths.cs index a9febd744d..46031b0857 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePaths.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePaths.cs @@ -15,20 +15,46 @@ using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.SharpDevelop.Gui.OptionPanels { - public class ReferencePaths : AbstractOptionPanel + public class ReferencePaths : AbstractProjectOptionPanel { - MSBuildProject project; - public override void LoadPanelContents() { - SetupFromXmlResource("ProjectOptions.ReferencePaths.xfrm"); - this.project = (MSBuildProject)((Properties)CustomizationObject).Get("Project"); + InitializeHelper(); + + StringListEditor editor = new StringListEditor(); + editor.BrowseForDirectory = true; + editor.ListCaption = StringParser.Parse("&${res:Dialog.ProjectOptions.ReferencePaths}:"); + editor.TitleText = StringParser.Parse("&${res:Dialog.ExportProjectToHtml.FolderLabel}"); + editor.AddButtonText = StringParser.Parse("${res:Dialog.ProjectOptions.ReferencePaths.AddPath}"); + editor.ListChanged += delegate { IsDirty = true; }; + helper.AddBinding("ReferencePath", new SemicolonSeparatedStringListBinding(editor)); + this.Controls.Add(editor); } - public override bool StorePanelContents() + public class SemicolonSeparatedStringListBinding : ConfigurationGuiBinding { - // TODO - return true; + StringListEditor editor; + + public SemicolonSeparatedStringListBinding(StringListEditor editor) + { + this.editor = editor; + } + + public override void Load() + { + string[] values = Get("").Split(';'); + if (values.Length == 1 && values[0].Length == 0) { + editor.LoadList(new string[0]); + } else { + editor.LoadList(values); + } + } + + public override bool Save() + { + Set(string.Join(";", editor.GetList())); + return true; + } } } } diff --git a/src/Main/Base/Project/Src/Gui/XmlForms/Lib/XmlUserControl.cs b/src/Main/Base/Project/Src/Gui/XmlForms/Lib/XmlUserControl.cs index d15824985b..37d4362c82 100644 --- a/src/Main/Base/Project/Src/Gui/XmlForms/Lib/XmlUserControl.cs +++ b/src/Main/Base/Project/Src/Gui/XmlForms/Lib/XmlUserControl.cs @@ -29,7 +29,10 @@ namespace ICSharpCode.SharpDevelop.Gui.XmlForms /// public Dictionary ControlDictionary { get { - return xmlLoader.ControlDictionary; + if (xmlLoader == null) + return null; + else + return xmlLoader.ControlDictionary; } } diff --git a/src/Main/Base/Project/Src/Project/MSBuildEngine.cs b/src/Main/Base/Project/Src/Project/MSBuildEngine.cs index d8cbd5a4b4..00bfa423a9 100644 --- a/src/Main/Base/Project/Src/Project/MSBuildEngine.cs +++ b/src/Main/Base/Project/Src/Project/MSBuildEngine.cs @@ -27,10 +27,16 @@ namespace ICSharpCode.SharpDevelop.Project { /// /// Gets a list of the task names that cause a "Compiling ..." log message. + /// The contents of the list can be changed by addins. /// All names must be in lower case! /// public static readonly List CompileTaskNames = new List(new string[] {"csc", "vbc", "ilasm"}); + /// + /// Gets a list where addins can add additional properties for use in MsBuild. + /// + public static readonly List> MsBuildProperties = new List>(); + MessageViewCategory messageView; /// @@ -64,7 +70,10 @@ namespace ICSharpCode.SharpDevelop.Project CompilerResults results = new CompilerResults(null); BuildPropertyGroup properties = new BuildPropertyGroup(); string location = Path.GetDirectoryName(typeof(MSBuildEngine).Assembly.Location); - properties.SetProperty("SharpDevelopBuildBinPath", location); + properties.SetProperty("SharpDevelopBinPath", location); + foreach (KeyValuePair entry in MsBuildProperties) { + properties.SetProperty(entry.Key, entry.Value); + } Engine engine = new Engine(System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory()); SharpDevelopLogger logger = new SharpDevelopLogger(this, results); diff --git a/src/Main/StartUp/Project/Resources/StringResources.resources b/src/Main/StartUp/Project/Resources/StringResources.resources index 0a73ef5930..f3d85973db 100644 Binary files a/src/Main/StartUp/Project/Resources/StringResources.resources and b/src/Main/StartUp/Project/Resources/StringResources.resources differ