diff --git a/src/Main/Base/Test/CheckAssemblyFlags.cs b/src/Main/Base/Test/CheckAssemblyFlags.cs
new file mode 100644
index 0000000000..8d56ae8e45
--- /dev/null
+++ b/src/Main/Base/Test/CheckAssemblyFlags.cs
@@ -0,0 +1,63 @@
+//
+//
+//
+//
+// $Revision$
+//
+
+using System;
+using System.IO;
+using ICSharpCode.Core;
+using ICSharpCode.SharpDevelop.Util;
+using NUnit.Framework;
+using System.Text.RegularExpressions;
+
+namespace ICSharpCode.SharpDevelop.Tests
+{
+ [TestFixture]
+ public class CheckAssemblyFlags
+ {
+ string binPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..");
+
+ bool Get32BitFlags(string assembly)
+ {
+ assembly = Path.Combine(binPath, assembly);
+ string corflags = FileUtility.GetSdkPath("corflags.exe");
+ Assert.IsNotNull(corflags, "corflags.exe not found, this test requires the .NET SDK!");
+ ProcessRunner pr = new ProcessRunner();
+ Console.WriteLine(corflags + " " + assembly);
+ pr.Start(corflags, assembly);
+ if (!pr.WaitForExit(5000)) {
+ pr.Kill();
+ throw new InvalidOperationException("Timeout running corflags");
+ } else {
+ Console.WriteLine(pr.StandardOutput);
+ Match m = Regex.Match(pr.StandardOutput, @"32BIT\s*:\s*([01])");
+ if (m.Success) {
+ return m.Groups[1].Value == "1";
+ } else {
+ throw new InvalidOperationException("Invalid corflags output");
+ }
+ }
+ }
+
+ // All these processes must use the same value for 32-bit-flag:
+ [Test]
+ public void CheckSharpDevelop32Bit()
+ {
+ Assert.IsTrue(Get32BitFlags("SharpDevelop.exe"));
+ }
+
+ [Test]
+ public void CheckBuildWorker32Bit()
+ {
+ Assert.IsTrue(Get32BitFlags("ICSharpCode.SharpDevelop.BuildWorker.exe"));
+ }
+
+ [Test]
+ public void CheckBooCompiler32Bit()
+ {
+ Assert.IsTrue(Get32BitFlags(@"..\src\AddIns\BackendBindings\Boo\RequiredLibraries\booc.exe"));
+ }
+ }
+}
diff --git a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
index 6e183ebc54..bcf03b94aa 100644
--- a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
+++ b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
@@ -52,6 +52,7 @@
+