diff --git a/main/OpenCover.Console/Program.cs b/main/OpenCover.Console/Program.cs index 674439e5f..e5175b8f1 100644 --- a/main/OpenCover.Console/Program.cs +++ b/main/OpenCover.Console/Program.cs @@ -484,8 +484,17 @@ from @class in module.Classes.Where(c => !c.ShouldSerializeSkippedDueTo()) private static bool GetFullOutputFile(CommandLineParser parser, out string outputFile) { - outputFile = Path.Combine(Environment.CurrentDirectory, Environment.ExpandEnvironmentVariables(parser.OutputFile)); - if (!Directory.Exists(Path.GetDirectoryName(outputFile))) + try + { + outputFile = Path.Combine(Environment.CurrentDirectory, Environment.ExpandEnvironmentVariables(parser.OutputFile)); + } + catch (Exception ex) + { + outputFile = null; + System.Console.WriteLine("Invalid `outputFile` supplied: {0}", ex.Message); + return false; + } + if (!Directory.Exists(Path.GetDirectoryName(outputFile) ?? string.Empty)) { System.Console.WriteLine("Output folder does not exist; please create it and make sure appropriate permissions are set."); return false; @@ -493,6 +502,7 @@ private static bool GetFullOutputFile(CommandLineParser parser, out string outpu return true; } + private static IFilter BuildFilter(CommandLineParser parser) { var filter = Filter.BuildFilter(parser); diff --git a/main/OpenCover.Documentation/Usage.pdf b/main/OpenCover.Documentation/Usage.pdf index 64c84b068..fcb46952d 100644 Binary files a/main/OpenCover.Documentation/Usage.pdf and b/main/OpenCover.Documentation/Usage.pdf differ diff --git a/main/OpenCover.Documentation/Usage.rtf b/main/OpenCover.Documentation/Usage.rtf index b0acbf0f0..a078a647e 100644 --- a/main/OpenCover.Documentation/Usage.rtf +++ b/main/OpenCover.Documentation/Usage.rtf @@ -1,8 +1,8 @@ {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang3081\deflangfe3081\themelang3081\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} {\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f4\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Helvetica;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;} -{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f39\fbidi \froman\fcharset0\fprq2{\*\panose 00000000000000000000}Cambria;} -{\f40\fbidi \fmodern\fcharset0\fprq1{\*\panose 00000000000000000000}Consolas;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 00000000000000000000}Cambria;} +{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f39\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;} +{\f40\fbidi \fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;} {\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} {\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f41\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f42\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} @@ -11,56 +11,57 @@ {\f64\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f65\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f66\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f67\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);} {\f68\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f69\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f81\fbidi \fswiss\fcharset238\fprq2 Helvetica CE;}{\f82\fbidi \fswiss\fcharset204\fprq2 Helvetica Cyr;} {\f84\fbidi \fswiss\fcharset161\fprq2 Helvetica Greek;}{\f85\fbidi \fswiss\fcharset162\fprq2 Helvetica Tur;}{\f86\fbidi \fswiss\fcharset177\fprq2 Helvetica (Hebrew);}{\f87\fbidi \fswiss\fcharset178\fprq2 Helvetica (Arabic);} -{\f88\fbidi \fswiss\fcharset186\fprq2 Helvetica Baltic;}{\f89\fbidi \fswiss\fcharset163\fprq2 Helvetica (Vietnamese);}{\f411\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f412\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;} -{\f414\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f415\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f418\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f419\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);} -{\f431\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\f432\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\f434\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\f435\fbidi \froman\fcharset162\fprq2 Cambria Tur;} -{\f438\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\f439\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\f441\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f442\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;} -{\f444\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}{\f445\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f448\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f449\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);} -{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} -{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;} -{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;} -{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} -{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;} -{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;} -{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}} -{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0; -\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\caccentone\ctint255\cshade191\red54\green95\blue145;\caccentone\ctint255\cshade255\red79\green129\blue189; -\ctexttwo\ctint255\cshade191\red23\green54\blue93;\cfollowedhyperlink\ctint255\cshade255\red128\green0\blue128;\ctextone\ctint255\cshade255\red0\green0\blue0;\red51\green51\blue51;\red43\green145\blue175; -\cbackgroundone\ctint255\cshade191\red191\green191\blue191;}{\*\defchp \f31506\fs22\lang3081\langfe1033\langfenp1033 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 } -\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 -\snext0 \sqformat \spriority0 Normal;}{\s1\ql \li0\ri0\sb480\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs28\alang1025 \ltrch\fcs0 -\b\fs28\cf17\lang3081\langfe1033\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 \sbasedon0 \snext0 \slink18 \sqformat \spriority9 \styrsid13184707 heading 1;}{\s2\ql \li0\ri0\sb200\sl276\slmult1 +{\f88\fbidi \fswiss\fcharset186\fprq2 Helvetica Baltic;}{\f89\fbidi \fswiss\fcharset163\fprq2 Helvetica (Vietnamese);}{\f381\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f382\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;} +{\f384\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f385\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f388\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f389\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);} +{\f411\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f412\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f414\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f415\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} +{\f418\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f419\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f431\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\f432\fbidi \froman\fcharset204\fprq2 Cambria Cyr;} +{\f434\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\f435\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\f438\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\f439\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);} +{\f441\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f442\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}{\f444\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}{\f445\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;} +{\f448\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f449\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;} +{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} +{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;} +{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} +{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0; +\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192; +\caccentone\ctint255\cshade191\red54\green95\blue145;\caccentone\ctint255\cshade255\red79\green129\blue189;\ctexttwo\ctint255\cshade191\red23\green54\blue93;\cfollowedhyperlink\ctint255\cshade255\red128\green0\blue128; +\ctextone\ctint255\cshade255\red0\green0\blue0;\red51\green51\blue51;\red43\green145\blue175;\cbackgroundone\ctint255\cshade191\red191\green191\blue191;}{\*\defchp \f31506\fs22\lang3081\langfe1033\langfenp1033 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\s1\ql \li0\ri0\sb480\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 +\ab\af0\afs28\alang1025 \ltrch\fcs0 \b\fs28\cf17\lang3081\langfe1033\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 \sbasedon0 \snext0 \slink15 \sqformat \spriority9 \styrsid13184707 heading 1;}{\s2\ql \li0\ri0\sb200\sl276\slmult1 \keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 \b\fs26\cf18\lang3081\langfe1033\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 -\sbasedon0 \snext0 \slink15 \sunhideused \sqformat \spriority9 \styrsid12068581 heading 2;}{\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \rtlch\fcs1 -\ab\af0\afs22\alang1025 \ltrch\fcs0 \b\fs22\cf18\lang3081\langfe1033\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 \sbasedon0 \snext0 \slink16 \sunhideused \sqformat \spriority9 \styrsid12068581 heading 3;}{\*\cs10 \additive +\sbasedon0 \snext0 \slink16 \sunhideused \sqformat \spriority9 \styrsid12068581 heading 2;}{\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \rtlch\fcs1 +\ab\af0\afs22\alang1025 \ltrch\fcs0 \b\fs22\cf18\lang3081\langfe1033\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 \sbasedon0 \snext0 \slink17 \sunhideused \sqformat \spriority9 \styrsid12068581 heading 3;}{\*\cs10 \additive \sunhideused \spriority1 Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 \snext11 \ssemihidden \sunhideused -Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af0\afs26 \ltrch\fcs0 \b\fs26\cf18\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink2 \slocked \spriority9 \styrsid12068581 Heading 2 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af0 \ltrch\fcs0 -\b\cf18\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink3 \slocked \spriority9 \styrsid12068581 Heading 3 Char;}{\s17\ql \li0\ri0\sb480\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 -\ab\af0\afs28\alang1025 \ltrch\fcs0 \b\fs28\cf17\lang1033\langfe1041\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1033\langfenp1041 \sbasedon1 \snext0 \ssemihidden \sunhideused \sqformat \spriority39 \styrsid7372180 TOC Heading;}{\*\cs18 \additive -\rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\fs28\cf17\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink1 \slocked \spriority9 \styrsid13184707 Heading 1 Char;}{\*\cs19 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 +Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\fs28\cf17\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink1 \slocked \spriority9 \styrsid13184707 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af0\afs26 \ltrch\fcs0 +\b\fs26\cf18\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink2 \slocked \spriority9 \styrsid12068581 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf18\loch\f31502\hich\af31502\dbch\af31501 +\sbasedon10 \slink3 \slocked \spriority9 \styrsid12068581 Heading 3 Char;}{\s18\ql \li0\ri0\sb480\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs28\alang1025 \ltrch\fcs0 +\b\fs28\cf17\lang1033\langfe1041\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1033\langfenp1041 \sbasedon1 \snext0 \ssemihidden \sunhideused \sqformat \spriority39 \styrsid7372180 TOC Heading;}{\*\cs19 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \sunhideused \styrsid8939988 Hyperlink;}{\s20\ql \li0\ri0\sa100\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 \sbasedon0 \snext0 \sautoupd \sunhideused \spriority39 \styrsid7372180 toc 1;}{\s21\ql \li220\ri0\sa100\sl276\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin220\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 \sbasedon0 \snext0 \sautoupd \sunhideused \spriority39 \styrsid7372180 toc 2;}{\s22\ql \li440\ri0\sa100\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin440\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 \sbasedon0 \snext0 \sautoupd \sunhideused \spriority39 \styrsid7372180 toc 3;}{\s23\ql \li0\ri0\sa300\widctlpar\brdrb\brdrs\brdrw20\brsp80\brdrcf18 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\contextualspace \rtlch\fcs1 -\af0\afs52\alang1025 \ltrch\fcs0 \fs52\expnd1\expndtw5\cf19\lang3081\langfe1033\kerning28\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 \sbasedon0 \snext0 \slink25 \sqformat \spriority10 \styrsid7372180 Title;}{ -\s24\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 -\sbasedon0 \snext24 \sqformat \spriority34 \styrsid6453762 List Paragraph;}{\*\cs25 \additive \rtlch\fcs1 \af0\afs52 \ltrch\fcs0 \fs52\expnd1\expndtw5\cf19\kerning28\loch\f31502\hich\af31502\dbch\af31501 -\sbasedon10 \slink23 \slocked \spriority10 \styrsid7372180 Title Char;}{\s26\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\af0\afs52\alang1025 \ltrch\fcs0 \fs52\expnd1\expndtw5\cf19\lang3081\langfe1033\kerning28\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 \sbasedon0 \snext0 \slink24 \sqformat \spriority10 \styrsid7372180 Title;}{\*\cs24 \additive +\rtlch\fcs1 \af0\afs52 \ltrch\fcs0 \fs52\expnd1\expndtw5\cf19\kerning28\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink23 \slocked \spriority10 \styrsid7372180 Title Char;}{\s25\ql \li720\ri0\sa200\sl276\slmult1 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 +\sbasedon0 \snext25 \sqformat \spriority34 \styrsid6453762 List Paragraph;}{\s26\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang3081\langfe3081\cgrid\langnp3081\langfenp3081 \sbasedon0 \snext26 \ssemihidden \sunhideused \styrsid11687369 Normal (Web);}{\*\cs27 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \spriority0 \styrsid11687369 apple-converted-space;}{\* \ts28\tsrowd\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv @@ -148,14 +149,14 @@ Table Grid;}{\*\cs29 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf20 \sbasedon10 \'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6840\lin6840 }{\listname ;}\listid2120176231}}{\*\listoverridetable{\listoverride\listid405616751\listoverridecount0\ls1}{\listoverride\listid2120176231\listoverridecount0\ls2} {\listoverride\listid950892184\listoverridecount0\ls3}{\listoverride\listid484125747\listoverridecount0\ls4}{\listoverride\listid1997226378\listoverridecount0\ls5}{\listoverride\listid723678808\listoverridecount0\ls6}{\listoverride\listid1199853486 \listoverridecount0\ls7}{\listoverride\listid382339409\listoverridecount0\ls8}{\listoverride\listid401637325\listoverridecount0\ls9}}{\*\pgptbl {\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}} -{\*\rsidtbl \rsid97460\rsid221265\rsid284426\rsid537180\rsid735477\rsid735614\rsid738226\rsid879886\rsid935281\rsid1070110\rsid1510934\rsid1583585\rsid1598011\rsid1775295\rsid1841268\rsid1903893\rsid1926955\rsid1967093\rsid2060806\rsid2177067\rsid2243939 -\rsid2312332\rsid2783484\rsid2827362\rsid2846494\rsid2890017\rsid2959880\rsid2981254\rsid3290111\rsid3490457\rsid3741585\rsid3829756\rsid4010500\rsid4327818\rsid4477453\rsid4484449\rsid4522593\rsid4545630\rsid5050788\rsid5114927\rsid5794820\rsid5921453 -\rsid6438937\rsid6453762\rsid6518571\rsid6886783\rsid7160127\rsid7237901\rsid7289096\rsid7292194\rsid7372180\rsid7816154\rsid8091909\rsid8145172\rsid8329235\rsid8339308\rsid8475156\rsid8479050\rsid8651410\rsid8728997\rsid8847473\rsid8852142\rsid8939988 -\rsid9049101\rsid9068514\rsid9132688\rsid9137041\rsid9332253\rsid9639182\rsid9639869\rsid10224112\rsid10314410\rsid10845574\rsid11032164\rsid11212548\rsid11687369\rsid11802269\rsid12024666\rsid12060006\rsid12068581\rsid12348517\rsid12584760\rsid13184707 -\rsid13261933\rsid13513498\rsid13586263\rsid13596290\rsid13722641\rsid13847658\rsid14041828\rsid14097242\rsid14228117\rsid14243083\rsid14371182\rsid14497238\rsid14513928\rsid14565649\rsid14684873\rsid14885541\rsid15221525\rsid15280621\rsid15795287 -\rsid15819295\rsid15938139\rsid16071677\rsid16142742\rsid16259852\rsid16349201\rsid16469695}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Shaun} -{\operator Shaun Wilde}{\creatim\yr2012\mo1\dy3\hr1\min4}{\revtim\yr2016\mo1\dy12\hr7\min33}{\printim\yr2016\mo1\dy12\hr7\min33}{\version57}{\edmins4597}{\nofpages11}{\nofwords3332}{\nofchars18994}{\*\company Microsoft}{\nofcharsws22282}{\vern57439}} -{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw11906\paperh16838\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect +{\*\rsidtbl \rsid97460\rsid221265\rsid284426\rsid537180\rsid664540\rsid735477\rsid735614\rsid738226\rsid879886\rsid935281\rsid1070110\rsid1510934\rsid1583585\rsid1586953\rsid1598011\rsid1775295\rsid1841268\rsid1903893\rsid1926955\rsid1967093\rsid2060806 +\rsid2177067\rsid2243939\rsid2312332\rsid2783484\rsid2827362\rsid2846494\rsid2890017\rsid2959880\rsid2981254\rsid3290111\rsid3490457\rsid3741585\rsid3829756\rsid4010500\rsid4327818\rsid4477453\rsid4484449\rsid4522593\rsid4545630\rsid5050788\rsid5114927 +\rsid5794820\rsid5921453\rsid6438937\rsid6453762\rsid6518571\rsid6886783\rsid7160127\rsid7237901\rsid7289096\rsid7292194\rsid7372180\rsid7816154\rsid8091909\rsid8145172\rsid8329235\rsid8339308\rsid8475156\rsid8479050\rsid8651410\rsid8728997\rsid8847473 +\rsid8852142\rsid8939988\rsid9049101\rsid9068514\rsid9132688\rsid9137041\rsid9332253\rsid9639182\rsid9639869\rsid10224112\rsid10314410\rsid10845574\rsid11032164\rsid11212548\rsid11687369\rsid11802269\rsid12024666\rsid12060006\rsid12068581\rsid12129336 +\rsid12348517\rsid12584760\rsid13184707\rsid13261933\rsid13513498\rsid13586263\rsid13596290\rsid13722641\rsid13847658\rsid14041828\rsid14097242\rsid14228117\rsid14243083\rsid14371182\rsid14497238\rsid14513928\rsid14565649\rsid14684873\rsid14885541 +\rsid15205038\rsid15221525\rsid15280621\rsid15795287\rsid15819295\rsid15938139\rsid16071677\rsid16142742\rsid16259852\rsid16349201\rsid16469695\rsid16712264}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1 +\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Shaun}{\operator Shaun Wilde}{\creatim\yr2012\mo1\dy3\hr1\min4}{\revtim\yr2016\mo1\dy31\hr14\min3}{\printim\yr2016\mo1\dy31\hr14\min2}{\version61}{\edmins4613}{\nofpages11}{\nofwords3439}{\nofchars19608} +{\*\company Microsoft}{\nofcharsws23001}{\vern57439}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw11906\paperh16838\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1 \noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1 \jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct @@ -167,327 +168,332 @@ Table Grid;}{\*\cs29 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf20 \sbasedon10 \fs52\expnd1\expndtw5\cf19\lang3081\langfe1033\kerning28\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13184707 \hich\af31502\dbch\af31501\loch\f31502 OpenCover Usage Guide}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12068581 \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid1775295 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 {\*\bkmkstart _Toc411189891}\hich\af31502\dbch\af31501\loch\f31502 Intro{\*\bkmkend _Toc411189891} +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 {\*\bkmkstart _Toc442012125}\hich\af31502\dbch\af31501\loch\f31502 Intro{\*\bkmkend _Toc442012125} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1775295 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 The following guide describes how to use }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11032164 HYPERLINK "https://github.com/OpenCover/opencover"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11032164 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b66000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f004f00700065006e0043006f007600650072002f006f00700065006e0063006f007600650072000000795881f4 -3b1d7f48af2c825dc485276300000000a5ab0000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid1775295\charrsid879886 OpenCover}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj { +3b1d7f48af2c825dc485276300000000a5ab000000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid1775295\charrsid879886 OpenCover}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid221265 (also available on }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid221265 HYPERLINK "http://nuget.org/packages/OpenCover/" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16071677 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6200000068007400740070003a002f002f006e0075006700650074002e006f00720067002f007000610063006b0061006700650073002f004f00700065006e0043006f007600650072002f000000795881f43b1d7f48 -af2c825dc485276300000000a5ab0000004500000000ff00ffe65b00}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid221265\charrsid221265 NUGET}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj { +af2c825dc485276300000000a5ab0000004500000000ff00ffe65b0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid221265\charrsid221265 NUGET}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid221265 ) }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 to gather coverage statistics of your application. -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid879886 \hich\af31506\dbch\af0\loch\f31506 a)\tab}}\pard\plain \ltrpar\s24\ql \fi-360\li720\ri0\sa200\sl276\slmult1 +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid879886 \hich\af31506\dbch\af0\loch\f31506 a)\tab}}\pard\plain \ltrpar\s25\ql \fi-360\li720\ri0\sa200\sl276\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin720\itap0\pararsid879886\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid879886 C}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 an handle 32 and 64 bit .NET processes running on the .NET 2 and .NET 4}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid879886 +}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 frameworks. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid879886 -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid879886 \hich\af31506\dbch\af0\loch\f31506 b)\tab}W}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 ill gather sequence and branch coverage information -of your assemblies that match the filters and for which the PDB files can be found.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid879886 -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid879886 \hich\af31506\dbch\af0\loch\f31506 c)\tab}Can gather coverage reports of Silverlight applications -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid879886 \hich\af31506\dbch\af0\loch\f31506 d)\tab}Can gather coverage reports of Windows Service applications. -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid879886 \hich\af31506\dbch\af0\loch\f31506 e)\tab}Can record which tests where executing at a particular time when a coverage point was visited \endash +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid879886 \hich\af31506\dbch\af0\loch\f31506 b)\tab}W}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 ill gather sequence and branch coverage informatio +n of your assemblies that match the filters and for which the PDB files can be found.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid879886 +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid879886 \hich\af31506\dbch\af0\loch\f31506 c)\tab}Can gather coverage reports of Silverlight applications +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid879886 \hich\af31506\dbch\af0\loch\f31506 d)\tab}Can gather coverage reports of Windows Service applications. +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid879886 \hich\af31506\dbch\af0\loch\f31506 e)\tab}Can record which tests where executing at a particular time when a coverage point was visited \endash only MSTest and NUnit supported (requests accepted for others).}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1510934 \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1775295 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 Currently OpenCover has no }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid735477 full }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 presentation of results other than the XML output file; }{\field{\*\fldinst { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid879886 HYPERLINK "http://www.palmmedia.de/Net/ReportGenerator" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16071677 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b7000000068007400740070003a002f002f007700770077002e00700061006c006d006d0065006400690061002e00640065002f004e00650074002f005200650070006f0072007400470065006e006500720061007400 -6f0072000000795881f43b1d7f48af2c825dc485276300000000a5ab00006c0000000000ff00ff000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid1775295\charrsid879886 ReportGenerator}}}\sectd \ltrsect +6f0072000000795881f43b1d7f48af2c825dc485276300000000a5ab00006c0000000000ff00ff00000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid1775295\charrsid879886 ReportGenerator}}}\sectd \ltrsect \linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid879886 (also available on }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid879886 HYPERLINK "http://nuget.org/packages/ReportGenerator/" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16071677 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6e00000068007400740070003a002f002f006e0075006700650074002e006f00720067002f007000610063006b0061006700650073002f005200650070006f0072007400470065006e0065007200610074006f007200 -2f000000795881f43b1d7f48af2c825dc485276300000000a5ab0000005600000000ff00ff000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid879886\charrsid879886 NUGET}}}\sectd \ltrsect +2f000000795881f43b1d7f48af2c825dc485276300000000a5ab0000005600000000ff00ff00000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid879886\charrsid879886 NUGET}}}\sectd \ltrsect \linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid879886 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 is currently the recommended tool for visualizing the results. \par NOTE: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1510934 When there is n}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 o PDB for an assembly then no coverage data will be gathered; this is different to }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid879886 HYPERLINK "https://github.com/sawilde/partcover.net4" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16071677 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b6c000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f0073006100770069006c00640065002f00700061007200740063006f007600650072002e006e00650074003400 -0000795881f43b1d7f48af2c825dc485276300000000a5ab0000da0000000000ff00ff1f0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid1775295\charrsid879886 PartCover}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 which will defa -ult to IL coverage under this situation but it was considered as not required as this is supposed to be a code-coverage tool which can relate such coverage to }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\i\insrsid1775295\charrsid4484449 your}{\rtlch\fcs1 \af0 -\ltrch\fcs0 \insrsid1775295 code. -\par }\pard\plain \ltrpar\s17\ql \li0\ri0\sb480\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs28\alang1025 \ltrch\fcs0 +0000795881f43b1d7f48af2c825dc485276300000000a5ab0000da0000000000ff00ff1f000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid1775295\charrsid879886 PartCover}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 which will default to IL coverage under this situation but it + was considered as not required as this is supposed to be a code-coverage tool which can relate such coverage to }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\i\insrsid1775295\charrsid4484449 your}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1775295 code. +\par }\pard\plain \ltrpar\s18\ql \li0\ri0\sb480\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs28\alang1025 \ltrch\fcs0 \b\fs28\cf17\lang1033\langfe1041\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7372180 \hich\af31502\dbch\af31501\loch\f31502 Table of Contents \par }\pard\plain \ltrpar\s21\ql \li220\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin220\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7372180 TOC \\o "1-3" \\h \\z \\u }}{\fldrslt {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 -\cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189891"}{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 -{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390031000000ff0000ff0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 -\cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 Intro}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 -\af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189891 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 1}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189892"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f006300340031003100310038003900380039003200000000c6ff980000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 Command Arguments}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 -\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189892 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 2}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012125"}{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100320035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +\cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 Intro}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 +\af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012125 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100320035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 1}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012126"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100320036000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 Command Arguments}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012126 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100320036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 2}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s22\ql \li440\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin440\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189893"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f006300340031003100310038003900380039003300000000ffff000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Mandatory}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 - PAGEREF _Toc411189893 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390033000000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 2}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189894"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390034000000002000000000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 Optional}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab } -{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189894 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 2}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189895"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f006300340031003100310038003900380039003500000000ab00830000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 Handling Spaces}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 -\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189895 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 5}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012127"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100320037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Mandatory}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF +_Toc442012127 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100320037000000}}}{\fldrslt { +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 2}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012128"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100320038000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 Optional}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012128 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100320038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 2}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012129"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100320039000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 Handling Spaces}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012129 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100320039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 5}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s21\ql \li220\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin220\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189896"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390036000000ff00008c0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Understanding Filters}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 - PAGEREF _Toc411189896 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390036000000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 5}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012130"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Understanding Filters}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 +PAGEREF _Toc442012130 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330030000000}}}{\fldrslt { +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 6}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s22\ql \li440\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin440\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189897"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390037000000ffc100b60800}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Examples}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 - PAGEREF _Toc411189897 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390037000000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 6}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012131"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Examples}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF +_Toc442012131 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330031000000}}}{\fldrslt { +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 6}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s21\ql \li220\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin220\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189898"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390038000000ff0000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Regular Expressions in Filters}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189898 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 6}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012132"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Regular Expressions in Filters}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012132 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 6}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s22\ql \li440\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin440\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189899"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390039000000670000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Examples}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 - PAGEREF _Toc411189899 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003800390039000000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 6}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012133"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Examples}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF +_Toc442012133 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330033000000}}}{\fldrslt { +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 6}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s21\ql \li220\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin220\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189900"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300030000000690000040000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Running against IIS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 - PAGEREF _Toc411189900 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300030000000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 6}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189901"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300031000000300000000000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 Running against an application}{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189901 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid537180 7}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012134"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Running against IIS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 +PAGEREF _Toc442012134 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330034000000}}}{\fldrslt { +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 7}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012135"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330035000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 Running against an application}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012135 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 7}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s22\ql \li440\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin440\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189902"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300032000000000c00fa003a}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Sample}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 - PAGEREF _Toc411189902 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300032000000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 7}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012136"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Sample}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF +_Toc442012136 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330036000000}}}{\fldrslt { +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 7}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s21\ql \li220\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin220\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189903"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300033000000009600091a00}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Running against a Silverlight application}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189903 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 7}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012137"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Running against a Silverlight application}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012137 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 7}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s22\ql \li440\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin440\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189904"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f00630034003100310031003800390039003000340000000029b2fe0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Sample}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 - PAGEREF _Toc411189904 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300034000000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 7}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012138"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Sample}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF +_Toc442012138 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330038000000}}}{\fldrslt { +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 8}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s21\ql \li220\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin220\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189905"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300035000000680000ff0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Running against a Service application}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189905 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 7}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012139"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Running against a Service application}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012139 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100330039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 8}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s22\ql \li440\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin440\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189906"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300036000000000000ff0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Sample}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 - PAGEREF _Toc411189906 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300036000000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 7}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012140"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Sample}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF +_Toc442012140 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340030000000}}}{\fldrslt { +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 8}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s21\ql \li220\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin220\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189907"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300037000000000000830000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Using the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\i\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 -excludebyattribute}{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 option}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst { -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189907 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 8}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189908"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f00630034003100310031003800390039003000380000003930008c003a}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 Using the }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\cs19\i\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 -excludebyfile}{\rtlch\fcs1 \af0 \ltrch\fcs0 -\cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 option}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 -\af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189908 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 8}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189909"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f00630034003100310031003800390039003000390000000700b2b60000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 Shimming support}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 -\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189909 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900300039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 8}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012141"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Using the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\i\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 -excludeb\hich\af31506\dbch\af31501\loch\f31506 +yattribute}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 option}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012141 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\webhidden\insrsid16712264 8}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012142"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340032000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 Using the }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\cs19\i\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 -excludebyfile}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 option}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 +\af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012142 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 8}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012143"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340033000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 Shimming support}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012143 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 9}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s22\ql \li440\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin440\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189910"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310030000000810000550069}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Microsoft Moles support}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189910 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 9}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189911"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f00630034003100310031003800390039003100310000003900551e0000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 Microsoft Fakes support}{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189911 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid537180 9}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189912"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f00630034003100310031003800390039003100320000004e0000330000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 TypeMock support}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 -\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189912 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 9}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012144"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Microsoft Moles support}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 +PAGEREF _Toc442012144 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340034000000}}}{\fldrslt { +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 9}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012145"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340035000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 Microsoft Fakes support}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012145 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 9}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012146"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340036000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 TypeMock support}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012146 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 9}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012147"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340037000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 JustMock support}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012147 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 9}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s21\ql \li220\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin220\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189913"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310033000000650034000500}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Build system integration}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189913 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 9}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012148"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Build system integration}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 + PAGEREF _Toc442012148 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340038000000}}}{\fldrslt { +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 9}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s22\ql \li440\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin440\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189914"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310034000000340000010600}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 all-users (32-bit)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 - PAGEREF _Toc411189914 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310034000000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 9}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189915"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f00630034003100310031003800390039003100350000003f0000010000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 all-users (64-bit)}{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189915 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid537180 9}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189916"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310036000000250000830000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 single-user}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab } -{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189916 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 9}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012149"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 all-users (32-bit)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 +PAGEREF _Toc442012149 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100340039000000}}}{\fldrslt { +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 10}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012150"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100350030000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 all-users (64-bit)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012150 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100350030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 10}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012151"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100350031000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 single-user}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012151 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100350031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 10}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s21\ql \li220\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin220\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189917"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310037000000a100008c0000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Reporting}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 - PAGEREF _Toc411189917 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310037000000}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 10}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189918"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f00630034003100310031003800390039003100380000001e1200b60100}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 FAQ}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab } -{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189918 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 10}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012152"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100350032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 R\hich\af31506\dbch\af31501\loch\f31506 eporting}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012152 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100350032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 10}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012153"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100350033000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 FAQ}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst { +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012153 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100350033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 10}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 \par }\pard\plain \ltrpar\s22\ql \li440\ri0\sa100\sl276\slmult1\widctlpar\tqr\tldot\tx9016\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin440\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189919"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310039000000025500830600}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 -\hich\af31506\dbch\af31501\loch\f31506 Why do I have no results?}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189919 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900310039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid537180 10}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\insrsid2959880 HYPERLINK \\l "_Toc411189920"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid16071677\charrsid1583585 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f00630034003100310031003800390039003200300000001020008c0700}}}{\fldrslt { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid2959880\charrsid1583585 \hich\af31506\dbch\af31501\loch\f31506 All my tests are failing and I am getting MissingMethodException}{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid2959880 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid2959880 PAGEREF _Toc411189920 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid537180 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400310031003100380039003900320030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 -\lang1024\langfe1024\noproof\webhidden\insrsid537180 11}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid2959880 -\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid7372180 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 }} -\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid7372180 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 -\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7372180\charrsid7372180 -\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid12068581 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid97460 {\*\bkmkstart _Toc411189892}\hich\af31502\dbch\af31501\loch\f31502 Command Arguments{\*\bkmkend _Toc411189892 -} +\f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012154"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100350034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 +\hich\af31506\dbch\af31501\loch\f31506 Why do I have no results?}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012154 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100350034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid16712264 10}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 +\lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\insrsid664540 HYPERLINK \\l "_Toc442012155"}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100350035000000}}}{\fldrslt {\rtlch\fcs1 +\af0 \ltrch\fcs0 \cs19\ul\cf2\lang1024\langfe1024\dbch\af31501\noproof\insrsid664540\charrsid16737848 \hich\af31506\dbch\af31501\loch\f31506 All my tests are failing and I am getting MissingMethodException}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\webhidden\insrsid664540 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\webhidden\insrsid664540 PAGEREF _Toc442012155 \\h }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\webhidden\insrsid664540 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003400340032003000310032003100350035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 +\lang1024\langfe1024\noproof\webhidden\insrsid16712264 11}}}\sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj }}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1024\langfe1024\dbch\af31505\noproof\langfenp3081\insrsid664540 +\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid12129336 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 }}\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1 +\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid12129336 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 \sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid97460 +{\*\bkmkstart _Toc442012126}\hich\af31502\dbch\af31501\loch\f31502 Command Arguments{\*\bkmkend _Toc442012126} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12068581 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8939988 OpenCover has a number of arguments that can be used to control the code coverage gathering. If an argument requires s}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8939988\charrsid8939988 paces}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8939988\charrsid8939988 then use "}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8939988 \rquote s to wrap the argument, where they are applicable they will be indicated with an optional syntax [].}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid4484449 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid12068581 \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid8728997 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16349201 {\*\bkmkstart _Toc411189893}\hich\af31502\dbch\af31501\loch\f31502 Mandatory{\*\bkmkend _Toc411189893} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16349201 {\*\bkmkstart _Toc442012127}\hich\af31502\dbch\af31501\loch\f31502 Mandatory{\*\bkmkend _Toc442012127} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12068581 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid8939988\charrsid5050788 ["]-target:<}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid16349201\charrsid5050788 target application}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid8939988\charrsid5050788 >["] @@ -497,8 +503,8 @@ The name of the target application or service that will be started; this can als \i\insrsid8728997\charrsid5050788 -?}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2060806 to show command line help, or }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid2060806\charrsid2060806 -version}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2060806 to print the current version and exit.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8728997 \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid8728997 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16349201 {\*\bkmkstart _Toc411189894}\hich\af31502\dbch\af31501\loch\f31502 Optional}{\rtlch\fcs1 \af0 \ltrch\fcs0 -\insrsid8939988 {\*\bkmkend _Toc411189894} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16349201 {\*\bkmkstart _Toc442012128}\hich\af31502\dbch\af31501\loch\f31502 Optional}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\insrsid8939988 {\*\bkmkend _Toc442012128} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid16349201 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid16349201\charrsid5050788 ["]-targetdir:["] \par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid8728997 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16349201 @@ -513,35 +519,49 @@ The path to the target directory; if the target argument already contains a path \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9639182 \tab Additional locations to check for PDB files.\page \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12068581 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid8728997\charrsid5050788 -register[:user}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid9639182 |path32|path64}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid8728997\charrsid5050788 ] -\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid9639182 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8728997 -Use this switch to register and de-register the code coverage profiler. Alternatively use the optional }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid8728997\charrsid9639182 user}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8728997 +\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid9639182 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8728997 Use this switch to register and d +e-register the code coverage profiler. Alternatively use the optional }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid8728997\charrsid9639182 user}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8728997 argument to do per-user registration where the user account does not have administrative permissions. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9639182 \par If access to registry is limited then try the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid9639182\charrsid9639182 path32}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9639182 or }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid9639182\charrsid9639182 path64}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9639182 , depending on your application (32- or 64-bit), to use an alternate method to load the profiler; unfortunately you cannot profile 32- and 64-bit processes at the same time using these switches.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9639182\charrsid9639182 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8728997 Alternatively use an administrative account to register the profi}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9639182 -lers using the regsvr32 utility; this is the recommended option when running on a build server especially if \line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid9639182\charrsid9639182 \endash register:user}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9639182 - does not work. +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8728997 Alternatively use an administrative account to register the profi}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9639182 lers using t +he regsvr32 utility; this is the recommended option when running on a build server especially if \line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid9639182\charrsid9639182 \endash register:user}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9639182 does not work. + +\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1586953 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid1586953\charrsid13513498 -returntargetcode[:] + +\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid1586953 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid1586953\charrsid2783484 +Return the target process return code instead of the OpenCover console return code. Use the offset to return the OpenCover console at a value outside the range returned by the target process. }{\rtlch\fcs1 \af37 \ltrch\fcs0 +\insrsid1586953\charrsid1586953 +\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15205038 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid15205038\charrsid15205038 -safemode:on|off|yes|no +\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid15205038 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15205038 Use this switch to disable safe mode (default is }{\rtlch\fcs1 +\af0 \ltrch\fcs0 \b\insrsid15205038\charrsid15205038 on}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15205038 /yes). When in safe mode the profiler will use a common buffer for all threads which may have performance impacts if you code or tests use threads he +avily. When safe mode is disabled, there may on occasions be some data loss if the runtime closes the application under profile before the profiler has been able to retrieve the visit count data. \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12068581 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid5050788\charrsid13513498 ["]}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid5050788\charrsid13513498 -output:}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid5050788\charrsid13513498 ["]}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid12068581\charrsid13513498 -\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid13513498 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid5050788 -The location and name of the output xml file. If no value is supplied then the current directory will be used and the output filename will be results.xml. -\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12068581 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid5050788\charrsid13513498 ["]}{\rtlch\fcs1 \af0 \ltrch\fcs0 -\i\insrsid5050788\charrsid13513498 -filter:}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid5050788\charrsid13513498 ["] -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid13513498 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid5050788 A list of filters to apply to selectively include or }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid9332253 -exclude assemblies and classes from coverage results. Filters have their own form}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid9332253\charrsid9332253 at }{\rtlch\fcs1 \af37 \ltrch\fcs0 \b\insrsid12348517 \'b1[module}{\rtlch\fcs1 \af37 \ltrch\fcs0 -\b\insrsid9332253\charrsid9332253 -filter]class-filter}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid14243083 . If no filter(s) are supplied then a default include all filter is applied +[*]*.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid4327818 - As can be seen you can use an * as a wildcard. }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid13261933 +\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid664540 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid5050788 +The location and name of the output xml file. If no value is supplied then the current directory will be used and the outpu}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540 t filename will be results.xml.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid9639869 + +\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1586953 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid1586953\charrsid2312332 -threshold: +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid1586953 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid1586953 +Limits the number of visit counts recorded/reported for an instrumentation point. May have some performance gains as it can reduce the number of messages sent fr +om the profiler. Coverage results should not be affected but will have an obvious impact on the Visit Counts reported.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540 +\par +\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid664540 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid664540\charrsid13513498 ["]}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\i\insrsid664540\charrsid13513498 -filter:}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid664540\charrsid13513498 ["] +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid664540 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540 A list of filters to apply to selectively include or +exclude assemblies and classes from coverage results. Filters have their own form}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540\charrsid9332253 at }{\rtlch\fcs1 \af37 \ltrch\fcs0 \b\insrsid664540 \'b1[module}{\rtlch\fcs1 \af37 \ltrch\fcs0 +\b\insrsid664540\charrsid9332253 -filter]class-filter}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540 . If no filter(s) are supplied then a default include all filter is applied +[*]*. As can be seen you can use an * as a wildcard. \par -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid1510934 {\rtlch\fcs1 \af37 \ltrch\fcs0 \b\insrsid13261933\charrsid13261933 NOTE}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid13261933 : }{\rtlch\fcs1 \af37 \ltrch\fcs0 -\insrsid4327818 Also an }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid4327818\charrsid13261933 exclusion}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid4327818 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid13261933 (-) }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid4327818 -filter takes precedence over an }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid4327818\charrsid13261933 inclusion}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid13261933\charrsid13261933 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid13261933 (+)}{\rtlch\fcs1 \af37 -\ltrch\fcs0 \insrsid4327818 filter.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid14243083 -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid9639869 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid9639869 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid9639869\charrsid9639869 -regex +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \b\insrsid664540\charrsid13261933 NOTE}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540 : Also an }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid664540\charrsid13261933 exclusion}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540 (-) +filter takes precedence over an }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid664540\charrsid13261933 inclusion}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540\charrsid13261933 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540 (+) filter.}{\rtlch\fcs1 \af37 +\ltrch\fcs0 \insrsid664540 +\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid664540 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid664540 \page +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid9639869 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid9639869\charrsid9639869 -regex \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid9639869 \tab \par \tab Filters are supplied using regular expressions rather than wildcards. -\par +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid1586953 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid9639869 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid9332253 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid14243083\charrsid13513498 -nodefaultfilters \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid14243083 \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid13513498 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid14243083\charrsid2783484 A list of default exclusion filters are usually applied}{\rtlch\fcs1 \af37 \ltrch\fcs0 @@ -555,8 +575,8 @@ filter takes precedence over an }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid432781 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid10314410\charrsid13513498 -mergebyhash \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid10314410\charrsid2783484 \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid13513498 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid10314410\charrsid2783484 -Under some scenarios e.g. using MSTest, an assembly may be loaded many times from different locations. This option is used to merge the coverage results for an assembly regardless of where it was loaded - assuming the assembly has the same file-hash in each location. +Under some scenarios e.g. using MSTest, an assembly may be loaded many times from different locations. This option is used to merge the coverage results for an assembly regardless of where it was loaded as +suming the assembly has the same file-hash in each location. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid9332253 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2846494 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid2846494\charrsid2846494 -skipautoprops}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid10314410\charrsid2846494 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2846494 @@ -567,16 +587,18 @@ Under some scenarios e.g. using MSTest, an assembly may be loaded many times fro \par }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid2846494 public}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid2846494 }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid2846494 bool}{ \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid2846494 Service \{ }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid2846494 get}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid2846494 ; }{ \rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf2\highlight8\insrsid2846494 set}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\highlight8\insrsid2846494 ; \}}{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\insrsid2846494 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2846494\charrsid2783484 -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid9332253 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid10314410\charrsid13513498 -showunvisited -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid10314410\charrsid2783484 -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid13513498 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid10314410\charrsid2783484 -Show a list of unvisited methods and classes after the coverage run is finished and the results are presented. +\par }{\rtlch\fcs1 \af40\afs19 \ltrch\fcs0 \f40\fs19\cf1\insrsid664540 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid664540 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid664540\charrsid13513498 -showunvisited +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540\charrsid2783484 +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid664540 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540\charrsid2783484 Show a list of unvisited methods and classes after the coverage run is finished}{\rtlch\fcs1 \af37 +\ltrch\fcs0 \insrsid664540 and the results are presented.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid15205038 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540\charrsid664540 +\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15205038 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid15205038\charrsid9639182 [\'93]-}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\i\insrsid15205038 excludeddirs:[;[\'93 +] +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid15205038 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15205038 Any assembly found in an excluded folder (or its children) will be ignored, regardless of any inclusive +filter matches.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2846494 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid9332253 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid14228117\charrsid2783484 -\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12068581 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid14228117\charrsid13513498 -returntargetcode[:]}{ -\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid5050788\charrsid13513498 -\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid13513498 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid14228117\charrsid2783484 -Return the target process return code instead of the OpenCover console return code. Use the offset to return the OpenCover console at a value outside the range returned by the target process. }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid14228117 \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12068581 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid10845574\charrsid13513498 -excludebyattribute:[;][;]} {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid2783484\charrsid13513498 \par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid13513498 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid10845574 @@ -584,13 +606,16 @@ Exclude a class or method by filter(s) that match attributes that have been appl \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12068581 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid10845574\charrsid13513498 -excludebyfile:[;][;] \par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid4327818 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid10845574 Exclude a class (or methods) by filter(s)}{\rtlch\fcs1 \af37 -\ltrch\fcs0 \insrsid13513498 that match the filenames.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid12060006 An * can be used as a wildcard.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid10845574 +\ltrch\fcs0 \insrsid13513498 that match the filenames.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid12060006 An * can be used as a wildcard.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid664540 +\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid664540 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid664540 \page \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12060006 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid12060006\charrsid15280621 -hideskipped:}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid3490457\charrsid15280621 File|Filter|Attribute|MissingPdb}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid2846494 |}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid2846494\charrsid2846494 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid2846494\charrsid15280621 -MissingPdb }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid3490457\charrsid15280621 |All }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid12060006\charrsid15280621 [}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid3490457 {\*\bkmkstart OLE_LINK1}{\*\bkmkstart OLE_LINK2};}{ +MissingPdb }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid3490457\charrsid15280621 |All}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid664540 |}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid664540\charrsid664540 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid664540 Excl +udedFolder}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid3490457\charrsid15280621 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid12060006\charrsid15280621 [}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid3490457 {\*\bkmkstart OLE_LINK1}{\*\bkmkstart OLE_LINK2};}{ \rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid12060006\charrsid15280621 File|}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid15280621\charrsid15280621 Filter}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid12060006\charrsid15280621 |Attribute}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid15280621\charrsid15280621 |MissingPdb}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid2846494 |}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid2846494\charrsid2846494 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid2846494\charrsid15280621 MissingPdb }{ -\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid12060006\charrsid15280621 |All{\*\bkmkend OLE_LINK1}{\*\bkmkend OLE_LINK2}] +\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid12060006\charrsid15280621 |All}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid15205038 {\*\bkmkend OLE_LINK1}{\*\bkmkend OLE_LINK2}|ExcludedFolder}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid12060006\charrsid15280621 ] + \par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid12060006 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid12060006 Remove information from output file (}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid12060006\charrsid8475156 -output:}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid12060006 ) that relates to classes/modules that have been skipped (filtered) due to the use of}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid3741585 the following switches}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid12060006 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid12060006\charrsid8475156 \endash }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid3741585 excludeb}{\rtlch\fcs1 \af37 \ltrch\fcs0 @@ -613,8 +638,8 @@ Gather coverage by test by analysing the assemblies that match these filters for \par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid13513498 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid13513498 The value provided in the target parameter is the name of a service rather than a name of a process. \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8145172 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid8145172\charrsid8145172 -servicestarttimeout:[1m|23s|1m23s] -\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid8145172 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8145172 -Overrides the default time to wait for the profiled service to start. The examples above correspond to a timeout of 1 minute, 23 seconds and 1 minutes and 23 seconds accordingly. +\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid8145172 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8145172 Overrides the default time to wait for the profiled service t +o start. The examples above correspond to a timeout of 1 minute, 23 seconds and 1 minutes and 23 seconds accordingly. \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8145172 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid14513928\charrsid13513498 -}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid14513928 oldstyle}{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid14513928\charrsid13513498 \par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid14513928 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid14513928 Use old style instru}{\rtlch\fcs1 \af37 \ltrch\fcs0 @@ -623,21 +648,17 @@ Overrides the default time to wait for the profiled service to start. The exampl \par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid2312332 {\rtlch\fcs1 \af37 \ltrch\fcs0 \b\insrsid2312332\charrsid7816154 NOTE}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2312332 : \'93Administrator\'94 privileges}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid15795287 required}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2312332 . \par Allows the monitoring in \'93Performance Monitor\'94 of the following }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid7816154 values}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2312332 : -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid2312332\charrsid2312332 \hich\af31506\dbch\af0\loch\f31506 1)\tab}}\pard\plain \ltrpar\s24\ql \fi-360\li1080\ri0\sa200\sl276\slmult1 +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid2312332\charrsid2312332 \hich\af31506\dbch\af0\loch\f31506 1)\tab}}\pard\plain \ltrpar\s25\ql \fi-360\li1080\ri0\sa200\sl276\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin1080\itap0\pararsid2312332\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2312332\charrsid2312332 \'93messages remaining on the queue}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2312332 \'94 -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid2312332\charrsid2312332 \hich\af31506\dbch\af0\loch\f31506 2)\tab}}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2312332\charrsid2312332 \'93number of messages processed\'94 +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid2312332\charrsid2312332 \hich\af31506\dbch\af0\loch\f31506 2)\tab}}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2312332\charrsid2312332 \'93number of messages processed\'94 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2312332 \par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid7816154 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid7816154 These values are usually cleared at the end of a performance run.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid7816154\charrsid7816154 -\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2312332 {\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid2312332\charrsid2312332 -threshold: -\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid2312332 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2312332 -Limits the number of visit counts recorded/reported for an instrumentation point. May h -ave some performance gains as it can reduce the number of messages sent from the profiler. Coverage results should not be affected but will have an obvious impact on the Visit Counts reported.}{\rtlch\fcs1 \af37 \ltrch\fcs0 -\insrsid2312332\charrsid2312332 +\par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid2312332 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid2312332\charrsid2312332 \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid4484449 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4484449 {\*\bkmkstart _Toc411189895}\hich\af31502\dbch\af31501\loch\f31502 Handling Spaces}{\rtlch\fcs1 \af0 -\ltrch\fcs0 \insrsid14513928 {\*\bkmkend _Toc411189895} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4484449 {\*\bkmkstart _Toc442012129}\hich\af31502\dbch\af31501\loch\f31502 Handling Spaces}{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid14513928 {\*\bkmkend _Toc442012129} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4484449 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4484449 If your argument needs to escape quotes i.e. to pass arguments with spaces to the target process then you can use \\". \par e.g. @@ -648,8 +669,8 @@ ave some performance gains as it can reduce the number of messages sent from the " arg2 arg3" \par }\pard \ltrpar\ql \fi720\li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4484449 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8847473\charrsid4484449 \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid12068581 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2827362 {\*\bkmkstart _Toc411189896}\hich\af31502\dbch\af31501\loch\f31502 Understanding Filters -{\*\bkmkend _Toc411189896} +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2827362 {\*\bkmkstart _Toc442012130}\hich\af31502\dbch\af31501\loch\f31502 Understanding Filters +{\*\bkmkend _Toc442012130} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2827362 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2827362 Filters are core to understanding how OpenCover works and how it}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12348517 is determined}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2827362 which assemblies are to be instrumented to provide coverage results. @@ -657,29 +678,29 @@ ave some performance gains as it can reduce the number of messages sent from the \af0 \ltrch\fcs0 \insrsid2827362 xclusive}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1510934 (-) filters take precedence}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2827362 over inclusive}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1510934 (+)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2827362 filters. \par The next }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12348517 part of a filter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2827362 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12348517 -is the module-filter and usually this happens to be the same name as the assembly but without the extension and this rule will normally apply 99.999% of the time. If this filter isn\rquote t - working look in the coverage XML and compare the found entries against the filter.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2827362 +is the module-filter and usually this happens to be the same name as the assembly but without the extension and this rule will normally apply 99.999% of the time. If this filter isn\rquote +t working look in the coverage XML and compare the found entries against the filter.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2827362 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12348517 The final part of the filter is the class-filter and this also }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1510934 includes}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12348517 the namespace part of the class as well. \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid3290111 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3290111 {\*\bkmkstart _Toc411189897}\hich\af31502\dbch\af31501\loch\f31502 Examples{\*\bkmkend _Toc411189897} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3290111 {\*\bkmkstart _Toc442012131}\hich\af31502\dbch\af31501\loch\f31502 Examples{\*\bkmkend _Toc442012131} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3290111 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { -\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid3290111 \line }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid3290111\charrsid3290111 +[Open}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid9639869 .}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid3290111\charrsid3290111 *] -* -[Open.Test]*}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid3290111 \line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3290111 Include all classes in modules starting with Open.* but exclude all those in modules Open.Test}{\rtlch\fcs1 \af2 \ltrch\fcs0 +\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid3290111 \line }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid3290111\charrsid3290111 +[Open}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid9639869 .}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid3290111\charrsid3290111 +*]* -[Open.Test]*}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid3290111 \line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3290111 Include all classes in modules starting with Open.* but exclude all those in modules Open.Test}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid3290111\charrsid3290111 \par +[Open]*}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid3290111 -[Open]Data.*\line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3290111 Include all classes in module Open but exclude all classes in the Data namespace.}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid3290111\charrsid3290111 \par +[Open]* -[Open]*Attribute}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid3290111 \line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3290111 Include all classes in module Open but exclude all classes ending with Attribute. \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid14684873 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14684873 {\*\bkmkstart _Toc411189898}\hich\af31502\dbch\af31501\loch\f31502 Regular Expressions in Filters -{\*\bkmkend _Toc411189898} +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14684873 {\*\bkmkstart _Toc442012132}\hich\af31502\dbch\af31501\loch\f31502 Regular Expressions in Filters +{\*\bkmkend _Toc442012132} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14684873 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { -\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14684873 It is also possible to use regular expressions instead of wildcards but to do so require that you use the \endash regex switch when speci -fying the filters. NOTE: When using this feature it is required that all filters use regular expressions rather than wildcards. +\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14684873 It is also possible to use regular expressions instead of wildcards but to do so require that you use the \endash regex swit +ch when specifying the filters. NOTE: When using this feature it is required that all filters use regular expressions rather than wildcards. \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid9639869 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14684873 {\*\bkmkstart _Toc411189899}\hich\af31502\dbch\af31501\loch\f31502 Examples}{\rtlch\fcs1 \af0 \ltrch\fcs0 -\insrsid9639869 {\*\bkmkend _Toc411189899}\line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14684873\charrsid9639869 +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14684873 {\*\bkmkstart _Toc442012133}\hich\af31502\dbch\af31501\loch\f31502 Examples}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\insrsid9639869 {\*\bkmkend _Toc442012133}\line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14684873\charrsid9639869 \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14684873 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873\charrsid3290111 +[}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873\charrsid3290111 Open}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid9639869 \\.}{ \rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873 .}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873\charrsid3290111 *}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873 )}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873\charrsid3290111 ]}{\rtlch\fcs1 @@ -693,16 +714,16 @@ Include all classes in module Open but exclude all classes in the Data namespace \par +[}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873\charrsid3290111 Open}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873 )}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873\charrsid3290111 ]}{ \rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873 (.}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873\charrsid3290111 *}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873 )}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873\charrsid3290111 -[}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873\charrsid3290111 Open}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873 )}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873\charrsid3290111 ]}{\rtlch\fcs1 \af2 -\ltrch\fcs0 \f2\insrsid14684873 (.}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873\charrsid3290111 *Attribute}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873 )\line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14684873 Include -all classes in module Open but exclude all classes ending with Attribute.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9639869 \line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14684873\charrsid3290111 +\ltrch\fcs0 \f2\insrsid14684873 (.}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873\charrsid3290111 *Attribute}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14684873 )\line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14684873 +Include all classes in module Open but exclude all classes ending with Attribute.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9639869 \line }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14684873\charrsid3290111 \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid12068581 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10224112 {\*\bkmkstart _Toc411189900}\hich\af31502\dbch\af31501\loch\f31502 Running against IIS -{\*\bkmkend _Toc411189900} +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10224112 {\*\bkmkstart _Toc442012134}\hich\af31502\dbch\af31501\loch\f31502 Running against IIS +{\*\bkmkend _Toc442012134} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14565649 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10224112 Normally I\rquote d suggest running against }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10224112 HYPERLINK "http://www.microsoft.com/en-us/download/details.aspx?id=1038" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16071677 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b9200000068007400740070003a002f002f007700770077002e006d006900630072006f0073006f00660074002e0063006f006d002f0065006e002d00750073002f0064006f0077006e006c006f00610064002f006400 -65007400610069006c0073002e0061007300700078003f00690064003d0031003000330038000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000000000390000659608}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid10224112\charrsid10224112 IISEXPPRESS}}} +65007400610069006c0073002e0061007300700078003f00690064003d0031003000330038000000795881f43b1d7f48af2c825dc485276300000000a5ab0000000000000039000065960800}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid10224112\charrsid10224112 IISEXPPRESS}}} \sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10224112 as I think it is easier to automate. However for those}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14565649 who really want to run against a full blown IIS then the following instructions (supplied by a }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf21\insrsid14565649\charrsid14565649 user) will hopefully suffice.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf21\insrsid11687369\charrsid14565649 @@ -712,12 +733,12 @@ all classes in module Open but exclude all classes ending with Attribute.}{\rtlc \\bin\\ -filter:+[*]* -register:user \par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid11687369\charrsid14565649 There are some prerequisites tho}{\rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid14565649\charrsid14565649 ugh:}{ \rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid14565649 -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\cf21\lang3081\langfe3081\langfenp3081\insrsid14565649 \hich\af31506\dbch\af0\loch\f31506 1.\tab}}\pard\plain \ltrpar\s24\ql \fi-360\li720\ri0\sa200\sl276\slmult1 +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\cf21\lang3081\langfe3081\langfenp3081\insrsid14565649 \hich\af31506\dbch\af0\loch\f31506 1.\tab}}\pard\plain \ltrpar\s25\ql \fi-360\li720\ri0\sa200\sl276\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin720\itap0\pararsid14565649\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid14565649 A}{\rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid11687369\charrsid14565649 ll applications running under the site must }{\rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid14565649\charrsid14565649 make use of the same app pool; y}{\rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid11687369\charrsid14565649 ou'll get error}{\rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid14565649\charrsid14565649 s in the EventLog otherwise. -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\cf21\lang3081\langfe3081\langfenp3081\insrsid11687369\charrsid14565649 \hich\af31506\dbch\af0\loch\f31506 2.\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0 +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\cf21\lang3081\langfe3081\langfenp3081\insrsid11687369\charrsid14565649 \hich\af31506\dbch\af0\loch\f31506 2.\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid11687369\charrsid14565649 inetserver needs to be stopped, before starting w3wp.exe in debug mode. You can use the following command: \par }\pard\plain \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid14565649 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\cf21\lang3081\langfe3081\langfenp3081\insrsid11687369\charrsid14565649 net stop w3svc /y @@ -725,8 +746,8 @@ all classes in module Open but exclude all classes ending with Attribute.}{\rtlc fter testing/code coverage completion you can close the w3wp.exe proce}{\rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid14565649 s}{\rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid11687369\charrsid14565649 s and start the inetserver again: \par }{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\cf21\lang3081\langfe3081\langfenp3081\insrsid11687369\charrsid14565649 net start w3svc -\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14565649 {\rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid11687369\charrsid14565649 This proc -edure was tested on a Win2008 machine with IIS7.5}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf21\insrsid11687369\charrsid14565649 \'94}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf21\insrsid11687369 +\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14565649 {\rtlch\fcs1 \af4 \ltrch\fcs0 \cf21\lang3081\langfe3081\langfenp3081\insrsid11687369\charrsid14565649 +This procedure was tested on a Win2008 machine with IIS7.5}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf21\insrsid11687369\charrsid14565649 \'94}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf21\insrsid11687369 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf21\insrsid12584760 You can also run multiple OpenCover instances against separate IIS sites by using the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\cf21\insrsid12584760 \endash }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\cf21\insrsid12584760\charrsid12584760 s}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf21\insrsid12584760 option when running IIS to choose the siteid e.g.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf21\insrsid12584760\charrsid12584760 \par }\pard \ltrpar\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid12584760 {\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\cf22\chshdng0\chcfpat0\chcbpat8\insrsid12584760\charrsid12584760 @@ -739,25 +760,25 @@ OpenCover.Console.exe -target:C:\\Windows\\System32\\inetsrv\\w3wp.exe }{\rtlch\ \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12584760 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12584760 Then you can use ReportGenerator to merge the coverage results. }{ \rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\cf22\chshdng0\chcfpat0\chcbpat8\insrsid12584760\charrsid12584760 \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid12068581 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid97460 {\*\bkmkstart _Toc411189901}\hich\af31502\dbch\af31501\loch\f31502 Running against an application -{\*\bkmkend _Toc411189901} +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid97460 {\*\bkmkstart _Toc442012135}\hich\af31502\dbch\af31501\loch\f31502 Running against an application +{\*\bkmkend _Toc442012135} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7237901 This most common usage }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1510934 of any code coverage utility such as OpenCover }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7237901 is in a testing environment}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12068581 \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid7237901 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13513498 {\*\bkmkstart _Toc411189902}\hich\af31502\dbch\af31501\loch\f31502 Sample{\*\bkmkend _Toc411189902} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13513498 {\*\bkmkstart _Toc442012136}\hich\af31502\dbch\af31501\loch\f31502 Sample{\*\bkmkend _Toc442012136} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13513498 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { -\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid13513498\charrsid7237901 OpenCover.Console.exe -register:user -target:..\\..\\..\\tools\\NUnit-2.5.10.11092\\bin\\net-2.0\\nunit-console-x86.exe -targetargs:"OpenCove -r.Test.dll /noshadow" -filter:"+[Open*]* -[OpenCover.T*]*" -output:opencovertests.xml +\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid13513498\charrsid7237901 OpenCover.Console.exe -register:user -target:..\\..\\..\\tools\\NUnit-2.5.10.11092\\bin\\net-2.0\\nunit-console-x86.exe -targetargs:"OpenCover.Test +.dll /noshadow" -filter:"+[Open*]* -[OpenCover.T*]*" -output:opencovertests.xml \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid12068581 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid97460 {\*\bkmkstart _Toc411189903}\hich\af31502\dbch\af31501\loch\f31502 Running against a Silverlight application -{\*\bkmkend _Toc411189903} +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid97460 {\*\bkmkstart _Toc442012137}\hich\af31502\dbch\af31501\loch\f31502 Running against a Silverlight application +{\*\bkmkend _Toc442012137} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 -\ltrch\fcs0 \insrsid16469695 To run against a Silverlight application it is necessary to ensure the site hosting the application is - running beforehand. To profile a Silverlight application it is necessary to launch a browser against the site and as the PDB files are not packaged in the XAP files it is necessary to give the console a hint where to look for the PDB files}{\rtlch\fcs1 -\af0 \ltrch\fcs0 \insrsid1510934 (using the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \i\insrsid1510934\charrsid1510934 \endash targetdir}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1510934 option)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16469695 . +\ltrch\fcs0 \insrsid16469695 To run against a Silverlight application it is necessary to ensure the site hosting the application is runni +ng beforehand. To profile a Silverlight application it is necessary to launch a browser against the site and as the PDB files are not packaged in the XAP files it is necessary to give the console a hint where to look for the PDB files}{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid1510934 (using the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \i\insrsid1510934\charrsid1510934 \endash targetdir}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1510934 option)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16469695 . \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid12068581 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12068581 {\*\bkmkstart _Toc411189904}\hich\af31502\dbch\af31501\loch\f31502 Sample{\*\bkmkend _Toc411189904} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12068581 {\*\bkmkstart _Toc442012138}\hich\af31502\dbch\af31501\loch\f31502 Sample{\*\bkmkend _Toc442012138} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid16469695 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid16469695\charrsid12068581 OpenCover.Console.exe -register:user }{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid12068581\charrsid12068581 "-target:}{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid16469695\charrsid12068581 C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe" }{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid12068581\charrsid12068581 "}{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 @@ -765,8 +786,8 @@ r.Test.dll /noshadow" -filter:"+[Open*]* -[OpenCover.T*]*" -output:opencovertest \rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid12068581 }{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid12068581\charrsid12068581 "}{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid12068581 -t}{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid8728997 argetdir:..}{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid12068581\charrsid12068581 \\SampleSilverlight\\SampleSilverlight\\Bin\\Debug"}{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid16469695\charrsid12068581 \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid12068581 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid97460 {\*\bkmkstart _Toc411189905}\hich\af31502\dbch\af31501\loch\f31502 Running against a Service application -{\*\bkmkend _Toc411189905} +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid97460 {\*\bkmkstart _Toc442012139}\hich\af31502\dbch\af31501\loch\f31502 Running against a Service application +{\*\bkmkend _Toc442012139} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7289096 It is preferable to run the service in a console mode if it has one rather than as a service however if you do decide to use it against a service then you will nee d to make sure you use an account that can access the windows synchronisation objects in the Global namespace (rather than Local namespace). \'93Local System\'94 seems to work quite well and so do user accounts w}{\rtlch\fcs1 \af0 \ltrch\fcs0 @@ -774,7 +795,7 @@ d to make sure you use an account that can access the windows synchronisation ob problematic and is not recommended. The console host will also need to be run from an account that can access the Global namespace as such an Administrator account or an Administrative prompt is recommended}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16469695 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8479050 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid97460 \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid12068581 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16469695 {\*\bkmkstart _Toc411189906}\hich\af31502\dbch\af31501\loch\f31502 Sample{\*\bkmkend _Toc411189906} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16469695 {\*\bkmkstart _Toc442012140}\hich\af31502\dbch\af31501\loch\f31502 Sample{\*\bkmkend _Toc442012140} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid16469695 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid16469695\charrsid12068581 OpenCover.Console.exe -target:}{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid16349201 "}{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid16469695\charrsid12068581 OpenCover Sample Service" -service }{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid8479050 \endash }{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid16469695\charrsid12068581 register}{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid16469695 @@ -783,9 +804,9 @@ OpenCover Sample Service" -service }{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16 : Rather than use the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid8479050\charrsid8479050 \endash register}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8479050 switch, it is usually simpler to use the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid8479050\charrsid8479050 regsvr32}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8479050 utility to pre-register the two profiler assemblies (32 and 64-bit) beforehand.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8479050\charrsid12068581 \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid738226 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4327818 {\*\bkmkstart _Toc411189907}\hich\af31502\dbch\af31501\loch\f31502 Using the }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \i\insrsid8479050\charrsid8479050 -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid4327818\charrsid8479050 \hich\af31502\dbch\af31501\loch\f31502 excludebyattribute}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4327818 \hich\af31502\dbch\af31501\loch\f31502 - option}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid97460 {\*\bkmkend _Toc411189907} +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4327818 {\*\bkmkstart _Toc442012141}\hich\af31502\dbch\af31501\loch\f31502 Using +\hich\af31502\dbch\af31501\loch\f31502 the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid8479050\charrsid8479050 -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid4327818\charrsid8479050 \hich\af31502\dbch\af31501\loch\f31502 excludebyattribute}{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid4327818 \hich\af31502\dbch\af31501\loch\f31502 option}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid97460 {\*\bkmkend _Toc442012141} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4327818 Normally you would include/exclude modules and classes by using the inclusion/exclusion filters, however there may be situations where you can\rquote t get coverage via testing and you wish to ignore the uncovered method. @@ -811,9 +832,9 @@ AttributeUsage}{\rtlch\fcs1 \af40\afs16 \ltrch\fcs0 \f40\fs16\insrsid738226\char \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4327818 NOTE: Use with care as you could exclude a method which you should be testing}{ \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid738226 ;}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4327818 also it can become too tempting to ignore a method and not test due to it being difficult and use this option to \lquote skip\rquote it. \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid7372180 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid738226 {\*\bkmkstart _Toc411189908}\hich\af31502\dbch\af31501\loch\f31502 Using the }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid738226 {\*\bkmkstart _Toc442012142}\hich\af31502\dbch\af31501\loch\f31502 Using the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid8479050\charrsid8479050 -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\insrsid738226\charrsid8479050 \hich\af31502\dbch\af31501\loch\f31502 excludebyfile}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid738226 \hich\af31502\dbch\af31501\loch\f31502 option}{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4327818 {\*\bkmkend _Toc411189908} +\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4327818 {\*\bkmkend _Toc442012142} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid738226 This is a useful option to use to ignore a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9049101 uto}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7372180 -}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9049101 generated files}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid738226 . This works on file and pathnames. @@ -825,19 +846,20 @@ AttributeUsage}{\rtlch\fcs1 \af40\afs16 \ltrch\fcs0 \f40\fs16\insrsid738226\char \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid738226 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid738226 NOTE: Use with care as you could exclude a method which you should be testing; also it can become too tempting to ignore a method and not test due to it being difficult and use this option to \lquote skip\rquote it. \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid5114927 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 {\*\bkmkstart _Toc411189909}\hich\af31502\dbch\af31501\loch\f31502 Shimming support}{\rtlch\fcs1 \af0 -\ltrch\fcs0 \insrsid5114927\charrsid5114927 {\*\bkmkend _Toc411189909} +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 {\*\bkmkstart _Toc442012143}\hich\af31502\dbch\af31501\loch\f31502 Shimming support}{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid5114927\charrsid5114927 {\*\bkmkend _Toc442012143} \par \ltrrow}\trowd \irow0\irowband0\lastrow \ltrrow\ts28\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid5114927\tbllkhdrrows\tbllkhdrcols\tbllknocolband\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \clcbpat24\cltxlrtb\clftsWidth3\clwWidth9242\clcbpatraw24 \cellx9134\pard\plain \ltrpar\qj \li0\ri0\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\pararsid5114927\yts28 \rtlch\fcs1 \af0\afs22\alang1025 -\ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5114927 -In computer programming, a shim is a small library that transparently intercepts API calls and changes the arguments passed, handles the operation itself, or redire -cts the operation elsewhere. Shims typically come about when the behavior of an API changes, thereby causing compatibility issues for older applications which still rely on the older functionality. In such cases, the older API can still be supported by a -thin compatibility layer on top of the newer code. Web polyfills are a related concept. Shims can also be used for running programs on different software platforms than they were developed for. -\par - }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5114927 - HYPERLINK "http://en.wikipedia.org/wiki/Shim_%28computing%29" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16071677 {\*\datafield +\ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5114927 In comput +er programming, a shim is a small library that transparently intercepts API calls and changes the arguments passed, handles the operation itself, or redirects the operation elsewhere. Shims typically come about when the behavior of an API changes, thereby + +causing compatibility issues for older applications which still rely on the older functionality. In such cases, the older API can still be supported by a thin compatibility layer on top of the newer code. Web polyfills are a related concept. Shims can als +o be used for running programs on different software platforms than they were developed for. +\par - }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5114927 HYPE +RLINK "http://en.wikipedia.org/wiki/Shim_%28computing%29" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16071677 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b7c00000068007400740070003a002f002f0065006e002e00770069006b006900700065006400690061002e006f00720067002f00770069006b0069002f005300680069006d005f0025003200380063006f006d007000 -7500740069006e0067002500320039000000795881f43b1d7f48af2c825dc485276300000000a5ab00000465a9010000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid5114927\charrsid5114927 wikipedia}}}\sectd \ltrsect +7500740069006e0067002500320039000000795881f43b1d7f48af2c825dc485276300000000a5ab00000465a901000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid5114927\charrsid5114927 wikipedia}}}\sectd \ltrsect \linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5114927 \cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1 \widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5114927 \trowd \irow0\irowband0\lastrow \ltrrow\ts28\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 @@ -847,96 +869,95 @@ thin compatibility layer on top of the newer code. Web polyfills are a related c \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 Depending on the provider of the Shimming utility will determine on how the OpenCover will be used alongside it}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5114927 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939\charrsid2243939 \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid2243939 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 {\*\bkmkstart _Toc411189910}\hich\af31502\dbch\af31501\loch\f31502 Microsoft Moles support -{\*\bkmkend _Toc411189910} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 {\*\bkmkstart _Toc442012144}\hich\af31502\dbch\af31501\loch\f31502 Microsoft Moles support +{\*\bkmkend _Toc442012144} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2243939 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 To use Moles with OpenCover requires that you first inform Moles that you are using OpenCover}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5921453 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\insrsid5921453 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s24\ql \fi-360\li720\ri0\sa200\sl276\slmult1 +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\insrsid5921453 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-360\li720\ri0\sa200\sl276\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin720\itap0\pararsid5921453\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5921453 Before you run moles you need to set an environment variable -\par }\pard \ltrpar\s24\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5921453\contextualspace {\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid5921453\charrsid5921453 +\par }\pard \ltrpar\s25\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5921453\contextualspace {\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid5921453\charrsid5921453 set CLRMONITOR_EXTERNAL_PROFILERS=\{1542C21D-80C3-45E6-A56C-A9C1E4BEB7B8\} -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\insrsid5921453 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\s24\ql \fi-360\li720\ri0\sa200\sl276\slmult1 +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\insrsid5921453 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\s25\ql \fi-360\li720\ri0\sa200\sl276\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin720\itap0\pararsid5921453\contextualspace {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5921453 Then use OpenCover to run the moles runner -\par }\pard \ltrpar\s24\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5921453\contextualspace {\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid5921453\charrsid5921453 +\par }\pard \ltrpar\s25\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5921453\contextualspace {\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid5921453\charrsid5921453 \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid2243939 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 {\*\bkmkstart _Toc411189911}\hich\af31502\dbch\af31501\loch\f31502 Microsoft Fakes support -{\*\bkmkend _Toc411189911} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 {\*\bkmkstart _Toc442012145}\hich\af31502\dbch\af31501\loch\f31502 Microsoft Fakes support +{\*\bkmkend _Toc442012145} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2243939 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 OpenCover has support for }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 HYPERLINK "https://msdn.microsoft.com/en-us/library/hh549175.aspx" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16071677 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b86000000680074007400700073003a002f002f006d00730064006e002e006d006900630072006f0073006f00660074002e0063006f006d002f0065006e002d00750073002f006c006900620072006100720079002f00 -680068003500340039003100370035002e0061007300700078000000795881f43b1d7f48af2c825dc485276300000000a5ab00003000000000eb}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid2243939\charrsid2243939 Microsoft Fakes}}}\sectd \ltrsect -\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 - just use OpenCover to execute vstest.console.exe and it will detect if the Microsoft Fakes profiler is going to be activated and it will do the rest. +680068003500340039003100370035002e0061007300700078000000795881f43b1d7f48af2c825dc485276300000000a5ab00003000000000eb08}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid2243939\charrsid2243939 Microsoft Fakes}}}\sectd \ltrsect +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2243939 just use OpenCover to execute vstest.cons +ole.exe and it will detect if the Microsoft Fakes profiler is going to be activated and it will do the rest. \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid5921453 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5921453 {\*\bkmkstart _Toc411189912}\hich\af31502\dbch\af31501\loch\f31502 TypeMock support -{\*\bkmkend _Toc411189912} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5921453 {\*\bkmkstart _Toc442012146}\hich\af31502\dbch\af31501\loch\f31502 TypeMock support +{\*\bkmkend _Toc442012146} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2243939 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5921453 The }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8091909 developers}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5921453 at TypeMock add}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8091909 ed}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5921453 OpenCover support several years ago; please review their documentation to get both TypeMock and OpenCover to work correctly with the versions you have installed. \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid8091909 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8091909 \hich\af31502\dbch\af31501\loch\f31502 JustMock support +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8091909 {\*\bkmkstart _Toc442012147}\hich\af31502\dbch\af31501\loch\f31502 JustMock support +{\*\bkmkend _Toc442012147} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2243939 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8091909 The developers at JustMock have also added support for OpenCover; please review their }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8091909 HYPERLINK "http://www.telerik.com/help/justmock/integration-opencover.html" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8091909 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b9800000068007400740070003a002f002f007700770077002e00740065006c006500720069006b002e0063006f006d002f00680065006c0070002f006a007500730074006d006f0063006b002f0069006e0074006500 -670072006100740069006f006e002d006f00700065006e0063006f007600650072002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab0000002f000007}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid8091909\charrsid8091909 documentation}}} +670072006100740069006f006e002d006f00700065006e0063006f007600650072002e00680074006d006c000000795881f43b1d7f48af2c825dc485276300000000a5ab0000002f00000700}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid8091909\charrsid8091909 documentation}}} \sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8091909 to get both JustMock and OpenCover to work correctly with the versions you have installed.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8091909\charrsid2243939 \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid1926955 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 {\*\bkmkstart _Toc411189913}\hich\af31502\dbch\af31501\loch\f31502 Build system integration}{\rtlch\fcs1 -\af0 \ltrch\fcs0 \insrsid4327818 {\*\bkmkend _Toc411189913} +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 {\*\bkmkstart _Toc442012148}\hich\af31502\dbch\af31501\loch\f31502 Build system integration}{\rtlch\fcs1 +\af0 \ltrch\fcs0 \insrsid4327818 {\*\bkmkend _Toc442012148} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1926955 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { -\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 -It is not unexpected that OpenCover will be used in a build environment and that the build will be running under a system account under these scenarios it is recommended that you pre-register the profiler DLLs using the regsvr32 utility where applicable f -or your environment. +\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 It is not unexpected that OpenCover will be used in a build environment and that the build will be running under a system account under these scenarios it is recommended that you pre-register the prof +iler DLLs using the regsvr32 utility where applicable for your environment. \par }{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid1926955\charrsid1903893 regsvr32 x86\\OpenCover.Profiler.dll\line regsvr32 x64\\OpenCover.Profiler.dll -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 To assist your build environment when you install OpenCover}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8847473 using the MSI}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 - it will store in the registry a location of the installation folder. The location in the registry depends on whether it is a single-user or}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 an}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 - all-user installation and}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 also}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 if you}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 are on a 32/64 bit environment. +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 To assist your build environment when you install OpenCover}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8847473 using the MSI}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 it will store in the registry a lo +cation of the installation folder. The location in the registry depends on whether it is a single-user or}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 an}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 all-user installation and}{\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid1903893 also}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 if you}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 are on a 32/64 bit environment. \par See the following examples based on default settings:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1926955 \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid1903893 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 {\*\bkmkstart _Toc411189914}\hich\af31502\dbch\af31501\loch\f31502 all-users (32-bit) -{\*\bkmkend _Toc411189914} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 {\*\bkmkstart _Toc442012149}\hich\af31502\dbch\af31501\loch\f31502 all-users +\hich\af31502\dbch\af31501\loch\f31502 (32-bit){\*\bkmkend _Toc442012149} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1903893 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 Registry Entry: }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid1903893\charrsid1903893 HKLM\\Software\\OpenCover\\Location}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 \line Install Location: }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid1903893\charrsid1903893 %PROGRAMFILES%\\OpenCover}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid1903893 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 {\*\bkmkstart _Toc411189915}\hich\af31502\dbch\af31501\loch\f31502 all-users (64-bit) -{\*\bkmkend _Toc411189915} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 {\*\bkmkstart _Toc442012150}\hich\af31502\dbch\af31501\loch\f31502 all-users (64-bit) +{\*\bkmkend _Toc442012150} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1903893 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 Registry Entry: }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid1903893\charrsid1903893 HKLM\\Software\\Wow6432Node\\OpenCover\\Location}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 \line Install Location: }{ \rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid1903893\charrsid1903893 %PROGRAMFILES(X86)%\\OpenCover}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid1903893 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 {\*\bkmkstart _Toc411189916}\hich\af31502\dbch\af31501\loch\f31502 single-user{\*\bkmkend _Toc411189916} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 {\*\bkmkstart _Toc442012151}\hich\af31502\dbch\af31501\loch\f31502 single-user{\*\bkmkend _Toc442012151} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1903893 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 Registry Entry: }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid1903893\charrsid1903893 HKCU\\Software\\OpenCover\\Location}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 \line Install Location: }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid1903893\charrsid1903893 %LOCALAPPDATA%\\Apps\\OpenCover}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1903893 \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid7372180 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7160127 {\*\bkmkstart _Toc411189917}\hich\af31502\dbch\af31501\loch\f31502 Reporting{\*\bkmkend _Toc411189917} +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7160127 {\*\bkmkstart _Toc442012152}\hich\af31502\dbch\af31501\loch\f31502 Reporting{\*\bkmkend _Toc442012152} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid7160127 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7160127 It is recommended that ReportGenerator (also available on Nuget) is used to view the coverage results however if you want to make your own reporting then a sample XSLT has been made available by }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7160127\charrsid7160127 Pavan Tiwari}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7160127 (}{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7160127 HYPERLINK "}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7160127\charrsid7160127 https://github.com/pawan52tiwari}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7160127 " }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16071677 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5a000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f0070006100770061006e00350032007400690077006100720069000000795881f43b1d7f48af2c825dc4852763 -00000000a5ab0000006f000000005b5a088700ff}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid7160127\charrsid2981254 https://github.com/pawan52tiwari}}}\sectd \ltrsect +00000000a5ab0000006f000000005b5a088700ff00}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs19\ul\cf2\insrsid7160127\charrsid2981254 https://github.com/pawan52tiwari}}}\sectd \ltrsect \linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7160127 ). It is simple to use with the supplied powershell script. \par }{\rtlch\fcs1 \af2\afs16 \ltrch\fcs0 \f2\fs16\insrsid7160127\charrsid7160127 powershell -noexit -file ..\\..\\transform\\transform.ps1 -xsl ..\\..\\transform\\simple_report.xslt -xml opencovertests.xml -output simple_output.html \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7160127 Feel free to extend it to your own requirements. \par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid7372180 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 -\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14513928 {\*\bkmkstart _Toc411189918}\hich\af31502\dbch\af31501\loch\f31502 FAQ{\*\bkmkend _Toc411189918} +\b\fs26\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14513928 {\*\bkmkstart _Toc442012153}\hich\af31502\dbch\af31501\loch\f31502 FAQ{\*\bkmkend _Toc442012153} \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid14513928 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7372180 {\*\bkmkstart _Toc411189919}\hich\af31502\dbch\af31501\loch\f31502 Why do I have no results?}{\rtlch\fcs1 -\af0 \ltrch\fcs0 \insrsid1903893 {\*\bkmkend _Toc411189919} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7372180 {\*\bkmkstart _Toc442012154}\hich\af31502\dbch\af31501\loch\f31502 Why do I have no results?}{\rtlch\fcs1 +\af0 \ltrch\fcs0 \insrsid1903893 {\*\bkmkend _Toc442012154} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8847473 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8847473 There are two common reasons why this may happen.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8847473\charrsid8847473 \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid7372180 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8847473 1) Instrumentation skipped due to filters. -\par The usual reason for no results}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7372180 because OpenC -over cannot locate the PDBs for assemblies that match the filters to be profiled i.e. gather coverage results from. When each assembly is loaded the location and reason the assembly wasn\rquote t profiled is provided in the coverage results file e.g. - +\par The usual reason for no results}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7372180 because OpenCover cannot locate the PDBs for assemblies that match the filters to be profiled i.e. gather c +overage results from. When each assembly is loaded the location and reason the assembly wasn\rquote t profiled is provided in the coverage results file e.g. \par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8852142 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid8852142 }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid8852142\charrsid8852142 \line }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid8852142\charrsid8852142 C:\\Personal\\opencover.git @@ -956,25 +977,25 @@ over cannot locate the PDBs for assemblies that match the filters to be profiled \par The profiler assemblies are COM objects and need to be registered in the Registry before the target process is run. \par This can }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid13596290 usually }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8847473 be solved in }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid13596290 one of }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8847473 two ways}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid13596290 :}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8847473 -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid8847473 \hich\af31506\dbch\af0\loch\f31506 a)\tab}}\pard\plain \ltrpar\s24\ql \fi-360\li720\ri0\sa200\sl276\slmult1 +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid8847473 \hich\af31506\dbch\af0\loch\f31506 a)\tab}}\pard\plain \ltrpar\s25\ql \fi-360\li720\ri0\sa200\sl276\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin720\itap0\pararsid8847473\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8847473 Use the }{\rtlch\fcs1 \af37 \ltrch\fcs0 \i\insrsid8847473\charrsid1510934 \endash register[:user] }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8847473 switch -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid8847473 \hich\af31506\dbch\af0\loch\f31506 b)\tab}}\pard \ltrpar\s24\ql \fi-360\li720\ri0\sa200\sl276\slmult1 +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid8847473 \hich\af31506\dbch\af0\loch\f31506 b)\tab}}\pard \ltrpar\s25\ql \fi-360\li720\ri0\sa200\sl276\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin720\itap0\pararsid5921453\contextualspace {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid8847473 Pre-register the assemblies using the regsvr32 utility}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid5921453\charrsid5921453 \par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb200\sl276\slmult1\keep\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid14513928 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14513928 {\*\bkmkstart _Toc411189920}\hich\af31502\dbch\af31501\loch\f31502 All my tests -\hich\af31502\dbch\af31501\loch\f31502 are failing and I am getting MissingMethodException{\*\bkmkend _Toc411189920} +\b\fs22\cf18\lang3081\langfe1033\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14513928 {\*\bkmkstart _Toc442012155}\hich\af31502\dbch\af31501\loch\f31502 +All my tests are failing and I am getting MissingMethodException{\*\bkmkend _Toc442012155} \par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14513928 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 { \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14513928 This has been seen on a few systems}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6453762 where the following command has been executed to improve performance (or something similar)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14513928 \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6453762\charrsid6453762 ngen install /Profile \'93mscorlib\'94}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6453762 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid6453762 The}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid3490457 re}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid6453762 are two ways to fix or handle this issue -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid6453762 \hich\af31506\dbch\af0\loch\f31506 1)\tab}}\pard\plain \ltrpar\s24\ql \fi-360\li720\ri0\sa200\sl276\slmult1 +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid6453762 \hich\af31506\dbch\af0\loch\f31506 1)\tab}}\pard\plain \ltrpar\s25\ql \fi-360\li720\ri0\sa200\sl276\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid6453762\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang3081\langfe1033\cgrid\langnp3081\langfenp1033 {\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid6453762 Undo the previous command - }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6453762\charrsid6453762 ngen uninstall /Profile \'93mscorlib\'94}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6453762 .}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid6453762 -\par {\listtext\pard\plain\ltrpar \s24 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid6453762 \hich\af31506\dbch\af0\loch\f31506 2)\tab}Use the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \i\insrsid6453762\charrsid1510934 \endash oldstyle}{\rtlch\fcs1 \af37 +\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\insrsid6453762 \hich\af31506\dbch\af0\loch\f31506 2)\tab}Use the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \i\insrsid6453762\charrsid1510934 \endash oldstyle}{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid6453762 switch, note however that this is not Silverlight friendly. }{\rtlch\fcs1 \af37 \ltrch\fcs0 \insrsid6453762\charrsid6453762 \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a 9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad @@ -1094,18 +1115,18 @@ fffffffffffffffffdffffff04000000feffffff05000000fefffffffeffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff010000000c6ad98892f1d411a65f0040963251e50000000000000000000000008071 -095eaf4cd1010300000080020000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff0200000000000000000000000000000000000000000000008071095eaf4cd101 -8071095eaf4cd10100000000000000000000000054005500cb0034004400ca00c400c800d700d400ce00c500d900d600ce0043004300cd00d4004f00c50041003d003d000000000000000000000000000000000032000101ffffffffffffffff0300000000000000000000000000000000000000000000008071095eaf4c -d1018071095eaf4cd1010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000 +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff010000000c6ad98892f1d411a65f0040963251e5000000000000000000000000d03b +4506d45bd1010300000080020000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff020000000000000000000000000000000000000000000000d03b4506d45bd101 +d03b4506d45bd101000000000000000000000000dc00c600d3004b00c000350050003100c600d400d200d600d1004400c2005900cd00d3004700c300490041003d003d000000000000000000000000000000000032000101ffffffffffffffff030000000000000000000000000000000000000000000000d03b4506d45b +d101d03b4506d45bd1010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000 00000000000000000000000000000000d800000000000000010000000200000003000000feffffff0500000006000000070000000800000009000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c623a536f75726365732053656c65637465645374796c653d225c4150412e58534c22205374796c654e616d653d224150412220786d6c6e733a623d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f7267 2f6f6666696365446f63756d656e742f323030362f6269626c696f6772617068792220786d6c6e733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879223e3c2f623a536f75726365733e00000000 -0000000000000000000000000000000000000000000000000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b30454445 -344134442d323841392d344244462d413545372d3642383230414444304539347d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c +0000000000000000000000000000000000000000000000000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b38314341 +364346322d444246332d344339422d423643342d3338393842373331413332307d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c 64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e6f70656e500072006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff000000000000 0000000000000000000000000000000000000000000000000000000000000400000055010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000 diff --git a/main/OpenCover.Framework/CommandLineParser.cs b/main/OpenCover.Framework/CommandLineParser.cs index b1a41e9f9..febf9ea20 100644 --- a/main/OpenCover.Framework/CommandLineParser.cs +++ b/main/OpenCover.Framework/CommandLineParser.cs @@ -9,6 +9,7 @@ using System.Reflection; using System.Text; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text.RegularExpressions; using OpenCover.Framework.Model; @@ -58,6 +59,32 @@ public enum ServiceEnvironment ByName } + /// + /// SafeMode values + /// + public enum SafeMode + { + /// + /// SafeMode is on (default) + /// + On, + + /// + /// SafeMode is on (default) + /// + Yes = On, + + /// + /// SafeMode is off + /// + Off, + + /// + /// SafeMode is off + /// + No = Off + } + /// /// Parse the command line arguments and set the appropriate properties /// @@ -84,6 +111,8 @@ public CommandLineParser(string[] arguments) RegExFilters = false; Registration = Registration.Normal; PrintVersion = false; + ExcludeDirs = new string[0]; + SafeMode = true; } /// @@ -111,6 +140,7 @@ public string Usage() builder.AppendLine(" [-excludebyattribute:[;][;]]"); builder.AppendLine(" [-excludebyfile:[;][;]]"); builder.AppendLine(" [-coverbytest:[;][;]]"); + builder.AppendLine(" [[\"]-excludedirs:[;][;][\"]]"); builder.AppendLine(" [-hideskipped:File|Filter|Attribute|MissingPdb|All,[File|Filter|Attribute|MissingPdb|All]]"); builder.AppendLine(" [-log:[Off|Fatal|Error|Warn|Info|Debug|Verbose|All]]"); builder.AppendLine(" [-service[:byname]]"); @@ -169,6 +199,16 @@ public void ExtractAndValidateArguments() case "searchdirs": SearchDirs = GetArgumentValue("searchdirs").Split(';'); break; + case "excludedirs": + ExcludeDirs = + GetArgumentValue("excludedirs") + .Split(';') + .Where(_ => _ != null) + .Select(_ => Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory(), _))) + .Where(Directory.Exists) + .Distinct() + .ToArray(); + break; case "targetargs": TargetArgs = GetArgumentValue("targetargs"); break; @@ -252,6 +292,9 @@ public void ExtractAndValidateArguments() case "skipautoprops": SkipAutoImplementedProperties = true; break; + case "safemode": + SafeMode = ExtractSafeMode(GetArgumentValue("safemode")) == Framework.SafeMode.On; + break; case "?": PrintUsage = true; break; @@ -329,6 +372,16 @@ private static List ExtractSkipped(string skippedArg) return list.Distinct().ToList(); } + private static SafeMode ExtractSafeMode(string safeModeArg) + { + SafeMode result; + if (!Enum.TryParse(safeModeArg, true, out result)) + { + throw new InvalidOperationException(string.Format("The safemode option {0} is not valid", safeModeArg)); + } + return result; + } + private TimeSpan ParseTimeoutValue(string timeoutValue) { var match = Regex.Match(timeoutValue, @"((?\d+)m)?((?\d+)s)?"); @@ -384,6 +437,12 @@ private void ValidateArguments() /// public bool Register { get; private set; } + /// + /// Set when we should not use thread based buffers. + /// May not be as performant in some circumstances but avoids data loss + /// + public bool SafeMode { get; private set; } + /// /// the switch -register with the user argument was supplied i.e. -register:user /// @@ -409,6 +468,11 @@ private void ValidateArguments() /// public string[] SearchDirs { get; private set; } + /// + /// Assemblies loaded form these dirs will be excluded + /// + public string[] ExcludeDirs { get; private set; } + /// /// The arguments that are to be passed to the Target /// diff --git a/main/OpenCover.Framework/Filter.cs b/main/OpenCover.Framework/Filter.cs index f30eb1bd2..ad2ba5aee 100644 --- a/main/OpenCover.Framework/Filter.cs +++ b/main/OpenCover.Framework/Filter.cs @@ -377,6 +377,27 @@ public bool InstrumentProcess(string processName) return true; // not excluded and no inclusion filters } + readonly IList _excludePaths = new List(); + + /// + /// Add a folder to the list that modules in these folders (and their children) should be excluded + /// + /// + public void AddExcludedFolder(string excludedPath) + { + _excludePaths.Add(excludedPath.ToLowerInvariant()); + } + + /// + /// Should we use this module based on it's path + /// + /// + /// + public bool UseModule(string modulePath) + { + return _excludePaths.All(path => !modulePath.ToLowerInvariant().StartsWith(path)); + } + /// /// Create a filter entity from parser parameters /// @@ -415,6 +436,11 @@ public static IFilter BuildFilter(CommandLineParser parser) filter.AddAttributeExclusionFilters(parser.AttributeExclusionFilters.ToArray()); filter.AddFileExclusionFilters(parser.FileExclusionFilters.ToArray()); filter.AddTestFileFilters(parser.TestFilters.ToArray()); + foreach (var excludeDir in parser.ExcludeDirs) + { + filter.AddExcludedFolder(excludeDir); + } + return filter; } diff --git a/main/OpenCover.Framework/ICommandLine.cs b/main/OpenCover.Framework/ICommandLine.cs index d614ef46f..c8cebcdb0 100644 --- a/main/OpenCover.Framework/ICommandLine.cs +++ b/main/OpenCover.Framework/ICommandLine.cs @@ -24,6 +24,12 @@ public interface ICommandLine /// string[] SearchDirs { get; } + /// + /// Assemblies loaded form these dirs will be excluded + /// + string[] ExcludeDirs { get; } + + /// /// If specified then results to be merged by matching hash /// @@ -49,6 +55,12 @@ public interface ICommandLine /// bool TraceByTest { get; } + /// + /// Set when we should not use thread based buffers. + /// May not be as performant in some circumstances but avoids data loss + /// + bool SafeMode { get; } + /// /// The type of profiler registration /// diff --git a/main/OpenCover.Framework/IFilter.cs b/main/OpenCover.Framework/IFilter.cs index d8ed38536..d0dc53b94 100644 --- a/main/OpenCover.Framework/IFilter.cs +++ b/main/OpenCover.Framework/IFilter.cs @@ -106,6 +106,19 @@ public interface IFilter /// /// bool InstrumentProcess(string processName); + + /// + /// Add a folder to the list that modules in these folders (and their children) should be excluded + /// + /// + void AddExcludedFolder(string excludedPath); + + /// + /// Should we use this module based on it's path + /// + /// + /// + bool UseModule(string modulePath); } } diff --git a/main/OpenCover.Framework/Manager/IMemoryManager.cs b/main/OpenCover.Framework/Manager/IMemoryManager.cs index 2823e271c..de31c05c8 100644 --- a/main/OpenCover.Framework/Manager/IMemoryManager.cs +++ b/main/OpenCover.Framework/Manager/IMemoryManager.cs @@ -62,10 +62,9 @@ public interface IMemoryManager : IDisposable /// /// Get the list of all allocated blocks /// - IList GetBlocks { get; } + IReadOnlyList GetBlocks { get; } /// - /// Deactivate a /// /// void DeactivateMemoryBuffer(uint bufferId); @@ -74,5 +73,17 @@ public interface IMemoryManager : IDisposable /// Remove all deactivated blocks /// void RemoveDeactivatedBlock(ManagedBufferBlock block); + + /// + /// Wait some time for the blocks to close + /// + /// + void WaitForBlocksToClose(int bufferWaitCount); + + /// + /// Fetch the remaining data from the active blocks + /// + /// + void FetchRemainingBufferData(Action processBuffer); } } \ No newline at end of file diff --git a/main/OpenCover.Framework/Manager/MemoryManager.cs b/main/OpenCover.Framework/Manager/MemoryManager.cs index 9c659b021..821aec576 100644 --- a/main/OpenCover.Framework/Manager/MemoryManager.cs +++ b/main/OpenCover.Framework/Manager/MemoryManager.cs @@ -7,6 +7,7 @@ using System.Security.AccessControl; using System.Security.Principal; using System.Threading; +using log4net; namespace OpenCover.Framework.Manager { @@ -20,6 +21,8 @@ public class MemoryManager : IMemoryManager private readonly object _lockObject = new object(); private uint _bufferId = 1; + private static readonly ILog DebugLogger = LogManager.GetLogger("DebugLogger"); + private readonly IList _blocks = new List(); /// @@ -313,15 +316,15 @@ public ManagedBufferBlock AllocateMemoryBuffer(int bufferSize, out uint bufferId /// - /// get a pair of communication+memory blocks + /// Get the list of all allocated blocks /// - public IList GetBlocks + public IReadOnlyList GetBlocks { get { lock (_lockObject) { - return _blocks; + return _blocks.ToArray(); } } } @@ -356,6 +359,50 @@ public void RemoveDeactivatedBlock(ManagedBufferBlock block) } } + public void WaitForBlocksToClose(int bufferWaitCount) + { + // we need to let the profilers dump the thread buffers over before they close - max 15s (ish) + var i = 0; + var count = -1; + while (i < bufferWaitCount && count != 0) + { + lock (_lockObject) + { + count = _blocks.Count(b => b.Active); + } + if (count > 0) + { + DebugLogger.InfoFormat("Waiting for {0} processes to close", count); + Thread.Sleep(500); + } + i++; + } + } + + public void FetchRemainingBufferData(Action processBuffer) + { + lock (_lockObject) + { + // grab anything left in the main buffers + var activeBlocks = _blocks.Where(b => b.Active).ToArray(); + foreach (var block in activeBlocks) + { + var memoryBlock = block.MemoryBlock; + var data = new byte[memoryBlock.BufferSize]; + memoryBlock.StreamAccessorResults.Seek(0, SeekOrigin.Begin); + memoryBlock.StreamAccessorResults.Read(data, 0, memoryBlock.BufferSize); + + // process the extracted data + processBuffer(data); + + // now clean them down + block.CommunicationBlock.Do(x => x.Dispose()); + block.MemoryBlock.Do(x => x.Dispose()); + _blocks.RemoveAt(_blocks.IndexOf(block)); + } + } + } + /// /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// diff --git a/main/OpenCover.Framework/Manager/ProfilerManager.cs b/main/OpenCover.Framework/Manager/ProfilerManager.cs index 8db9d40c8..9e3ede264 100644 --- a/main/OpenCover.Framework/Manager/ProfilerManager.cs +++ b/main/OpenCover.Framework/Manager/ProfilerManager.cs @@ -154,6 +154,8 @@ private void SetProfilerAttributesOnDictionary(string profilerKey, string profil if (_commandLine.TraceByTest) dictionary[@"OpenCover_Profiler_TraceByTest"] = "1"; + if (_commandLine.SafeMode) + dictionary[@"OpenCover_Profiler_SafeMode"] = "1"; dictionary["Cor_Profiler"] = ProfilerGuid; dictionary["Cor_Enable_Profiling"] = "1"; @@ -230,24 +232,9 @@ private void ProcessMessages(WaitHandle[] handles) } } while (_continueWait); - // we need to let the profilers dump the thread buffers over before they close - max 15s (ish) - var i = 0; - while (i < BufferWaitCount && _memoryManager.GetBlocks.Any(b => b.Active)) - { - DebugLogger.InfoFormat("Waiting for {0} processes to close", - _memoryManager.GetBlocks.Count(b => b.Active)); - Thread.Sleep(500); - i++; - } + _memoryManager.WaitForBlocksToClose(BufferWaitCount); - // grab anything left in the main buffers - foreach (var block in _memoryManager.GetBlocks.Where(b => b.Active).Select(b => b.MemoryBlock)) - { - var data = new byte[block.BufferSize]; - block.StreamAccessorResults.Seek(0, SeekOrigin.Begin); - block.StreamAccessorResults.Read(data, 0, block.BufferSize); - _messageQueue.Enqueue(data); - } + _memoryManager.FetchRemainingBufferData(data => _messageQueue.Enqueue(data)); lock (SyncRoot) { diff --git a/main/OpenCover.Framework/Model/SkippedMethod.cs b/main/OpenCover.Framework/Model/SkippedMethod.cs index 7ca6e042b..2f97ed0a1 100644 --- a/main/OpenCover.Framework/Model/SkippedMethod.cs +++ b/main/OpenCover.Framework/Model/SkippedMethod.cs @@ -43,6 +43,11 @@ public enum SkippedMethod /// /// Entity (method) was skipped for other reasons. /// - Unknown = 8 + Unknown = 8, + + /// + /// Entity (dll) was skipped due to folder exclusion. + /// + FolderExclusion = 9 } } \ No newline at end of file diff --git a/main/OpenCover.Framework/Persistance/BasePersistance.cs b/main/OpenCover.Framework/Persistance/BasePersistance.cs index 3b9d1a489..ba1aaea43 100644 --- a/main/OpenCover.Framework/Persistance/BasePersistance.cs +++ b/main/OpenCover.Framework/Persistance/BasePersistance.cs @@ -181,6 +181,9 @@ private void ProcessSkippedAction(SkippedMethod skippedMethod) RemoveSkippedModules(SkippedMethod.Filter); RemoveSkippedClasses(SkippedMethod.Filter); break; + case SkippedMethod.FolderExclusion: + RemoveSkippedModules(SkippedMethod.FolderExclusion); + break; case SkippedMethod.MissingPdb: RemoveSkippedModules(SkippedMethod.MissingPdb); break; diff --git a/main/OpenCover.Framework/Service/ProfilerCommunication.cs b/main/OpenCover.Framework/Service/ProfilerCommunication.cs index 0a25cdc36..63b1d56bb 100644 --- a/main/OpenCover.Framework/Service/ProfilerCommunication.cs +++ b/main/OpenCover.Framework/Service/ProfilerCommunication.cs @@ -33,7 +33,12 @@ public bool TrackAssembly(string processPath, string modulePath, string assembly Module module = null; var builder = _instrumentationModelBuilderFactory.CreateModelBuilder(modulePath, assemblyName); - if (!_filter.UseAssembly(Path.GetFileNameWithoutExtension (processPath), assemblyName)) + if (!_filter.UseModule(modulePath)) + { + module = builder.BuildModuleModel(false); + module.MarkAsSkipped(SkippedMethod.FolderExclusion); + } + else if (!_filter.UseAssembly(Path.GetFileNameWithoutExtension (processPath), assemblyName)) { module = builder.BuildModuleModel(false); module.MarkAsSkipped(SkippedMethod.Filter); diff --git a/main/OpenCover.Profiler/CodeCoverage.cpp b/main/OpenCover.Profiler/CodeCoverage.cpp index c13ce3d56..4f0bca5a0 100644 --- a/main/OpenCover.Profiler/CodeCoverage.cpp +++ b/main/OpenCover.Profiler/CodeCoverage.cpp @@ -89,6 +89,11 @@ HRESULT CCodeCoverage::OpenCoverInitialise(IUnknown *pICorProfilerInfoUnk){ m_tracingEnabled = _tcslen(tracebyTest) != 0; ATLTRACE(_T(" ::Initialize(...) => tracingEnabled = %s (%s)"), m_tracingEnabled ? _T("true") : _T("false"), tracebyTest); + TCHAR safeMode[1024] = { 0 }; + ::GetEnvironmentVariable(_T("OpenCover_Profiler_SafeMode"), safeMode, 1024); + safe_mode_ = m_tracingEnabled || (_tcslen(safeMode) != 0); + ATLTRACE(_T(" ::Initialize(...) => safeMode = %s (%s)"), safe_mode_ ? _T("true") : _T("false"), safeMode); + TCHAR shortwait[1024] = { 0 }; if (::GetEnvironmentVariable(_T("OpenCover_Profiler_ShortWait"), shortwait, 1024) > 0) { _shortwait = _tcstoul(shortwait, nullptr, 10); @@ -180,7 +185,7 @@ HRESULT STDMETHODCALLTYPE CCodeCoverage::Shutdown( void) if (chained_module_ != nullptr) FreeLibrary(chained_module_); - _host->CloseChannel(m_tracingEnabled); + _host->CloseChannel(safe_mode_); WCHAR szExeName[MAX_PATH]; GetModuleFileNameW(nullptr, szExeName, MAX_PATH); @@ -210,7 +215,7 @@ void __fastcall CCodeCoverage::AddVisitPoint(ULONG uniqueId) threshold++; } - if (m_tracingEnabled){ + if (safe_mode_) { _host->AddVisitPoint(uniqueId); } else { diff --git a/main/OpenCover.Profiler/CodeCoverage.h b/main/OpenCover.Profiler/CodeCoverage.h index a65812302..068a42314 100644 --- a/main/OpenCover.Profiler/CodeCoverage.h +++ b/main/OpenCover.Profiler/CodeCoverage.h @@ -139,7 +139,8 @@ END_COM_MAP() bool m_useOldStyle; ULONG m_threshold; - bool m_tracingEnabled; + bool m_tracingEnabled; + bool safe_mode_; private: std::vector m_thresholds; diff --git a/main/OpenCover.Profiler/CodeCoverage_Thread.cpp b/main/OpenCover.Profiler/CodeCoverage_Thread.cpp index 18b9c7192..3bb3d8d54 100644 --- a/main/OpenCover.Profiler/CodeCoverage_Thread.cpp +++ b/main/OpenCover.Profiler/CodeCoverage_Thread.cpp @@ -20,7 +20,7 @@ HRESULT STDMETHODCALLTYPE CCodeCoverage::ThreadDestroyed( if (m_chainedProfiler != nullptr) m_chainedProfiler->ThreadDestroyed(threadId); - if (!m_tracingEnabled){ + if (!safe_mode_) { _host->ThreadDestroyed(threadId); } @@ -35,7 +35,7 @@ HRESULT STDMETHODCALLTYPE CCodeCoverage::ThreadAssignedToOSThread( if (m_chainedProfiler != nullptr) m_chainedProfiler->ThreadAssignedToOSThread(managedThreadId, osThreadId); - if (!m_tracingEnabled){ + if (!safe_mode_) { _host->ThreadCreated(managedThreadId, osThreadId); } diff --git a/main/OpenCover.Test/Framework/CommandLineParserTests.cs b/main/OpenCover.Test/Framework/CommandLineParserTests.cs index fe92eae41..f72ca523a 100644 --- a/main/OpenCover.Test/Framework/CommandLineParserTests.cs +++ b/main/OpenCover.Test/Framework/CommandLineParserTests.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using NUnit.Framework; using OpenCover.Framework; @@ -158,6 +159,35 @@ public void HandlesTheSearchDirsArgumentWithSuppliedValue() Assert.AreEqual("YYY", parser.SearchDirs[1]); } + [Test] + public void HandlesTheExcludeDirsArgumentWithSuppliedValue() + { + // arrange + var parser = new CommandLineParser(new[] { string.Format("-excludedirs:{0};{1}", Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles)), RequiredArgs }); + + // act + parser.ExtractAndValidateArguments(); + + // assert + Assert.AreEqual(2, parser.ExcludeDirs.Length); + Assert.IsTrue(Directory.Exists(parser.ExcludeDirs[0])); + Assert.IsTrue(Directory.Exists(parser.ExcludeDirs[1])); + } + + [Test] + public void HandlesTheExcludeDirsArgumentWithSuppliedValueRemovesDuplicates() + { + // arrange + var parser = new CommandLineParser(new[] { string.Format("-excludedirs:{0};{1}", Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)), RequiredArgs }); + + // act + parser.ExtractAndValidateArguments(); + + // assert + Assert.AreEqual(1, parser.ExcludeDirs.Length); + Assert.IsTrue(Directory.Exists(parser.ExcludeDirs[0])); + } + [Test] public void HandlesTheTargetArgsArgumentWithSuppliedValue() { @@ -865,5 +895,37 @@ static IEnumerable GetFilter(string filterArg, bool defaultFilters) yield return string.Format("-filter:\"{0}\"", filterArg); if (!defaultFilters) yield return "-nodefaultfilters"; } + + [Test] + [TestCase("wibble")] + [TestCase("argh")] + public void InvalidSafeModeThrowsException(string invalidSafeMode) + { + // arrange + var parser = new CommandLineParser(new[] { "-safemode:" + invalidSafeMode, RequiredArgs }); + + // act + var thrownException = Assert.Throws(parser.ExtractAndValidateArguments); + + // assert + Assert.That(thrownException.Message, Contains.Substring("safemode")); + } + + [Test] + [TestCase("no", false)] + [TestCase("yes", true)] + [TestCase("on", true)] + [TestCase("off", false)] + public void ValidSafeModeIsParsedCorrectly(string validSafeMode, bool expectedValue) + { + // arrange + var parser = new CommandLineParser(new[] { "-safemode:" + validSafeMode, RequiredArgs }); + + // act + Assert.DoesNotThrow(parser.ExtractAndValidateArguments); + + // assert + Assert.AreEqual(expectedValue, parser.SafeMode); + } } } diff --git a/main/OpenCover.Test/Framework/FilterTests.cs b/main/OpenCover.Test/Framework/FilterTests.cs index 157737c43..b9741d428 100644 --- a/main/OpenCover.Test/Framework/FilterTests.cs +++ b/main/OpenCover.Test/Framework/FilterTests.cs @@ -770,6 +770,18 @@ public void Can_Identify_Excluded_Methods_UsingRegularExpressions() } } + [Test] + public void ModulesInExcludedFoldersAreIdentifiedCorrectly() + { + // arrange + var filter = new Filter(true); + filter.AddExcludedFolder("ABC"); + + // act + Assert.IsFalse(filter.UseModule(@"ABC\m.dll")); + Assert.IsTrue(filter.UseModule(@"DEF\m.dll")); + } + [Test] public void File_Is_Excluded_If_Matches_Filter_UsingRegularExpressions() { diff --git a/main/OpenCover.Test/Framework/Manager/MemoryManagerTests.cs b/main/OpenCover.Test/Framework/Manager/MemoryManagerTests.cs index 8a3dca686..8d1f6057c 100644 --- a/main/OpenCover.Test/Framework/Manager/MemoryManagerTests.cs +++ b/main/OpenCover.Test/Framework/Manager/MemoryManagerTests.cs @@ -1,112 +1,11 @@ using System; +using System.Diagnostics; using System.Linq; using NUnit.Framework; using OpenCover.Framework.Manager; namespace OpenCover.Test.Framework.Manager { - [TestFixture] - public class MemoryManagerTests_Full_Coverage - { - [Test] - public void AllocateMemoryBuffer_WhenManagerNotInitialised_Ignored_OK() - { - using (var _manager = new MemoryManager()) { - // not initialised - - // arrange - uint bufferId; - - // act & assert - Assert.That ( - delegate { _manager.AllocateMemoryBuffer(100, out bufferId); }, - Throws.Nothing ); - } - } - - [Test] - public void InitialiseMemoryManagerTwice_Ignored_OK() - { - using (var _manager = new MemoryManager()) { - - // arrange - _manager.Initialise("Local", "C#", new String[0]); - - // act & assert - Assert.That ( - delegate { _manager.Initialise("Local", "C#", new String[0]); }, - Throws.Nothing ); - - } - } - - [Test] - public void AllocateMemoryBufferTwice_NewBufferAllocated_OK() - { - // setup - using (var _manager = new MemoryManager()) { - - // arrange - _manager.Initialise("Local", "C#", new String[0]); - uint bufferId; - - // act - _manager.AllocateMemoryBuffer(100, out bufferId); - _manager.AllocateMemoryBuffer(100, out bufferId); - - // assert - Assert.AreEqual(2, _manager.GetBlocks.Count); - - } - } - - [Test] - public void DeactivateMemoryBufferTwice_Ignored_OK() - { - using (var _manager = new MemoryManager()) { - _manager.Initialise("Local", "C#", new String[0]); - - // arrange - uint bufferId; - _manager.AllocateMemoryBuffer(100, out bufferId); - Assert.AreEqual(1, _manager.GetBlocks.Count); - Assert.IsTrue(_manager.GetBlocks.First().Active); - - // act - _manager.DeactivateMemoryBuffer(bufferId); - - // act & assert - Assert.That ( - delegate { _manager.DeactivateMemoryBuffer(bufferId); }, - Throws.Nothing ); - } - } - - - [Test] - public void DeactivateMemoryBufferAfterDisposed_Ignored_OK() - { - using (var _manager = new MemoryManager()) { - _manager.Initialise("Local", "C#", new String[0]); - - // arrange - uint bufferId; - _manager.AllocateMemoryBuffer(100, out bufferId); - Assert.AreEqual(1, _manager.GetBlocks.Count); - Assert.IsTrue(_manager.GetBlocks.First().Active); - - // act - _manager.Dispose(); - - // act & assert - Assert.That ( - delegate { - _manager.DeactivateMemoryBuffer(bufferId); }, - Throws.Nothing ); - } - } - } - [TestFixture] public class MemoryManagerTests { @@ -181,5 +80,130 @@ public void Cannot_RemoveDeactivatedBlock_OnActiveBlock() Assert.AreEqual(1, _manager.GetBlocks.Count(b => b.Active)); } + [Test] + public void AllocateMemoryBuffer_WhenManagerNotInitialised_Ignored_OK() + { + using (var manager = new MemoryManager()) + { + // not initialised + + // arrange + uint bufferId; + + // act & assert + Assert.That(() => manager.AllocateMemoryBuffer(100, out bufferId), Throws.Nothing); + } + } + + [Test] + public void InitialiseMemoryManagerTwice_Ignored_OK() + { + // act & assert + Assert.That(() => _manager.Initialise("Local", "C#", new String[0]), Throws.Nothing); + } + + [Test] + public void AllocateMemoryBufferTwice_NewBufferAllocated_OK() + { + // arrange + uint bufferId; + + // act + _manager.AllocateMemoryBuffer(100, out bufferId); + _manager.AllocateMemoryBuffer(100, out bufferId); + + // assert + Assert.AreEqual(2, _manager.GetBlocks.Count); + } + + [Test] + public void DeactivateMemoryBufferTwice_Ignored_OK() + { + // arrange + uint bufferId; + _manager.AllocateMemoryBuffer(100, out bufferId); + Assert.AreEqual(1, _manager.GetBlocks.Count); + Assert.IsTrue(_manager.GetBlocks.First().Active); + + // act + _manager.DeactivateMemoryBuffer(bufferId); + + // act & assert + Assert.That(() => _manager.DeactivateMemoryBuffer(bufferId), Throws.Nothing); + } + + + [Test] + public void DeactivateMemoryBufferAfterDisposed_Ignored_OK() + { + // arrange + uint bufferId; + _manager.AllocateMemoryBuffer(100, out bufferId); + Assert.AreEqual(1, _manager.GetBlocks.Count); + Assert.IsTrue(_manager.GetBlocks.First().Active); + + // act + _manager.Dispose(); + + // act & assert + Assert.That(() => _manager.DeactivateMemoryBuffer(bufferId), Throws.Nothing); + } + + [Test] + public void WaitForBlocksToClose_WaitsUntilBufferWaitCountExceededIfAnyActiveBlocks() + { + // arrange + uint bufferId; + _manager.AllocateMemoryBuffer(100, out bufferId); + + var timeAction = new Func(actionToTime => + { + var t = Stopwatch.StartNew(); + actionToTime(); + t.Stop(); + return t.ElapsedMilliseconds; + }); + + Assert.That(timeAction(() => _manager.WaitForBlocksToClose(0)), Is.LessThan(500)); + Assert.That(timeAction(() => _manager.WaitForBlocksToClose(1)), Is.GreaterThanOrEqualTo(500).And.LessThan(1000)); + Assert.That(timeAction(() => _manager.WaitForBlocksToClose(2)), Is.GreaterThanOrEqualTo(1000).And.LessThan(1500)); + + } + + [Test] + public void WaitForBlocksToClose_StopsWaitingWhenNoActiveBlocks() + { + // arrange + uint bufferId; + _manager.AllocateMemoryBuffer(100, out bufferId); + + var timeAction = new Func(actionToTime => + { + var t = Stopwatch.StartNew(); + actionToTime(); + t.Stop(); + return t.ElapsedMilliseconds; + }); + + Assert.That(timeAction(() => _manager.WaitForBlocksToClose(1)), Is.GreaterThanOrEqualTo(500).And.LessThan(1000)); + _manager.GetBlocks.First().Active = false; + Assert.That(timeAction(() => _manager.WaitForBlocksToClose(1)), Is.LessThan(500)); + + } + + [Test] + public void FetchRemainingBufferData_CallsActionForEachActiveBlock() + { + // arrange + uint bufferId; + _manager.AllocateMemoryBuffer(100, out bufferId); + _manager.AllocateMemoryBuffer(100, out bufferId); + + uint count = 0; + _manager.FetchRemainingBufferData( data => count++ ); + + Assert.That(count, Is.EqualTo(2)); + Assert.That(_manager.GetBlocks.Count, Is.EqualTo(0)); + } } } \ No newline at end of file diff --git a/main/OpenCover.Test/Framework/Manager/ProfilerManagerTests.cs b/main/OpenCover.Test/Framework/Manager/ProfilerManagerTests.cs index 709ed20aa..6c3635a8d 100644 --- a/main/OpenCover.Test/Framework/Manager/ProfilerManagerTests.cs +++ b/main/OpenCover.Test/Framework/Manager/ProfilerManagerTests.cs @@ -422,6 +422,35 @@ public void Manager_Sets_Service_ACLs_On_Memory() } } + [Test] + public void Manager_Adds_SafeMode_EnvironmentVariable_When_SafemodeOn() + { + // arrange + var dict = new StringDictionary(); + Container.GetMock().SetupGet(x => x.SafeMode).Returns(true); + + // act + RunSimpleProcess(dict); + + // assert + Assert.NotNull(dict[@"OpenCover_Profiler_SafeMode"]); + Assert.AreEqual("1", dict[@"OpenCover_Profiler_SafeMode"]); + } + + [Test] + public void Manager_DoesNotAdd_SafeMode_EnvironmentVariable_When_SafemodeOff() + { + // arrange + var dict = new StringDictionary(); + Container.GetMock().SetupGet(x => x.SafeMode).Returns(false); + + // act + RunSimpleProcess(dict); + + // assert + Assert.IsNull(dict[@"OpenCover_Profiler_SafeMode"]); + } + private void RunSimpleProcess(StringDictionary dict) { RunProcess(dict, standardMessageDataReady => { }, () => { }); diff --git a/main/OpenCover.Test/Framework/Persistance/BasePersistenceTests.cs b/main/OpenCover.Test/Framework/Persistance/BasePersistenceTests.cs index e77eb052e..029dc4992 100644 --- a/main/OpenCover.Test/Framework/Persistance/BasePersistenceTests.cs +++ b/main/OpenCover.Test/Framework/Persistance/BasePersistenceTests.cs @@ -24,7 +24,7 @@ public BasePersistanceStub(ICommandLine commandLine, ILog logger) public class BasePersistenceTests : UnityAutoMockContainerBase { - private readonly SkippedMethod[] _skippedReasonsModules = {SkippedMethod.Filter, SkippedMethod.MissingPdb}; + private readonly SkippedMethod[] _skippedReasonsModules = {SkippedMethod.Filter, SkippedMethod.MissingPdb, SkippedMethod.FolderExclusion, }; private readonly SkippedMethod[] _skippedReasonsClasses = { diff --git a/main/OpenCover.Test/Framework/Service/ProfilerCommunicationTests.cs b/main/OpenCover.Test/Framework/Service/ProfilerCommunicationTests.cs index 28214b4a2..1245ff2be 100644 --- a/main/OpenCover.Test/Framework/Service/ProfilerCommunicationTests.cs +++ b/main/OpenCover.Test/Framework/Service/ProfilerCommunicationTests.cs @@ -21,6 +21,10 @@ public void TrackAssembly_Adds_AssemblyToModel_If_FilterUseAssembly_Returns_True .Setup(x => x.UseAssembly(It.IsAny(), It.IsAny())) .Returns(true); + Container.GetMock() + .Setup(x => x.UseModule(It.IsAny())) + .Returns(true); + Container.GetMock() .Setup(x => x.ExcludeByAttribute(It.IsAny())) .Returns(false); @@ -84,6 +88,10 @@ public void TrackAssembly_Adds_AssemblyToModel_AsSkipped_If_FilterUseAssembly_Re .Setup(x => x.UseAssembly(It.IsAny(), It.IsAny())) .Returns(false); + Container.GetMock() + .Setup(x => x.UseModule(It.IsAny())) + .Returns(true); + var mockModelBuilder = new Mock(); Container.GetMock() .Setup(x => x.CreateModelBuilder(It.IsAny(), It.IsAny())) @@ -110,6 +118,10 @@ public void TrackAssembly_Adds_AssemblyToModel_AsSkipped_If_CanInstrument_Return .Setup(x => x.UseAssembly(It.IsAny(), It.IsAny())) .Returns(true); + Container.GetMock() + .Setup(x => x.UseModule(It.IsAny())) + .Returns(true); + Container.GetMock() .Setup(x => x.ExcludeByAttribute(It.IsAny())) .Returns(false); @@ -137,6 +149,41 @@ public void TrackAssembly_Adds_AssemblyToModel_AsSkipped_If_CanInstrument_Return } + [Test] + public void TrackAssembly_Adds_AssemblyToModel_AsSkipped_If_UseModuleIsFalse() + { + // arrange + Container.GetMock() + .Setup(x => x.UseModule(It.IsAny())) + .Returns(false); + + Container.GetMock() + .Setup(x => x.ExcludeByAttribute(It.IsAny())) + .Returns(false); + + var mockModelBuilder = new Mock(); + Container.GetMock() + .Setup(x => x.CreateModelBuilder(It.IsAny(), It.IsAny())) + .Returns(mockModelBuilder.Object); + + mockModelBuilder + .Setup(x => x.BuildModuleModel(It.IsAny())) + .Returns(new Module()); + + mockModelBuilder + .SetupGet(x => x.CanInstrument) + .Returns(false); + + // act + var track = Instance.TrackAssembly("processName", "moduleName", "assemblyName"); + + // assembly + Assert.IsFalse(track); + Container.GetMock() + .Verify(x => x.PersistModule(It.Is(m => m.SkippedDueTo == SkippedMethod.FolderExclusion)), Times.Once()); + + } + [Test] public void TrackAssembly_Adds_AssemblyToModel_AsSkipped_If_ExcludedByAttribute() { @@ -145,6 +192,10 @@ public void TrackAssembly_Adds_AssemblyToModel_AsSkipped_If_ExcludedByAttribute( .Setup(x => x.UseAssembly(It.IsAny(), It.IsAny())) .Returns(true); + Container.GetMock() + .Setup(x => x.UseModule(It.IsAny())) + .Returns(true); + Container.GetMock() .Setup(x => x.ExcludeByAttribute(It.IsAny())) .Returns(true); diff --git a/main/cmdline/dogfood.cmd b/main/cmdline/dogfood.cmd index 28f7db92b..85d8ca982 100644 --- a/main/cmdline/dogfood.cmd +++ b/main/cmdline/dogfood.cmd @@ -4,6 +4,6 @@ setlocal @set ExcludeAdminOnly=/exclude:AdminOnly @if "%appveyor%" == "True" set ExcludeAdminOnly= cd %~dp0 -OpenCover.Console.exe -register:user -target:..\..\..\main\packages\NUnit.Runners.2.6.4\tools\nunit-console-x86.exe -targetargs:"OpenCover.Test.dll /noshadow %ExcludeAdminOnly%" -filter:"+[Open*]* -[OpenCover.T*]* -[*]* -[*]*" -output:opencovertests.xml -communicationtimeout:9999 +OpenCover.Console.exe -register:user -safemode:on -target:..\..\..\main\packages\NUnit.Runners.2.6.4\tools\nunit-console-x86.exe -targetargs:"OpenCover.Test.dll /noshadow %ExcludeAdminOnly%" -filter:"+[Open*]* -[OpenCover.T*]* -[*]* -[*]*" -output:opencovertests.xml -communicationtimeout:9999 endlocal popd