From f7acc700cecf3a8c2d34abb78db6a5be0570cdfb Mon Sep 17 00:00:00 2001
From: Sander Aernouts <sander.aernouts@gmail.com>
Date: Mon, 12 Mar 2018 13:02:11 +0100
Subject: [PATCH] updated to Castle.Core 4.2.1

---
 .gitignore                                    | 281 ++++++++++++++++--
 nuget/TestStack.White.nuspec                  |   2 +-
 .../TestStack.White.Reporting.csproj          |   9 +-
 src/TestStack.White.Reporting/packages.config |   2 +-
 .../AppScreenException.cs                     |   9 +-
 .../TestStack.White.ScreenObjects.csproj      |   9 +-
 .../packages.config                           |   2 +-
 .../TestStack.White.UITests.csproj            |   8 +-
 src/TestStack.White.UITests/packages.config   |   2 +-
 .../TestStack.White.WebBrowser.UITests.csproj |   5 +-
 .../packages.config                           |   2 +-
 .../TestStack.White.WebBrowser.csproj         |   9 +-
 .../packages.config                           |   2 +-
 src/TestStack.White/TestStack.White.csproj    |   4 +-
 src/TestStack.White/packages.config           |   2 +-
 15 files changed, 280 insertions(+), 68 deletions(-)

diff --git a/.gitignore b/.gitignore
index 098d4d74..219a825e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,24 +1,66 @@
-# Build Folders (you can keep bin if you'd like, to store dlls and pdbs)
-[Bb]in/
-[Oo]bj/
-
-# mstest test results
-TestResults
-
 ## Ignore Visual Studio temporary files, build results, and
 ## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
 
 # User-specific files
 *.suo
 *.user
+*.userosscache
 *.sln.docstates
 
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
 # Build results
 [Dd]ebug/
+[Dd]ebugPublic/
 [Rr]elease/
+[Rr]eleases/
 x64/
+x86/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+**/Properties/launchSettings.json
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
 *_i.c
 *_p.c
+*_i.h
 *.ilk
 *.meta
 *.obj
@@ -32,34 +74,80 @@ x64/
 *.tli
 *.tlh
 *.tmp
+*.tmp_proj
+*.log
 *.vspscc
 *.vssscc
 .builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
 
 # Visual C++ cache files
 ipch/
 *.aps
 *.ncb
+*.opendb
 *.opensdf
 *.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
 
 # Visual Studio profiler
 *.psess
 *.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
 
 # Guidance Automation Toolkit
 *.gpState
 
 # ReSharper is a .NET coding add-in
-_ReSharper*
-# TeamCity is a build server addin for VS
-_TeamCity.*
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
 
 # NCrunch
+_NCrunch_*
 .*crunch*.local.xml
+nCrunchTemp_*
 
-# Installshield output folder 
-[Ee]xpress
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
 
 # DocProject is a documentation generator add-in
 DocProject/buildhelp/
@@ -72,38 +160,165 @@ DocProject/Help/Html2
 DocProject/Help/html
 
 # Click-Once directory
-publish
+publish/
 
 # Publish Web Output
-*.Publish.xml
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
 
 # Others
-[Bb]in
-[Oo]bj
-sql
-TestResults
-[Tt]est[Rr]esult*
-*.Cache
-ClientBin
-[Ss]tyle[Cc]op.*
+ClientBin/
 ~$*
+*~
 *.dbmdl
-*.orig
-Generated_Code #added for RIA/Silverlight projects
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk 
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
 
-# Backup & report files from converting an old project file to a newer
-# Visual Studio version. Backup files are not needed, because we have git ;-)
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
 _UpgradeReport_Files/
 Backup*/
 UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
 
-# NuGet temporary packages folder
-packages
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
 
-# any logs
-*.log
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+# CodeRush
+.cr/
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output 
+ASALocalRun/
 
-# our output folder for build artifacts
-build
+# MSBuild Binary and Structured Log
+*.binlog
 
-Thumbs.db
\ No newline at end of file
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
diff --git a/nuget/TestStack.White.nuspec b/nuget/TestStack.White.nuspec
index 2d0a6863..d185559d 100644
--- a/nuget/TestStack.White.nuspec
+++ b/nuget/TestStack.White.nuspec
@@ -20,7 +20,7 @@
       <frameworkAssembly assemblyName="System.Windows.Automation" />
     </frameworkAssemblies>    
     <dependencies>
-      <dependency id="Castle.Core" version="3.3.0" />
+      <dependency id="Castle.Core" version="[4, 5)" />
     </dependencies>
   </metadata>
   <files>
diff --git a/src/TestStack.White.Reporting/TestStack.White.Reporting.csproj b/src/TestStack.White.Reporting/TestStack.White.Reporting.csproj
index ede5ba94..0c38396d 100644
--- a/src/TestStack.White.Reporting/TestStack.White.Reporting.csproj
+++ b/src/TestStack.White.Reporting/TestStack.White.Reporting.csproj
@@ -59,11 +59,11 @@
     <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Castle.Core, Version=3.2.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\packages\Castle.Core.3.3.0\lib\net40-client\Castle.Core.dll</HintPath>
