diff --git a/build-support/build/Build.cs b/build-support/build/Build.cs
index 79b294fca..516dd72a6 100644
--- a/build-support/build/Build.cs
+++ b/build-support/build/Build.cs
@@ -141,8 +141,10 @@ void DetermineVersion()
{
foreach (var solutionFile in ExamplesDirectory.GlobFiles("**/*.sln"))
{
- if (solutionFile.ToString().Contains("Spring.Examples.Pool")
- || solutionFile.ToString().Contains("SpringAir")
+ // These solutions hold ASP.NET web site projects that reference the multi-targeted src projects.
+ // A web site's solution metaproject calls GetTargetPath on the outer, TargetFrameworks build,
+ // which does not define it (MSB4057), so they can't be built from the solution.
+ if (solutionFile.ToString().Contains("SpringAir")
|| solutionFile.ToString().Contains("Spring.WebQuickStart"))
{
continue;
diff --git a/examples/Spring/Spring.Examples.Pool/Examples/Pool/Grep.cs b/examples/Spring/Spring.Examples.Pool/Examples/Pool/Grep.cs
deleted file mode 100644
index 04f82015d..000000000
--- a/examples/Spring/Spring.Examples.Pool/Examples/Pool/Grep.cs
+++ /dev/null
@@ -1,140 +0,0 @@
-////
-using System;
-using System.IO;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using System.Threading;
-using Spring.Threading;
-
-namespace Spring.Examples.Pool
-{
- public class Grep : IRunnable
- {
- private string file;
- private string regexPattern;
-
- public class Match
- {
- string fileName, line;
- int lineNum;
-
- public Match(string fileName, int lineNum, string line)
- {
- this.fileName = fileName;
- this.lineNum = lineNum;
- this.line = line;
- }
-
- public void Print()
- {
- Console.Out.WriteLine("thread #{0}: {1}: {2}: {3}", Thread.CurrentThread.GetHashCode(), fileName, lineNum, line);
- }
- }
-
- public class Error
- {
- string file;
- Exception e;
-
- public Error(string file, Exception e)
- {
- this.file = file;
- this.e = e;
- }
-
- public void Print()
- {
- Console.Out.WriteLine("file [{0}]: {1}", file, e.Message);
- }
- }
-
- public Grep(string file, string regexPattern)
- {
- this.file = file;
- this.regexPattern = regexPattern;
- }
-
- public void Run()
- {
- try
- {
- int lineNum = 1;
- using (TextReader r = File.OpenText(file))
- {
- string line = null;
- while ((line = r.ReadLine()) != null)
- {
- if (Regex.IsMatch(line, Regex.Escape(regexPattern), RegexOptions.Singleline))
- {
- new Grep.Match(file, lineNum, line).Print();
- }
- lineNum++;
- }
- }
- }
- catch (Exception e)
- {
- new Grep.Error(file, e).Print();
- }
- }
- }
-
- public class ParallelGrep
- {
- ////
- private PooledQueuedExecutor executor;
-
- public ParallelGrep(int size)
- {
- executor = new PooledQueuedExecutor(size);
- }
-
- public void Recurse(string startPath, string filePattern, string regexPattern)
- {
- foreach (string file in Directory.GetFiles(startPath, filePattern))
- {
- executor.Execute(new Grep(file, regexPattern));
- }
- foreach (string directory in Directory.GetDirectories(startPath))
- {
- Recurse(directory, filePattern, regexPattern);
- }
- }
-
- public void Stop()
- {
- executor.Stop();
- }
- ////
-
- ////
- public static void Main(string[] args)
- {
- if (args.Length < 3)
- {
- Console.Out.WriteLine("usage: {0} regex directory file-pattern [pool-size]", Assembly.GetEntryAssembly().CodeBase);
- Environment.Exit(1);
- }
-
- string regexPattern = args[0];
- string startPath = args[1];
- string filePattern = args[2];
- int size = 10;
- try
- {
- size = Int32.Parse(args[3]);
- }
- catch
- {
- }
- Console.Out.WriteLine ("pool size {0}", size);
-
- ParallelGrep grep = new ParallelGrep(size);
- grep.Recurse(startPath, filePattern, regexPattern);
- grep.Stop();
- }
- ////
-
- }
-}
-////
diff --git a/examples/Spring/Spring.Examples.Pool/Examples/Pool/PooledQueuedExecutor.cs b/examples/Spring/Spring.Examples.Pool/Examples/Pool/PooledQueuedExecutor.cs
deleted file mode 100644
index 95e731bf8..000000000
--- a/examples/Spring/Spring.Examples.Pool/Examples/Pool/PooledQueuedExecutor.cs
+++ /dev/null
@@ -1,196 +0,0 @@
-////
-using System;
-using System.Collections;
-using System.Threading;
-using Spring.Pool;
-using Spring.Pool.Support;
-using Spring.Threading;
-
-namespace Spring.Examples.Pool
-{
- ///
- /// Factory of istances.
- ///
- ////
- public class QueuedExecutorPoolableFactory : IPoolableObjectFactory
- {
- ////
- ////
- void IPoolableObjectFactory.DestroyObject(object o)
- {
- // ah, self documenting code:
- // Here you can see that we decided to let the
- // executor process all the currently queued tasks.
- QueuedExecutor executor = o as Spring.Threading.QueuedExecutor;
- executor.ShutdownAfterProcessingCurrentlyQueuedTasks();
- }
- ////
-
- ////
- bool IPoolableObjectFactory.ValidateObject(object o)
- {
- QueuedExecutor executor = o as QueuedExecutor;
- return executor.Thread != null;
- }
- ////
-
- ////
- void IPoolableObjectFactory.ActivateObject(object o)
- {
- QueuedExecutor executor = o as QueuedExecutor;
- executor.Restart();
- }
- ////
-
- ////
- void IPoolableObjectFactory.PassivateObject(object o)
- {
- }
- ////
-
- ////
- object IPoolableObjectFactory.MakeObject()
- {
- // to actually make this work as a pooled executor
- // use a bounded queue of capacity 1.
- // If we don't do this one of the queued executors
- // will accept all the queued IRunnables as, by default
- // its queue is unbounded, and the PooledExecutor
- // will happen to always run only one thread ...
- return new QueuedExecutor(new BoundedBuffer(1));
- }
- ////
- }
-
- ////
- public class PooledObjectHolder : IDisposable
- {
- IObjectPool pool;
- object pooled;
-
- ///
- /// Builds a new
- /// trying to borrow an object form it
- ///
- ///
- private PooledObjectHolder(IObjectPool pool)
- {
- this.pool = pool;
- this.pooled = pool.BorrowObject();
- }
-
- ///
- /// Allow to access the borrowed pooled object
- ///
- public object Pooled
- {
- get
- {
- return pooled;
- }
- }
-
- ///
- /// Returns the borrowed object to the pool
- ///
- public void Dispose()
- {
- pool.ReturnObject(pooled);
- }
-
- ///
- /// Creates a new for the
- /// given pool.
- ///
- public static PooledObjectHolder UseFrom(IObjectPool pool)
- {
- return new PooledObjectHolder(pool);
- }
- }
- ////
-
- public class PooledQueuedExecutor : IExecutor
- {
- SimplePool pool;
- private IList syncs;
-
- class Queuer
- {
- IObjectPool pool;
- IRunnable runnable;
- private ISync sync;
-
- public Queuer (IObjectPool pool, IRunnable runnable)
- {
- this.pool = pool;
- this.runnable = runnable;
- this.sync = new Latch();
- }
-
- public void Queue ()
- {
- ////
- using (PooledObjectHolder holder = PooledObjectHolder.UseFrom(pool))
- {
- QueuedExecutor executor = (QueuedExecutor) holder.Pooled;
- executor.Execute(runnable);
- }
- ////
- sync.Release();
- }
-
- public static ISync Queue (IObjectPool pool, IRunnable runnable)
- {
- Queuer queuer = new Queuer(pool, runnable);
- Thread thread = new Thread(new ThreadStart(queuer.Queue));
- thread.Start();
- return queuer.Sync;
- }
-
- public ISync Sync
- {
- get
- {
- return sync;
- }
- }
- }
-
- public PooledQueuedExecutor(int size)
- {
- ////
- pool = new SimplePool(new QueuedExecutorPoolableFactory(), size);
- ////
- syncs = ArrayList.Synchronized(new ArrayList());
- }
-
- public PooledQueuedExecutor()
- : this(10)
- {
- }
-
- public void Execute(IRunnable runnable)
- {
- // queue the task and remember its ISync ...
- syncs.Add(Queuer.Queue(pool, runnable));
- }
-
- public void Execute(Action action)
- {
- throw new NotImplementedException();
- }
-
- ////
- public void Stop ()
- {
- // waits for all the grep-task to have been queued ...
- foreach (ISync sync in syncs)
- {
- sync.Acquire();
- }
- pool.Close();
- }
- ////
- }
-}
-////
\ No newline at end of file
diff --git a/examples/Spring/Spring.Examples.Pool/Spring.Examples.Pool.csproj b/examples/Spring/Spring.Examples.Pool/Spring.Examples.Pool.csproj
deleted file mode 100644
index 3ce33a4b5..000000000
--- a/examples/Spring/Spring.Examples.Pool/Spring.Examples.Pool.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- $(TargetFullFrameworkVersion)
- Spring
- Exe
-
-
-
- ..\..\..\build\$(Configuration)\Spring.Core\$(TargetFramework)\Spring.Core.dll
-
-
- lib\net\2.0\Spring.Threading.dll
-
-
-
-
-
\ No newline at end of file
diff --git a/examples/Spring/Spring.Examples.Pool/Spring.Examples.Pool.sln b/examples/Spring/Spring.Examples.Pool/Spring.Examples.Pool.sln
deleted file mode 100644
index 3448a9961..000000000
--- a/examples/Spring/Spring.Examples.Pool/Spring.Examples.Pool.sln
+++ /dev/null
@@ -1,19 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Examples.Pool.2010", "Spring.Examples.Pool.csproj", "{C261D9ED-85C3-4B35-BE48-7156F5B17430}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {C261D9ED-85C3-4B35-BE48-7156F5B17430}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C261D9ED-85C3-4B35-BE48-7156F5B17430}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C261D9ED-85C3-4B35-BE48-7156F5B17430}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C261D9ED-85C3-4B35-BE48-7156F5B17430}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/examples/Spring/Spring.Examples.Pool/lib/net/2.0/LinqBridge.dll b/examples/Spring/Spring.Examples.Pool/lib/net/2.0/LinqBridge.dll
deleted file mode 100644
index 305c9bb4c..000000000
Binary files a/examples/Spring/Spring.Examples.Pool/lib/net/2.0/LinqBridge.dll and /dev/null differ
diff --git a/examples/Spring/Spring.Examples.Pool/lib/net/2.0/Spring.Threading.dll b/examples/Spring/Spring.Examples.Pool/lib/net/2.0/Spring.Threading.dll
deleted file mode 100644
index f5bd2935b..000000000
Binary files a/examples/Spring/Spring.Examples.Pool/lib/net/2.0/Spring.Threading.dll and /dev/null differ
diff --git a/examples/Spring/Spring.MsmqQuickStart/test/Spring/Spring.MsmqQuickStart.Integration.Tests/AssemblyInfo.cs b/examples/Spring/Spring.MsmqQuickStart/test/Spring/Spring.MsmqQuickStart.Integration.Tests/AssemblyInfo.cs
deleted file mode 100644
index 17c5b2f4e..000000000
--- a/examples/Spring/Spring.MsmqQuickStart/test/Spring/Spring.MsmqQuickStart.Integration.Tests/AssemblyInfo.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-using System.Reflection;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Integration Tests")]
diff --git a/examples/Spring/Spring.MsmqQuickStart/test/Spring/Spring.MsmqQuickStart.Integration.Tests/Spring.MsmqQuickStart.Integration.Tests.csproj b/examples/Spring/Spring.MsmqQuickStart/test/Spring/Spring.MsmqQuickStart.Integration.Tests/Spring.MsmqQuickStart.Integration.Tests.csproj
deleted file mode 100644
index 2b760726b..000000000
--- a/examples/Spring/Spring.MsmqQuickStart/test/Spring/Spring.MsmqQuickStart.Integration.Tests/Spring.MsmqQuickStart.Integration.Tests.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
- Debug
- AnyCPU
- 8.0.50727
- 2.0
- {E641F51F-1B51-4B94-B419-F902EABCE4D4}
- Library
- Properties
- Spring
- Spring.MsmqQuickStart.Integration.Tests
-
-
- true
- full
- false
- ..\..\..\build\VS.NET.2005\Spring.NmsQuickStart.Integration.Tests\Debug\
- TRACE;DEBUG;NET_4_0
- prompt
- 4
-
-
- pdbonly
- true
- ..\..\..\build\VS.NET.2005\Spring.NmsQuickStart.Integration.Tests\Release\
- TRACE;NET_4_0
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/examples/Spring/Spring.MsmqQuickStart/test/Spring/Spring.MsmqQuickStart.Tests/AssemblyInfo.cs b/examples/Spring/Spring.MsmqQuickStart/test/Spring/Spring.MsmqQuickStart.Tests/AssemblyInfo.cs
deleted file mode 100644
index f8f7b7fa4..000000000
--- a/examples/Spring/Spring.MsmqQuickStart/test/Spring/Spring.MsmqQuickStart.Tests/AssemblyInfo.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-using System.Reflection;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Unit Tests")]
diff --git a/examples/Spring/Spring.MsmqQuickStart/test/Spring/Spring.MsmqQuickStart.Tests/Spring.MsmqQuickStart.Tests.csproj b/examples/Spring/Spring.MsmqQuickStart/test/Spring/Spring.MsmqQuickStart.Tests/Spring.MsmqQuickStart.Tests.csproj
deleted file mode 100644
index 919ca6ce5..000000000
--- a/examples/Spring/Spring.MsmqQuickStart/test/Spring/Spring.MsmqQuickStart.Tests/Spring.MsmqQuickStart.Tests.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
- Debug
- AnyCPU
- 8.0.50727
- 2.0
- {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}
- Library
- Properties
- Spring
- Spring.MsmqQuickStart.Tests
-
-
- true
- full
- false
- ..\..\..\build\VS.NET.2005\Spring.NmsQuickStart.Tests\Debug\
- TRACE;DEBUG;NET_4_0
- prompt
- 4
-
-
- pdbonly
- true
- ..\..\..\build\VS.NET.2005\Spring.NmsQuickStart.Tests\Release\
- TRACE;NET_4_0
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/examples/Spring/Spring.NmsQuickStart/Spring.NmsQuickStart.sln b/examples/Spring/Spring.NmsQuickStart/Spring.NmsQuickStart.sln
index 80b4bfea4..1b42b55bf 100644
--- a/examples/Spring/Spring.NmsQuickStart/Spring.NmsQuickStart.sln
+++ b/examples/Spring/Spring.NmsQuickStart/Spring.NmsQuickStart.sln
@@ -1,10 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.NmsQuickStart.Integration.Tests.2010", "test\Spring\Spring.NmsQuickStart.Integration.Tests\Spring.NmsQuickStart.Integration.Tests.csproj", "{E641F51F-1B51-4B94-B419-F902EABCE4D4}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.NmsQuickStart.Tests.2010", "test\Spring\Spring.NmsQuickStart.Tests\Spring.NmsQuickStart.Tests.csproj", "{94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.NmsQuickStart.Common.2010", "src\Spring\Spring.NmsQuickStart.Common\Spring.NmsQuickStart.Common.csproj", "{AC5A3035-75DD-48E5-ABCA-38FBC8193F22}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.NmsQuickStart.Server.2010", "src\Spring\Spring.NmsQuickStart.Server\Spring.NmsQuickStart.Server.csproj", "{85E7B947-8153-45E4-B572-BEDB191F1FB2}"
@@ -17,14 +13,6 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {E641F51F-1B51-4B94-B419-F902EABCE4D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E641F51F-1B51-4B94-B419-F902EABCE4D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E641F51F-1B51-4B94-B419-F902EABCE4D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E641F51F-1B51-4B94-B419-F902EABCE4D4}.Release|Any CPU.Build.0 = Release|Any CPU
- {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}.Release|Any CPU.Build.0 = Release|Any CPU
{AC5A3035-75DD-48E5-ABCA-38FBC8193F22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AC5A3035-75DD-48E5-ABCA-38FBC8193F22}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AC5A3035-75DD-48E5-ABCA-38FBC8193F22}.Release|Any CPU.ActiveCfg = Release|Any CPU
diff --git a/examples/Spring/Spring.NmsQuickStart/test/Spring/Spring.NmsQuickStart.Integration.Tests/AssemblyInfo.cs b/examples/Spring/Spring.NmsQuickStart/test/Spring/Spring.NmsQuickStart.Integration.Tests/AssemblyInfo.cs
deleted file mode 100644
index 17c5b2f4e..000000000
--- a/examples/Spring/Spring.NmsQuickStart/test/Spring/Spring.NmsQuickStart.Integration.Tests/AssemblyInfo.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-using System.Reflection;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Integration Tests")]
diff --git a/examples/Spring/Spring.NmsQuickStart/test/Spring/Spring.NmsQuickStart.Integration.Tests/Spring.NmsQuickStart.Integration.Tests.csproj b/examples/Spring/Spring.NmsQuickStart/test/Spring/Spring.NmsQuickStart.Integration.Tests/Spring.NmsQuickStart.Integration.Tests.csproj
deleted file mode 100644
index 7127a715e..000000000
--- a/examples/Spring/Spring.NmsQuickStart/test/Spring/Spring.NmsQuickStart.Integration.Tests/Spring.NmsQuickStart.Integration.Tests.csproj
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- $(TargetFullFrameworkVersion)
- Spring
-
-
\ No newline at end of file
diff --git a/examples/Spring/Spring.NmsQuickStart/test/Spring/Spring.NmsQuickStart.Tests/AssemblyInfo.cs b/examples/Spring/Spring.NmsQuickStart/test/Spring/Spring.NmsQuickStart.Tests/AssemblyInfo.cs
deleted file mode 100644
index f8f7b7fa4..000000000
--- a/examples/Spring/Spring.NmsQuickStart/test/Spring/Spring.NmsQuickStart.Tests/AssemblyInfo.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-using System.Reflection;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Unit Tests")]
diff --git a/examples/Spring/Spring.NmsQuickStart/test/Spring/Spring.NmsQuickStart.Tests/Spring.NmsQuickStart.Tests.csproj b/examples/Spring/Spring.NmsQuickStart/test/Spring/Spring.NmsQuickStart.Tests/Spring.NmsQuickStart.Tests.csproj
deleted file mode 100644
index f6bf6db5e..000000000
--- a/examples/Spring/Spring.NmsQuickStart/test/Spring/Spring.NmsQuickStart.Tests/Spring.NmsQuickStart.Tests.csproj
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
- net40
- Debug;Release
- Spring
- Spring.NmsQuickStart.Tests
- false
-
-
- true
- full
- false
- ..\..\..\build\VS.NET.2010\Spring.NmsQuickStart.Tests\Debug\
- TRACE;DEBUG;NET_4_0
- prompt
- 4
-
-
- pdbonly
- true
- ..\..\..\build\VS.NET.2010\Spring.NmsQuickStart.Tests\Release\
- TRACE;NET_4_0
- prompt
- 4
-
-
- Debug
- AnyCPU
- 8.0.50727
- 2.0
- {94E4E1B4-D424-4EB9-BF34-2EE8CC3D7048}
- Library
- Properties
- Spring
- Spring.NmsQuickStart.Tests
-
- 3.5
-
- v4.0
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- false
- true
-
- AnyCPU
-
-
-
-
\ No newline at end of file