diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs
index 4b1799f67f..a33890ef8d 100644
--- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs
+++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs
@@ -48,7 +48,19 @@ namespace CSharpBinding
{
Language = "C#";
Create(info);
+ }
+
+ protected override void Create(ProjectCreateInformation information)
+ {
+ base.Create(information);
imports.Add(@"$(MSBuildBinPath)\Microsoft.CSharp.Targets");
+ configurations["Debug|AnyCPU"]["CheckForOverflowUnderflow"] = "True";
+ configurations["Release|AnyCPU"]["CheckForOverflowUnderflow"] = "False";
+ }
+
+ public override bool CanCompile(string fileName)
+ {
+ return new CSharpLanguageBinding().CanCompile(fileName);
}
}
}
diff --git a/src/AddIns/BackendBindings/ILAsmBinding/Project/Src/ILAsmProject.cs b/src/AddIns/BackendBindings/ILAsmBinding/Project/Src/ILAsmProject.cs
index f270ed9355..5990496ea6 100644
--- a/src/AddIns/BackendBindings/ILAsmBinding/Project/Src/ILAsmProject.cs
+++ b/src/AddIns/BackendBindings/ILAsmBinding/Project/Src/ILAsmProject.cs
@@ -27,5 +27,10 @@ namespace ICSharpCode.ILAsmBinding
Create(info);
imports.Add(@"$(SharpDevelopBuildBinPath)\SharpDevelop.Build.MSIL.Targets");
}
+
+ public override bool CanCompile(string fileName)
+ {
+ return new ILAsmLanguageBinding().CanCompile(fileName);
+ }
}
}
diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs
index b43de0fe97..1969c0e017 100644
--- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs
+++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs
@@ -87,5 +87,10 @@ namespace VBNetBinding
LanguageProperties = ICSharpCode.SharpDevelop.Dom.LanguageProperties.VBNet;
BuildConstantSeparator = ',';
}
+
+ public override bool CanCompile(string fileName)
+ {
+ return new VBNetLanguageBinding().CanCompile(fileName);
+ }
}
}
diff --git a/src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.addin b/src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.addin
index c2e6ffbf46..d0ade03244 100644
--- a/src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.addin
+++ b/src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.addin
@@ -21,7 +21,7 @@
+ shortcut = "Insert" />
+ shortcut="Delete" />
@@ -67,6 +67,6 @@
+ shortcut="Control|A" />
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/AbstractASTVisitor.cs b/src/Libraries/NRefactory/Project/Src/Parser/Visitors/AbstractASTVisitor.cs
index c616a671ed..35e0f5d327 100644
--- a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/AbstractASTVisitor.cs
+++ b/src/Libraries/NRefactory/Project/Src/Parser/Visitors/AbstractASTVisitor.cs
@@ -755,7 +755,9 @@ namespace ICSharpCode.NRefactory.Parser
public virtual object Visit(LockStatement lockStatement, object data)
{
Debug.Assert(lockStatement != null);
+ Debug.Assert(lockStatement.LockExpression != null);
Debug.Assert(lockStatement.EmbeddedStatement != null);
+ lockStatement.LockExpression.AcceptVisitor(this, data);
return lockStatement.EmbeddedStatement.AcceptVisitor(this, data);
}
diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/ProjectOptionsView.cs b/src/Main/Base/Project/Src/Gui/Dialogs/ProjectOptionsView.cs
index 85b5bab6dc..2fcdad0279 100644
--- a/src/Main/Base/Project/Src/Gui/Dialogs/ProjectOptionsView.cs
+++ b/src/Main/Base/Project/Src/Gui/Dialogs/ProjectOptionsView.cs
@@ -117,6 +117,11 @@ namespace ICSharpCode.SharpDevelop.Project.Dialogs
public override void Save(string fileName)
{
foreach (IDialogPanelDescriptor pane in descriptors) {
+ ICanBeDirty dirtyable = pane.DialogPanel as ICanBeDirty;
+ if (dirtyable != null) {
+ if (!dirtyable.IsDirty)
+ continue; // skip unchanged panels
+ }
pane.DialogPanel.ReceiveDialogMessage(DialogMessage.OK);
}
project.Save();
diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs
index d9897d2947..49d8de95fd 100644
--- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs
+++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs
@@ -121,7 +121,20 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
}
}
- ItemType type = fileNode.Project.CanCompile(fileNode.FileName) ? ItemType.Compile : ItemType.Content;
+ ItemType type;
+ if (fileNode.Project.CanCompile(fileNode.FileName)) {
+ type = ItemType.Compile;
+ } else {
+ switch (Path.GetExtension(fileNode.FileName).ToLower()) {
+ case ".resx":
+ case ".resources":
+ type = ItemType.EmbeddedResource;
+ break;
+ default:
+ type = ItemType.Content;
+ break;
+ }
+ }
FileProjectItem newItem = new FileProjectItem(fileNode.Project, type);
newItem.Include = FileUtility.GetRelativePath(fileNode.Project.Directory, fileNode.FileName);
diff --git a/src/Main/Base/Project/Src/Project/ConfigurationGuiHelper.cs b/src/Main/Base/Project/Src/Project/ConfigurationGuiHelper.cs
index 4622175121..1bc460c07c 100644
--- a/src/Main/Base/Project/Src/Project/ConfigurationGuiHelper.cs
+++ b/src/Main/Base/Project/Src/Project/ConfigurationGuiHelper.cs
@@ -194,7 +194,13 @@ namespace ICSharpCode.SharpDevelop.Project
public override bool Save()
{
- Set(control.Checked ? "true" : "false");
+ string oldValue = Get("True");
+ if (oldValue == "true" || oldValue == "false") {
+ // keep value in lower case
+ Set(control.Checked.ToString().ToLower());
+ } else {
+ Set(control.Checked.ToString());
+ }
return true;
}
}
diff --git a/src/Main/Base/Project/Src/Project/MSBuildProject.cs b/src/Main/Base/Project/Src/Project/MSBuildProject.cs
index d01e0d353e..bbc40c4127 100644
--- a/src/Main/Base/Project/Src/Project/MSBuildProject.cs
+++ b/src/Main/Base/Project/Src/Project/MSBuildProject.cs
@@ -29,7 +29,7 @@ namespace ICSharpCode.SharpDevelop.Project
protected char BuildConstantSeparator = ';';
- protected void Create(ProjectCreateInformation information)
+ protected virtual void Create(ProjectCreateInformation information)
{
Name = information.ProjectName;
configurations[""] = new PropertyGroup();
@@ -44,13 +44,17 @@ namespace ICSharpCode.SharpDevelop.Project
configurations["Debug|AnyCPU"] = new PropertyGroup();
configurations["Debug|AnyCPU"]["OutputPath"] = @"bin\Debug\";
- configurations["Debug|AnyCPU"]["Optimize"] = "false";
+ configurations["Debug|AnyCPU"]["Optimize"] = "False";
configurations["Debug|AnyCPU"]["DefineConstants"] = "DEBUG" + BuildConstantSeparator + "TRACE";
+ configurations["Debug|AnyCPU"]["DebugSymbols"] = "True";
+ configurations["Debug|AnyCPU"]["DebugType"] = "Full";
configurations["Release|AnyCPU"] = new PropertyGroup();
configurations["Release|AnyCPU"]["OutputPath"] = @"bin\Release\";
- configurations["Release|AnyCPU"]["Optimize"] = "true";
+ configurations["Release|AnyCPU"]["Optimize"] = "True";
configurations["Release|AnyCPU"]["DefineConstants"] = "TRACE";
+ configurations["Release|AnyCPU"]["DebugSymbols"] = "False";
+ configurations["Release|AnyCPU"]["DebugType"] = "None";
fileName = information.OutputProjectFileName;
}