+    <Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
+      <HintPath>..\packages\Castle.Core.4.2.1\lib\net40\Castle.Core.dll</HintPath>
     </Reference>
     <Reference Include="System" />
+    <Reference Include="System.Configuration" />
     <Reference Include="System.Core">
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
     </Reference>
@@ -113,5 +113,4 @@
   <Target Name="AfterBuild">
   </Target>
   -->
-</Project>
-
+</Project>
\ No newline at end of file
diff --git a/src/TestStack.White.Reporting/packages.config b/src/TestStack.White.Reporting/packages.config
index 72098ad9..693ce687 100644
--- a/src/TestStack.White.Reporting/packages.config
+++ b/src/TestStack.White.Reporting/packages.config
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Castle.Core" version="3.3.0" targetFramework="net40" />
+  <package id="Castle.Core" version="4.2.1" targetFramework="net40" />
 </packages>
\ No newline at end of file
diff --git a/src/TestStack.White.ScreenObjects/AppScreenException.cs b/src/TestStack.White.ScreenObjects/AppScreenException.cs
index 5e0314ef..a200ad50 100644
--- a/src/TestStack.White.ScreenObjects/AppScreenException.cs
+++ b/src/TestStack.White.ScreenObjects/AppScreenException.cs
@@ -17,11 +17,10 @@ protected AppScreenException(SerializationInfo info, StreamingContext context) :
         public static AppScreenException NonVirtualMethods(IEnumerable<MethodInfo> methodInfos)
         {
             var messageBuilder = new StringBuilder();
-            methodInfos.ForEach(delegate(MethodInfo entity)
-                                 {
-                                     string message = string.Format("{0} method in class {1} is not virtual", entity.Name, entity.DeclaringType.Name);
-                                     messageBuilder.AppendLine(message);
-                                 });
+            foreach(var entity in methodInfos) { 
+                string message = string.Format("{0} method in class {1} is not virtual", entity.Name, entity.DeclaringType.Name);
+                messageBuilder.AppendLine(message);
+            }
             return new AppScreenException(messageBuilder.ToString());
         }
     }
diff --git a/src/TestStack.White.ScreenObjects/TestStack.White.ScreenObjects.csproj b/src/TestStack.White.ScreenObjects/TestStack.White.ScreenObjects.csproj
index 62fa3b40..b4892deb 100644
--- a/src/TestStack.White.ScreenObjects/TestStack.White.ScreenObjects.csproj
+++ b/src/TestStack.White.ScreenObjects/TestStack.White.ScreenObjects.csproj
@@ -57,11 +57,11 @@
     <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Castle.Core, Version=3.2.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\packages\Castle.Core.3.3.0\lib\net40-client\Castle.Core.dll</HintPath>
+    <Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
+      <HintPath>..\packages\Castle.Core.4.2.1\lib\net40\Castle.Core.dll</HintPath>
     </Reference>
     <Reference Include="System" />
+    <Reference Include="System.Configuration" />
     <Reference Include="System.Core">
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
     </Reference>
@@ -161,5 +161,4 @@
   <Target Name="AfterBuild">
   </Target>
   -->
-</Project>
-
+</Project>
\ No newline at end of file
diff --git a/src/TestStack.White.ScreenObjects/packages.config b/src/TestStack.White.ScreenObjects/packages.config
index 72098ad9..693ce687 100644
--- a/src/TestStack.White.ScreenObjects/packages.config
+++ b/src/TestStack.White.ScreenObjects/packages.config
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Castle.Core" version="3.3.0" targetFramework="net40" />
+  <package id="Castle.Core" version="4.2.1" targetFramework="net40" />
 </packages>
\ No newline at end of file
diff --git a/src/TestStack.White.UITests/TestStack.White.UITests.csproj b/src/TestStack.White.UITests/TestStack.White.UITests.csproj
index 4fa895db..d15d2f8c 100644
--- a/src/TestStack.White.UITests/TestStack.White.UITests.csproj
+++ b/src/TestStack.White.UITests/TestStack.White.UITests.csproj
@@ -38,8 +38,8 @@
     <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Castle.Core">
-      <HintPath>..\packages\Castle.Core.3.3.0\lib\net40-client\Castle.Core.dll</HintPath>
+    <Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
+      <HintPath>..\packages\Castle.Core.4.2.1\lib\net40\Castle.Core.dll</HintPath>
     </Reference>
     <Reference Include="nunit.framework, Version=3.0.5813.39032, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
       <HintPath>..\packages\NUnit.3.0.1\lib\net40\nunit.framework.dll</HintPath>
@@ -47,6 +47,7 @@
     </Reference>
     <Reference Include="PresentationCore" />
     <Reference Include="System" />
+    <Reference Include="System.Configuration" />
     <Reference Include="System.Core" />
     <Reference Include="System.Drawing" />
     <Reference Include="UIAutomationClient" />
@@ -178,5 +179,4 @@
   <Target Name="AfterBuild">
   </Target>
   -->
-</Project>
-
+</Project>
\ No newline at end of file
diff --git a/src/TestStack.White.UITests/packages.config b/src/TestStack.White.UITests/packages.config
index 70a3f7c7..d3d9f286 100644
--- a/src/TestStack.White.UITests/packages.config
+++ b/src/TestStack.White.UITests/packages.config
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Castle.Core" version="3.3.0" targetFramework="net40" />
+  <package id="Castle.Core" version="4.2.1" targetFramework="net40" />
   <package id="NUnit" version="3.0.1" targetFramework="net40" />
 </packages>
\ No newline at end of file
diff --git a/src/TestStack.White.WebBrowser.UITests/TestStack.White.WebBrowser.UITests.csproj b/src/TestStack.White.WebBrowser.UITests/TestStack.White.WebBrowser.UITests.csproj
index d35bce76..3a69c55f 100644
--- a/src/TestStack.White.WebBrowser.UITests/TestStack.White.WebBrowser.UITests.csproj
+++ b/src/TestStack.White.WebBrowser.UITests/TestStack.White.WebBrowser.UITests.csproj
@@ -57,13 +57,14 @@
     <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Castle.Core">
-      <HintPath>..\packages\Castle.Core.3.3.0\lib\net40-client\Castle.Core.dll</HintPath>
+    <Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
+      <HintPath>..\packages\Castle.Core.4.2.1\lib\net40\Castle.Core.dll</HintPath>
     </Reference>
     <Reference Include="nunit.framework">
       <HintPath>..\packages\NUnit.3.0.1\lib\net40\nunit.framework.dll</HintPath>
     </Reference>
     <Reference Include="System" />
+    <Reference Include="System.Configuration" />
     <Reference Include="System.Core">
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
     </Reference>
diff --git a/src/TestStack.White.WebBrowser.UITests/packages.config b/src/TestStack.White.WebBrowser.UITests/packages.config
index 70a3f7c7..d3d9f286 100644
--- a/src/TestStack.White.WebBrowser.UITests/packages.config
+++ b/src/TestStack.White.WebBrowser.UITests/packages.config
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Castle.Core" version="3.3.0" targetFramework="net40" />
+  <package id="Castle.Core" version="4.2.1" targetFramework="net40" />
   <package id="NUnit" version="3.0.1" targetFramework="net40" />
 </packages>
\ No newline at end of file
diff --git a/src/TestStack.White.WebBrowser/TestStack.White.WebBrowser.csproj b/src/TestStack.White.WebBrowser/TestStack.White.WebBrowser.csproj
index 9169945e..9deea861 100644
--- a/src/TestStack.White.WebBrowser/TestStack.White.WebBrowser.csproj
+++ b/src/TestStack.White.WebBrowser/TestStack.White.WebBrowser.csproj
@@ -56,11 +56,11 @@
     <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Castle.Core, Version=3.2.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\packages\Castle.Core.3.3.0\lib\net40-client\Castle.Core.dll</HintPath>
+    <Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
+      <HintPath>..\packages\Castle.Core.4.2.1\lib\net40\Castle.Core.dll</HintPath>
     </Reference>
     <Reference Include="System" />
+    <Reference Include="System.Configuration" />
     <Reference Include="System.Core">
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
     </Reference>
@@ -128,5 +128,4 @@
   <Target Name="AfterBuild">
   </Target>
   -->
-</Project>
-
+</Project>
\ No newline at end of file
diff --git a/src/TestStack.White.WebBrowser/packages.config b/src/TestStack.White.WebBrowser/packages.config
index 72098ad9..693ce687 100644
--- a/src/TestStack.White.WebBrowser/packages.config
+++ b/src/TestStack.White.WebBrowser/packages.config
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Castle.Core" version="3.3.0" targetFramework="net40" />
+  <package id="Castle.Core" version="4.2.1" targetFramework="net40" />
 </packages>
\ No newline at end of file
diff --git a/src/TestStack.White/TestStack.White.csproj b/src/TestStack.White/TestStack.White.csproj
index 65b07908..cb205212 100644
--- a/src/TestStack.White/TestStack.White.csproj
+++ b/src/TestStack.White/TestStack.White.csproj
@@ -62,8 +62,8 @@
     <NoWarn>1591, 1570</NoWarn>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Castle.Core">
-      <HintPath>..\packages\Castle.Core.3.3.0\lib\net40-client\Castle.Core.dll</HintPath>
+    <Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
+      <HintPath>..\packages\Castle.Core.4.2.1\lib\net40\Castle.Core.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.configuration" />
diff --git a/src/TestStack.White/packages.config b/src/TestStack.White/packages.config
index 72098ad9..693ce687 100644
--- a/src/TestStack.White/packages.config
+++ b/src/TestStack.White/packages.config
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Castle.Core" version="3.3.0" targetFramework="net40" />
+  <package id="Castle.Core" version="4.2.1" targetFramework="net40" />
 </packages>
\ No newline at end of file