System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 2d57ae1543fde632a487a1969e3715ea4b918faf:


0000: 3c 21 2d 2d 0d 0a 20 2a 0d 0a 20 2a 20 53 51 4c  <!--.. *.. * SQL
0010: 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73  ite.NET.Settings
0020: 2e 74 61 72 67 65 74 73 20 2d 0d 0a 20 2a 0d 0a  .targets -.. *..
0030: 20 2a 20 57 72 69 74 74 65 6e 20 62 79 20 4a 6f   * Written by Jo
0040: 65 20 4d 69 73 74 61 63 68 6b 69 6e 2e 0d 0a 20  e Mistachkin... 
0050: 2a 20 52 65 6c 65 61 73 65 64 20 74 6f 20 74 68  * Released to th
0060: 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2c  e public domain,
0070: 20 75 73 65 20 61 74 20 79 6f 75 72 20 6f 77 6e   use at your own
0080: 20 72 69 73 6b 21 0d 0a 20 2a 0d 0a 2d 2d 3e 0d   risk!.. *..-->.
0090: 0a 3c 50 72 6f 6a 65 63 74 20 78 6d 6c 6e 73 3d  .<Project xmlns=
00a0: 22 68 74 74 70 3a 2f 2f 73 63 68 65 6d 61 73 2e  "http://schemas.
00b0: 6d 69 63 72 6f 73 6f 66 74 2e 63 6f 6d 2f 64 65  microsoft.com/de
00c0: 76 65 6c 6f 70 65 72 2f 6d 73 62 75 69 6c 64 2f  veloper/msbuild/
00d0: 32 30 30 33 22 3e 0d 0a 20 20 3c 21 2d 2d 0d 0a  2003">..  <!--..
00e0: 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a    **************
00f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0100: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0110: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0120: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0130: 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20 20  ..  **          
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 4c 6f 61 64 20 50 65 72 2d 55 73 65 72 20 53 65  Load Per-User Se
0160: 74 74 69 6e 67 73 20 20 20 20 20 20 20 20 20 20  ttings          
0170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0180: 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  **..  **********
0190: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
01a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
01b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
01c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
01d0: 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20  ****..  -->.... 
01e0: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 4e 4f 54   <!--..      NOT
01f0: 45 3a 20 49 66 20 74 68 65 20 70 65 72 2d 75 73  E: If the per-us
0200: 65 72 20 73 65 74 74 69 6e 67 73 20 66 69 6c 65  er settings file
0210: 20 65 78 69 73 74 73 2c 20 69 6d 70 6f 72 74 20   exists, import 
0220: 69 74 20 6e 6f 77 2e 20 20 54 68 65 20 63 6f 6e  it now.  The con
0230: 74 61 69 6e 65 64 0d 0a 20 20 20 20 20 20 20 20  tained..        
0240: 20 20 20 20 73 65 74 74 69 6e 67 73 2c 20 69 66      settings, if
0250: 20 61 6e 79 2c 20 77 69 6c 6c 20 6f 76 65 72 72   any, will overr
0260: 69 64 65 20 74 68 65 20 64 65 66 61 75 6c 74 20  ide the default 
0270: 6f 6e 65 73 20 70 72 6f 76 69 64 65 64 20 62 65  ones provided be
0280: 6c 6f 77 2e 0d 0a 20 20 2d 2d 3e 0d 0a 20 20 3c  low...  -->..  <
0290: 49 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d 22  Import Project="
02a0: 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c  $(SQLiteNetDir)\
02b0: 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e  Targets\SQLite.N
02c0: 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67  ET.Settings.targ
02d0: 65 74 73 2e 75 73 65 72 22 0d 0a 20 20 20 20 20  ets.user"..     
02e0: 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22       Condition="
02f0: 45 78 69 73 74 73 28 27 24 28 53 51 4c 69 74 65  Exists('$(SQLite
0300: 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c  NetDir)\Targets\
0310: 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69  SQLite.NET.Setti
0320: 6e 67 73 2e 74 61 72 67 65 74 73 2e 75 73 65 72  ngs.targets.user
0330: 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d  ')" />....  <!--
0340: 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ..  ************
0350: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0360: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0370: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0380: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0390: 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20  **..  **        
03a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
03b0: 20 20 20 4c 6f 61 64 20 45 78 74 72 61 20 53 65     Load Extra Se
03c0: 74 74 69 6e 67 73 20 20 20 20 20 20 20 20 20 20  ttings          
03d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
03e0: 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a    **..  ********
03f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0400: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0410: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0420: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0430: 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d  ******..  -->...
0440: 0a 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 4e  .  <!--..      N
0450: 4f 54 45 3a 20 49 66 20 74 68 65 20 22 65 78 74  OTE: If the "ext
0460: 72 61 22 20 73 65 74 74 69 6e 67 73 20 66 69 6c  ra" settings fil
0470: 65 20 65 78 69 73 74 73 2c 20 69 6d 70 6f 72 74  e exists, import
0480: 20 69 74 20 6e 6f 77 2e 20 20 54 68 65 20 63 6f   it now.  The co
0490: 6e 74 61 69 6e 65 64 0d 0a 20 20 20 20 20 20 20  ntained..       
04a0: 20 20 20 20 20 73 65 74 74 69 6e 67 73 2c 20 69       settings, i
04b0: 66 20 61 6e 79 2c 20 77 69 6c 6c 20 6f 76 65 72  f any, will over
04c0: 72 69 64 65 20 74 68 65 20 64 65 66 61 75 6c 74  ride the default
04d0: 20 6f 6e 65 73 20 70 72 6f 76 69 64 65 64 20 62   ones provided b
04e0: 65 6c 6f 77 2e 0d 0a 20 20 2d 2d 3e 0d 0a 20 20  elow...  -->..  
04f0: 3c 49 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d  <Import Project=
0500: 22 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29  "$(SQLiteNetDir)
0510: 5c 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e  \Targets\SQLite.
0520: 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72  NET.Settings.tar
0530: 67 65 74 73 2e 65 78 74 72 61 22 0d 0a 20 20 20  gets.extra"..   
0540: 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e         Condition
0550: 3d 22 45 78 69 73 74 73 28 27 24 28 53 51 4c 69  ="Exists('$(SQLi
0560: 74 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74  teNetDir)\Target
0570: 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74  s\SQLite.NET.Set
0580: 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 65 78  tings.targets.ex
0590: 74 72 61 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c  tra')" />....  <
05a0: 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a  !--..  *********
05b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
05c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
05d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
05e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
05f0: 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20  *****..  **     
0600: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0610: 20 20 20 4c 6f 61 64 20 50 65 72 2d 46 72 61 6d     Load Per-Fram
0620: 65 77 6f 72 6b 20 53 65 74 74 69 6e 67 73 20 20  ework Settings  
0630: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0640: 20 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a       **..  *****
0650: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0660: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0670: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0680: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0690: 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e  *********..  -->
06a0: 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ....  <!--..    
06b0: 20 20 4e 4f 54 45 3a 20 49 66 20 74 68 65 20 70    NOTE: If the p
06c0: 65 72 2d 66 72 61 6d 65 77 6f 72 6b 20 73 65 74  er-framework set
06d0: 74 69 6e 67 73 20 66 69 6c 65 73 20 65 78 69 73  tings files exis
06e0: 74 2c 20 69 6d 70 6f 72 74 20 74 68 65 6d 20 6e  t, import them n
06f0: 6f 77 2e 20 20 54 68 65 0d 0a 20 20 20 20 20 20  ow.  The..      
0700: 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 65 64 20        contained 
0710: 73 65 74 74 69 6e 67 73 2c 20 69 66 20 61 6e 79  settings, if any
0720: 2c 20 77 69 6c 6c 20 6f 76 65 72 72 69 64 65 20  , will override 
0730: 74 68 65 20 64 65 66 61 75 6c 74 20 6f 6e 65 73  the default ones
0740: 20 70 72 6f 76 69 64 65 64 0d 0a 20 20 20 20 20   provided..     
0750: 20 20 20 20 20 20 20 62 65 6c 6f 77 2e 0d 0a 20         below... 
0760: 20 2d 2d 3e 0d 0a 20 20 3c 49 6d 70 6f 72 74 20   -->..  <Import 
0770: 50 72 6f 6a 65 63 74 3d 22 24 28 53 51 4c 69 74  Project="$(SQLit
0780: 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74 73  eNetDir)\Targets
0790: 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74  \SQLite.NET.Sett
07a0: 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74  ings.targets.net
07b0: 46 78 32 30 22 0d 0a 20 20 20 20 20 20 20 20 20  Fx20"..         
07c0: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e   Condition="'$(N
07d0: 65 74 46 78 32 30 29 27 20 21 3d 20 27 27 20 41  etFx20)' != '' A
07e0: 6e 64 20 27 24 28 4e 65 74 46 78 32 30 29 27 20  nd '$(NetFx20)' 
07f0: 21 3d 20 27 66 61 6c 73 65 27 20 41 6e 64 0d 0a  != 'false' And..
0800: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0810: 20 20 20 20 20 28 27 24 28 4e 65 74 46 78 32 30       ('$(NetFx20
0820: 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20 27 27  Settings)' == ''
0830: 20 4f 72 20 27 24 28 4e 65 74 46 78 32 30 53 65   Or '$(NetFx20Se
0840: 74 74 69 6e 67 73 29 27 20 21 3d 20 27 66 61 6c  ttings)' != 'fal
0850: 73 65 27 29 20 41 6e 64 0d 0a 20 20 20 20 20 20  se') And..      
0860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45                 E
0870: 78 69 73 74 73 28 27 24 28 53 51 4c 69 74 65 4e  xists('$(SQLiteN
0880: 65 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53  etDir)\Targets\S
0890: 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e  QLite.NET.Settin
08a0: 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78  gs.targets.netFx
08b0: 32 30 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49  20')" />....  <I
08c0: 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d 22 24  mport Project="$
08d0: 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54  (SQLiteNetDir)\T
08e0: 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45  argets\SQLite.NE
08f0: 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65  T.Settings.targe
0900: 74 73 2e 6e 65 74 46 78 33 35 22 0d 0a 20 20 20  ts.netFx35"..   
0910: 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e         Condition
0920: 3d 22 27 24 28 4e 65 74 46 78 33 35 29 27 20 21  ="'$(NetFx35)' !
0930: 3d 20 27 27 20 41 6e 64 20 27 24 28 4e 65 74 46  = '' And '$(NetF
0940: 78 33 35 29 27 20 21 3d 20 27 66 61 6c 73 65 27  x35)' != 'false'
0950: 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20   And..          
0960: 20 20 20 20 20 20 20 20 20 20 20 28 27 24 28 4e             ('$(N
0970: 65 74 46 78 33 35 53 65 74 74 69 6e 67 73 29 27  etFx35Settings)'
0980: 20 3d 3d 20 27 27 20 4f 72 20 27 24 28 4e 65 74   == '' Or '$(Net
0990: 46 78 33 35 53 65 74 74 69 6e 67 73 29 27 20 21  Fx35Settings)' !
09a0: 3d 20 27 66 61 6c 73 65 27 29 20 41 6e 64 0d 0a  = 'false') And..
09b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
09c0: 20 20 20 20 20 45 78 69 73 74 73 28 27 24 28 53       Exists('$(S
09d0: 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54 61 72  QLiteNetDir)\Tar
09e0: 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e  gets\SQLite.NET.
09f0: 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73  Settings.targets
0a00: 2e 6e 65 74 46 78 33 35 27 29 22 20 2f 3e 0d 0a  .netFx35')" />..
0a10: 0d 0a 20 20 3c 49 6d 70 6f 72 74 20 50 72 6f 6a  ..  <Import Proj
0a20: 65 63 74 3d 22 24 28 53 51 4c 69 74 65 4e 65 74  ect="$(SQLiteNet
0a30: 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53 51 4c  Dir)\Targets\SQL
0a40: 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73  ite.NET.Settings
0a50: 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34 30  .targets.netFx40
0a60: 22 0d 0a 20 20 20 20 20 20 20 20 20 20 43 6f 6e  "..          Con
0a70: 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78  dition="'$(NetFx
0a80: 34 30 29 27 20 21 3d 20 27 27 20 41 6e 64 20 27  40)' != '' And '
0a90: 24 28 4e 65 74 46 78 34 30 29 27 20 21 3d 20 27  $(NetFx40)' != '
0aa0: 66 61 6c 73 65 27 20 41 6e 64 0d 0a 20 20 20 20  false' And..    
0ab0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0ac0: 20 28 27 24 28 4e 65 74 46 78 34 30 53 65 74 74   ('$(NetFx40Sett
0ad0: 69 6e 67 73 29 27 20 3d 3d 20 27 27 20 4f 72 20  ings)' == '' Or 
0ae0: 27 24 28 4e 65 74 46 78 34 30 53 65 74 74 69 6e  '$(NetFx40Settin
0af0: 67 73 29 27 20 21 3d 20 27 66 61 6c 73 65 27 29  gs)' != 'false')
0b00: 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20   And..          
0b10: 20 20 20 20 20 20 20 20 20 20 20 45 78 69 73 74             Exist
0b20: 73 28 27 24 28 53 51 4c 69 74 65 4e 65 74 44 69  s('$(SQLiteNetDi
0b30: 72 29 5c 54 61 72 67 65 74 73 5c 53 51 4c 69 74  r)\Targets\SQLit
0b40: 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74  e.NET.Settings.t
0b50: 61 72 67 65 74 73 2e 6e 65 74 46 78 34 30 27 29  argets.netFx40')
0b60: 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70 6f 72  " />....  <Impor
0b70: 74 20 50 72 6f 6a 65 63 74 3d 22 24 28 53 51 4c  t Project="$(SQL
0b80: 69 74 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65  iteNetDir)\Targe
0b90: 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65  ts\SQLite.NET.Se
0ba0: 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e  ttings.targets.n
0bb0: 65 74 46 78 34 35 22 0d 0a 20 20 20 20 20 20 20  etFx45"..       
0bc0: 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24     Condition="'$
0bd0: 28 4e 65 74 46 78 34 35 29 27 20 21 3d 20 27 27  (NetFx45)' != ''
0be0: 20 41 6e 64 20 27 24 28 4e 65 74 46 78 34 35 29   And '$(NetFx45)
0bf0: 27 20 21 3d 20 27 66 61 6c 73 65 27 20 41 6e 64  ' != 'false' And
0c00: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
0c10: 20 20 20 20 20 20 20 28 27 24 28 4e 65 74 46 78         ('$(NetFx
0c20: 34 35 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20  45Settings)' == 
0c30: 27 27 20 4f 72 20 27 24 28 4e 65 74 46 78 34 35  '' Or '$(NetFx45
0c40: 53 65 74 74 69 6e 67 73 29 27 20 21 3d 20 27 66  Settings)' != 'f
0c50: 61 6c 73 65 27 29 20 41 6e 64 0d 0a 20 20 20 20  alse') And..    
0c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c70: 20 45 78 69 73 74 73 28 27 24 28 53 51 4c 69 74   Exists('$(SQLit
0c80: 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74 73  eNetDir)\Targets
0c90: 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74  \SQLite.NET.Sett
0ca0: 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74  ings.targets.net
0cb0: 46 78 34 35 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20  Fx45')" />....  
0cc0: 3c 49 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d  <Import Project=
0cd0: 22 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29  "$(SQLiteNetDir)
0ce0: 5c 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e  \Targets\SQLite.
0cf0: 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72  NET.Settings.tar
0d00: 67 65 74 73 2e 6e 65 74 46 78 34 35 31 22 0d 0a  gets.netFx451"..
0d10: 20 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74            Condit
0d20: 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 35 31  ion="'$(NetFx451
0d30: 29 27 20 21 3d 20 27 27 20 41 6e 64 20 27 24 28  )' != '' And '$(
0d40: 4e 65 74 46 78 34 35 31 29 27 20 21 3d 20 27 66  NetFx451)' != 'f
0d50: 61 6c 73 65 27 20 41 6e 64 0d 0a 20 20 20 20 20  alse' And..     
0d60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0d70: 28 27 24 28 4e 65 74 46 78 34 35 31 53 65 74 74  ('$(NetFx451Sett
0d80: 69 6e 67 73 29 27 20 3d 3d 20 27 27 20 4f 72 20  ings)' == '' Or 
0d90: 27 24 28 4e 65 74 46 78 34 35 31 53 65 74 74 69  '$(NetFx451Setti
0da0: 6e 67 73 29 27 20 21 3d 20 27 66 61 6c 73 65 27  ngs)' != 'false'
0db0: 29 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20  ) And..         
0dc0: 20 20 20 20 20 20 20 20 20 20 20 20 45 78 69 73              Exis
0dd0: 74 73 28 27 24 28 53 51 4c 69 74 65 4e 65 74 44  ts('$(SQLiteNetD
0de0: 69 72 29 5c 54 61 72 67 65 74 73 5c 53 51 4c 69  ir)\Targets\SQLi
0df0: 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e  te.NET.Settings.
0e00: 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34 35 31  targets.netFx451
0e10: 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70  ')" />....  <Imp
0e20: 6f 72 74 20 50 72 6f 6a 65 63 74 3d 22 24 28 53  ort Project="$(S
0e30: 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54 61 72  QLiteNetDir)\Tar
0e40: 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e  gets\SQLite.NET.
0e50: 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73  Settings.targets
0e60: 2e 6e 65 74 46 78 34 35 32 22 0d 0a 20 20 20 20  .netFx452"..    
0e70: 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d        Condition=
0e80: 22 27 24 28 4e 65 74 46 78 34 35 32 29 27 20 21  "'$(NetFx452)' !
0e90: 3d 20 27 27 20 41 6e 64 20 27 24 28 4e 65 74 46  = '' And '$(NetF
0ea0: 78 34 35 32 29 27 20 21 3d 20 27 66 61 6c 73 65  x452)' != 'false
0eb0: 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20  ' And..         
0ec0: 20 20 20 20 20 20 20 20 20 20 20 20 28 27 24 28              ('$(
0ed0: 4e 65 74 46 78 34 35 32 53 65 74 74 69 6e 67 73  NetFx452Settings
0ee0: 29 27 20 3d 3d 20 27 27 20 4f 72 20 27 24 28 4e  )' == '' Or '$(N
0ef0: 65 74 46 78 34 35 32 53 65 74 74 69 6e 67 73 29  etFx452Settings)
0f00: 27 20 21 3d 20 27 66 61 6c 73 65 27 29 20 41 6e  ' != 'false') An
0f10: 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  d..             
0f20: 20 20 20 20 20 20 20 20 45 78 69 73 74 73 28 27          Exists('
0f30: 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c  $(SQLiteNetDir)\
0f40: 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e  Targets\SQLite.N
0f50: 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67  ET.Settings.targ
0f60: 65 74 73 2e 6e 65 74 46 78 34 35 32 27 29 22 20  ets.netFx452')" 
0f70: 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70 6f 72 74 20  />....  <Import 
0f80: 50 72 6f 6a 65 63 74 3d 22 24 28 53 51 4c 69 74  Project="$(SQLit
0f90: 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74 73  eNetDir)\Targets
0fa0: 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74  \SQLite.NET.Sett
0fb0: 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74  ings.targets.net
0fc0: 46 78 34 36 22 0d 0a 20 20 20 20 20 20 20 20 20  Fx46"..         
0fd0: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e   Condition="'$(N
0fe0: 65 74 46 78 34 36 29 27 20 21 3d 20 27 27 20 41  etFx46)' != '' A
0ff0: 6e 64 20 27 24 28 4e 65 74 46 78 34 36 29 27 20  nd '$(NetFx46)' 
1000: 21 3d 20 27 66 61 6c 73 65 27 20 41 6e 64 0d 0a  != 'false' And..
1010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1020: 20 20 20 20 20 28 27 24 28 4e 65 74 46 78 34 36       ('$(NetFx46
1030: 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20 27 27  Settings)' == ''
1040: 20 4f 72 20 27 24 28 4e 65 74 46 78 34 36 53 65   Or '$(NetFx46Se
1050: 74 74 69 6e 67 73 29 27 20 21 3d 20 27 66 61 6c  ttings)' != 'fal
1060: 73 65 27 29 20 41 6e 64 0d 0a 20 20 20 20 20 20  se') And..      
1070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45                 E
1080: 78 69 73 74 73 28 27 24 28 53 51 4c 69 74 65 4e  xists('$(SQLiteN
1090: 65 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53  etDir)\Targets\S
10a0: 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e  QLite.NET.Settin
10b0: 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78  gs.targets.netFx
10c0: 34 36 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49  46')" />....  <I
10d0: 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d 22 24  mport Project="$
10e0: 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54  (SQLiteNetDir)\T
10f0: 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45  argets\SQLite.NE
1100: 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65  T.Settings.targe
1110: 74 73 2e 6e 65 74 46 78 34 36 31 22 0d 0a 20 20  ts.netFx461"..  
1120: 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f          Conditio
1130: 6e 3d 22 27 24 28 4e 65 74 46 78 34 36 31 29 27  n="'$(NetFx461)'
1140: 20 21 3d 20 27 27 20 41 6e 64 20 27 24 28 4e 65   != '' And '$(Ne
1150: 74 46 78 34 36 31 29 27 20 21 3d 20 27 66 61 6c  tFx461)' != 'fal
1160: 73 65 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 20  se' And..       
1170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27                ('
1180: 24 28 4e 65 74 46 78 34 36 31 53 65 74 74 69 6e  $(NetFx461Settin
1190: 67 73 29 27 20 3d 3d 20 27 27 20 4f 72 20 27 24  gs)' == '' Or '$
11a0: 28 4e 65 74 46 78 34 36 31 53 65 74 74 69 6e 67  (NetFx461Setting
11b0: 73 29 27 20 21 3d 20 27 66 61 6c 73 65 27 29 20  s)' != 'false') 
11c0: 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20  And..           
11d0: 20 20 20 20 20 20 20 20 20 20 45 78 69 73 74 73            Exists
11e0: 28 27 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72  ('$(SQLiteNetDir
11f0: 29 5c 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65  )\Targets\SQLite
1200: 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61  .NET.Settings.ta
1210: 72 67 65 74 73 2e 6e 65 74 46 78 34 36 31 27 29  rgets.netFx461')
1220: 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70 6f 72  " />....  <Impor
1230: 74 20 50 72 6f 6a 65 63 74 3d 22 24 28 53 51 4c  t Project="$(SQL
1240: 69 74 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65  iteNetDir)\Targe
1250: 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65  ts\SQLite.NET.Se
1260: 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e  ttings.targets.n
1270: 65 74 46 78 34 36 32 22 0d 0a 20 20 20 20 20 20  etFx462"..      
1280: 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27      Condition="'
1290: 24 28 4e 65 74 46 78 34 36 32 29 27 20 21 3d 20  $(NetFx462)' != 
12a0: 27 27 20 41 6e 64 20 27 24 28 4e 65 74 46 78 34  '' And '$(NetFx4
12b0: 36 32 29 27 20 21 3d 20 27 66 61 6c 73 65 27 20  62)' != 'false' 
12c0: 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20  And..           
12d0: 20 20 20 20 20 20 20 20 20 20 28 27 24 28 4e 65            ('$(Ne
12e0: 74 46 78 34 36 32 53 65 74 74 69 6e 67 73 29 27  tFx462Settings)'
12f0: 20 3d 3d 20 27 27 20 4f 72 20 27 24 28 4e 65 74   == '' Or '$(Net
1300: 46 78 34 36 32 53 65 74 74 69 6e 67 73 29 27 20  Fx462Settings)' 
1310: 21 3d 20 27 66 61 6c 73 65 27 29 20 41 6e 64 0d  != 'false') And.
1320: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
1330: 20 20 20 20 20 20 45 78 69 73 74 73 28 27 24 28        Exists('$(
1340: 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54 61  SQLiteNetDir)\Ta
1350: 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54  rgets\SQLite.NET
1360: 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74  .Settings.target
1370: 73 2e 6e 65 74 46 78 34 36 32 27 29 22 20 2f 3e  s.netFx462')" />
1380: 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a  ....  <!--..  **
1390: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
13a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
13b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
13c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
13d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20  ************..  
13e0: 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  **              
13f0: 20 20 20 20 20 20 20 20 20 5b 46 61 69 72 6c 79           [Fairly
1400: 5d 20 47 65 6e 65 72 69 63 20 50 72 6f 70 65 72  ] Generic Proper
1410: 74 69 65 73 20 20 20 20 20 20 20 20 20 20 20 20  ties            
1420: 20 20 20 20 20 20 20 20 20 20 20 20 2a 2a 0d 0a              **..
1430: 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a    **************
1440: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1450: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1460: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1470: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1480: 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72  ..  -->....  <Pr
1490: 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 20 20  opertyGroup>..  
14a0: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
14b0: 4e 4f 54 45 3a 20 2a 55 4e 43 4f 4e 44 49 54 49  NOTE: *UNCONDITI
14c0: 4f 4e 41 4c 2a 20 57 65 20 6e 65 76 65 72 20 77  ONAL* We never w
14d0: 61 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 68  ant to use the h
14e0: 6f 73 74 69 6e 67 20 70 72 6f 63 65 73 73 20 66  osting process f
14f0: 6f 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  or..            
1500: 20 20 64 65 62 75 67 67 69 6e 67 2e 20 20 49 74    debugging.  It
1510: 20 63 61 75 73 65 73 20 70 72 6f 62 6c 65 6d 73   causes problems
1520: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
1530: 3c 55 73 65 56 53 48 6f 73 74 69 6e 67 50 72 6f  <UseVSHostingPro
1540: 63 65 73 73 3e 66 61 6c 73 65 3c 2f 55 73 65 56  cess>false</UseV
1550: 53 48 6f 73 74 69 6e 67 50 72 6f 63 65 73 73 3e  SHostingProcess>
1560: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
1570: 20 20 20 20 20 20 4e 4f 54 45 3a 20 2a 55 4e 43        NOTE: *UNC
1580: 4f 4e 44 49 54 49 4f 4e 41 4c 2a 20 57 65 20 6e  ONDITIONAL* We n
1590: 65 76 65 72 20 77 61 6e 74 20 74 6f 20 75 73 65  ever want to use
15a0: 20 74 68 65 20 66 61 73 74 20 75 70 2d 74 6f 2d   the fast up-to-
15b0: 64 61 74 65 20 63 68 65 63 6b 0d 0a 20 20 20 20  date check..    
15c0: 20 20 20 20 20 20 20 20 20 20 74 68 61 74 20 56            that V
15d0: 69 73 75 61 6c 20 53 74 75 64 69 6f 20 70 72 6f  isual Studio pro
15e0: 76 69 64 65 73 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  vides...    -->.
15f0: 0a 20 20 20 20 3c 44 69 73 61 62 6c 65 46 61 73  .    <DisableFas
1600: 74 55 70 54 6f 44 61 74 65 43 68 65 63 6b 3e 74  tUpToDateCheck>t
1610: 72 75 65 3c 2f 44 69 73 61 62 6c 65 46 61 73 74  rue</DisableFast
1620: 55 70 54 6f 44 61 74 65 43 68 65 63 6b 3e 0d 0a  UpToDateCheck>..
1630: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
1640: 20 20 20 20 48 41 43 4b 3a 20 2a 55 4e 43 4f 4e      HACK: *UNCON
1650: 44 49 54 49 4f 4e 41 4c 2a 20 54 68 65 20 56 69  DITIONAL* The Vi
1660: 73 75 61 6c 20 53 74 75 64 69 6f 20 49 44 45 20  sual Studio IDE 
1670: 69 67 6e 6f 72 65 73 20 74 68 65 0d 0a 20 20 20  ignores the..   
1680: 20 20 20 20 20 20 20 20 20 20 20 42 61 73 65 49             BaseI
1690: 6e 74 65 72 6d 65 64 69 61 74 65 4f 75 74 70 75  ntermediateOutpu
16a0: 74 50 61 74 68 20 70 72 6f 70 65 72 74 79 20 61  tPath property a
16b0: 6e 64 20 63 72 65 61 74 65 73 20 65 6d 70 74 79  nd creates empty
16c0: 20 22 62 69 6e 22 20 61 6e 64 0d 0a 20 20 20 20   "bin" and..    
16d0: 20 20 20 20 20 20 20 20 20 20 22 6f 62 6a 22 20            "obj" 
16e0: 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20  directories for 
16f0: 65 76 65 72 79 20 70 72 6f 6a 65 63 74 20 77 68  every project wh
1700: 65 6e 65 76 65 72 20 74 68 65 20 70 72 6f 6a 65  enever the proje
1710: 63 74 20 69 73 20 6f 70 65 6e 65 64 0d 0a 20 20  ct is opened..  
1720: 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 62              or b
1730: 75 69 6c 74 2e 20 20 41 6c 73 6f 2c 20 74 68 65  uilt.  Also, the
1740: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 49   Visual Studio I
1750: 44 45 20 77 69 6c 6c 20 6f 63 63 61 73 69 6f 6e  DE will occasion
1760: 61 6c 6c 79 20 66 61 69 6c 20 74 6f 0d 0a 20 20  ally fail to..  
1770: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 62 75              rebu
1780: 69 6c 64 20 74 68 65 20 70 72 6f 6a 65 63 74 20  ild the project 
1790: 64 75 65 20 74 6f 20 74 68 69 73 20 63 6f 6e 66  due to this conf
17a0: 75 73 69 6f 6e 2e 20 20 54 68 65 20 73 69 74 75  usion.  The situ
17b0: 61 74 69 6f 6e 20 61 70 70 65 61 72 73 0d 0a 20  ation appears.. 
17c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20               to 
17d0: 69 6d 70 72 6f 76 65 20 73 6f 6d 65 77 68 61 74  improve somewhat
17e0: 20 77 68 65 6e 20 74 68 69 73 20 69 73 20 73 65   when this is se
17f0: 74 20 74 6f 20 66 61 6c 73 65 2e 20 20 50 6c 65  t to false.  Ple
1800: 61 73 65 20 6e 6f 74 65 20 74 68 61 74 0d 0a 20  ase note that.. 
1810: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 76 65               eve
1820: 6e 20 69 66 20 74 68 69 73 20 69 73 20 73 65 74  n if this is set
1830: 20 74 6f 20 66 61 6c 73 65 2c 20 74 68 69 6e 67   to false, thing
1840: 73 20 73 74 69 6c 6c 20 64 6f 20 6e 6f 74 20 77  s still do not w
1850: 6f 72 6b 20 31 30 30 25 0d 0a 20 20 20 20 20 20  ork 100%..      
1860: 20 20 20 20 20 20 20 20 63 6f 72 72 65 63 74 6c          correctl
1870: 79 3b 20 68 6f 77 65 76 65 72 2c 20 61 74 20 6c  y; however, at l
1880: 65 61 73 74 20 74 68 65 72 65 20 61 70 70 65 61  east there appea
1890: 72 73 20 74 6f 20 62 65 20 6c 65 73 73 20 62 75  rs to be less bu
18a0: 69 6c 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ild..           
18b0: 20 20 20 66 61 69 6c 75 72 65 73 2e 0d 0a 0d 0a     failures.....
18c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c                Pl
18d0: 65 61 73 65 20 73 65 65 20 4d 69 63 72 6f 73 6f  ease see Microso
18e0: 66 74 20 43 6f 6e 6e 65 63 74 20 46 65 65 64 62  ft Connect Feedb
18f0: 61 63 6b 49 44 20 31 30 35 38 35 34 20 66 6f 72  ackID 105854 for
1900: 20 74 68 65 69 72 20 6f 66 66 69 63 69 61 6c 0d   their official.
1910: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c  .              l
1920: 69 73 74 20 6f 66 20 65 78 63 75 73 65 73 2c 20  ist of excuses, 
1930: 6f 6e 20 74 68 69 73 20 6e 6f 77 20 6d 6f 72 65  on this now more
1940: 20 74 68 61 6e 20 33 20 79 65 61 72 20 6f 6c 64   than 3 year old
1950: 20 62 75 67 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a   bug...    -->..
1960: 20 20 20 20 3c 55 73 65 48 6f 73 74 43 6f 6d 70      <UseHostComp
1970: 69 6c 65 72 49 66 41 76 61 69 6c 61 62 6c 65 3e  ilerIfAvailable>
1980: 66 61 6c 73 65 3c 2f 55 73 65 48 6f 73 74 43 6f  false</UseHostCo
1990: 6d 70 69 6c 65 72 49 66 41 76 61 69 6c 61 62 6c  mpilerIfAvailabl
19a0: 65 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79  e>..  </Property
19b0: 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d  Group>....  <!--
19c0: 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ..  ************
19d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
19e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
19f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1a00: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1a10: 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20  **..  **        
1a20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46                 F
1a30: 72 61 6d 65 77 6f 72 6b 20 56 65 72 73 69 6f 6e  ramework Version
1a40: 20 50 72 6f 70 65 72 74 69 65 73 20 20 20 20 20   Properties     
1a50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1a60: 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a    **..  ********
1a70: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1a80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1a90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1aa0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1ab0: 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d  ******..  -->...
1ac0: 0a 20 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75  .  <PropertyGrou
1ad0: 70 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  p>..    <!--..  
1ae0: 20 20 20 20 20 20 4e 4f 54 45 3a 20 4f 6e 6c 79        NOTE: Only
1af0: 20 75 73 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69   use functionali
1b00: 74 79 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20  ty available in 
1b10: 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f  the .NET Framewo
1b20: 72 6b 20 32 2e 30 3f 20 20 42 79 0d 0a 20 20 20  rk 2.0?  By..   
1b30: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75             defau
1b40: 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61  lt, this is disa
1b50: 62 6c 65 64 2e 20 20 54 68 69 73 20 6d 75 73 74  bled.  This must
1b60: 20 62 65 20 65 6e 61 62 6c 65 64 20 74 6f 20 73   be enabled to s
1b70: 75 63 63 65 73 73 66 75 6c 6c 79 0d 0a 20 20 20  uccessfully..   
1b80: 20 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64             build
1b90: 20 74 68 65 20 70 72 6f 6a 65 63 74 20 75 73 69   the project usi
1ba0: 6e 67 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  ng Visual Studio
1bb0: 20 32 30 30 35 20 61 6e 64 2f 6f 72 20 74 68 65   2005 and/or the
1bc0: 20 2e 4e 45 54 0d 0a 20 20 20 20 20 20 20 20 20   .NET..         
1bd0: 20 20 20 20 20 46 72 61 6d 65 77 6f 72 6b 20 32       Framework 2
1be0: 2e 30 20 28 69 66 20 6e 65 63 65 73 73 61 72 79  .0 (if necessary
1bf0: 2c 20 69 74 20 77 69 6c 6c 20 74 79 70 69 63 61  , it will typica
1c00: 6c 6c 79 20 62 65 20 65 6e 61 62 6c 65 64 20 66  lly be enabled f
1c10: 72 6f 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20  rom..           
1c20: 20 20 20 77 69 74 68 69 6e 20 74 68 65 20 70 72     within the pr
1c30: 6f 6a 65 63 74 20 66 69 6c 65 20 69 74 73 65 6c  oject file itsel
1c40: 66 29 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  f)...    -->..  
1c50: 20 20 3c 4e 65 74 46 78 32 30 20 43 6f 6e 64 69    <NetFx20 Condi
1c60: 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 32 30  tion="'$(NetFx20
1c70: 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c  )' == ''">false<
1c80: 2f 4e 65 74 46 78 32 30 3e 0d 0a 0d 0a 20 20 20  /NetFx20>....   
1c90: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
1ca0: 4f 54 45 3a 20 4f 6e 6c 79 20 75 73 65 20 66 75  OTE: Only use fu
1cb0: 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 76 61 69  nctionality avai
1cc0: 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 2e 4e 45  lable in the .NE
1cd0: 54 20 46 72 61 6d 65 77 6f 72 6b 20 33 2e 35 3f  T Framework 3.5?
1ce0: 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20    By..          
1cf0: 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69      default, thi
1d00: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20  s is disabled.  
1d10: 54 68 69 73 20 6d 75 73 74 20 62 65 20 65 6e 61  This must be ena
1d20: 62 6c 65 64 20 74 6f 20 73 75 63 63 65 73 73 66  bled to successf
1d30: 75 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20 20 20  ully..          
1d40: 20 20 20 20 62 75 69 6c 64 20 74 68 65 20 70 72      build the pr
1d50: 6f 6a 65 63 74 20 75 73 69 6e 67 20 56 69 73 75  oject using Visu
1d60: 61 6c 20 53 74 75 64 69 6f 20 32 30 30 38 20 61  al Studio 2008 a
1d70: 6e 64 2f 6f 72 20 74 68 65 20 2e 4e 45 54 0d 0a  nd/or the .NET..
1d80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 72                Fr
1d90: 61 6d 65 77 6f 72 6b 20 33 2e 35 20 28 69 66 20  amework 3.5 (if 
1da0: 6e 65 63 65 73 73 61 72 79 2c 20 69 74 20 77 69  necessary, it wi
1db0: 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 62 65 20  ll typically be 
1dc0: 65 6e 61 62 6c 65 64 20 66 72 6f 6d 0d 0a 20 20  enabled from..  
1dd0: 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68              with
1de0: 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66  in the project f
1df0: 69 6c 65 20 69 74 73 65 6c 66 29 2e 0d 0a 20 20  ile itself)...  
1e00: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46    -->..    <NetF
1e10: 78 33 35 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  x35 Condition="'
1e20: 24 28 4e 65 74 46 78 33 35 29 27 20 3d 3d 20 27  $(NetFx35)' == '
1e30: 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78 33  '">false</NetFx3
1e40: 35 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  5>....    <!--..
1e50: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4f 6e          NOTE: On
1e60: 6c 79 20 75 73 65 20 66 75 6e 63 74 69 6f 6e 61  ly use functiona
1e70: 6c 69 74 79 20 61 76 61 69 6c 61 62 6c 65 20 69  lity available i
1e80: 6e 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65  n the .NET Frame
1e90: 77 6f 72 6b 20 34 2e 30 3f 20 20 42 79 0d 0a 20  work 4.0?  By.. 
1ea0: 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66               def
1eb0: 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69  ault, this is di
1ec0: 73 61 62 6c 65 64 2e 20 20 54 68 69 73 20 6d 75  sabled.  This mu
1ed0: 73 74 20 62 65 20 65 6e 61 62 6c 65 64 20 74 6f  st be enabled to
1ee0: 20 73 75 63 63 65 73 73 66 75 6c 6c 79 0d 0a 20   successfully.. 
1ef0: 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 69               bui
1f00: 6c 64 20 74 68 65 20 70 72 6f 6a 65 63 74 20 75  ld the project u
1f10: 73 69 6e 67 20 56 69 73 75 61 6c 20 53 74 75 64  sing Visual Stud
1f20: 69 6f 20 32 30 31 30 20 61 6e 64 2f 6f 72 20 74  io 2010 and/or t
1f30: 68 65 20 2e 4e 45 54 0d 0a 20 20 20 20 20 20 20  he .NET..       
1f40: 20 20 20 20 20 20 20 46 72 61 6d 65 77 6f 72 6b         Framework
1f50: 20 34 2e 30 20 28 69 66 20 6e 65 63 65 73 73 61   4.0 (if necessa
1f60: 72 79 2c 20 69 74 20 77 69 6c 6c 20 74 79 70 69  ry, it will typi
1f70: 63 61 6c 6c 79 20 62 65 20 65 6e 61 62 6c 65 64  cally be enabled
1f80: 20 66 72 6f 6d 0d 0a 20 20 20 20 20 20 20 20 20   from..         
1f90: 20 20 20 20 20 77 69 74 68 69 6e 20 74 68 65 20       within the 
1fa0: 70 72 6f 6a 65 63 74 20 66 69 6c 65 20 69 74 73  project file its
1fb0: 65 6c 66 29 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  elf)...    -->..
1fc0: 20 20 20 20 3c 4e 65 74 46 78 34 30 20 43 6f 6e      <NetFx40 Con
1fd0: 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78  dition="'$(NetFx
1fe0: 34 30 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73  40)' == ''">fals
1ff0: 65 3c 2f 4e 65 74 46 78 34 30 3e 0d 0a 0d 0a 20  e</NetFx40>.... 
2000: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
2010: 20 4e 4f 54 45 3a 20 4f 6e 6c 79 20 75 73 65 20   NOTE: Only use 
2020: 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 76  functionality av
2030: 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 2e  ailable in the .
2040: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e  NET Framework 4.
2050: 35 3f 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20  5?  By..        
2060: 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74        default, t
2070: 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e  his is disabled.
2080: 20 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 65    This must be e
2090: 6e 61 62 6c 65 64 20 74 6f 20 73 75 63 63 65 73  nabled to succes
20a0: 73 66 75 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20  sfully..        
20b0: 20 20 20 20 20 20 62 75 69 6c 64 20 74 68 65 20        build the 
20c0: 70 72 6f 6a 65 63 74 20 75 73 69 6e 67 20 56 69  project using Vi
20d0: 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30 31 32  sual Studio 2012
20e0: 20 61 6e 64 2f 6f 72 20 74 68 65 20 2e 4e 45 54   and/or the .NET
20f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
2100: 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35 20 28 69  Framework 4.5 (i
2110: 66 20 6e 65 63 65 73 73 61 72 79 2c 20 69 74 20  f necessary, it 
2120: 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 62  will typically b
2130: 65 20 65 6e 61 62 6c 65 64 20 66 72 6f 6d 0d 0a  e enabled from..
2140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69                wi
2150: 74 68 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74  thin the project
2160: 20 66 69 6c 65 20 69 74 73 65 6c 66 29 2e 0d 0a   file itself)...
2170: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65      -->..    <Ne
2180: 74 46 78 34 35 20 43 6f 6e 64 69 74 69 6f 6e 3d  tFx45 Condition=
2190: 22 27 24 28 4e 65 74 46 78 34 35 29 27 20 3d 3d  "'$(NetFx45)' ==
21a0: 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46   ''">false</NetF
21b0: 78 34 35 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  x45>....    <!--
21c0: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
21d0: 4f 6e 6c 79 20 75 73 65 20 66 75 6e 63 74 69 6f  Only use functio
21e0: 6e 61 6c 69 74 79 20 61 76 61 69 6c 61 62 6c 65  nality available
21f0: 20 69 6e 20 74 68 65 20 2e 4e 45 54 20 46 72 61   in the .NET Fra
2200: 6d 65 77 6f 72 6b 20 34 2e 35 2e 31 3f 20 20 42  mework 4.5.1?  B
2210: 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  y..             
2220: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
2230: 73 20 64 69 73 61 62 6c 65 64 2e 20 20 54 68 69  s disabled.  Thi
2240: 73 20 6d 75 73 74 20 62 65 20 65 6e 61 62 6c 65  s must be enable
2250: 64 20 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c  d to successfull
2260: 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  y..             
2270: 20 62 75 69 6c 64 20 74 68 65 20 70 72 6f 6a 65   build the proje
2280: 63 74 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20  ct using Visual 
2290: 53 74 75 64 69 6f 20 32 30 31 33 20 61 6e 64 2f  Studio 2013 and/
22a0: 6f 72 20 74 68 65 20 2e 4e 45 54 0d 0a 20 20 20  or the .NET..   
22b0: 20 20 20 20 20 20 20 20 20 20 20 46 72 61 6d 65             Frame
22c0: 77 6f 72 6b 20 34 2e 35 2e 31 20 28 69 66 20 6e  work 4.5.1 (if n
22d0: 65 63 65 73 73 61 72 79 2c 20 69 74 20 77 69 6c  ecessary, it wil
22e0: 6c 20 74 79 70 69 63 61 6c 6c 79 20 62 65 20 65  l typically be e
22f0: 6e 61 62 6c 65 64 20 66 72 6f 6d 0d 0a 20 20 20  nabled from..   
2300: 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 69             withi
2310: 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69  n the project fi
2320: 6c 65 20 69 74 73 65 6c 66 29 2e 0d 0a 20 20 20  le itself)...   
2330: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78   -->..    <NetFx
2340: 34 35 31 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  451 Condition="'
2350: 24 28 4e 65 74 46 78 34 35 31 29 27 20 3d 3d 20  $(NetFx451)' == 
2360: 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78  ''">false</NetFx
2370: 34 35 31 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  451>....    <!--
2380: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
2390: 4f 6e 6c 79 20 75 73 65 20 66 75 6e 63 74 69 6f  Only use functio
23a0: 6e 61 6c 69 74 79 20 61 76 61 69 6c 61 62 6c 65  nality available
23b0: 20 69 6e 20 74 68 65 20 2e 4e 45 54 20 46 72 61   in the .NET Fra
23c0: 6d 65 77 6f 72 6b 20 34 2e 35 2e 32 3f 20 20 42  mework 4.5.2?  B
23d0: 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  y..             
23e0: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
23f0: 73 20 64 69 73 61 62 6c 65 64 2e 20 20 54 68 69  s disabled.  Thi
2400: 73 20 6d 75 73 74 20 62 65 20 65 6e 61 62 6c 65  s must be enable
2410: 64 20 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c  d to successfull
2420: 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  y..             
2430: 20 62 75 69 6c 64 20 74 68 65 20 70 72 6f 6a 65   build the proje
2440: 63 74 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20  ct using Visual 
2450: 53 74 75 64 69 6f 20 32 30 31 33 20 61 6e 64 2f  Studio 2013 and/
2460: 6f 72 20 74 68 65 20 2e 4e 45 54 0d 0a 20 20 20  or the .NET..   
2470: 20 20 20 20 20 20 20 20 20 20 20 46 72 61 6d 65             Frame
2480: 77 6f 72 6b 20 34 2e 35 2e 32 20 28 69 66 20 6e  work 4.5.2 (if n
2490: 65 63 65 73 73 61 72 79 2c 20 69 74 20 77 69 6c  ecessary, it wil
24a0: 6c 20 74 79 70 69 63 61 6c 6c 79 20 62 65 20 65  l typically be e
24b0: 6e 61 62 6c 65 64 20 66 72 6f 6d 0d 0a 20 20 20  nabled from..   
24c0: 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 69             withi
24d0: 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69  n the project fi
24e0: 6c 65 20 69 74 73 65 6c 66 29 2e 0d 0a 20 20 20  le itself)...   
24f0: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78   -->..    <NetFx
2500: 34 35 32 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  452 Condition="'
2510: 24 28 4e 65 74 46 78 34 35 32 29 27 20 3d 3d 20  $(NetFx452)' == 
2520: 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78  ''">false</NetFx
2530: 34 35 32 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  452>....    <!--
2540: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
2550: 4f 6e 6c 79 20 75 73 65 20 66 75 6e 63 74 69 6f  Only use functio
2560: 6e 61 6c 69 74 79 20 61 76 61 69 6c 61 62 6c 65  nality available
2570: 20 69 6e 20 74 68 65 20 2e 4e 45 54 20 46 72 61   in the .NET Fra
2580: 6d 65 77 6f 72 6b 20 34 2e 36 3f 20 20 42 79 0d  mework 4.6?  By.
2590: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64  .              d
25a0: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
25b0: 64 69 73 61 62 6c 65 64 2e 20 20 54 68 69 73 20  disabled.  This 
25c0: 6d 75 73 74 20 62 65 20 65 6e 61 62 6c 65 64 20  must be enabled 
25d0: 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c 79 0d  to successfully.
25e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62  .              b
25f0: 75 69 6c 64 20 74 68 65 20 70 72 6f 6a 65 63 74  uild the project
2600: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 53 74   using Visual St
2610: 75 64 69 6f 20 32 30 31 35 20 61 6e 64 2f 6f 72  udio 2015 and/or
2620: 20 74 68 65 20 2e 4e 45 54 0d 0a 20 20 20 20 20   the .NET..     
2630: 20 20 20 20 20 20 20 20 20 46 72 61 6d 65 77 6f           Framewo
2640: 72 6b 20 34 2e 36 20 28 69 66 20 6e 65 63 65 73  rk 4.6 (if neces
2650: 73 61 72 79 2c 20 69 74 20 77 69 6c 6c 20 74 79  sary, it will ty
2660: 70 69 63 61 6c 6c 79 20 62 65 20 65 6e 61 62 6c  pically be enabl
2670: 65 64 20 66 72 6f 6d 0d 0a 20 20 20 20 20 20 20  ed from..       
2680: 20 20 20 20 20 20 20 77 69 74 68 69 6e 20 74 68         within th
2690: 65 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 20 69  e project file i
26a0: 74 73 65 6c 66 29 2e 0d 0a 20 20 20 20 2d 2d 3e  tself)...    -->
26b0: 0d 0a 20 20 20 20 3c 4e 65 74 46 78 34 36 20 43  ..    <NetFx46 C
26c0: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74  ondition="'$(Net
26d0: 46 78 34 36 29 27 20 3d 3d 20 27 27 22 3e 66 61  Fx46)' == ''">fa
26e0: 6c 73 65 3c 2f 4e 65 74 46 78 34 36 3e 0d 0a 0d  lse</NetFx46>...
26f0: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
2700: 20 20 20 4e 4f 54 45 3a 20 4f 6e 6c 79 20 75 73     NOTE: Only us
2710: 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20  e functionality 
2720: 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65  available in the
2730: 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20   .NET Framework 
2740: 34 2e 36 2e 31 3f 20 20 42 79 0d 0a 20 20 20 20  4.6.1?  By..    
2750: 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c            defaul
2760: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
2770: 6c 65 64 2e 20 20 54 68 69 73 20 6d 75 73 74 20  led.  This must 
2780: 62 65 20 65 6e 61 62 6c 65 64 20 74 6f 20 73 75  be enabled to su
2790: 63 63 65 73 73 66 75 6c 6c 79 0d 0a 20 20 20 20  ccessfully..    
27a0: 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 20            build 
27b0: 74 68 65 20 70 72 6f 6a 65 63 74 20 75 73 69 6e  the project usin
27c0: 67 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20  g Visual Studio 
27d0: 32 30 31 35 20 61 6e 64 2f 6f 72 20 74 68 65 20  2015 and/or the 
27e0: 2e 4e 45 54 0d 0a 20 20 20 20 20 20 20 20 20 20  .NET..          
27f0: 20 20 20 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e      Framework 4.
2800: 36 2e 31 20 28 69 66 20 6e 65 63 65 73 73 61 72  6.1 (if necessar
2810: 79 2c 20 69 74 20 77 69 6c 6c 20 74 79 70 69 63  y, it will typic
2820: 61 6c 6c 79 20 62 65 20 65 6e 61 62 6c 65 64 20  ally be enabled 
2830: 66 72 6f 6d 0d 0a 20 20 20 20 20 20 20 20 20 20  from..          
2840: 20 20 20 20 77 69 74 68 69 6e 20 74 68 65 20 70      within the p
2850: 72 6f 6a 65 63 74 20 66 69 6c 65 20 69 74 73 65  roject file itse
2860: 6c 66 29 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  lf)...    -->.. 
2870: 20 20 20 3c 4e 65 74 46 78 34 36 31 20 43 6f 6e     <NetFx461 Con
2880: 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78  dition="'$(NetFx
2890: 34 36 31 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c  461)' == ''">fal
28a0: 73 65 3c 2f 4e 65 74 46 78 34 36 31 3e 0d 0a 0d  se</NetFx461>...
28b0: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
28c0: 20 20 20 4e 4f 54 45 3a 20 4f 6e 6c 79 20 75 73     NOTE: Only us
28d0: 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20  e functionality 
28e0: 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65  available in the
28f0: 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20   .NET Framework 
2900: 34 2e 36 2e 32 3f 20 20 42 79 0d 0a 20 20 20 20  4.6.2?  By..    
2910: 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c            defaul
2920: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
2930: 6c 65 64 2e 20 20 54 68 69 73 20 6d 75 73 74 20  led.  This must 
2940: 62 65 20 65 6e 61 62 6c 65 64 20 74 6f 20 73 75  be enabled to su
2950: 63 63 65 73 73 66 75 6c 6c 79 0d 0a 20 20 20 20  ccessfully..    
2960: 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 20            build 
2970: 74 68 65 20 70 72 6f 6a 65 63 74 20 75 73 69 6e  the project usin
2980: 67 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20  g Visual Studio 
2990: 32 30 31 35 20 61 6e 64 2f 6f 72 20 74 68 65 20  2015 and/or the 
29a0: 2e 4e 45 54 0d 0a 20 20 20 20 20 20 20 20 20 20  .NET..          
29b0: 20 20 20 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e      Framework 4.
29c0: 36 2e 32 20 28 69 66 20 6e 65 63 65 73 73 61 72  6.2 (if necessar
29d0: 79 2c 20 69 74 20 77 69 6c 6c 20 74 79 70 69 63  y, it will typic
29e0: 61 6c 6c 79 20 62 65 20 65 6e 61 62 6c 65 64 20  ally be enabled 
29f0: 66 72 6f 6d 0d 0a 20 20 20 20 20 20 20 20 20 20  from..          
2a00: 20 20 20 20 77 69 74 68 69 6e 20 74 68 65 20 70      within the p
2a10: 72 6f 6a 65 63 74 20 66 69 6c 65 20 69 74 73 65  roject file itse
2a20: 6c 66 29 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  lf)...    -->.. 
2a30: 20 20 20 3c 4e 65 74 46 78 34 36 32 20 43 6f 6e     <NetFx462 Con
2a40: 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78  dition="'$(NetFx
2a50: 34 36 32 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c  462)' == ''">fal
2a60: 73 65 3c 2f 4e 65 74 46 78 34 36 32 3e 0d 0a 0d  se</NetFx462>...
2a70: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
2a80: 20 20 20 4e 4f 54 45 3a 20 4c 6f 61 64 20 74 68     NOTE: Load th
2a90: 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66  e version-specif
2aa0: 69 63 20 73 65 74 74 69 6e 67 73 20 66 6f 72 20  ic settings for 
2ab0: 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f  the .NET Framewo
2ac0: 72 6b 20 32 2e 30 3f 0d 0a 20 20 20 20 20 20 20  rk 2.0?..       
2ad0: 20 20 20 20 20 20 20 42 79 20 64 65 66 61 75 6c         By defaul
2ae0: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
2af0: 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73  led.  If this is
2b00: 20 65 6e 61 62 6c 65 64 20 77 68 65 6e 20 63 6f   enabled when co
2b10: 6d 70 69 6c 69 6e 67 0d 0a 20 20 20 20 20 20 20  mpiling..       
2b20: 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 2e         for the .
2b30: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 32 2e  NET Framework 2.
2b40: 30 2c 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73  0, the version-s
2b50: 70 65 63 69 66 69 63 20 73 65 74 74 69 6e 67 73  pecific settings
2b60: 20 66 69 6c 65 0d 0a 20 20 20 20 20 20 20 20 20   file..         
2b70: 20 20 20 20 20 22 53 51 4c 69 74 65 2e 4e 45 54       "SQLite.NET
2b80: 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74  .Settings.target
2b90: 73 2e 6e 65 74 46 78 32 30 22 20 77 69 6c 6c 20  s.netFx20" will 
2ba0: 62 65 20 6c 6f 61 64 65 64 20 69 66 20 69 74 20  be loaded if it 
2bb0: 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  is..            
2bc0: 20 20 61 63 74 75 61 6c 6c 79 20 70 72 65 73 65    actually prese
2bd0: 6e 74 2c 20 62 65 66 6f 72 65 20 61 6e 79 20 6f  nt, before any o
2be0: 74 68 65 72 20 73 65 74 74 69 6e 67 73 20 69 6e  ther settings in
2bf0: 20 74 68 69 73 20 66 69 6c 65 20 61 72 65 0d 0a   this file are..
2c00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
2c10: 6f 63 65 73 73 65 64 2e 0d 0a 20 20 20 20 2d 2d  ocessed...    --
2c20: 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 32 30 53  >..    <NetFx20S
2c30: 65 74 74 69 6e 67 73 20 43 6f 6e 64 69 74 69 6f  ettings Conditio
2c40: 6e 3d 22 27 24 28 4e 65 74 46 78 32 30 53 65 74  n="'$(NetFx20Set
2c50: 74 69 6e 67 73 29 27 20 3d 3d 20 27 27 22 3e 66  tings)' == ''">f
2c60: 61 6c 73 65 3c 2f 4e 65 74 46 78 32 30 53 65 74  alse</NetFx20Set
2c70: 74 69 6e 67 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21  tings>....    <!
2c80: 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45  --..        NOTE
2c90: 3a 20 4c 6f 61 64 20 74 68 65 20 76 65 72 73 69  : Load the versi
2ca0: 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65 74 74  on-specific sett
2cb0: 69 6e 67 73 20 66 6f 72 20 74 68 65 20 2e 4e 45  ings for the .NE
2cc0: 54 20 46 72 61 6d 65 77 6f 72 6b 20 33 2e 35 3f  T Framework 3.5?
2cd0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
2ce0: 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73  By default, this
2cf0: 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49   is disabled.  I
2d00: 66 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65  f this is enable
2d10: 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  d when compiling
2d20: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
2d30: 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61  for the .NET Fra
2d40: 6d 65 77 6f 72 6b 20 33 2e 35 2c 20 74 68 65 20  mework 3.5, the 
2d50: 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63  version-specific
2d60: 20 73 65 74 74 69 6e 67 73 20 66 69 6c 65 0d 0a   settings file..
2d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
2d80: 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e  QLite.NET.Settin
2d90: 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78  gs.targets.netFx
2da0: 33 35 22 20 77 69 6c 6c 20 62 65 20 6c 6f 61 64  35" will be load
2db0: 65 64 20 69 66 20 69 74 20 69 73 0d 0a 20 20 20  ed if it is..   
2dc0: 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61             actua
2dd0: 6c 6c 79 20 70 72 65 73 65 6e 74 2c 20 62 65 66  lly present, bef
2de0: 6f 72 65 20 61 6e 79 20 6f 74 68 65 72 20 73 65  ore any other se
2df0: 74 74 69 6e 67 73 20 69 6e 20 74 68 69 73 20 66  ttings in this f
2e00: 69 6c 65 20 61 72 65 0d 0a 20 20 20 20 20 20 20  ile are..       
2e10: 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 65 64         processed
2e20: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
2e30: 3c 4e 65 74 46 78 33 35 53 65 74 74 69 6e 67 73  <NetFx35Settings
2e40: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e   Condition="'$(N
2e50: 65 74 46 78 33 35 53 65 74 74 69 6e 67 73 29 27  etFx35Settings)'
2e60: 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e   == ''">false</N
2e70: 65 74 46 78 33 35 53 65 74 74 69 6e 67 73 3e 0d  etFx35Settings>.
2e80: 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  ...    <!--..   
2e90: 20 20 20 20 20 4e 4f 54 45 3a 20 4c 6f 61 64 20       NOTE: Load 
2ea0: 74 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63  the version-spec
2eb0: 69 66 69 63 20 73 65 74 74 69 6e 67 73 20 66 6f  ific settings fo
2ec0: 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65  r the .NET Frame
2ed0: 77 6f 72 6b 20 34 2e 30 3f 0d 0a 20 20 20 20 20  work 4.0?..     
2ee0: 20 20 20 20 20 20 20 20 20 42 79 20 64 65 66 61           By defa
2ef0: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
2f00: 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20  abled.  If this 
2f10: 69 73 20 65 6e 61 62 6c 65 64 20 77 68 65 6e 20  is enabled when 
2f20: 63 6f 6d 70 69 6c 69 6e 67 0d 0a 20 20 20 20 20  compiling..     
2f30: 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65           for the
2f40: 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20   .NET Framework 
2f50: 34 2e 30 2c 20 74 68 65 20 76 65 72 73 69 6f 6e  4.0, the version
2f60: 2d 73 70 65 63 69 66 69 63 20 73 65 74 74 69 6e  -specific settin
2f70: 67 73 20 66 69 6c 65 0d 0a 20 20 20 20 20 20 20  gs file..       
2f80: 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 4e         "SQLite.N
2f90: 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67  ET.Settings.targ
2fa0: 65 74 73 2e 6e 65 74 46 78 34 30 22 20 77 69 6c  ets.netFx40" wil
2fb0: 6c 20 62 65 20 6c 6f 61 64 65 64 20 69 66 20 69  l be loaded if i
2fc0: 74 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20  t is..          
2fd0: 20 20 20 20 61 63 74 75 61 6c 6c 79 20 70 72 65      actually pre
2fe0: 73 65 6e 74 2c 20 62 65 66 6f 72 65 20 61 6e 79  sent, before any
2ff0: 20 6f 74 68 65 72 20 73 65 74 74 69 6e 67 73 20   other settings 
3000: 69 6e 20 74 68 69 73 20 66 69 6c 65 20 61 72 65  in this file are
3010: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3020: 70 72 6f 63 65 73 73 65 64 2e 0d 0a 20 20 20 20  processed...    
3030: 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 34  -->..    <NetFx4
3040: 30 53 65 74 74 69 6e 67 73 20 43 6f 6e 64 69 74  0Settings Condit
3050: 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 30 53  ion="'$(NetFx40S
3060: 65 74 74 69 6e 67 73 29 27 20 3d 3d 20 27 27 22  ettings)' == ''"
3070: 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78 34 30 53  >false</NetFx40S
3080: 65 74 74 69 6e 67 73 3e 0d 0a 0d 0a 20 20 20 20  ettings>....    
3090: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
30a0: 54 45 3a 20 4c 6f 61 64 20 74 68 65 20 76 65 72  TE: Load the ver
30b0: 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65  sion-specific se
30c0: 74 74 69 6e 67 73 20 66 6f 72 20 74 68 65 20 2e  ttings for the .
30d0: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e  NET Framework 4.
30e0: 35 3f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  5?..            
30f0: 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68    By default, th
3100: 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20  is is disabled. 
3110: 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62   If this is enab
3120: 6c 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69  led when compili
3130: 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ng..            
3140: 20 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46    for the .NET F
3150: 72 61 6d 65 77 6f 72 6b 20 34 2e 35 2c 20 74 68  ramework 4.5, th
3160: 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66  e version-specif
3170: 69 63 20 73 65 74 74 69 6e 67 73 20 66 69 6c 65  ic settings file
3180: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3190: 22 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74  "SQLite.NET.Sett
31a0: 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74  ings.targets.net
31b0: 46 78 34 35 22 20 77 69 6c 6c 20 62 65 20 6c 6f  Fx45" will be lo
31c0: 61 64 65 64 20 69 66 20 69 74 20 69 73 0d 0a 20  aded if it is.. 
31d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74               act
31e0: 75 61 6c 6c 79 20 70 72 65 73 65 6e 74 2c 20 62  ually present, b
31f0: 65 66 6f 72 65 20 61 6e 79 20 6f 74 68 65 72 20  efore any other 
3200: 73 65 74 74 69 6e 67 73 20 69 6e 20 74 68 69 73  settings in this
3210: 20 66 69 6c 65 20 61 72 65 0d 0a 20 20 20 20 20   file are..     
3220: 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73           process
3230: 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  ed...    -->..  
3240: 20 20 3c 4e 65 74 46 78 34 35 53 65 74 74 69 6e    <NetFx45Settin
3250: 67 73 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  gs Condition="'$
3260: 28 4e 65 74 46 78 34 35 53 65 74 74 69 6e 67 73  (NetFx45Settings
3270: 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c  )' == ''">false<
3280: 2f 4e 65 74 46 78 34 35 53 65 74 74 69 6e 67 73  /NetFx45Settings
3290: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
32a0: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4c 6f 61         NOTE: Loa
32b0: 64 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73 70  d the version-sp
32c0: 65 63 69 66 69 63 20 73 65 74 74 69 6e 67 73 20  ecific settings 
32d0: 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61  for the .NET Fra
32e0: 6d 65 77 6f 72 6b 20 34 2e 35 2e 31 3f 0d 0a 20  mework 4.5.1?.. 
32f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 42 79 20               By 
3300: 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73  default, this is
3310: 20 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74   disabled.  If t
3320: 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 20 77  his is enabled w
3330: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0d 0a 20  hen compiling.. 
3340: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72               for
3350: 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77   the .NET Framew
3360: 6f 72 6b 20 34 2e 35 2e 31 2c 20 74 68 65 20 76  ork 4.5.1, the v
3370: 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20  ersion-specific 
3380: 73 65 74 74 69 6e 67 73 20 66 69 6c 65 0d 0a 20  settings file.. 
3390: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51               "SQ
33a0: 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67  Lite.NET.Setting
33b0: 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34  s.targets.netFx4
33c0: 35 31 22 20 77 69 6c 6c 20 62 65 20 6c 6f 61 64  51" will be load
33d0: 65 64 20 69 66 20 69 74 20 69 73 0d 0a 20 20 20  ed if it is..   
33e0: 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61             actua
33f0: 6c 6c 79 20 70 72 65 73 65 6e 74 2c 20 62 65 66  lly present, bef
3400: 6f 72 65 20 61 6e 79 20 6f 74 68 65 72 20 73 65  ore any other se
3410: 74 74 69 6e 67 73 20 69 6e 20 74 68 69 73 20 66  ttings in this f
3420: 69 6c 65 20 61 72 65 0d 0a 20 20 20 20 20 20 20  ile are..       
3430: 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 65 64         processed
3440: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
3450: 3c 4e 65 74 46 78 34 35 31 53 65 74 74 69 6e 67  <NetFx451Setting
3460: 73 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  s Condition="'$(
3470: 4e 65 74 46 78 34 35 31 53 65 74 74 69 6e 67 73  NetFx451Settings
3480: 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c  )' == ''">false<
3490: 2f 4e 65 74 46 78 34 35 31 53 65 74 74 69 6e 67  /NetFx451Setting
34a0: 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  s>....    <!--..
34b0: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4c 6f          NOTE: Lo
34c0: 61 64 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73  ad the version-s
34d0: 70 65 63 69 66 69 63 20 73 65 74 74 69 6e 67 73  pecific settings
34e0: 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46 72   for the .NET Fr
34f0: 61 6d 65 77 6f 72 6b 20 34 2e 35 2e 32 3f 0d 0a  amework 4.5.2?..
3500: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 79                By
3510: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
3520: 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20  s disabled.  If 
3530: 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 20  this is enabled 
3540: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0d 0a  when compiling..
3550: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f                fo
3560: 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65  r the .NET Frame
3570: 77 6f 72 6b 20 34 2e 35 2e 32 2c 20 74 68 65 20  work 4.5.2, the 
3580: 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63  version-specific
3590: 20 73 65 74 74 69 6e 67 73 20 66 69 6c 65 0d 0a   settings file..
35a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
35b0: 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e  QLite.NET.Settin
35c0: 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78  gs.targets.netFx
35d0: 34 35 32 22 20 77 69 6c 6c 20 62 65 20 6c 6f 61  452" will be loa
35e0: 64 65 64 20 69 66 20 69 74 20 69 73 0d 0a 20 20  ded if it is..  
35f0: 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75              actu
3600: 61 6c 6c 79 20 70 72 65 73 65 6e 74 2c 20 62 65  ally present, be
3610: 66 6f 72 65 20 61 6e 79 20 6f 74 68 65 72 20 73  fore any other s
3620: 65 74 74 69 6e 67 73 20 69 6e 20 74 68 69 73 20  ettings in this 
3630: 66 69 6c 65 20 61 72 65 0d 0a 20 20 20 20 20 20  file are..      
3640: 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 65          processe
3650: 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20  d...    -->..   
3660: 20 3c 4e 65 74 46 78 34 35 32 53 65 74 74 69 6e   <NetFx452Settin
3670: 67 73 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  gs Condition="'$
3680: 28 4e 65 74 46 78 34 35 32 53 65 74 74 69 6e 67  (NetFx452Setting
3690: 73 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65  s)' == ''">false
36a0: 3c 2f 4e 65 74 46 78 34 35 32 53 65 74 74 69 6e  </NetFx452Settin
36b0: 67 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d  gs>....    <!--.
36c0: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4c  .        NOTE: L
36d0: 6f 61 64 20 74 68 65 20 76 65 72 73 69 6f 6e 2d  oad the version-
36e0: 73 70 65 63 69 66 69 63 20 73 65 74 74 69 6e 67  specific setting
36f0: 73 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46  s for the .NET F
3700: 72 61 6d 65 77 6f 72 6b 20 34 2e 36 3f 0d 0a 20  ramework 4.6?.. 
3710: 20 20 20 20 20 20 20 20 20 20 20 20 20 42 79 20               By 
3720: 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73  default, this is
3730: 20 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74   disabled.  If t
3740: 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 20 77  his is enabled w
3750: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0d 0a 20  hen compiling.. 
3760: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72               for
3770: 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77   the .NET Framew
3780: 6f 72 6b 20 34 2e 36 2c 20 74 68 65 20 76 65 72  ork 4.6, the ver
3790: 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65  sion-specific se
37a0: 74 74 69 6e 67 73 20 66 69 6c 65 0d 0a 20 20 20  ttings file..   
37b0: 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69             "SQLi
37c0: 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e  te.NET.Settings.
37d0: 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34 36 22  targets.netFx46"
37e0: 20 77 69 6c 6c 20 62 65 20 6c 6f 61 64 65 64 20   will be loaded 
37f0: 69 66 20 69 74 20 69 73 0d 0a 20 20 20 20 20 20  if it is..      
3800: 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79          actually
3810: 20 70 72 65 73 65 6e 74 2c 20 62 65 66 6f 72 65   present, before
3820: 20 61 6e 79 20 6f 74 68 65 72 20 73 65 74 74 69   any other setti
3830: 6e 67 73 20 69 6e 20 74 68 69 73 20 66 69 6c 65  ngs in this file
3840: 20 61 72 65 0d 0a 20 20 20 20 20 20 20 20 20 20   are..          
3850: 20 20 20 20 70 72 6f 63 65 73 73 65 64 2e 0d 0a      processed...
3860: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65      -->..    <Ne
3870: 74 46 78 34 36 53 65 74 74 69 6e 67 73 20 43 6f  tFx46Settings Co
3880: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46  ndition="'$(NetF
3890: 78 34 36 53 65 74 74 69 6e 67 73 29 27 20 3d 3d  x46Settings)' ==
38a0: 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46   ''">false</NetF
38b0: 78 34 36 53 65 74 74 69 6e 67 73 3e 0d 0a 0d 0a  x46Settings>....
38c0: 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20      <!--..      
38d0: 20 20 4e 4f 54 45 3a 20 4c 6f 61 64 20 74 68 65    NOTE: Load the
38e0: 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69   version-specifi
38f0: 63 20 73 65 74 74 69 6e 67 73 20 66 6f 72 20 74  c settings for t
3900: 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72  he .NET Framewor
3910: 6b 20 34 2e 36 2e 31 3f 0d 0a 20 20 20 20 20 20  k 4.6.1?..      
3920: 20 20 20 20 20 20 20 20 42 79 20 64 65 66 61 75          By defau
3930: 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61  lt, this is disa
3940: 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69  bled.  If this i
3950: 73 20 65 6e 61 62 6c 65 64 20 77 68 65 6e 20 63  s enabled when c
3960: 6f 6d 70 69 6c 69 6e 67 0d 0a 20 20 20 20 20 20  ompiling..      
3970: 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20          for the 
3980: 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34  .NET Framework 4
3990: 2e 36 2e 31 2c 20 74 68 65 20 76 65 72 73 69 6f  .6.1, the versio
39a0: 6e 2d 73 70 65 63 69 66 69 63 20 73 65 74 74 69  n-specific setti
39b0: 6e 67 73 20 66 69 6c 65 0d 0a 20 20 20 20 20 20  ngs file..      
39c0: 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e          "SQLite.
39d0: 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72  NET.Settings.tar
39e0: 67 65 74 73 2e 6e 65 74 46 78 34 36 31 22 20 77  gets.netFx461" w
39f0: 69 6c 6c 20 62 65 20 6c 6f 61 64 65 64 20 69 66  ill be loaded if
3a00: 20 69 74 20 69 73 0d 0a 20 20 20 20 20 20 20 20   it is..        
3a10: 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 70        actually p
3a20: 72 65 73 65 6e 74 2c 20 62 65 66 6f 72 65 20 61  resent, before a
3a30: 6e 79 20 6f 74 68 65 72 20 73 65 74 74 69 6e 67  ny other setting
3a40: 73 20 69 6e 20 74 68 69 73 20 66 69 6c 65 20 61  s in this file a
3a50: 72 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  re..            
3a60: 20 20 70 72 6f 63 65 73 73 65 64 2e 0d 0a 20 20    processed...  
3a70: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46    -->..    <NetF
3a80: 78 34 36 31 53 65 74 74 69 6e 67 73 20 43 6f 6e  x461Settings Con
3a90: 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78  dition="'$(NetFx
3aa0: 34 36 31 53 65 74 74 69 6e 67 73 29 27 20 3d 3d  461Settings)' ==
3ab0: 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46   ''">false</NetF
3ac0: 78 34 36 31 53 65 74 74 69 6e 67 73 3e 0d 0a 0d  x461Settings>...
3ad0: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
3ae0: 20 20 20 4e 4f 54 45 3a 20 4c 6f 61 64 20 74 68     NOTE: Load th
3af0: 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66  e version-specif
3b00: 69 63 20 73 65 74 74 69 6e 67 73 20 66 6f 72 20  ic settings for 
3b10: 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f  the .NET Framewo
3b20: 72 6b 20 34 2e 36 2e 32 3f 0d 0a 20 20 20 20 20  rk 4.6.2?..     
3b30: 20 20 20 20 20 20 20 20 20 42 79 20 64 65 66 61           By defa
3b40: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
3b50: 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20  abled.  If this 
3b60: 69 73 20 65 6e 61 62 6c 65 64 20 77 68 65 6e 20  is enabled when 
3b70: 63 6f 6d 70 69 6c 69 6e 67 0d 0a 20 20 20 20 20  compiling..     
3b80: 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65           for the
3b90: 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20   .NET Framework 
3ba0: 34 2e 36 2e 32 2c 20 74 68 65 20 76 65 72 73 69  4.6.2, the versi
3bb0: 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65 74 74  on-specific sett
3bc0: 69 6e 67 73 20 66 69 6c 65 0d 0a 20 20 20 20 20  ings file..     
3bd0: 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65           "SQLite
3be0: 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61  .NET.Settings.ta
3bf0: 72 67 65 74 73 2e 6e 65 74 46 78 34 36 32 22 20  rgets.netFx462" 
3c00: 77 69 6c 6c 20 62 65 20 6c 6f 61 64 65 64 20 69  will be loaded i
3c10: 66 20 69 74 20 69 73 0d 0a 20 20 20 20 20 20 20  f it is..       
3c20: 20 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20         actually 
3c30: 70 72 65 73 65 6e 74 2c 20 62 65 66 6f 72 65 20  present, before 
3c40: 61 6e 79 20 6f 74 68 65 72 20 73 65 74 74 69 6e  any other settin
3c50: 67 73 20 69 6e 20 74 68 69 73 20 66 69 6c 65 20  gs in this file 
3c60: 61 72 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  are..           
3c70: 20 20 20 70 72 6f 63 65 73 73 65 64 2e 0d 0a 20     processed... 
3c80: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74     -->..    <Net
3c90: 46 78 34 36 32 53 65 74 74 69 6e 67 73 20 43 6f  Fx462Settings Co
3ca0: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46  ndition="'$(NetF
3cb0: 78 34 36 32 53 65 74 74 69 6e 67 73 29 27 20 3d  x462Settings)' =
3cc0: 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74  = ''">false</Net
3cd0: 46 78 34 36 32 53 65 74 74 69 6e 67 73 3e 0d 0a  Fx462Settings>..
3ce0: 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f 75    </PropertyGrou
3cf0: 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20  p>....  <!--..  
3d00: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3d10: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3d20: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3d30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3d40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a  **************..
3d50: 20 20 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20    **            
3d60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3d70: 46 65 61 74 75 72 65 20 50 72 6f 70 65 72 74 69  Feature Properti
3d80: 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20  es              
3d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 2a                **
3da0: 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ..  ************
3db0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3dc0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3dd0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3de0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3df0: 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c  **..  -->....  <
3e00: 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a  PropertyGroup>..
3e10: 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20      <!--..      
3e20: 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 65    NOTE: Enable e
3e30: 78 74 72 61 20 69 6e 74 65 72 6e 61 6c 20 73 74  xtra internal st
3e40: 61 74 65 20 63 68 65 63 6b 69 6e 67 20 66 6f 72  ate checking for
3e50: 20 74 68 65 20 70 75 62 6c 69 63 20 6d 65 6d 62   the public memb
3e60: 65 72 73 20 6f 66 0d 0a 20 20 20 20 20 20 20 20  ers of..        
3e70: 20 20 20 20 20 20 73 65 76 65 72 61 6c 20 6b 65        several ke
3e80: 79 20 63 6c 61 73 73 65 73 20 74 68 61 74 20 75  y classes that u
3e90: 73 65 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e  se a connection.
3ea0: 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68    By default, th
3eb0: 69 73 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20  is is..         
3ec0: 20 20 20 20 20 64 69 73 61 62 6c 65 64 2e 0d 0a       disabled...
3ed0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 43 68      -->..    <Ch
3ee0: 65 63 6b 53 74 61 74 65 20 43 6f 6e 64 69 74 69  eckState Conditi
3ef0: 6f 6e 3d 22 27 24 28 43 68 65 63 6b 53 74 61 74  on="'$(CheckStat
3f00: 65 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65  e)' == ''">false
3f10: 3c 2f 43 68 65 63 6b 53 74 61 74 65 3e 0d 0a 0d  </CheckState>...
3f20: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
3f30: 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20     NOTE: Enable 
3f40: 63 6f 75 6e 74 69 6e 67 20 6f 66 20 61 6c 6c 20  counting of all 
3f50: 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 73  object instances
3f60: 20 66 6f 72 20 74 68 65 20 43 72 69 74 69 63 61   for the Critica
3f70: 6c 48 61 6e 64 6c 65 0d 0a 20 20 20 20 20 20 20  lHandle..       
3f80: 20 20 20 20 20 20 20 64 65 72 69 76 65 64 20 63         derived c
3f90: 6c 61 73 73 65 73 3f 20 20 42 79 20 64 65 66 61  lasses?  By defa
3fa0: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
3fb0: 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20  abled.  If this 
3fc0: 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  is..            
3fd0: 20 20 65 6e 61 62 6c 65 64 2c 20 74 68 69 73 20    enabled, this 
3fe0: 6c 69 62 72 61 72 79 20 77 69 6c 6c 20 6b 65 65  library will kee
3ff0: 70 20 63 6f 75 6e 74 20 6f 66 20 61 6c 6c 20 6e  p count of all n
4000: 6f 6e 2d 64 69 73 70 6f 73 65 64 20 6f 62 6a 65  on-disposed obje
4010: 63 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ct..            
4020: 20 20 69 6e 73 74 61 6e 63 65 73 20 66 6f 72 20    instances for 
4030: 61 6c 6c 20 74 68 65 20 43 72 69 74 69 63 61 6c  all the Critical
4040: 48 61 6e 64 6c 65 20 64 65 72 69 76 65 64 20 63  Handle derived c
4050: 6c 61 73 73 65 73 2e 20 20 45 61 63 68 0d 0a 20  lasses.  Each.. 
4060: 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75               cou
4070: 6e 74 65 72 20 77 69 6c 6c 20 62 65 20 69 6e 63  nter will be inc
4080: 72 65 6d 65 6e 74 65 64 20 77 68 65 6e 20 61 6e  remented when an
4090: 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 74 68 65   instance of the
40a0: 20 61 73 73 6f 63 69 61 74 65 64 0d 0a 20 20 20   associated..   
40b0: 20 20 20 20 20 20 20 20 20 20 20 63 72 69 74 69             criti
40c0: 63 61 6c 20 68 61 6e 64 6c 65 20 63 6c 61 73 73  cal handle class
40d0: 20 69 73 20 63 6f 6e 73 74 72 75 63 74 65 64 20   is constructed 
40e0: 61 6e 64 20 64 65 63 72 65 6d 65 6e 74 65 64 20  and decremented 
40f0: 77 68 65 6e 20 74 68 65 0d 0a 20 20 20 20 20 20  when the..      
4100: 20 20 20 20 20 20 20 20 52 65 6c 65 61 73 65 48          ReleaseH
4110: 61 6e 64 6c 65 20 6d 65 74 68 6f 64 20 69 73 20  andle method is 
4120: 63 6f 6d 70 6c 65 74 65 64 20 73 75 63 63 65 73  completed succes
4130: 73 66 75 6c 6c 79 20 6f 6e 20 61 6e 20 69 6e 73  sfully on an ins
4140: 74 61 6e 63 65 2e 0d 0a 20 20 20 20 20 20 20 20  tance...        
4150: 20 20 20 20 20 20 54 68 65 73 65 20 63 6f 75 6e        These coun
4160: 74 73 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20  ts are intended 
4170: 74 6f 20 62 65 20 75 73 65 64 20 62 79 20 74 68  to be used by th
4180: 65 20 74 65 73 74 20 73 75 69 74 65 20 74 6f 20  e test suite to 
4190: 64 65 74 65 63 74 0d 0a 20 20 20 20 20 20 20 20  detect..        
41a0: 20 20 20 20 20 20 70 6f 73 73 69 62 6c 65 20 72        possible r
41b0: 65 73 6f 75 72 63 65 20 6c 65 61 6b 73 2e 0d 0a  esource leaks...
41c0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 43 6f      -->..    <Co
41d0: 75 6e 74 48 61 6e 64 6c 65 20 43 6f 6e 64 69 74  untHandle Condit
41e0: 69 6f 6e 3d 22 27 24 28 43 6f 75 6e 74 48 61 6e  ion="'$(CountHan
41f0: 64 6c 65 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c  dle)' == ''">fal
4200: 73 65 3c 2f 43 6f 75 6e 74 48 61 6e 64 6c 65 3e  se</CountHandle>
4210: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
4220: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
4230: 6c 65 20 74 72 61 63 6b 69 6e 67 20 6f 66 20 61  le tracking of a
4240: 6c 6c 20 6f 75 74 73 74 61 6e 64 69 6e 67 20 62  ll outstanding b
4250: 79 74 65 73 20 61 6c 6c 6f 63 61 74 65 64 20 62  ytes allocated b
4260: 79 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20  y the..         
4270: 20 20 20 20 20 53 51 4c 69 74 65 4d 65 6d 6f 72       SQLiteMemor
4280: 79 20 63 6c 61 73 73 2e 20 20 42 79 20 64 65 66  y class.  By def
4290: 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69  ault, this is di
42a0: 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73  sabled.  If this
42b0: 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20   is..           
42c0: 20 20 20 65 6e 61 62 6c 65 64 2c 20 74 68 69 73     enabled, this
42d0: 20 6c 69 62 72 61 72 79 20 77 69 6c 6c 20 6b 65   library will ke
42e0: 65 70 20 74 72 61 63 6b 20 6f 66 20 61 6c 6c 20  ep track of all 
42f0: 6f 75 74 73 74 61 6e 64 69 6e 67 20 62 79 74 65  outstanding byte
4300: 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  s..             
4310: 20 61 6c 6c 6f 63 61 74 65 64 20 62 79 20 74 68   allocated by th
4320: 65 20 53 51 4c 69 74 65 4d 65 6d 6f 72 79 20 63  e SQLiteMemory c
4330: 6c 61 73 73 2e 20 20 54 68 69 73 20 68 61 73 20  lass.  This has 
4340: 74 68 65 20 70 6f 74 65 6e 74 69 61 6c 20 74 6f  the potential to
4350: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
4360: 73 6c 6f 77 20 64 6f 77 6e 20 74 68 65 20 6c 69  slow down the li
4370: 62 72 61 72 79 20 61 20 62 69 74 2e 0d 0a 20 20  brary a bit...  
4380: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61 63    -->..    <Trac
4390: 6b 4d 65 6d 6f 72 79 42 79 74 65 73 20 43 6f 6e  kMemoryBytes Con
43a0: 64 69 74 69 6f 6e 3d 22 27 24 28 54 72 61 63 6b  dition="'$(Track
43b0: 4d 65 6d 6f 72 79 42 79 74 65 73 29 27 20 3d 3d  MemoryBytes)' ==
43c0: 20 27 27 22 3e 66 61 6c 73 65 3c 2f 54 72 61 63   ''">false</Trac
43d0: 6b 4d 65 6d 6f 72 79 42 79 74 65 73 3e 0d 0a 0d  kMemoryBytes>...
43e0: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
43f0: 20 20 20 4e 4f 54 45 3a 20 46 6f 72 20 69 6e 74     NOTE: For int
4400: 65 72 61 63 74 69 6f 6e 20 77 69 74 68 20 74 68  eraction with th
4410: 65 20 6e 61 74 69 76 65 20 53 51 4c 69 74 65 20  e native SQLite 
4420: 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c 20  implementation, 
4430: 75 73 65 20 74 68 65 0d 0a 20 20 20 20 20 20 20  use the..       
4440: 20 20 20 20 20 20 20 63 75 73 74 6f 6d 20 62 75         custom bu
4450: 69 6c 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20  ilt interop DLL 
4460: 28 69 2e 65 2e 20 22 53 51 4c 69 74 65 2e 49 6e  (i.e. "SQLite.In
4470: 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79  terop.dll")?  By
4480: 20 64 65 66 61 75 6c 74 2c 0d 0a 20 20 20 20 20   default,..     
4490: 20 20 20 20 20 20 20 20 20 74 68 69 73 20 69 73           this is
44a0: 20 65 6e 61 62 6c 65 64 2e 20 20 54 68 69 73 20   enabled.  This 
44b0: 70 72 6f 70 65 72 74 79 20 69 73 20 6d 75 74 75  property is mutu
44c0: 61 6c 6c 79 20 65 78 63 6c 75 73 69 76 65 20 77  ally exclusive w
44d0: 69 74 68 20 74 68 65 0d 0a 20 20 20 20 20 20 20  ith the..       
44e0: 20 20 20 20 20 20 20 22 55 73 65 53 71 6c 69 74         "UseSqlit
44f0: 65 53 74 61 6e 64 61 72 64 22 20 6f 6e 65 2c 20  eStandard" one, 
4500: 62 65 6c 6f 77 2e 20 20 54 68 69 73 20 73 68 6f  below.  This sho
4510: 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 64 69  uld always be di
4520: 73 61 62 6c 65 64 20 69 6e 0d 0a 20 20 20 20 20  sabled in..     
4530: 20 20 20 20 20 20 20 20 20 74 68 65 20 70 72 6f           the pro
4540: 6a 65 63 74 20 66 69 6c 65 20 74 68 61 74 20 62  ject file that b
4550: 75 69 6c 64 73 20 74 68 65 20 4e 65 74 4d 6f 64  uilds the NetMod
4560: 75 6c 65 20 74 61 72 67 65 74 2e 0d 0a 20 20 20  ule target...   
4570: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 55 73 65 49 6e   -->..    <UseIn
4580: 74 65 72 6f 70 44 6c 6c 20 43 6f 6e 64 69 74 69  teropDll Conditi
4590: 6f 6e 3d 22 27 24 28 55 73 65 49 6e 74 65 72 6f  on="'$(UseIntero
45a0: 70 44 6c 6c 29 27 20 3d 3d 20 27 27 22 3e 74 72  pDll)' == ''">tr
45b0: 75 65 3c 2f 55 73 65 49 6e 74 65 72 6f 70 44 6c  ue</UseInteropDl
45c0: 6c 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  l>....    <!--..
45d0: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 46 6f          NOTE: Fo
45e0: 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 77 69  r interaction wi
45f0: 74 68 20 74 68 65 20 6e 61 74 69 76 65 20 53 51  th the native SQ
4600: 4c 69 74 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74  Lite implementat
4610: 69 6f 6e 2c 20 75 73 65 20 74 68 65 0d 0a 20 20  ion, use the..  
4620: 20 20 20 20 20 20 20 20 20 20 20 20 73 71 6c 69              sqli
4630: 74 65 33 5f 70 72 65 70 61 72 65 5f 76 32 28 29  te3_prepare_v2()
4640: 20 66 75 6e 63 74 69 6f 6e 20 77 68 65 6e 20 70   function when p
4650: 72 65 70 61 72 69 6e 67 20 71 75 65 72 69 65 73  reparing queries
4660: 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c 0d 0a  ?  By default,..
4670: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68                th
4680: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2e 20 20  is is enabled.  
4690: 57 68 65 6e 20 75 73 69 6e 67 20 61 20 6e 61 74  When using a nat
46a0: 69 76 65 20 53 51 4c 69 74 65 20 69 6d 70 6c 65  ive SQLite imple
46b0: 6d 65 6e 74 61 74 69 6f 6e 20 70 72 69 6f 72 0d  mentation prior.
46c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74  .              t
46d0: 6f 20 76 65 72 73 69 6f 6e 20 33 2e 33 2e 39 2c  o version 3.3.9,
46e0: 20 74 68 69 73 20 6d 75 73 74 20 62 65 20 64 69   this must be di
46f0: 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e  sabled...    -->
4700: 0d 0a 20 20 20 20 3c 55 73 65 50 72 65 70 61 72  ..    <UsePrepar
4710: 65 56 32 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  eV2 Condition="'
4720: 24 28 55 73 65 50 72 65 70 61 72 65 56 32 29 27  $(UsePrepareV2)'
4730: 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c 2f 55 73   == ''">true</Us
4740: 65 50 72 65 70 61 72 65 56 32 3e 0d 0a 0d 0a 20  ePrepareV2>.... 
4750: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
4760: 20 4e 4f 54 45 3a 20 46 6f 72 20 69 6e 74 65 72   NOTE: For inter
4770: 61 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20  action with the 
4780: 6e 61 74 69 76 65 20 53 51 4c 69 74 65 20 69 6d  native SQLite im
4790: 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c 20 75 73  plementation, us
47a0: 65 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20  e the..         
47b0: 20 20 20 20 20 73 74 61 6e 64 61 72 64 20 44 4c       standard DL
47c0: 4c 20 28 69 2e 65 2e 20 22 73 71 6c 69 74 65 33  L (i.e. "sqlite3
47d0: 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61  .dll")?  By defa
47e0: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
47f0: 61 62 6c 65 64 2e 0d 0a 20 20 20 20 20 20 20 20  abled...        
4800: 20 20 20 20 20 20 54 68 69 73 20 70 72 6f 70 65        This prope
4810: 72 74 79 20 69 73 20 6d 75 74 75 61 6c 6c 79 20  rty is mutually 
4820: 65 78 63 6c 75 73 69 76 65 20 77 69 74 68 20 74  exclusive with t
4830: 68 65 20 22 55 73 65 49 6e 74 65 72 6f 70 44 6c  he "UseInteropDl
4840: 6c 22 20 6f 6e 65 2c 0d 0a 20 20 20 20 20 20 20  l" one,..       
4850: 20 20 20 20 20 20 20 61 62 6f 76 65 2e 20 20 54         above.  T
4860: 68 69 73 20 73 68 6f 75 6c 64 20 61 6c 77 61 79  his should alway
4870: 73 20 62 65 20 64 69 73 61 62 6c 65 64 20 69 6e  s be disabled in
4880: 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69 6c   the project fil
4890: 65 20 74 68 61 74 0d 0a 20 20 20 20 20 20 20 20  e that..        
48a0: 20 20 20 20 20 20 62 75 69 6c 64 73 20 74 68 65        builds the
48b0: 20 4e 65 74 4d 6f 64 75 6c 65 20 74 61 72 67 65   NetModule targe
48c0: 74 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20  t...    -->..   
48d0: 20 3c 55 73 65 53 71 6c 69 74 65 53 74 61 6e 64   <UseSqliteStand
48e0: 61 72 64 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  ard Condition="'
48f0: 24 28 55 73 65 53 71 6c 69 74 65 53 74 61 6e 64  $(UseSqliteStand
4900: 61 72 64 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c  ard)' == ''">fal
4910: 73 65 3c 2f 55 73 65 53 71 6c 69 74 65 53 74 61  se</UseSqliteSta
4920: 6e 64 61 72 64 3e 0d 0a 0d 0a 20 20 20 20 3c 21  ndard>....    <!
4930: 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45  --..        NOTE
4940: 3a 20 49 73 20 74 68 65 20 70 72 6f 6a 65 63 74  : Is the project
4950: 20 62 65 69 6e 67 20 62 75 69 6c 74 20 74 6f 20   being built to 
4960: 73 75 70 70 6f 72 74 20 74 68 65 20 2e 4e 45 54  support the .NET
4970: 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f   Compact Framewo
4980: 72 6b 3f 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  rk?..    -->..  
4990: 20 20 3c 49 73 43 6f 6d 70 61 63 74 46 72 61 6d    <IsCompactFram
49a0: 65 77 6f 72 6b 20 43 6f 6e 64 69 74 69 6f 6e 3d  ework Condition=
49b0: 22 27 24 28 49 73 43 6f 6d 70 61 63 74 46 72 61  "'$(IsCompactFra
49c0: 6d 65 77 6f 72 6b 29 27 20 3d 3d 20 27 27 22 3e  mework)' == ''">
49d0: 66 61 6c 73 65 3c 2f 49 73 43 6f 6d 70 61 63 74  false</IsCompact
49e0: 46 72 61 6d 65 77 6f 72 6b 3e 0d 0a 0d 0a 20 20  Framework>....  
49f0: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
4a00: 4e 4f 54 45 3a 20 45 6d 69 74 20 61 6e 20 41 73  NOTE: Emit an As
4a10: 73 65 6d 62 6c 79 46 6c 61 67 73 20 61 74 74 72  semblyFlags attr
4a20: 69 62 75 74 65 20 74 68 61 74 20 69 6e 63 6c 75  ibute that inclu
4a30: 64 65 73 20 74 68 65 20 52 65 74 61 72 67 65 74  des the Retarget
4a40: 61 62 6c 65 0d 0a 20 20 20 20 20 20 20 20 20 20  able..          
4a50: 20 20 20 20 66 6c 61 67 20 66 72 6f 6d 20 74 68      flag from th
4a60: 65 20 41 73 73 65 6d 62 6c 79 4e 61 6d 65 46 6c  e AssemblyNameFl
4a70: 61 67 73 20 65 6e 75 6d 65 72 61 74 69 6f 6e 3f  ags enumeration?
4a80: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
4a90: 49 73 52 65 74 61 72 67 65 74 61 62 6c 65 20 43  IsRetargetable C
4aa0: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 73 52  ondition="'$(IsR
4ab0: 65 74 61 72 67 65 74 61 62 6c 65 29 27 20 3d 3d  etargetable)' ==
4ac0: 20 27 27 22 3e 66 61 6c 73 65 3c 2f 49 73 52 65   ''">false</IsRe
4ad0: 74 61 72 67 65 74 61 62 6c 65 3e 0d 0a 0d 0a 20  targetable>.... 
4ae0: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
4af0: 20 4e 4f 54 45 3a 20 54 68 72 6f 77 20 61 6e 20   NOTE: Throw an 
4b00: 65 78 63 65 70 74 69 6f 6e 20 69 66 20 61 6e 20  exception if an 
4b10: 6f 62 6a 65 63 74 20 68 61 73 20 61 6c 72 65 61  object has alrea
4b20: 64 79 20 62 65 65 6e 20 64 69 73 70 6f 73 65 64  dy been disposed
4b30: 3f 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20  ?  By..         
4b40: 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68       default, th
4b50: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2e 20 20  is is enabled.  
4b60: 49 66 20 74 68 69 73 20 69 73 20 64 69 73 61 62  If this is disab
4b70: 6c 65 64 2c 20 61 6e 20 65 78 63 65 70 74 69 6f  led, an exceptio
4b80: 6e 20 77 69 6c 6c 0d 0a 20 20 20 20 20 20 20 20  n will..        
4b90: 20 20 20 20 20 20 6e 6f 74 20 62 65 20 74 68 72        not be thr
4ba0: 6f 77 6e 20 77 68 65 6e 20 61 20 53 51 4c 69 74  own when a SQLit
4bb0: 65 20 6f 62 6a 65 63 74 20 77 68 69 63 68 20 68  e object which h
4bc0: 61 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20  as already been 
4bd0: 64 69 73 70 6f 73 65 64 0d 0a 20 20 20 20 20 20  disposed..      
4be0: 20 20 20 20 20 20 20 20 69 73 20 61 63 63 65 73          is acces
4bf0: 73 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  sed...    -->.. 
4c00: 20 20 20 3c 54 68 72 6f 77 4f 6e 44 69 73 70 6f     <ThrowOnDispo
4c10: 73 65 64 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  sed Condition="'
4c20: 24 28 54 68 72 6f 77 4f 6e 44 69 73 70 6f 73 65  $(ThrowOnDispose
4c30: 64 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c  d)' == ''">true<
4c40: 2f 54 68 72 6f 77 4f 6e 44 69 73 70 6f 73 65 64  /ThrowOnDisposed
4c50: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
4c60: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 2a 45 58         NOTE: *EX
4c70: 50 45 52 49 4d 45 4e 54 41 4c 2a 20 41 74 74 65  PERIMENTAL* Atte
4c80: 6d 70 74 20 74 6f 20 70 72 65 2d 6c 6f 61 64 20  mpt to pre-load 
4c90: 74 68 65 20 6e 61 74 69 76 65 20 53 51 4c 69 74  the native SQLit
4ca0: 65 20 6c 69 62 72 61 72 79 3f 20 20 42 79 0d 0a  e library?  By..
4cb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65                de
4cc0: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65  fault, this is e
4cd0: 6e 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73  nabled.  If this
4ce0: 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 6e 6f   is disabled, no
4cf0: 20 61 74 74 65 6d 70 74 20 77 69 6c 6c 20 62 65   attempt will be
4d00: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
4d10: 6d 61 64 65 20 74 6f 20 70 72 65 2d 6c 6f 61 64  made to pre-load
4d20: 20 74 68 65 20 6e 61 74 69 76 65 20 53 51 4c 69   the native SQLi
4d30: 74 65 20 6c 69 62 72 61 72 79 20 61 70 70 72 6f  te library appro
4d40: 70 72 69 61 74 65 20 74 6f 20 74 68 65 0d 0a 20  priate to the.. 
4d50: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f               pro
4d60: 63 65 73 73 6f 72 20 61 72 63 68 69 74 65 63 74  cessor architect
4d70: 75 72 65 20 6f 66 20 74 68 65 20 63 75 72 72 65  ure of the curre
4d80: 6e 74 6c 79 20 72 75 6e 6e 69 6e 67 20 70 72 6f  ntly running pro
4d90: 63 65 73 73 20 75 70 6f 6e 20 75 73 69 6e 67 0d  cess upon using.
4da0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74  .              t
4db0: 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 2e 20 20 54  he component.  T
4dc0: 68 69 73 20 66 65 61 74 75 72 65 20 69 73 20 65  his feature is e
4dd0: 78 70 65 72 69 6d 65 6e 74 61 6c 20 61 6e 64 20  xperimental and 
4de0: 6d 61 79 20 62 65 20 6d 6f 64 69 66 69 65 64 0d  may be modified.
4df0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f  .              o
4e00: 72 20 72 65 6d 6f 76 65 64 20 69 6e 20 61 20 66  r removed in a f
4e10: 75 74 75 72 65 20 72 65 6c 65 61 73 65 2e 0d 0a  uture release...
4e20: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 50 72      -->..    <Pr
4e30: 65 4c 6f 61 64 4e 61 74 69 76 65 4c 69 62 72 61  eLoadNativeLibra
4e40: 72 79 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  ry Condition="'$
4e50: 28 50 72 65 4c 6f 61 64 4e 61 74 69 76 65 4c 69  (PreLoadNativeLi
4e60: 62 72 61 72 79 29 27 20 3d 3d 20 27 27 22 3e 74  brary)' == ''">t
4e70: 72 75 65 3c 2f 50 72 65 4c 6f 61 64 4e 61 74 69  rue</PreLoadNati
4e80: 76 65 4c 69 62 72 61 72 79 3e 0d 0a 0d 0a 20 20  veLibrary>....  
4e90: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
4ea0: 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 75 73 69  NOTE: Enable usi
4eb0: 6e 67 20 74 68 65 20 22 77 65 6c 6c 2d 6b 6e 6f  ng the "well-kno
4ec0: 77 6e 22 20 65 78 74 65 6e 73 69 6f 6e 20 66 75  wn" extension fu
4ed0: 6e 63 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65  nctions from the
4ee0: 20 63 75 73 74 6f 6d 0d 0a 20 20 20 20 20 20 20   custom..       
4ef0: 20 20 20 20 20 20 20 62 75 69 6c 74 20 69 6e 74         built int
4f00: 65 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 20 22  erop DLL (i.e. "
4f10: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64  SQLite.Interop.d
4f20: 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c  ll")?  By defaul
4f30: 74 2c 20 74 68 69 73 0d 0a 20 20 20 20 20 20 20  t, this..       
4f40: 20 20 20 20 20 20 20 69 73 20 65 6e 61 62 6c 65         is enable
4f50: 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 64  d.  If this is d
4f60: 69 73 61 62 6c 65 64 2c 20 74 68 65 20 22 77 65  isabled, the "we
4f70: 6c 6c 2d 6b 6e 6f 77 6e 22 20 65 78 74 65 6e 73  ll-known" extens
4f80: 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ion..           
4f90: 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 77 69 6c     functions wil
4fa0: 6c 20 62 65 20 75 6e 61 76 61 69 6c 61 62 6c 65  l be unavailable
4fb0: 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 65 6e  .  If this is en
4fc0: 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61  abled, it must a
4fd0: 6c 73 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20  lso..           
4fe0: 20 20 20 62 65 20 65 6e 61 62 6c 65 64 20 76 69     be enabled vi
4ff0: 61 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45  a the "INTEROP_E
5000: 58 54 45 4e 53 49 4f 4e 5f 46 55 4e 43 54 49 4f  XTENSION_FUNCTIO
5010: 4e 53 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73  NS=1" preprocess
5020: 6f 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  or..            
5030: 20 20 64 65 66 69 6e 65 20 62 65 69 6e 67 20 70    define being p
5040: 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 22 49  resent in the "I
5050: 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f 44 45 46  NTEROP_EXTRA_DEF
5060: 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74  INES" macro in t
5070: 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  he..            
5080: 20 20 62 75 69 6c 64 20 70 72 6f 70 65 72 74 69    build properti
5090: 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20  es file:....    
50a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
50b0: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72  QLite.Interop\pr
50c0: 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72  ops\SQLite.Inter
50d0: 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70  op.20YY.[vs]prop
50e0: 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  s"....          
50f0: 20 20 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72      for the corr
5100: 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f  esponding versio
5110: 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53  n(s) of Visual S
5120: 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  tudio...    -->.
5130: 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 45 78 74  .    <InteropExt
5140: 65 6e 73 69 6f 6e 46 75 6e 63 74 69 6f 6e 73 20  ensionFunctions 
5150: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e  Condition="'$(In
5160: 74 65 72 6f 70 45 78 74 65 6e 73 69 6f 6e 46 75  teropExtensionFu
5170: 6e 63 74 69 6f 6e 73 29 27 20 3d 3d 20 27 27 22  nctions)' == ''"
5180: 3e 74 72 75 65 3c 2f 49 6e 74 65 72 6f 70 45 78  >true</InteropEx
5190: 74 65 6e 73 69 6f 6e 46 75 6e 63 74 69 6f 6e 73  tensionFunctions
51a0: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
51b0: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61         NOTE: Ena
51c0: 62 6c 65 20 74 68 65 20 46 54 53 35 20 65 78 74  ble the FTS5 ext
51d0: 65 6e 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20  ension from the 
51e0: 63 75 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74  custom built int
51f0: 65 72 6f 70 20 44 4c 4c 0d 0a 20 20 20 20 20 20  erop DLL..      
5200: 20 20 20 20 20 20 20 20 28 69 2e 65 2e 20 22 53          (i.e. "S
5210: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c  QLite.Interop.dl
5220: 6c 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74  l")?  By default
5230: 2c 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65  , this is enable
5240: 64 2e 20 20 49 66 0d 0a 20 20 20 20 20 20 20 20  d.  If..        
5250: 20 20 20 20 20 20 74 68 69 73 20 69 73 20 64 69        this is di
5260: 73 61 62 6c 65 64 2c 20 74 68 65 20 46 54 53 35  sabled, the FTS5
5270: 20 65 78 74 65 6e 73 69 6f 6e 20 77 69 6c 6c 20   extension will 
5280: 62 65 20 75 6e 61 76 61 69 6c 61 62 6c 65 2e 20  be unavailable. 
5290: 20 49 66 0d 0a 20 20 20 20 20 20 20 20 20 20 20   If..           
52a0: 20 20 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c     this is enabl
52b0: 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73 6f  ed, it must also
52c0: 20 62 65 20 65 6e 61 62 6c 65 64 20 76 69 61 20   be enabled via 
52d0: 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  the..           
52e0: 20 20 20 22 49 4e 54 45 52 4f 50 5f 46 54 53 35     "INTEROP_FTS5
52f0: 5f 45 58 54 45 4e 53 49 4f 4e 3d 31 22 20 70 72  _EXTENSION=1" pr
5300: 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e  eprocessor defin
5310: 65 20 62 65 69 6e 67 0d 0a 20 20 20 20 20 20 20  e being..       
5320: 20 20 20 20 20 20 20 70 72 65 73 65 6e 74 20 69         present i
5330: 6e 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45  n the "INTEROP_E
5340: 58 54 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61  XTRA_DEFINES" ma
5350: 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64  cro in the build
5360: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
5370: 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a  properties file:
5380: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
5390: 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e        "SQLite.In
53a0: 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69  terop\props\SQLi
53b0: 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e  te.Interop.20YY.
53c0: 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20  [vs]props"....  
53d0: 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20              for 
53e0: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
53f0: 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20  g version(s) of 
5400: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a  Visual Studio...
5410: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e      -->..    <In
5420: 74 65 72 6f 70 46 74 73 35 45 78 74 65 6e 73 69  teropFts5Extensi
5430: 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  on Condition="'$
5440: 28 49 6e 74 65 72 6f 70 46 74 73 35 45 78 74 65  (InteropFts5Exte
5450: 6e 73 69 6f 6e 29 27 20 3d 3d 20 27 27 22 3e 74  nsion)' == ''">t
5460: 72 75 65 3c 2f 49 6e 74 65 72 6f 70 46 74 73 35  rue</InteropFts5
5470: 45 78 74 65 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20  Extension>....  
5480: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
5490: 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 68 65  NOTE: Enable the
54a0: 20 4a 53 4f 4e 20 65 78 74 65 6e 73 69 6f 6e 20   JSON extension 
54b0: 66 72 6f 6d 20 74 68 65 20 63 75 73 74 6f 6d 20  from the custom 
54c0: 62 75 69 6c 74 20 69 6e 74 65 72 6f 70 20 44 4c  built interop DL
54d0: 4c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  L..             
54e0: 20 28 69 2e 65 2e 20 22 53 51 4c 69 74 65 2e 49   (i.e. "SQLite.I
54f0: 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42  nterop.dll")?  B
5500: 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20  y default, this 
5510: 69 73 20 65 6e 61 62 6c 65 64 2e 20 20 49 66 0d  is enabled.  If.
5520: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74  .              t
5530: 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c  his is disabled,
5540: 20 74 68 65 20 4a 53 4f 4e 20 65 78 74 65 6e 73   the JSON extens
5550: 69 6f 6e 20 77 69 6c 6c 20 62 65 20 75 6e 61 76  ion will be unav
5560: 61 69 6c 61 62 6c 65 2e 20 20 49 66 0d 0a 20 20  ailable.  If..  
5570: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
5580: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20   is enabled, it 
5590: 6d 75 73 74 20 61 6c 73 6f 20 62 65 20 65 6e 61  must also be ena
55a0: 62 6c 65 64 20 76 69 61 20 74 68 65 0d 0a 20 20  bled via the..  
55b0: 20 20 20 20 20 20 20 20 20 20 20 20 22 49 4e 54              "INT
55c0: 45 52 4f 50 5f 4a 53 4f 4e 31 5f 45 58 54 45 4e  EROP_JSON1_EXTEN
55d0: 53 49 4f 4e 3d 31 22 20 70 72 65 70 72 6f 63 65  SION=1" preproce
55e0: 73 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69 6e  ssor define bein
55f0: 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  g..             
5600: 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20   present in the 
5610: 22 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f 44  "INTEROP_EXTRA_D
5620: 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e  EFINES" macro in
5630: 20 74 68 65 20 62 75 69 6c 64 0d 0a 20 20 20 20   the build..    
5640: 20 20 20 20 20 20 20 20 20 20 70 72 6f 70 65 72            proper
5650: 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20  ties file:....  
5660: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5670: 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c  "SQLite.Interop\
5680: 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74  props\SQLite.Int
5690: 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72  erop.20YY.[vs]pr
56a0: 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ops"....        
56b0: 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 63 6f        for the co
56c0: 72 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73  rresponding vers
56d0: 69 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c  ion(s) of Visual
56e0: 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d   Studio...    --
56f0: 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 4a  >..    <InteropJ
5700: 73 6f 6e 31 45 78 74 65 6e 73 69 6f 6e 20 43 6f  son1Extension Co
5710: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65  ndition="'$(Inte
5720: 72 6f 70 4a 73 6f 6e 31 45 78 74 65 6e 73 69 6f  ropJson1Extensio
5730: 6e 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c  n)' == ''">true<
5740: 2f 49 6e 74 65 72 6f 70 4a 73 6f 6e 31 45 78 74  /InteropJson1Ext
5750: 65 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20 20 20 3c  ension>....    <
5760: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
5770: 45 3a 20 45 6e 61 62 6c 65 20 74 68 65 20 70 65  E: Enable the pe
5780: 72 63 65 6e 74 69 6c 65 20 65 78 74 65 6e 73 69  rcentile extensi
5790: 6f 6e 20 66 72 6f 6d 20 74 68 65 20 63 75 73 74  on from the cust
57a0: 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65 72 6f 70  om built interop
57b0: 20 44 4c 4c 0d 0a 20 20 20 20 20 20 20 20 20 20   DLL..          
57c0: 20 20 20 20 28 69 2e 65 2e 20 22 53 51 4c 69 74      (i.e. "SQLit
57d0: 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f  e.Interop.dll")?
57e0: 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68    By default, th
57f0: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2e 20 20  is is enabled.  
5800: 49 66 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  If..            
5810: 20 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c    this is disabl
5820: 65 64 2c 20 74 68 65 20 70 65 72 63 65 6e 74 69  ed, the percenti
5830: 6c 65 20 65 78 74 65 6e 73 69 6f 6e 20 77 69 6c  le extension wil
5840: 6c 20 62 65 20 75 6e 61 76 61 69 6c 61 62 6c 65  l be unavailable
5850: 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
5860: 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62   If this is enab
5870: 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73  led, it must als
5880: 6f 20 62 65 20 65 6e 61 62 6c 65 64 20 76 69 61  o be enabled via
5890: 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20   the..          
58a0: 20 20 20 20 22 49 4e 54 45 52 4f 50 5f 50 45 52      "INTEROP_PER
58b0: 43 45 4e 54 49 4c 45 5f 45 58 54 45 4e 53 49 4f  CENTILE_EXTENSIO
58c0: 4e 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f  N=1" preprocesso
58d0: 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67 0d 0a  r define being..
58e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
58f0: 65 73 65 6e 74 20 69 6e 20 74 68 65 20 22 49 4e  esent in the "IN
5900: 54 45 52 4f 50 5f 45 58 54 52 41 5f 44 45 46 49  TEROP_EXTRA_DEFI
5910: 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68  NES" macro in th
5920: 65 20 62 75 69 6c 64 0d 0a 20 20 20 20 20 20 20  e build..       
5930: 20 20 20 20 20 20 20 70 72 6f 70 65 72 74 69 65         propertie
5940: 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20  s file:....     
5950: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51               "SQ
5960: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f  Lite.Interop\pro
5970: 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f  ps\SQLite.Intero
5980: 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73  p.20YY.[vs]props
5990: 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  "....           
59a0: 20 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65     for the corre
59b0: 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e  sponding version
59c0: 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74  (s) of Visual St
59d0: 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  udio...    -->..
59e0: 20 20 20 20 3c 49 6e 74 65 72 6f 70 50 65 72 63      <InteropPerc
59f0: 65 6e 74 69 6c 65 45 78 74 65 6e 73 69 6f 6e 20  entileExtension 
5a00: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e  Condition="'$(In
5a10: 74 65 72 6f 70 50 65 72 63 65 6e 74 69 6c 65 45  teropPercentileE
5a20: 78 74 65 6e 73 69 6f 6e 29 27 20 3d 3d 20 27 27  xtension)' == ''
5a30: 22 3e 74 72 75 65 3c 2f 49 6e 74 65 72 6f 70 50  ">true</InteropP
5a40: 65 72 63 65 6e 74 69 6c 65 45 78 74 65 6e 73 69  ercentileExtensi
5a50: 6f 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d  on>....    <!--.
5a60: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45  .        NOTE: E
5a70: 6e 61 62 6c 65 20 74 68 65 20 72 65 67 75 6c 61  nable the regula
5a80: 72 20 65 78 70 72 65 73 73 69 6f 6e 20 65 78 74  r expression ext
5a90: 65 6e 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20  ension from the 
5aa0: 63 75 73 74 6f 6d 20 62 75 69 6c 74 0d 0a 20 20  custom built..  
5ab0: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65              inte
5ac0: 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 20 22 53  rop DLL (i.e. "S
5ad0: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c  QLite.Interop.dl
5ae0: 6c 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74  l")?  By default
5af0: 2c 20 74 68 69 73 20 69 73 0d 0a 20 20 20 20 20  , this is..     
5b00: 20 20 20 20 20 20 20 20 20 65 6e 61 62 6c 65 64           enabled
5b10: 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 64 69  .  If this is di
5b20: 73 61 62 6c 65 64 2c 20 74 68 65 20 72 65 67 75  sabled, the regu
5b30: 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 65  lar expression e
5b40: 78 74 65 6e 73 69 6f 6e 0d 0a 20 20 20 20 20 20  xtension..      
5b50: 20 20 20 20 20 20 20 20 77 69 6c 6c 20 62 65 20          will be 
5b60: 75 6e 61 76 61 69 6c 61 62 6c 65 2e 20 20 49 66  unavailable.  If
5b70: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
5b80: 2c 20 69 74 20 6d 75 73 74 20 61 6c 73 6f 20 62  , it must also b
5b90: 65 20 65 6e 61 62 6c 65 64 0d 0a 20 20 20 20 20  e enabled..     
5ba0: 20 20 20 20 20 20 20 20 20 76 69 61 20 74 68 65           via the
5bb0: 20 22 49 4e 54 45 52 4f 50 5f 52 45 47 45 58 50   "INTEROP_REGEXP
5bc0: 5f 45 58 54 45 4e 53 49 4f 4e 3d 31 22 20 70 72  _EXTENSION=1" pr
5bd0: 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e  eprocessor defin
5be0: 65 20 62 65 69 6e 67 0d 0a 20 20 20 20 20 20 20  e being..       
5bf0: 20 20 20 20 20 20 20 70 72 65 73 65 6e 74 20 69         present i
5c00: 6e 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45  n the "INTEROP_E
5c10: 58 54 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61  XTRA_DEFINES" ma
5c20: 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64  cro in the build
5c30: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
5c40: 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a  properties file:
5c50: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
5c60: 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e        "SQLite.In
5c70: 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69  terop\props\SQLi
5c80: 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e  te.Interop.20YY.
5c90: 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20  [vs]props"....  
5ca0: 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20              for 
5cb0: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
5cc0: 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20  g version(s) of 
5cd0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a  Visual Studio...
5ce0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e      -->..    <In
5cf0: 74 65 72 6f 70 52 65 67 45 78 70 45 78 74 65 6e  teropRegExpExten
5d00: 73 69 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d 22  sion Condition="
5d10: 27 24 28 49 6e 74 65 72 6f 70 52 65 67 45 78 70  '$(InteropRegExp
5d20: 45 78 74 65 6e 73 69 6f 6e 29 27 20 3d 3d 20 27  Extension)' == '
5d30: 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65 72 6f 70  '">true</Interop
5d40: 52 65 67 45 78 70 45 78 74 65 6e 73 69 6f 6e 3e  RegExpExtension>
5d50: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
5d60: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
5d70: 6c 65 20 74 68 65 20 74 65 73 74 20 65 78 74 65  le the test exte
5d80: 6e 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 63  nsion from the c
5d90: 75 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65  ustom built inte
5da0: 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 0d 0a 20  rop DLL (i.e... 
5db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51               "SQ
5dc0: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c  Lite.Interop.dll
5dd0: 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c  ")?  By default,
5de0: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
5df0: 20 6f 6e 6c 79 20 69 6e 20 74 68 65 0d 0a 20 20   only in the..  
5e00: 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75              Debu
5e10: 67 20 62 75 69 6c 64 20 63 6f 6e 66 69 67 75 72  g build configur
5e20: 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 69 73 20  ation.  If this 
5e30: 69 73 20 64 69 73 61 62 6c 65 64 2c 20 74 68 65  is disabled, the
5e40: 20 74 65 73 74 0d 0a 20 20 20 20 20 20 20 20 20   test..         
5e50: 20 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 20 77       extension w
5e60: 69 6c 6c 20 62 65 20 75 6e 61 76 61 69 6c 61 62  ill be unavailab
5e70: 6c 65 2e 20 20 49 66 20 74 68 69 73 20 69 73 20  le.  If this is 
5e80: 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74  enabled, it must
5e90: 20 61 6c 73 6f 0d 0a 20 20 20 20 20 20 20 20 20   also..         
5ea0: 20 20 20 20 20 62 65 20 65 6e 61 62 6c 65 64 20       be enabled 
5eb0: 76 69 61 20 74 68 65 20 22 49 4e 54 45 52 4f 50  via the "INTEROP
5ec0: 5f 54 45 53 54 5f 45 58 54 45 4e 53 49 4f 4e 3d  _TEST_EXTENSION=
5ed0: 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20  1" preprocessor 
5ee0: 64 65 66 69 6e 65 0d 0a 20 20 20 20 20 20 20 20  define..        
5ef0: 20 20 20 20 20 20 62 65 69 6e 67 20 70 72 65 73        being pres
5f00: 65 6e 74 20 69 6e 20 74 68 65 20 22 49 4e 54 45  ent in the "INTE
5f10: 52 4f 50 5f 44 45 42 55 47 5f 44 45 46 49 4e 45  ROP_DEBUG_DEFINE
5f20: 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20  S" macro in the 
5f30: 62 75 69 6c 64 0d 0a 20 20 20 20 20 20 20 20 20  build..         
5f40: 20 20 20 20 20 70 72 6f 70 65 72 74 69 65 73 20       properties 
5f50: 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20  file:....       
5f60: 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69             "SQLi
5f70: 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73  te.Interop\props
5f80: 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e  \SQLite.Interop.
5f90: 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d  20YY.[vs]props".
5fa0: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
5fb0: 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70   for the corresp
5fc0: 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 28 73  onding version(s
5fd0: 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74 75 64  ) of Visual Stud
5fe0: 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  io...    -->..  
5ff0: 20 20 3c 49 6e 74 65 72 6f 70 54 65 73 74 45 78    <InteropTestEx
6000: 74 65 6e 73 69 6f 6e 20 43 6f 6e 64 69 74 69 6f  tension Conditio
6010: 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 54 65 73  n="'$(InteropTes
6020: 74 45 78 74 65 6e 73 69 6f 6e 29 27 20 3d 3d 20  tExtension)' == 
6030: 27 27 20 41 6e 64 20 27 24 28 43 6f 6e 66 69 67  '' And '$(Config
6040: 75 72 61 74 69 6f 6e 29 27 20 3d 3d 20 27 44 65  uration)' == 'De
6050: 62 75 67 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65  bug'">true</Inte
6060: 72 6f 70 54 65 73 74 45 78 74 65 6e 73 69 6f 6e  ropTestExtension
6070: 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 54  >..    <InteropT
6080: 65 73 74 45 78 74 65 6e 73 69 6f 6e 20 43 6f 6e  estExtension Con
6090: 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72  dition="'$(Inter
60a0: 6f 70 54 65 73 74 45 78 74 65 6e 73 69 6f 6e 29  opTestExtension)
60b0: 27 20 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 43  ' == '' And '$(C
60c0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 27 20 21  onfiguration)' !
60d0: 3d 20 27 44 65 62 75 67 27 22 3e 66 61 6c 73 65  = 'Debug'">false
60e0: 3c 2f 49 6e 74 65 72 6f 70 54 65 73 74 45 78 74  </InteropTestExt
60f0: 65 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20 20 20 3c  ension>....    <
6100: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
6110: 45 3a 20 45 6e 61 62 6c 65 20 74 68 65 20 6e 75  E: Enable the nu
6120: 6d 65 72 69 63 20 74 79 70 65 20 63 68 65 63 6b  meric type check
6130: 69 6e 67 20 65 78 74 65 6e 73 69 6f 6e 20 66 72  ing extension fr
6140: 6f 6d 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75  om the custom bu
6150: 69 6c 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ilt..           
6160: 20 20 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28     interop DLL (
6170: 69 2e 65 2e 20 22 53 51 4c 69 74 65 2e 49 6e 74  i.e. "SQLite.Int
6180: 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20  erop.dll")?  By 
6190: 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73  default, this is
61a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
61b0: 65 6e 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69  enabled.  If thi
61c0: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 74  s is disabled, t
61d0: 68 65 20 6e 75 6d 65 72 69 63 20 74 79 70 65 20  he numeric type 
61e0: 63 68 65 63 6b 69 6e 67 0d 0a 20 20 20 20 20 20  checking..      
61f0: 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 69 6f          extensio
6200: 6e 20 77 69 6c 6c 20 62 65 20 75 6e 61 76 61 69  n will be unavai
6210: 6c 61 62 6c 65 2e 20 20 49 66 20 74 68 69 73 20  lable.  If this 
6220: 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d  is enabled, it m
6230: 75 73 74 20 61 6c 73 6f 0d 0a 20 20 20 20 20 20  ust also..      
6240: 20 20 20 20 20 20 20 20 62 65 20 65 6e 61 62 6c          be enabl
6250: 65 64 20 76 69 61 20 74 68 65 20 22 49 4e 54 45  ed via the "INTE
6260: 52 4f 50 5f 54 4f 54 59 50 45 5f 45 58 54 45 4e  ROP_TOTYPE_EXTEN
6270: 53 49 4f 4e 3d 31 22 20 70 72 65 70 72 6f 63 65  SION=1" preproce
6280: 73 73 6f 72 0d 0a 20 20 20 20 20 20 20 20 20 20  ssor..          
6290: 20 20 20 20 64 65 66 69 6e 65 20 62 65 69 6e 67      define being
62a0: 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20   present in the 
62b0: 22 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f 44  "INTEROP_EXTRA_D
62c0: 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e  EFINES" macro in
62d0: 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20   the..          
62e0: 20 20 20 20 62 75 69 6c 64 20 70 72 6f 70 65 72      build proper
62f0: 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20  ties file:....  
6300: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6310: 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c  "SQLite.Interop\
6320: 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74  props\SQLite.Int
6330: 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72  erop.20YY.[vs]pr
6340: 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ops"....        
6350: 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 63 6f        for the co
6360: 72 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73  rresponding vers
6370: 69 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c  ion(s) of Visual
6380: 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d   Studio...    --
6390: 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 54  >..    <InteropT
63a0: 6f 54 79 70 65 45 78 74 65 6e 73 69 6f 6e 20 43  oTypeExtension C
63b0: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74  ondition="'$(Int
63c0: 65 72 6f 70 54 6f 54 79 70 65 45 78 74 65 6e 73  eropToTypeExtens
63d0: 69 6f 6e 29 27 20 3d 3d 20 27 27 22 3e 74 72 75  ion)' == ''">tru
63e0: 65 3c 2f 49 6e 74 65 72 6f 70 54 6f 54 79 70 65  e</InteropToType
63f0: 45 78 74 65 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20  Extension>....  
6400: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
6410: 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 65 78 70  NOTE: Enable exp
6420: 6f 73 69 6e 67 20 74 68 65 20 43 72 79 70 74 6f  osing the Crypto
6430: 41 50 49 20 62 61 73 65 64 20 63 6f 64 65 63 20  API based codec 
6440: 66 72 6f 6d 20 74 68 65 20 63 75 73 74 6f 6d 20  from the custom 
6450: 62 75 69 6c 74 0d 0a 20 20 20 20 20 20 20 20 20  built..         
6460: 20 20 20 20 20 69 6e 74 65 72 6f 70 20 44 4c 4c       interop DLL
6470: 20 28 69 2e 65 2e 20 22 53 51 4c 69 74 65 2e 49   (i.e. "SQLite.I
6480: 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42  nterop.dll")?  B
6490: 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20  y default, this 
64a0: 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  is..            
64b0: 20 20 65 6e 61 62 6c 65 64 2e 20 20 49 66 20 74    enabled.  If t
64c0: 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c  his is disabled,
64d0: 20 73 75 70 70 6f 72 74 20 66 6f 72 20 65 6e 63   support for enc
64e0: 72 79 70 74 65 64 20 64 61 74 61 62 61 73 65 73  rypted databases
64f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
6500: 77 69 6c 6c 20 62 65 20 75 6e 61 76 61 69 6c 61  will be unavaila
6510: 62 6c 65 2e 20 20 49 66 20 74 68 69 73 20 69 73  ble.  If this is
6520: 20 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73   enabled, it mus
6530: 74 20 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65  t also be enable
6540: 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  d..             
6550: 20 76 69 61 20 74 68 65 20 22 53 51 4c 49 54 45   via the "SQLITE
6560: 5f 48 41 53 5f 43 4f 44 45 43 3d 31 22 20 70 72  _HAS_CODEC=1" pr
6570: 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e  eprocessor defin
6580: 65 20 62 65 69 6e 67 20 70 72 65 73 65 6e 74 20  e being present 
6590: 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  in..            
65a0: 20 20 74 68 65 20 22 53 51 4c 49 54 45 5f 45 58    the "SQLITE_EX
65b0: 54 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63  TRA_DEFINES" mac
65c0: 72 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64 20  ro in the build 
65d0: 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a  properties file:
65e0: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
65f0: 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e        "SQLite.In
6600: 74 65 72 6f 70 5c 70 72 6f 70 73 5c 73 71 6c 69  terop\props\sqli
6610: 74 65 33 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a  te3.[vs]props"..
6620: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
6630: 41 4e 44 20 76 69 61 20 74 68 65 20 22 49 4e 54  AND via the "INT
6640: 45 52 4f 50 5f 43 4f 44 45 43 3d 31 22 20 70 72  EROP_CODEC=1" pr
6650: 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e  eprocessor defin
6660: 65 20 62 65 69 6e 67 20 70 72 65 73 65 6e 74 20  e being present 
6670: 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  in..            
6680: 20 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45    the "INTEROP_E
6690: 58 54 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61  XTRA_DEFINES" ma
66a0: 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64  cro in the build
66b0: 20 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65   properties file
66c0: 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  :....           
66d0: 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49         "SQLite.I
66e0: 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c  nterop\props\SQL
66f0: 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59  ite.Interop.20YY
6700: 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20  .[vs]props".... 
6710: 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 74               bot
6720: 68 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73  h for the corres
6730: 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 28  ponding version(
6740: 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74 75  s) of Visual Stu
6750: 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  dio...    -->.. 
6760: 20 20 20 3c 49 6e 74 65 72 6f 70 43 6f 64 65 63     <InteropCodec
6770: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49   Condition="'$(I
6780: 6e 74 65 72 6f 70 43 6f 64 65 63 29 27 20 3d 3d  nteropCodec)' ==
6790: 20 27 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65 72   ''">true</Inter
67a0: 6f 70 43 6f 64 65 63 3e 0d 0a 0d 0a 20 20 20 20  opCodec>....    
67b0: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
67c0: 54 45 3a 20 45 6e 61 62 6c 65 20 69 6e 63 6c 75  TE: Enable inclu
67d0: 64 69 6e 67 20 53 45 45 20 77 69 74 68 20 74 68  ding SEE with th
67e0: 65 20 63 75 73 74 6f 6d 20 62 75 69 6c 74 20 69  e custom built i
67f0: 6e 74 65 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e  nterop DLL (i.e.
6800: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
6810: 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e  "SQLite.Interop.
6820: 64 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61 75  dll")?  By defau
6830: 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61  lt, this is disa
6840: 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69  bled.  If this i
6850: 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  s..             
6860: 20 65 6e 61 62 6c 65 64 2c 20 74 68 65 20 22 73   enabled, the "s
6870: 65 65 2e 63 22 20 66 69 6c 65 20 77 69 6c 6c 20  ee.c" file will 
6880: 62 65 20 69 6e 63 6c 75 64 65 64 20 66 72 6f 6d  be included from
6890: 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 73 0d   the extensions.
68a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64  .              d
68b0: 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20 74 68  irectory.  If th
68c0: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69  is is enabled, i
68d0: 74 20 6d 75 73 74 20 61 6c 73 6f 20 62 65 20 65  t must also be e
68e0: 6e 61 62 6c 65 64 20 76 69 61 20 74 68 65 0d 0a  nabled via the..
68f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
6900: 51 4c 49 54 45 5f 48 41 53 5f 43 4f 44 45 43 3d  QLITE_HAS_CODEC=
6910: 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20  1" preprocessor 
6920: 64 65 66 69 6e 65 20 62 65 69 6e 67 20 70 72 65  define being pre
6930: 73 65 6e 74 20 69 6e 20 74 68 65 0d 0a 20 20 20  sent in the..   
6940: 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 49             "SQLI
6950: 54 45 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53  TE_EXTRA_DEFINES
6960: 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62  " macro in the b
6970: 75 69 6c 64 20 70 72 6f 70 65 72 74 69 65 73 20  uild properties 
6980: 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20  file:....       
6990: 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69             "SQLi
69a0: 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73  te.Interop\props
69b0: 5c 73 71 6c 69 74 65 33 2e 5b 76 73 5d 70 72 6f  \sqlite3.[vs]pro
69c0: 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20  ps"....         
69d0: 20 20 20 20 20 41 4e 44 20 76 69 61 20 74 68 65       AND via the
69e0: 20 22 49 4e 54 45 52 4f 50 5f 49 4e 43 4c 55 44   "INTEROP_INCLUD
69f0: 45 5f 53 45 45 3d 31 22 20 70 72 65 70 72 6f 63  E_SEE=1" preproc
6a00: 65 73 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69  essor define bei
6a10: 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ng..            
6a20: 20 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65    present in the
6a30: 20 22 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f   "INTEROP_EXTRA_
6a40: 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69  DEFINES" macro i
6a50: 6e 20 74 68 65 20 62 75 69 6c 64 0d 0a 20 20 20  n the build..   
6a60: 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 70 65             prope
6a70: 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20  rties file:.... 
6a80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6a90: 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70   "SQLite.Interop
6aa0: 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e  \props\SQLite.In
6ab0: 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70  terop.20YY.[vs]p
6ac0: 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20  rops"....       
6ad0: 20 20 20 20 20 20 20 62 6f 74 68 20 66 6f 72 20         both for 
6ae0: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
6af0: 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20  g version(s) of 
6b00: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a  Visual Studio...
6b10: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e      -->..    <In
6b20: 74 65 72 6f 70 49 6e 63 6c 75 64 65 53 65 65 20  teropIncludeSee 
6b30: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e  Condition="'$(In
6b40: 74 65 72 6f 70 49 6e 63 6c 75 64 65 53 65 65 29  teropIncludeSee)
6b50: 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f  ' == ''">false</
6b60: 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64 65 53 65  InteropIncludeSe
6b70: 65 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  e>....    <!--..
6b80: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e          NOTE: En
6b90: 61 62 6c 65 20 69 6e 63 6c 75 64 69 6e 67 20 43  able including C
6ba0: 45 52 4f 44 20 77 69 74 68 20 74 68 65 20 63 75  EROD with the cu
6bb0: 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65 72  stom built inter
6bc0: 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 0d 0a 20 20  op DLL (i.e...  
6bd0: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
6be0: 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22  ite.Interop.dll"
6bf0: 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20  )?  By default, 
6c00: 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64  this is disabled
6c10: 2e 20 20 49 66 20 74 68 69 73 20 69 73 0d 0a 20  .  If this is.. 
6c20: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 61               ena
6c30: 62 6c 65 64 2c 20 74 68 65 20 22 63 65 72 6f 64  bled, the "cerod
6c40: 2e 63 22 20 66 69 6c 65 20 77 69 6c 6c 20 62 65  .c" file will be
6c50: 20 69 6e 63 6c 75 64 65 64 20 66 72 6f 6d 20 74   included from t
6c60: 68 65 20 65 78 74 65 6e 73 69 6f 6e 73 0d 0a 20  he extensions.. 
6c70: 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72               dir
6c80: 65 63 74 6f 72 79 2e 20 20 49 66 20 74 68 69 73  ectory.  If this
6c90: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20   is enabled, it 
6ca0: 6d 75 73 74 20 61 6c 73 6f 20 62 65 20 65 6e 61  must also be ena
6cb0: 62 6c 65 64 20 76 69 61 20 74 68 65 0d 0a 20 20  bled via the..  
6cc0: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
6cd0: 49 54 45 5f 48 41 53 5f 43 4f 44 45 43 3d 31 22  ITE_HAS_CODEC=1"
6ce0: 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65   preprocessor de
6cf0: 66 69 6e 65 20 62 65 69 6e 67 20 70 72 65 73 65  fine being prese
6d00: 6e 74 20 69 6e 20 74 68 65 0d 0a 20 20 20 20 20  nt in the..     
6d10: 20 20 20 20 20 20 20 20 20 22 53 51 4c 49 54 45           "SQLITE
6d20: 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22 20  _EXTRA_DEFINES" 
6d30: 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69  macro in the bui
6d40: 6c 64 20 70 72 6f 70 65 72 74 69 65 73 20 66 69  ld properties fi
6d50: 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20  le:....         
6d60: 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65           "SQLite
6d70: 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 73  .Interop\props\s
6d80: 71 6c 69 74 65 33 2e 5b 76 73 5d 70 72 6f 70 73  qlite3.[vs]props
6d90: 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  "....           
6da0: 20 20 20 41 4e 44 20 76 69 61 20 74 68 65 20 22     AND via the "
6db0: 49 4e 54 45 52 4f 50 5f 49 4e 43 4c 55 44 45 5f  INTEROP_INCLUDE_
6dc0: 43 45 52 4f 44 3d 31 22 20 70 72 65 70 72 6f 63  CEROD=1" preproc
6dd0: 65 73 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69  essor define bei
6de0: 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ng..            
6df0: 20 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65    present in the
6e00: 20 22 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f   "INTEROP_EXTRA_
6e10: 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69  DEFINES" macro i
6e20: 6e 20 74 68 65 20 62 75 69 6c 64 0d 0a 20 20 20  n the build..   
6e30: 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 70 65             prope
6e40: 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20  rties file:.... 
6e50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6e60: 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70   "SQLite.Interop
6e70: 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e  \props\SQLite.In
6e80: 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70  terop.20YY.[vs]p
6e90: 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20  rops"....       
6ea0: 20 20 20 20 20 20 20 62 6f 74 68 20 66 6f 72 20         both for 
6eb0: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
6ec0: 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20  g version(s) of 
6ed0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a  Visual Studio...
6ee0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e      -->..    <In
6ef0: 74 65 72 6f 70 49 6e 63 6c 75 64 65 43 65 72 6f  teropIncludeCero
6f00: 64 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  d Condition="'$(
6f10: 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64 65 43 65  InteropIncludeCe
6f20: 72 6f 64 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c  rod)' == ''">fal
6f30: 73 65 3c 2f 49 6e 74 65 72 6f 70 49 6e 63 6c 75  se</InteropInclu
6f40: 64 65 43 65 72 6f 64 3e 0d 0a 0d 0a 20 20 20 20  deCerod>....    
6f50: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
6f60: 54 45 3a 20 45 6e 61 62 6c 65 20 69 6e 63 6c 75  TE: Enable inclu
6f70: 64 69 6e 67 20 5a 69 70 56 46 53 20 77 69 74 68  ding ZipVFS with
6f80: 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75 69 6c   the custom buil
6f90: 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28 69  t interop DLL (i
6fa0: 2e 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .e...           
6fb0: 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72     "SQLite.Inter
6fc0: 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65  op.dll")?  By de
6fd0: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64  fault, this is d
6fe0: 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69  isabled.  If thi
6ff0: 73 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20  s is..          
7000: 20 20 20 20 65 6e 61 62 6c 65 64 2c 20 74 68 65      enabled, the
7010: 20 22 7a 69 70 76 66 73 2e 63 22 20 66 69 6c 65   "zipvfs.c" file
7020: 20 77 69 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65   will be include
7030: 64 20 66 72 6f 6d 20 74 68 65 20 65 78 74 65 6e  d from the exten
7040: 73 69 6f 6e 73 0d 0a 20 20 20 20 20 20 20 20 20  sions..         
7050: 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 2e 20       directory. 
7060: 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62   If this is enab
7070: 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73  led, it must als
7080: 6f 20 62 65 20 65 6e 61 62 6c 65 64 20 76 69 61  o be enabled via
7090: 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20   the..          
70a0: 20 20 20 20 22 53 51 4c 49 54 45 5f 45 4e 41 42      "SQLITE_ENAB
70b0: 4c 45 5f 5a 49 50 56 46 53 3d 31 22 20 70 72 65  LE_ZIPVFS=1" pre
70c0: 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65  processor define
70d0: 20 62 65 69 6e 67 20 70 72 65 73 65 6e 74 20 69   being present i
70e0: 6e 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20  n the..         
70f0: 20 20 20 20 20 22 53 51 4c 49 54 45 5f 45 58 54       "SQLITE_EXT
7100: 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72  RA_DEFINES" macr
7110: 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64 20 70  o in the build p
7120: 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d  roperties file:.
7130: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
7140: 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74       "SQLite.Int
7150: 65 72 6f 70 5c 70 72 6f 70 73 5c 73 71 6c 69 74  erop\props\sqlit
7160: 65 33 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d  e3.[vs]props"...
7170: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41  .              A
7180: 4e 44 20 76 69 61 20 74 68 65 20 22 49 4e 54 45  ND via the "INTE
7190: 52 4f 50 5f 49 4e 43 4c 55 44 45 5f 5a 49 50 56  ROP_INCLUDE_ZIPV
71a0: 46 53 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73  FS=1" preprocess
71b0: 6f 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67 0d  or define being.
71c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70  .              p
71d0: 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 22 49  resent in the "I
71e0: 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f 44 45 46  NTEROP_EXTRA_DEF
71f0: 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74  INES" macro in t
7200: 68 65 20 62 75 69 6c 64 0d 0a 20 20 20 20 20 20  he build..      
7210: 20 20 20 20 20 20 20 20 70 72 6f 70 65 72 74 69          properti
7220: 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20  es file:....    
7230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
7240: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72  QLite.Interop\pr
7250: 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72  ops\SQLite.Inter
7260: 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70  op.20YY.[vs]prop
7270: 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  s"....          
7280: 20 20 20 20 62 6f 74 68 20 66 6f 72 20 74 68 65      both for the
7290: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 76   corresponding v
72a0: 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56 69 73  ersion(s) of Vis
72b0: 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20  ual Studio...   
72c0: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72   -->..    <Inter
72d0: 6f 70 49 6e 63 6c 75 64 65 5a 69 70 56 66 73 20  opIncludeZipVfs 
72e0: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e  Condition="'$(In
72f0: 74 65 72 6f 70 49 6e 63 6c 75 64 65 5a 69 70 56  teropIncludeZipV
7300: 66 73 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73  fs)' == ''">fals
7310: 65 3c 2f 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64  e</InteropInclud
7320: 65 5a 69 70 56 66 73 3e 0d 0a 0d 0a 20 20 20 20  eZipVfs>....    
7330: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
7340: 54 45 3a 20 45 6e 61 62 6c 65 20 69 6e 63 6c 75  TE: Enable inclu
7350: 64 69 6e 67 20 22 65 78 74 72 61 22 20 63 6f 64  ding "extra" cod
7360: 65 20 77 69 74 68 20 74 68 65 20 63 75 73 74 6f  e with the custo
7370: 6d 20 62 75 69 6c 74 20 69 6e 74 65 72 6f 70 20  m built interop 
7380: 44 4c 4c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  DLL..           
7390: 20 20 20 28 69 2e 65 2e 20 22 53 51 4c 69 74 65     (i.e. "SQLite
73a0: 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20  .Interop.dll")? 
73b0: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
73c0: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20  s is disabled.  
73d0: 49 66 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  If..            
73e0: 20 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65    this is enable
73f0: 64 2c 20 74 68 65 20 22 65 78 74 72 61 2e 63 22  d, the "extra.c"
7400: 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 20 69 6e   file will be in
7410: 63 6c 75 64 65 64 20 66 72 6f 6d 20 74 68 65 0d  cluded from the.
7420: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65  .              e
7430: 78 74 65 6e 73 69 6f 6e 73 20 64 69 72 65 63 74  xtensions direct
7440: 6f 72 79 2e 20 20 49 66 20 74 68 69 73 20 69 73  ory.  If this is
7450: 20 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73   enabled, it mus
7460: 74 20 61 6c 73 6f 20 62 65 0d 0a 20 20 20 20 20  t also be..     
7470: 20 20 20 20 20 20 20 20 20 65 6e 61 62 6c 65 64           enabled
7480: 20 76 69 61 20 74 68 65 20 22 49 4e 54 45 52 4f   via the "INTERO
7490: 50 5f 49 4e 43 4c 55 44 45 5f 45 58 54 52 41 3d  P_INCLUDE_EXTRA=
74a0: 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20  1" preprocessor 
74b0: 64 65 66 69 6e 65 0d 0a 20 20 20 20 20 20 20 20  define..        
74c0: 20 20 20 20 20 20 62 65 69 6e 67 20 70 72 65 73        being pres
74d0: 65 6e 74 20 69 6e 20 74 68 65 20 22 49 4e 54 45  ent in the "INTE
74e0: 52 4f 50 5f 45 58 54 52 41 5f 44 45 46 49 4e 45  ROP_EXTRA_DEFINE
74f0: 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20  S" macro in the 
7500: 62 75 69 6c 64 0d 0a 20 20 20 20 20 20 20 20 20  build..         
7510: 20 20 20 20 20 70 72 6f 70 65 72 74 69 65 73 20       properties 
7520: 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20  file:....       
7530: 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69             "SQLi
7540: 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73  te.Interop\props
7550: 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e  \SQLite.Interop.
7560: 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d  20YY.[vs]props".
7570: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
7580: 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70   for the corresp
7590: 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 28 73  onding version(s
75a0: 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74 75 64  ) of Visual Stud
75b0: 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  io...    -->..  
75c0: 20 20 3c 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64    <InteropInclud
75d0: 65 45 78 74 72 61 20 43 6f 6e 64 69 74 69 6f 6e  eExtra Condition
75e0: 3d 22 27 24 28 49 6e 74 65 72 6f 70 49 6e 63 6c  ="'$(InteropIncl
75f0: 75 64 65 45 78 74 72 61 29 27 20 3d 3d 20 27 27  udeExtra)' == ''
7600: 22 3e 66 61 6c 73 65 3c 2f 49 6e 74 65 72 6f 70  ">false</Interop
7610: 49 6e 63 6c 75 64 65 45 78 74 72 61 3e 0d 0a 0d  IncludeExtra>...
7620: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
7630: 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20     NOTE: Enable 
7640: 65 78 74 72 61 20 64 69 61 67 6e 6f 73 74 69 63  extra diagnostic
7650: 73 20 66 72 6f 6d 20 74 68 65 20 63 75 73 74 6f  s from the custo
7660: 6d 20 62 75 69 6c 74 20 69 6e 74 65 72 6f 70 20  m built interop 
7670: 44 4c 4c 20 28 69 2e 65 2e 0d 0a 20 20 20 20 20  DLL (i.e...     
7680: 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65           "SQLite
7690: 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20  .Interop.dll")? 
76a0: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
76b0: 73 20 69 73 20 65 6e 61 62 6c 65 64 20 69 6e 20  s is enabled in 
76c0: 74 68 65 20 44 65 62 75 67 0d 0a 20 20 20 20 20  the Debug..     
76d0: 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 20 63           build c
76e0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 20 49  onfiguration.  I
76f0: 66 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c  f this is disabl
7700: 65 64 2c 20 6e 6f 20 65 78 74 72 61 20 64 69 61  ed, no extra dia
7710: 67 6e 6f 73 74 69 63 73 0d 0a 20 20 20 20 20 20  gnostics..      
7720: 20 20 20 20 20 20 20 20 77 69 6c 6c 20 62 65 20          will be 
7730: 65 6d 69 74 74 65 64 2e 20 20 49 66 20 74 68 69  emitted.  If thi
7740: 73 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74  s is enabled, it
7750: 20 6d 75 73 74 20 61 6c 73 6f 20 62 65 20 65 6e   must also be en
7760: 61 62 6c 65 64 20 76 69 61 0d 0a 20 20 20 20 20  abled via..     
7770: 20 20 20 20 20 20 20 20 20 74 68 65 20 22 49 4e           the "IN
7780: 54 45 52 4f 50 5f 44 45 42 55 47 3d 58 58 22 20  TEROP_DEBUG=XX" 
7790: 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66  preprocessor def
77a0: 69 6e 65 20 62 65 69 6e 67 20 70 72 65 73 65 6e  ine being presen
77b0: 74 20 69 6e 20 74 68 65 0d 0a 20 20 20 20 20 20  t in the..      
77c0: 20 20 20 20 20 20 20 20 22 49 4e 54 45 52 4f 50          "INTEROP
77d0: 5f 44 45 42 55 47 5f 44 45 46 49 4e 45 53 22 20  _DEBUG_DEFINES" 
77e0: 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69  macro in the bui
77f0: 6c 64 20 70 72 6f 70 65 72 74 69 65 73 20 66 69  ld properties fi
7800: 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20  le:....         
7810: 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65           "SQLite
7820: 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53  .Interop\props\S
7830: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30  QLite.Interop.20
7840: 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d  YY.[vs]props"...
7850: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66  .              f
7860: 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  or the correspon
7870: 64 69 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20  ding version(s) 
7880: 6f 66 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  of Visual Studio
7890: 20 77 68 65 72 65 20 74 68 65 20 58 58 20 69 73   where the XX is
78a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
78b0: 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65  an integer value
78c0: 20 74 68 61 74 20 72 65 70 72 65 73 65 6e 74 73   that represents
78d0: 20 61 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f   a combination o
78e0: 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66  f one or more of
78f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
7900: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 69  the following bi
7910: 74 20 66 6c 61 67 73 20 76 61 6c 75 65 73 20 28  t flags values (
7920: 69 2e 65 2e 20 74 6f 20 65 6e 61 62 6c 65 20 65  i.e. to enable e
7930: 78 74 72 61 20 64 69 61 67 6e 6f 73 74 69 63 73  xtra diagnostics
7940: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
7950: 66 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72  for a particular
7960: 20 6e 61 74 69 76 65 20 66 75 6e 63 74 69 6f 6e   native function
7970: 20 63 61 6c 6c 29 3a 0d 0a 0d 0a 20 20 20 20 20   call):....     
7980: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 4e 54               INT
7990: 45 52 4f 50 5f 44 45 42 55 47 5f 43 4c 4f 53 45  EROP_DEBUG_CLOSE
79a0: 20 20 20 20 20 20 20 20 20 20 28 30 78 30 30 30            (0x000
79b0: 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  1)..            
79c0: 20 20 20 20 20 20 49 4e 54 45 52 4f 50 5f 44 45        INTEROP_DE
79d0: 42 55 47 5f 46 49 4e 41 4c 49 5a 45 20 20 20 20  BUG_FINALIZE    
79e0: 20 20 20 28 30 78 30 30 30 32 29 0d 0a 20 20 20     (0x0002)..   
79f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49                 I
7a00: 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 42 41 43  NTEROP_DEBUG_BAC
7a10: 4b 55 50 5f 46 49 4e 49 53 48 20 20 28 30 78 30  KUP_FINISH  (0x0
7a20: 30 30 34 29 0d 0a 20 20 20 20 20 20 20 20 20 20  004)..          
7a30: 20 20 20 20 20 20 20 20 49 4e 54 45 52 4f 50 5f          INTEROP_
7a40: 44 45 42 55 47 5f 4f 50 45 4e 20 20 20 20 20 20  DEBUG_OPEN      
7a50: 20 20 20 20 20 28 30 78 30 30 30 38 29 0d 0a 20       (0x0008).. 
7a60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7a70: 20 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 4f   INTEROP_DEBUG_O
7a80: 50 45 4e 31 36 20 20 20 20 20 20 20 20 20 28 30  PEN16         (0
7a90: 78 30 30 31 30 29 0d 0a 20 20 20 20 20 20 20 20  x0010)..        
7aa0: 20 20 20 20 20 20 20 20 20 20 49 4e 54 45 52 4f            INTERO
7ab0: 50 5f 44 45 42 55 47 5f 50 52 45 50 41 52 45 20  P_DEBUG_PREPARE 
7ac0: 20 20 20 20 20 20 20 28 30 78 30 30 32 30 29 0d         (0x0020).
7ad0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
7ae0: 20 20 20 49 4e 54 45 52 4f 50 5f 44 45 42 55 47     INTEROP_DEBUG
7af0: 5f 50 52 45 50 41 52 45 31 36 20 20 20 20 20 20  _PREPARE16      
7b00: 28 30 78 30 30 34 30 29 0d 0a 20 20 20 20 20 20  (0x0040)..      
7b10: 20 20 20 20 20 20 20 20 20 20 20 20 49 4e 54 45              INTE
7b20: 52 4f 50 5f 44 45 42 55 47 5f 52 45 53 45 54 20  ROP_DEBUG_RESET 
7b30: 20 20 20 20 20 20 20 20 20 28 30 78 30 30 38 30           (0x0080
7b40: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  )..             
7b50: 20 20 20 20 20 49 4e 54 45 52 4f 50 5f 44 45 42       INTEROP_DEB
7b60: 55 47 5f 43 48 41 4e 47 45 53 20 20 20 20 20 20  UG_CHANGES      
7b70: 20 20 28 30 78 30 31 30 30 29 0d 0a 20 20 20 20    (0x0100)..    
7b80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 4e                IN
7b90: 54 45 52 4f 50 5f 44 45 42 55 47 5f 42 52 45 41  TEROP_DEBUG_BREA
7ba0: 4b 20 20 20 20 20 20 20 20 20 20 28 30 78 30 32  K          (0x02
7bb0: 30 30 29 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  00)..    -->..  
7bc0: 20 20 3c 49 6e 74 65 72 6f 70 44 65 62 75 67 20    <InteropDebug 
7bd0: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e  Condition="'$(In
7be0: 74 65 72 6f 70 44 65 62 75 67 29 27 20 3d 3d 20  teropDebug)' == 
7bf0: 27 27 20 41 6e 64 20 27 24 28 43 6f 6e 66 69 67  '' And '$(Config
7c00: 75 72 61 74 69 6f 6e 29 27 20 3d 3d 20 27 44 65  uration)' == 'De
7c10: 62 75 67 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65  bug'">true</Inte
7c20: 72 6f 70 44 65 62 75 67 3e 0d 0a 20 20 20 20 3c  ropDebug>..    <
7c30: 49 6e 74 65 72 6f 70 44 65 62 75 67 20 43 6f 6e  InteropDebug Con
7c40: 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72  dition="'$(Inter
7c50: 6f 70 44 65 62 75 67 29 27 20 3d 3d 20 27 27 20  opDebug)' == '' 
7c60: 41 6e 64 20 27 24 28 43 6f 6e 66 69 67 75 72 61  And '$(Configura
7c70: 74 69 6f 6e 29 27 20 21 3d 20 27 44 65 62 75 67  tion)' != 'Debug
7c80: 27 22 3e 66 61 6c 73 65 3c 2f 49 6e 74 65 72 6f  '">false</Intero
7c90: 70 44 65 62 75 67 3e 0d 0a 0d 0a 20 20 20 20 3c  pDebug>....    <
7ca0: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
7cb0: 45 3a 20 44 69 73 61 62 6c 65 20 61 6c 6c 20 75  E: Disable all u
7cc0: 73 65 20 6f 66 20 74 68 65 20 73 71 6c 69 74 65  se of the sqlite
7cd0: 33 5f 63 6c 6f 73 65 5f 76 32 28 29 20 6e 61 74  3_close_v2() nat
7ce0: 69 76 65 20 41 50 49 20 61 6e 64 20 75 73 65 20  ive API and use 
7cf0: 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  the..           
7d00: 20 20 20 6c 65 67 61 63 79 20 53 79 73 74 65 6d     legacy System
7d10: 2e 44 61 74 61 2e 53 51 4c 69 74 65 20 63 6f 6e  .Data.SQLite con
7d20: 6e 65 63 74 69 6f 6e 20 63 6c 6f 73 69 6e 67 20  nection closing 
7d30: 61 6c 67 6f 72 69 74 68 6d 20 69 6e 73 74 65 61  algorithm instea
7d40: 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  d...            
7d50: 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68    By default, th
7d60: 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20  is is disabled. 
7d70: 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62   If this is enab
7d80: 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73  led, it must als
7d90: 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  o..             
7da0: 20 62 65 20 65 6e 61 62 6c 65 64 20 76 69 61 20   be enabled via 
7db0: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 4c 45 47  the "INTEROP_LEG
7dc0: 41 43 59 5f 43 4c 4f 53 45 3d 31 22 20 70 72 65  ACY_CLOSE=1" pre
7dd0: 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65  processor define
7de0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
7df0: 62 65 69 6e 67 20 70 72 65 73 65 6e 74 20 69 6e  being present in
7e00: 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45 58   the "INTEROP_EX
7e10: 54 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63  TRA_DEFINES" mac
7e20: 72 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64 0d  ro in the build.
7e30: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70  .              p
7e40: 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d  roperties file:.
7e50: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
7e60: 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74       "SQLite.Int
7e70: 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74  erop\props\SQLit
7e80: 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b  e.Interop.20YY.[
7e90: 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20  vs]props"....   
7ea0: 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74             for t
7eb0: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
7ec0: 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56   version(s) of V
7ed0: 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a 20  isual Studio... 
7ee0: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74     -->..    <Int
7ef0: 65 72 6f 70 4c 65 67 61 63 79 43 6c 6f 73 65 20  eropLegacyClose 
7f00: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e  Condition="'$(In
7f10: 74 65 72 6f 70 4c 65 67 61 63 79 43 6c 6f 73 65  teropLegacyClose
7f20: 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c  )' == ''">false<
7f30: 2f 49 6e 74 65 72 6f 70 4c 65 67 61 63 79 43 6c  /InteropLegacyCl
7f40: 6f 73 65 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  ose>....    <!--
7f50: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
7f60: 45 6e 61 62 6c 65 20 74 68 65 20 6c 6f 67 67 69  Enable the loggi
7f70: 6e 67 20 63 61 6c 6c 62 61 63 6b 20 69 6e 20 74  ng callback in t
7f80: 68 65 20 63 75 73 74 6f 6d 20 62 75 69 6c 74 20  he custom built 
7f90: 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28 69 2e 65  interop DLL (i.e
7fa0: 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
7fb0: 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70   "SQLite.Interop
7fc0: 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61  .dll")?  By defa
7fd0: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65 6e 61  ult, this is ena
7fe0: 62 6c 65 64 20 69 6e 20 74 68 65 20 44 65 62 75  bled in the Debu
7ff0: 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  g..             
8000: 20 62 75 69 6c 64 20 63 6f 6e 66 69 67 75 72 61   build configura
8010: 74 69 6f 6e 2e 20 20 49 66 20 74 68 69 73 20 69  tion.  If this i
8020: 73 20 64 69 73 61 62 6c 65 64 2c 20 74 68 65 20  s disabled, the 
8030: 6c 6f 67 67 69 6e 67 20 63 61 6c 6c 62 61 63 6b  logging callback
8040: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
8050: 77 69 6c 6c 20 62 65 20 75 6e 61 76 61 69 6c 61  will be unavaila
8060: 62 6c 65 20 61 6e 64 20 64 69 61 67 6e 6f 73 74  ble and diagnost
8070: 69 63 20 6d 65 73 73 61 67 65 73 20 6d 61 79 20  ic messages may 
8080: 6e 6f 74 20 62 65 20 73 65 65 6e 20 69 66 0d 0a  not be seen if..
8090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e                an
80a0: 6f 74 68 65 72 20 6e 61 74 69 76 65 20 6c 6f 67  other native log
80b0: 67 69 6e 67 20 63 61 6c 6c 62 61 63 6b 20 69 73  ging callback is
80c0: 20 6e 6f 74 20 63 6f 6e 66 69 67 75 72 65 64 2e   not configured.
80d0: 20 20 49 66 20 74 68 69 73 20 69 73 0d 0a 20 20    If this is..  
80e0: 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 61 62              enab
80f0: 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73  led, it must als
8100: 6f 20 62 65 20 65 6e 61 62 6c 65 64 20 76 69 61  o be enabled via
8110: 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 4c 4f   the "INTEROP_LO
8120: 47 3d 31 22 0d 0a 20 20 20 20 20 20 20 20 20 20  G=1"..          
8130: 20 20 20 20 70 72 65 70 72 6f 63 65 73 73 6f 72      preprocessor
8140: 20 64 65 66 69 6e 65 20 62 65 69 6e 67 20 70 72   define being pr
8150: 65 73 65 6e 74 20 69 6e 20 74 68 65 20 22 49 4e  esent in the "IN
8160: 54 45 52 4f 50 5f 44 45 42 55 47 5f 44 45 46 49  TEROP_DEBUG_DEFI
8170: 4e 45 53 22 0d 0a 20 20 20 20 20 20 20 20 20 20  NES"..          
8180: 20 20 20 20 6d 61 63 72 6f 20 69 6e 20 74 68 65      macro in the
8190: 20 62 75 69 6c 64 20 70 72 6f 70 65 72 74 69 65   build propertie
81a0: 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20  s file:....     
81b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51               "SQ
81c0: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f  Lite.Interop\pro
81d0: 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f  ps\SQLite.Intero
81e0: 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73  p.20YY.[vs]props
81f0: 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  "....           
8200: 20 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65     for the corre
8210: 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e  sponding version
8220: 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74  (s) of Visual St
8230: 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  udio...    -->..
8240: 20 20 20 20 3c 49 6e 74 65 72 6f 70 4c 6f 67 20      <InteropLog 
8250: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e  Condition="'$(In
8260: 74 65 72 6f 70 4c 6f 67 29 27 20 3d 3d 20 27 27  teropLog)' == ''
8270: 20 41 6e 64 20 27 24 28 43 6f 6e 66 69 67 75 72   And '$(Configur
8280: 61 74 69 6f 6e 29 27 20 3d 3d 20 27 44 65 62 75  ation)' == 'Debu
8290: 67 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65 72 6f  g'">true</Intero
82a0: 70 4c 6f 67 3e 0d 0a 20 20 20 20 3c 49 6e 74 65  pLog>..    <Inte
82b0: 72 6f 70 4c 6f 67 20 43 6f 6e 64 69 74 69 6f 6e  ropLog Condition
82c0: 3d 22 27 24 28 49 6e 74 65 72 6f 70 4c 6f 67 29  ="'$(InteropLog)
82d0: 27 20 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 43  ' == '' And '$(C
82e0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 27 20 21  onfiguration)' !
82f0: 3d 20 27 44 65 62 75 67 27 22 3e 66 61 6c 73 65  = 'Debug'">false
8300: 3c 2f 49 6e 74 65 72 6f 70 4c 6f 67 3e 0d 0a 0d  </InteropLog>...
8310: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
8320: 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20     NOTE: Enable 
8330: 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 76 74  including the vt
8340: 73 68 69 6d 20 6d 6f 64 75 6c 65 20 61 73 20 61  shim module as a
8350: 20 73 74 61 74 69 63 61 6c 6c 79 20 61 76 61 69   statically avai
8360: 6c 61 62 6c 65 0d 0a 20 20 20 20 20 20 20 20 20  lable..         
8370: 20 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 3f 20       extension? 
8380: 20 54 68 69 73 20 77 69 6c 6c 20 61 6c 6c 6f 77   This will allow
8390: 20 76 69 72 74 75 61 6c 20 74 61 62 6c 65 73 20   virtual tables 
83a0: 74 6f 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65  to be implemente
83b0: 64 20 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20  d in..          
83c0: 20 20 20 20 6d 61 6e 61 67 65 64 20 63 6f 64 65      managed code
83d0: 2e 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74  .  By default, t
83e0: 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2e 20  his is enabled. 
83f0: 20 49 66 20 74 68 69 73 20 69 73 20 64 69 73 61   If this is disa
8400: 62 6c 65 64 2c 0d 0a 20 20 20 20 20 20 20 20 20  bled,..         
8410: 20 20 20 20 20 73 75 70 70 6f 72 74 20 66 6f 72       support for
8420: 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 76 69   implementing vi
8430: 72 74 75 61 6c 20 74 61 62 6c 65 73 20 69 6e 20  rtual tables in 
8440: 6d 61 6e 61 67 65 64 20 63 6f 64 65 20 77 69 6c  managed code wil
8450: 6c 20 62 65 0d 0a 20 20 20 20 20 20 20 20 20 20  l be..          
8460: 20 20 20 20 75 6e 61 76 61 69 6c 61 62 6c 65 2e      unavailable.
8470: 20 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61    If this is ena
8480: 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c  bled, it must al
8490: 73 6f 20 62 65 20 65 6e 61 62 6c 65 64 20 76 69  so be enabled vi
84a0: 61 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  a..             
84b0: 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 56 49   the "INTEROP_VI
84c0: 52 54 55 41 4c 5f 54 41 42 4c 45 3d 31 22 20 70  RTUAL_TABLE=1" p
84d0: 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69  reprocessor defi
84e0: 6e 65 20 62 65 69 6e 67 20 70 72 65 73 65 6e 74  ne being present
84f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
8500: 69 6e 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f  in the "INTEROP_
8510: 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22 20 6d  EXTRA_DEFINES" m
8520: 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69 6c  acro in the buil
8530: 64 20 70 72 6f 70 65 72 74 69 65 73 0d 0a 20 20  d properties..  
8540: 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65              file
8550: 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  :....           
8560: 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49         "SQLite.I
8570: 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c  nterop\props\SQL
8580: 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59  ite.Interop.20YY
8590: 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20  .[vs]props".... 
85a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 74               bot
85b0: 68 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73  h for the corres
85c0: 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 28  ponding version(
85d0: 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74 75  s) of Visual Stu
85e0: 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  dio...    -->.. 
85f0: 20 20 20 3c 49 6e 74 65 72 6f 70 56 69 72 74 75     <InteropVirtu
8600: 61 6c 54 61 62 6c 65 20 43 6f 6e 64 69 74 69 6f  alTable Conditio
8610: 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 56 69 72  n="'$(InteropVir
8620: 74 75 61 6c 54 61 62 6c 65 29 27 20 3d 3d 20 27  tualTable)' == '
8630: 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65 72 6f 70  '">true</Interop
8640: 56 69 72 74 75 61 6c 54 61 62 6c 65 3e 0d 0a 0d  VirtualTable>...
8650: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
8660: 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20     NOTE: Enable 
8670: 74 68 65 20 75 73 65 20 6f 66 20 6e 61 74 69 76  the use of nativ
8680: 65 20 57 69 6e 64 6f 77 73 20 41 50 49 73 2c 20  e Windows APIs, 
8690: 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 3f 20  when available? 
86a0: 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20   By..           
86b0: 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73     default, this
86c0: 20 69 73 20 65 6e 61 62 6c 65 64 2e 20 20 49 66   is enabled.  If
86d0: 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65   this is disable
86e0: 64 2c 20 61 6c 6c 20 66 65 61 74 75 72 65 73 0d  d, all features.
86f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74  .              t
8700: 68 61 74 20 72 65 71 75 69 72 65 20 74 68 65 20  hat require the 
8710: 75 73 65 20 6f 66 20 6e 61 74 69 76 65 20 57 69  use of native Wi
8720: 6e 64 6f 77 73 20 41 50 49 73 20 77 69 6c 6c 20  ndows APIs will 
8730: 62 65 20 75 6e 61 76 61 69 6c 61 62 6c 65 2e 0d  be unavailable..
8740: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 55  .    -->..    <U
8750: 73 65 57 69 6e 64 6f 77 73 20 43 6f 6e 64 69 74  seWindows Condit
8760: 69 6f 6e 3d 22 27 24 28 55 73 65 57 69 6e 64 6f  ion="'$(UseWindo
8770: 77 73 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65  ws)' == ''">true
8780: 3c 2f 55 73 65 57 69 6e 64 6f 77 73 3e 0d 0a 0d  </UseWindows>...
8790: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
87a0: 20 20 20 4e 4f 54 45 3a 20 46 6f 72 20 69 6e 74     NOTE: For int
87b0: 65 72 61 63 74 69 6f 6e 20 77 69 74 68 20 74 68  eraction with th
87c0: 65 20 45 6e 74 69 74 79 20 46 72 61 6d 65 77 6f  e Entity Framewo
87d0: 72 6b 2c 20 61 73 73 75 6d 65 20 76 65 72 73 69  rk, assume versi
87e0: 6f 6e 20 36 20 6f 72 0d 0a 20 20 20 20 20 20 20  on 6 or..       
87f0: 20 20 20 20 20 20 20 68 69 67 68 65 72 3f 20 20         higher?  
8800: 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73  By default, this
8810: 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49   is disabled.  I
8820: 66 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65  f this is enable
8830: 64 2c 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20  d, the..        
8840: 20 20 20 20 20 20 22 53 79 73 74 65 6d 2e 44 61        "System.Da
8850: 74 61 2e 53 51 4c 69 74 65 2e 4c 69 6e 71 22 20  ta.SQLite.Linq" 
8860: 61 73 73 65 6d 62 6c 79 20 77 69 6c 6c 20 6e 6f  assembly will no
8870: 74 20 77 6f 72 6b 20 77 69 74 68 20 61 6e 79 20  t work with any 
8880: 45 6e 74 69 74 79 0d 0a 20 20 20 20 20 20 20 20  Entity..        
8890: 20 20 20 20 20 20 46 72 61 6d 65 77 6f 72 6b 20        Framework 
88a0: 70 72 69 6f 72 20 74 6f 20 76 65 72 73 69 6f 6e  prior to version
88b0: 20 36 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20   6...    -->..  
88c0: 20 20 3c 55 73 65 45 6e 74 69 74 79 46 72 61 6d    <UseEntityFram
88d0: 65 77 6f 72 6b 36 20 43 6f 6e 64 69 74 69 6f 6e  ework6 Condition
88e0: 3d 22 27 24 28 55 73 65 45 6e 74 69 74 79 46 72  ="'$(UseEntityFr
88f0: 61 6d 65 77 6f 72 6b 36 29 27 20 3d 3d 20 27 27  amework6)' == ''
8900: 22 3e 66 61 6c 73 65 3c 2f 55 73 65 45 6e 74 69  ">false</UseEnti
8910: 74 79 46 72 61 6d 65 77 6f 72 6b 36 3e 0d 0a 20  tyFramework6>.. 
8920: 20 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70   </PropertyGroup
8930: 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a  >....  <!--..  *
8940: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8950: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8960: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8970: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8980: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20  *************.. 
8990: 20 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20   **             
89a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
89b0: 54 72 61 63 65 20 50 72 6f 70 65 72 74 69 65 73  Trace Properties
89c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
89d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 2a 0d               **.
89e0: 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .  *************
89f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8a00: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8a10: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8a20: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8a30: 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50  *..  -->....  <P
8a40: 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 20  ropertyGroup>.. 
8a50: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
8a60: 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 72   NOTE: Enable tr
8a70: 61 63 69 6e 67 20 6f 66 20 65 76 65 6e 74 73 20  acing of events 
8a80: 72 65 6c 61 74 65 64 20 74 6f 20 63 6f 6e 6e 65  related to conne
8a90: 63 74 69 6f 6e 20 68 61 6e 64 6c 69 6e 67 3f 20  ction handling? 
8aa0: 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20   By..           
8ab0: 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73     default, this
8ac0: 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20   is disabled... 
8ad0: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61     -->..    <Tra
8ae0: 63 65 43 6f 6e 6e 65 63 74 69 6f 6e 20 43 6f 6e  ceConnection Con
8af0: 64 69 74 69 6f 6e 3d 22 27 24 28 54 72 61 63 65  dition="'$(Trace
8b00: 43 6f 6e 6e 65 63 74 69 6f 6e 29 27 20 3d 3d 20  Connection)' == 
8b10: 27 27 22 3e 66 61 6c 73 65 3c 2f 54 72 61 63 65  ''">false</Trace
8b20: 43 6f 6e 6e 65 63 74 69 6f 6e 3e 0d 0a 0d 0a 20  Connection>.... 
8b30: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
8b40: 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 72   NOTE: Enable tr
8b50: 61 63 69 6e 67 20 6f 66 20 65 76 65 6e 74 73 20  acing of events 
8b60: 72 65 6c 61 74 65 64 20 74 6f 20 61 75 74 6f 6d  related to autom
8b70: 61 74 69 63 20 64 65 74 65 63 74 69 6f 6e 20 6f  atic detection o
8b80: 66 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20  f the..         
8b90: 20 20 20 20 20 6e 61 74 69 76 65 20 6c 69 62 72       native libr
8ba0: 61 72 79 20 64 69 72 65 63 74 6f 72 79 20 77 69  ary directory wi
8bb0: 74 68 69 6e 20 74 68 65 20 6e 61 74 69 76 65 20  thin the native 
8bc0: 6c 69 62 72 61 72 79 20 70 72 65 2d 6c 6f 61 64  library pre-load
8bd0: 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ing..           
8be0: 20 20 20 63 6f 64 65 3f 20 20 42 79 20 64 65 66     code?  By def
8bf0: 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69  ault, this is di
8c00: 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e  sabled...    -->
8c10: 0d 0a 20 20 20 20 3c 54 72 61 63 65 44 65 74 65  ..    <TraceDete
8c20: 63 74 69 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d  ction Condition=
8c30: 22 27 24 28 54 72 61 63 65 44 65 74 65 63 74 69  "'$(TraceDetecti
8c40: 6f 6e 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73  on)' == ''">fals
8c50: 65 3c 2f 54 72 61 63 65 44 65 74 65 63 74 69 6f  e</TraceDetectio
8c60: 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  n>....    <!--..
8c70: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e          NOTE: En
8c80: 61 62 6c 65 20 74 72 61 63 69 6e 67 20 6f 66 20  able tracing of 
8c90: 65 76 65 6e 74 73 20 72 65 6c 61 74 65 64 20 74  events related t
8ca0: 6f 20 43 72 69 74 69 63 61 6c 48 61 6e 64 6c 65  o CriticalHandle
8cb0: 20 68 61 6e 64 6c 69 6e 67 3f 20 20 42 79 0d 0a   handling?  By..
8cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65                de
8cd0: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64  fault, this is d
8ce0: 69 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d  isabled...    --
8cf0: 3e 0d 0a 20 20 20 20 3c 54 72 61 63 65 48 61 6e  >..    <TraceHan
8d00: 64 6c 65 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  dle Condition="'
8d10: 24 28 54 72 61 63 65 48 61 6e 64 6c 65 29 27 20  $(TraceHandle)' 
8d20: 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 54 72  == ''">false</Tr
8d30: 61 63 65 48 61 6e 64 6c 65 3e 0d 0a 0d 0a 20 20  aceHandle>....  
8d40: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
8d50: 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 72 61  NOTE: Enable tra
8d60: 63 69 6e 67 20 6f 66 20 65 76 65 6e 74 73 20 72  cing of events r
8d70: 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 6e 61  elated to the na
8d80: 74 69 76 65 20 6c 69 62 72 61 72 79 20 70 72 65  tive library pre
8d90: 2d 6c 6f 61 64 69 6e 67 0d 0a 20 20 20 20 20 20  -loading..      
8da0: 20 20 20 20 20 20 20 20 63 6f 64 65 3f 20 20 42          code?  B
8db0: 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20  y default, this 
8dc0: 69 73 20 65 6e 61 62 6c 65 64 2e 0d 0a 20 20 20  is enabled...   
8dd0: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61 63 65   -->..    <Trace
8de0: 50 72 65 4c 6f 61 64 20 43 6f 6e 64 69 74 69 6f  PreLoad Conditio
8df0: 6e 3d 22 27 24 28 54 72 61 63 65 50 72 65 4c 6f  n="'$(TracePreLo
8e00: 61 64 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65  ad)' == ''">true
8e10: 3c 2f 54 72 61 63 65 50 72 65 4c 6f 61 64 3e 0d  </TracePreLoad>.
8e20: 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  ...    <!--..   
8e30: 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c       NOTE: Enabl
8e40: 65 20 74 72 61 63 69 6e 67 20 6f 66 20 65 76 65  e tracing of eve
8e50: 6e 74 73 20 72 65 6c 61 74 65 64 20 74 6f 20 74  nts related to t
8e60: 68 65 20 73 68 61 72 65 64 20 6e 61 74 69 76 65  he shared native
8e70: 20 6c 69 62 72 61 72 79 0d 0a 20 20 20 20 20 20   library..      
8e80: 20 20 20 20 20 20 20 20 70 72 65 2d 6c 6f 61 64          pre-load
8e90: 69 6e 67 20 63 6f 64 65 3f 20 20 42 79 20 64 65  ing code?  By de
8ea0: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65  fault, this is e
8eb0: 6e 61 62 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e  nabled...    -->
8ec0: 0d 0a 20 20 20 20 3c 54 72 61 63 65 53 68 61 72  ..    <TraceShar
8ed0: 65 64 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  ed Condition="'$
8ee0: 28 54 72 61 63 65 53 68 61 72 65 64 29 27 20 3d  (TraceShared)' =
8ef0: 3d 20 27 27 22 3e 74 72 75 65 3c 2f 54 72 61 63  = ''">true</Trac
8f00: 65 53 68 61 72 65 64 3e 0d 0a 0d 0a 20 20 20 20  eShared>....    
8f10: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
8f20: 54 45 3a 20 45 6e 61 62 6c 65 20 74 72 61 63 69  TE: Enable traci
8f30: 6e 67 20 6f 66 20 65 76 65 6e 74 73 20 72 65 6c  ng of events rel
8f40: 61 74 65 64 20 74 6f 20 74 68 65 20 70 72 65 70  ated to the prep
8f50: 61 72 65 64 20 73 74 61 74 65 6d 65 6e 74 73 3f  ared statements?
8f60: 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20    By..          
8f70: 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69      default, thi
8f80: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a  s is disabled...
8f90: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72      -->..    <Tr
8fa0: 61 63 65 53 74 61 74 65 6d 65 6e 74 20 43 6f 6e  aceStatement Con
8fb0: 64 69 74 69 6f 6e 3d 22 27 24 28 54 72 61 63 65  dition="'$(Trace
8fc0: 53 74 61 74 65 6d 65 6e 74 29 27 20 3d 3d 20 27  Statement)' == '
8fd0: 27 22 3e 66 61 6c 73 65 3c 2f 54 72 61 63 65 53  '">false</TraceS
8fe0: 74 61 74 65 6d 65 6e 74 3e 0d 0a 0d 0a 20 20 20  tatement>....   
8ff0: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
9000: 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 72 61 63  OTE: Enable trac
9010: 69 6e 67 20 6f 66 20 70 6f 74 65 6e 74 69 61 6c  ing of potential
9020: 6c 79 20 69 6d 70 6f 72 74 61 6e 74 2c 20 62 75  ly important, bu
9030: 74 20 6e 6f 6e 2d 66 61 74 61 6c 20 65 72 72 6f  t non-fatal erro
9040: 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  r..             
9050: 20 63 6f 6e 64 69 74 69 6f 6e 73 20 74 68 61 74   conditions that
9060: 20 63 61 6e 6e 6f 74 20 62 65 20 72 65 70 6f 72   cannot be repor
9070: 74 65 64 20 61 6e 6f 74 68 65 72 20 77 61 79 3f  ted another way?
9080: 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68    By default, th
9090: 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  is..            
90a0: 20 20 69 73 20 65 6e 61 62 6c 65 64 2e 0d 0a 20    is enabled... 
90b0: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61     -->..    <Tra
90c0: 63 65 57 61 72 6e 69 6e 67 20 43 6f 6e 64 69 74  ceWarning Condit
90d0: 69 6f 6e 3d 22 27 24 28 54 72 61 63 65 57 61 72  ion="'$(TraceWar
90e0: 6e 69 6e 67 29 27 20 3d 3d 20 27 27 22 3e 74 72  ning)' == ''">tr
90f0: 75 65 3c 2f 54 72 61 63 65 57 61 72 6e 69 6e 67  ue</TraceWarning
9100: 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79 47  >..  </PropertyG
9110: 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d  roup>....  <!--.
9120: 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .  *************
9130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9160: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9170: 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20  *..  **         
9180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9190: 20 20 20 57 61 72 6e 69 6e 67 20 50 72 6f 70 65     Warning Prope
91a0: 72 74 69 65 73 20 20 20 20 20 20 20 20 20 20 20  rties           
91b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
91c0: 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a   **..  *********
91d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
91e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
91f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9200: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9210: 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a  *****..  -->....
9220: 20 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70    <PropertyGroup
9230: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 43   Condition="'$(C
9240: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 27 20 3d  onfiguration)' =
9250: 3d 20 27 44 65 62 75 67 27 22 3e 0d 0a 20 20 20  = 'Debug'">..   
9260: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
9270: 4f 54 45 3a 20 44 65 62 75 67 20 62 75 69 6c 64  OTE: Debug build
9280: 2e 20 20 53 65 74 20 74 68 65 20 77 61 72 6e 69  .  Set the warni
9290: 6e 67 20 6c 65 76 65 6c 20 74 6f 20 6d 61 78 69  ng level to maxi
92a0: 6d 75 6d 2e 20 20 41 6c 73 6f 2c 20 64 69 73 61  mum.  Also, disa
92b0: 62 6c 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ble..           
92c0: 20 20 20 77 61 72 6e 69 6e 67 73 20 74 68 61 74     warnings that
92d0: 20 74 65 6e 64 20 74 6f 20 63 61 75 73 65 20 74   tend to cause t
92e0: 6f 6f 20 6d 75 63 68 20 6e 6f 69 73 65 2e 0d 0a  oo much noise...
92f0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 57 61      -->..    <Wa
9300: 72 6e 69 6e 67 4c 65 76 65 6c 3e 34 3c 2f 57 61  rningLevel>4</Wa
9310: 72 6e 69 6e 67 4c 65 76 65 6c 3e 0d 0a 20 20 20  rningLevel>..   
9320: 20 3c 4e 6f 57 61 72 6e 3e 36 31 38 2c 31 35 39   <NoWarn>618,159
9330: 31 3b 33 30 30 31 3c 2f 4e 6f 57 61 72 6e 3e 0d  1;3001</NoWarn>.
9340: 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f  .  </PropertyGro
9350: 75 70 3e 0d 0a 0d 0a 20 20 3c 50 72 6f 70 65 72  up>....  <Proper
9360: 74 79 47 72 6f 75 70 20 43 6f 6e 64 69 74 69 6f  tyGroup Conditio
9370: 6e 3d 22 27 24 28 43 6f 6e 66 69 67 75 72 61 74  n="'$(Configurat
9380: 69 6f 6e 29 27 20 3d 3d 20 27 52 65 6c 65 61 73  ion)' == 'Releas
9390: 65 27 22 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  e'">..    <!--..
93a0: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 52 65          NOTE: Re
93b0: 6c 65 61 73 65 20 62 75 69 6c 64 2e 20 20 53 65  lease build.  Se
93c0: 74 20 74 68 65 20 77 61 72 6e 69 6e 67 20 6c 65  t the warning le
93d0: 76 65 6c 20 74 6f 20 6d 61 78 69 6d 75 6d 2e 20  vel to maximum. 
93e0: 20 41 6c 73 6f 2c 20 64 69 73 61 62 6c 65 0d 0a   Also, disable..
93f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 61                wa
9400: 72 6e 69 6e 67 73 20 74 68 61 74 20 74 65 6e 64  rnings that tend
9410: 20 74 6f 20 63 61 75 73 65 20 74 6f 6f 20 6d 75   to cause too mu
9420: 63 68 20 6e 6f 69 73 65 2e 0d 0a 20 20 20 20 2d  ch noise...    -
9430: 2d 3e 0d 0a 20 20 20 20 3c 57 61 72 6e 69 6e 67  ->..    <Warning
9440: 4c 65 76 65 6c 3e 34 3c 2f 57 61 72 6e 69 6e 67  Level>4</Warning
9450: 4c 65 76 65 6c 3e 0d 0a 20 20 20 20 3c 4e 6f 57  Level>..    <NoW
9460: 61 72 6e 3e 36 31 38 2c 31 35 39 31 3b 33 30 30  arn>618,1591;300
9470: 31 3c 2f 4e 6f 57 61 72 6e 3e 0d 0a 20 20 3c 2f  1</NoWarn>..  </
9480: 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a  PropertyGroup>..
9490: 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a  ..  <!--..  ****
94a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
94b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
94c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
94d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
94e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a  **********..  **
94f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9500: 20 20 20 20 20 20 42 75 69 6c 64 20 43 6f 6e 66        Build Conf
9510: 69 67 75 72 61 74 69 6f 6e 20 50 72 6f 70 65 72  iguration Proper
9520: 74 69 65 73 20 20 20 20 20 20 20 20 20 20 20 20  ties            
9530: 20 20 20 20 20 20 20 20 20 20 2a 2a 0d 0a 20 20            **..  
9540: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9550: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9560: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9570: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9580: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a  **************..
9590: 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72 6f 70    -->....  <Prop
95a0: 65 72 74 79 47 72 6f 75 70 3e 0d 0a 20 20 20 20  ertyGroup>..    
95b0: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
95c0: 54 45 3a 20 54 68 65 20 73 75 66 66 69 78 20 66  TE: The suffix f
95d0: 6f 72 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74  or the name of t
95e0: 68 65 20 62 75 69 6c 64 20 63 6f 6e 66 69 67 75  he build configu
95f0: 72 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79  ration directory
9600: 20 2e 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20   .  By..        
9610: 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74        default, t
9620: 68 69 73 20 69 73 20 61 6e 20 65 6d 70 74 79 20  his is an empty 
9630: 73 74 72 69 6e 67 2e 0d 0a 20 20 20 20 2d 2d 3e  string...    -->
9640: 0d 0a 20 20 20 20 3c 43 6f 6e 66 69 67 75 72 61  ..    <Configura
9650: 74 69 6f 6e 53 75 66 66 69 78 20 43 6f 6e 64 69  tionSuffix Condi
9660: 74 69 6f 6e 3d 22 27 24 28 43 6f 6e 66 69 67 75  tion="'$(Configu
9670: 72 61 74 69 6f 6e 53 75 66 66 69 78 29 27 20 3d  rationSuffix)' =
9680: 3d 20 27 27 22 3e 3c 2f 43 6f 6e 66 69 67 75 72  = ''"></Configur
9690: 61 74 69 6f 6e 53 75 66 66 69 78 3e 0d 0a 20 20  ationSuffix>..  
96a0: 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e  </PropertyGroup>
96b0: 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a  ....  <!--..  **
96c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
96d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
96e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
96f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9700: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20  ************..  
9710: 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  **              
9720: 20 20 20 20 20 20 20 20 20 20 20 52 65 6c 61 74             Relat
9730: 69 76 65 20 50 61 74 68 20 50 72 6f 70 65 72 74  ive Path Propert
9740: 69 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20  ies             
9750: 20 20 20 20 20 20 20 20 20 20 20 20 2a 2a 0d 0a              **..
9760: 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a    **************
9770: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9780: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9790: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
97a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
97b0: 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72  ..  -->....  <Pr
97c0: 6f 70 65 72 74 79 47 72 6f 75 70 20 43 6f 6e 64  opertyGroup Cond
97d0: 69 74 69 6f 6e 3d 22 27 24 28 53 51 4c 69 74 65  ition="'$(SQLite
97e0: 4e 65 74 44 69 72 29 27 20 21 3d 20 27 27 22 3e  NetDir)' != ''">
97f0: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
9800: 20 20 20 20 4e 4f 54 45 3a 20 4b 65 65 70 20 61      NOTE: Keep a
9810: 6c 6c 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69  ll the intermedi
9820: 61 74 65 20 66 69 6c 65 73 20 69 6e 20 6f 6e 65  ate files in one
9830: 20 70 6c 61 63 65 2e 20 20 54 68 65 20 56 69 73   place.  The Vis
9840: 75 61 6c 20 53 74 75 64 69 6f 0d 0a 20 20 20 20  ual Studio..    
9850: 20 20 20 20 20 20 20 20 20 20 49 44 45 20 73 65            IDE se
9860: 65 6d 73 20 74 6f 20 68 61 76 65 20 61 20 6e 61  ems to have a na
9870: 73 74 79 20 68 61 62 69 74 20 6f 66 20 69 67 6e  sty habit of ign
9880: 6f 72 69 6e 67 20 74 68 69 73 20 73 65 74 74 69  oring this setti
9890: 6e 67 2e 20 20 54 68 65 0d 0a 20 20 20 20 20 20  ng.  The..      
98a0: 20 20 20 20 20 20 20 20 56 69 73 75 61 6c 20 53          Visual S
98b0: 74 75 64 69 6f 20 49 44 45 20 74 68 65 6e 20 66  tudio IDE then f
98c0: 61 69 6c 73 20 74 6f 20 62 75 69 6c 64 20 74 68  ails to build th
98d0: 65 20 70 72 6f 6a 65 63 74 28 73 29 20 70 72 6f  e project(s) pro
98e0: 70 65 72 6c 79 20 77 68 65 6e 0d 0a 20 20 20 20  perly when..    
98f0: 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6f 75            the ou
9900: 74 70 75 74 20 64 6f 65 73 20 6e 6f 74 20 65 6e  tput does not en
9910: 64 20 75 70 20 77 68 65 72 65 20 69 74 20 65 78  d up where it ex
9920: 70 65 63 74 73 20 74 68 65 20 6f 75 74 70 75 74  pects the output
9930: 20 74 6f 20 62 65 2e 20 20 54 68 65 0d 0a 20 20   to be.  The..  
9940: 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75              valu
9950: 65 20 6f 66 20 74 68 69 73 20 70 72 6f 70 65 72  e of this proper
9960: 74 79 20 6d 75 73 74 20 68 61 76 65 20 61 20 74  ty must have a t
9970: 72 61 69 6c 69 6e 67 20 62 61 63 6b 73 6c 61 73  railing backslas
9980: 68 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20  h...    -->..   
9990: 20 3c 42 61 73 65 49 6e 74 65 72 6d 65 64 69 61   <BaseIntermedia
99a0: 74 65 4f 75 74 70 75 74 50 61 74 68 20 43 6f 6e  teOutputPath Con
99b0: 64 69 74 69 6f 6e 3d 22 27 24 28 43 6f 6e 66 69  dition="'$(Confi
99c0: 67 75 72 61 74 69 6f 6e 53 75 66 66 69 78 29 27  gurationSuffix)'
99d0: 20 3d 3d 20 27 27 22 3e 24 28 53 51 4c 69 74 65   == ''">$(SQLite
99e0: 4e 65 74 44 69 72 29 5c 6f 62 6a 5c 24 28 43 6f  NetDir)\obj\$(Co
99f0: 6e 66 69 67 75 72 61 74 69 6f 6e 59 65 61 72 29  nfigurationYear)
9a00: 5c 24 28 4d 53 42 75 69 6c 64 50 72 6f 6a 65 63  \$(MSBuildProjec
9a10: 74 4e 61 6d 65 29 5c 3c 2f 42 61 73 65 49 6e 74  tName)\</BaseInt
9a20: 65 72 6d 65 64 69 61 74 65 4f 75 74 70 75 74 50  ermediateOutputP
9a30: 61 74 68 3e 0d 0a 20 20 20 20 3c 42 61 73 65 49  ath>..    <BaseI
9a40: 6e 74 65 72 6d 65 64 69 61 74 65 4f 75 74 70 75  ntermediateOutpu
9a50: 74 50 61 74 68 20 43 6f 6e 64 69 74 69 6f 6e 3d  tPath Condition=
9a60: 22 27 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f  "'$(Configuratio
9a70: 6e 53 75 66 66 69 78 29 27 20 21 3d 20 27 27 22  nSuffix)' != ''"
9a80: 3e 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29  >$(SQLiteNetDir)
9a90: 5c 6f 62 6a 5c 24 28 43 6f 6e 66 69 67 75 72 61  \obj\$(Configura
9aa0: 74 69 6f 6e 59 65 61 72 29 5c 24 28 4d 53 42 75  tionYear)\$(MSBu
9ab0: 69 6c 64 50 72 6f 6a 65 63 74 4e 61 6d 65 29 5c  ildProjectName)\
9ac0: 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 53  $(ConfigurationS
9ad0: 75 66 66 69 78 29 5c 3c 2f 42 61 73 65 49 6e 74  uffix)\</BaseInt
9ae0: 65 72 6d 65 64 69 61 74 65 4f 75 74 70 75 74 50  ermediateOutputP
9af0: 61 74 68 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72  ath>..  </Proper
9b00: 74 79 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21  tyGroup>....  <!
9b10: 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  --..  **********
9b20: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9b30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9b40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9b50: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9b60: 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20  ****..  **      
9b70: 20 20 20 20 20 20 20 20 20 20 50 65 72 2d 43 6f            Per-Co
9b80: 6e 66 69 67 75 72 61 74 69 6f 6e 20 52 65 6c 61  nfiguration Rela
9b90: 74 69 76 65 20 50 61 74 68 20 50 72 6f 70 65 72  tive Path Proper
9ba0: 74 69 65 73 20 20 20 20 20 20 20 20 20 20 20 20  ties            
9bb0: 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a      **..  ******
9bc0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9bd0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9be0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9bf0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9c00: 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d  ********..  -->.
9c10: 0a 0d 0a 20 20 3c 50 72 6f 70 65 72 74 79 47 72  ...  <PropertyGr
9c20: 6f 75 70 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  oup Condition="'
9c30: 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 27  $(SQLiteNetDir)'
9c40: 20 21 3d 20 27 27 20 41 6e 64 20 27 24 28 43 6f   != '' And '$(Co
9c50: 6e 66 69 67 75 72 61 74 69 6f 6e 29 27 20 21 3d  nfiguration)' !=
9c60: 20 27 27 22 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d   ''">..    <!--.
9c70: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 54  .        NOTE: T
9c80: 68 65 20 66 69 6e 61 6c 20 6f 75 74 70 75 74 20  he final output 
9c90: 66 69 6c 65 73 20 6e 65 65 64 20 74 6f 20 65 6e  files need to en
9ca0: 64 20 75 70 20 69 6e 20 6f 6e 65 20 70 6c 61 63  d up in one plac
9cb0: 65 2e 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66  e.  The value of
9cc0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
9cd0: 74 68 69 73 20 70 72 6f 70 65 72 74 79 20 6d 75  this property mu
9ce0: 73 74 20 68 61 76 65 20 61 20 74 72 61 69 6c 69  st have a traili
9cf0: 6e 67 20 62 61 63 6b 73 6c 61 73 68 2e 0d 0a 20  ng backslash... 
9d00: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 42 69 6e     -->..    <Bin
9d10: 61 72 79 4f 75 74 70 75 74 50 61 74 68 20 43 6f  aryOutputPath Co
9d20: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 42 69 6e 61  ndition="'$(Bina
9d30: 72 79 4f 75 74 70 75 74 50 61 74 68 29 27 20 3d  ryOutputPath)' =
9d40: 3d 20 27 27 22 3e 24 28 53 51 4c 69 74 65 4e 65  = ''">$(SQLiteNe
9d50: 74 44 69 72 29 5c 62 69 6e 5c 24 28 43 6f 6e 66  tDir)\bin\$(Conf
9d60: 69 67 75 72 61 74 69 6f 6e 59 65 61 72 29 5c 24  igurationYear)\$
9d70: 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 24  (Configuration)$
9d80: 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 53 75  (ConfigurationSu
9d90: 66 66 69 78 29 5c 62 69 6e 5c 3c 2f 42 69 6e 61  ffix)\bin\</Bina
9da0: 72 79 4f 75 74 70 75 74 50 61 74 68 3e 0d 0a 20  ryOutputPath>.. 
9db0: 20 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70   </PropertyGroup
9dc0: 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a  >....  <!--..  *
9dd0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9de0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9df0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9e00: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9e10: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20  *************.. 
9e20: 20 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20   **             
9e30: 20 20 20 20 20 20 20 20 20 53 74 72 6f 6e 67 20           Strong 
9e40: 4e 61 6d 65 20 53 69 67 6e 69 6e 67 20 50 72 6f  Name Signing Pro
9e50: 70 65 72 74 69 65 73 20 20 20 20 20 20 20 20 20  perties         
9e60: 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 2a 0d               **.
9e70: 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .  *************
9e80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9e90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9ea0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9eb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9ec0: 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50  *..  -->....  <P
9ed0: 72 6f 70 65 72 74 79 47 72 6f 75 70 20 43 6f 6e  ropertyGroup Con
9ee0: 64 69 74 69 6f 6e 3d 22 27 24 28 53 51 4c 69 74  dition="'$(SQLit
9ef0: 65 4e 65 74 44 69 72 29 27 20 21 3d 20 27 27 20  eNetDir)' != '' 
9f00: 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20  And..           
9f10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9f20: 20 21 48 61 73 54 72 61 69 6c 69 6e 67 53 6c 61   !HasTrailingSla
9f30: 73 68 28 27 24 28 53 51 4c 69 74 65 4e 65 74 44  sh('$(SQLiteNetD
9f40: 69 72 29 27 29 20 41 6e 64 0d 0a 20 20 20 20 20  ir)') And..     
9f50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9f60: 20 20 20 20 20 20 20 28 28 27 24 28 49 73 43 6f         (('$(IsCo
9f70: 6d 70 61 63 74 46 72 61 6d 65 77 6f 72 6b 29 27  mpactFramework)'
9f80: 20 3d 3d 20 27 66 61 6c 73 65 27 20 41 6e 64 20   == 'false' And 
9f90: 45 78 69 73 74 73 28 27 24 28 53 51 4c 69 74 65  Exists('$(SQLite
9fa0: 4e 65 74 44 69 72 29 5c 4b 65 79 73 5c 53 79 73  NetDir)\Keys\Sys
9fb0: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e  tem.Data.SQLite.
9fc0: 73 6e 6b 27 29 29 20 4f 72 0d 0a 20 20 20 20 20  snk')) Or..     
9fd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9fe0: 20 20 20 20 20 20 20 20 28 27 24 28 49 73 43 6f          ('$(IsCo
9ff0: 6d 70 61 63 74 46 72 61 6d 65 77 6f 72 6b 29 27  mpactFramework)'
a000: 20 21 3d 20 27 66 61 6c 73 65 27 20 41 6e 64 20   != 'false' And 
a010: 45 78 69 73 74 73 28 27 24 28 53 51 4c 69 74 65  Exists('$(SQLite
a020: 4e 65 74 44 69 72 29 5c 4b 65 79 73 5c 53 79 73  NetDir)\Keys\Sys
a030: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e  tem.Data.SQLite.
a040: 43 46 2e 73 6e 6b 27 29 29 29 22 3e 0d 0a 20 20  CF.snk')))">..  
a050: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
a060: 4e 4f 54 45 3a 20 53 69 67 6e 20 74 68 65 20 61  NOTE: Sign the a
a070: 73 73 65 6d 62 6c 79 3f 20 20 42 79 20 64 65 66  ssembly?  By def
a080: 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65 6e  ault, this is en
a090: 61 62 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  abled...    -->.
a0a0: 0a 20 20 20 20 3c 53 69 67 6e 41 73 73 65 6d 62  .    <SignAssemb
a0b0: 6c 79 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  ly Condition="'$
a0c0: 28 53 69 67 6e 41 73 73 65 6d 62 6c 79 29 27 20  (SignAssembly)' 
a0d0: 3d 3d 20 27 27 22 3e 74 72 75 65 3c 2f 53 69 67  == ''">true</Sig
a0e0: 6e 41 73 73 65 6d 62 6c 79 3e 0d 0a 0d 0a 20 20  nAssembly>....  
a0f0: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
a100: 4e 4f 54 45 3a 20 55 73 65 20 64 65 6c 61 79 20  NOTE: Use delay 
a110: 73 69 67 6e 69 6e 67 3f 20 20 42 79 20 64 65 66  signing?  By def
a120: 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69  ault, this is di
a130: 73 61 62 6c 65 64 20 62 65 63 61 75 73 65 20 74  sabled because t
a140: 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  he..            
a150: 20 20 64 65 66 61 75 6c 74 20 73 74 72 6f 6e 67    default strong
a160: 20 6e 61 6d 65 20 6b 65 79 20 70 61 69 72 20 69   name key pair i
a170: 73 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 20  s included with 
a180: 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  the source code.
a190: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
a1a0: 44 65 6c 61 79 53 69 67 6e 20 43 6f 6e 64 69 74  DelaySign Condit
a1b0: 69 6f 6e 3d 22 27 24 28 44 65 6c 61 79 53 69 67  ion="'$(DelaySig
a1c0: 6e 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65  n)' == ''">false
a1d0: 3c 2f 44 65 6c 61 79 53 69 67 6e 3e 0d 0a 0d 0a  </DelaySign>....
a1e0: 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20      <!--..      
a1f0: 20 20 4e 4f 54 45 3a 20 54 68 65 20 66 75 6c 6c    NOTE: The full
a200: 20 70 61 74 68 20 61 6e 64 20 66 69 6c 65 20 6e   path and file n
a210: 61 6d 65 20 66 6f 72 20 74 68 65 20 73 74 72 6f  ame for the stro
a220: 6e 67 20 6e 61 6d 65 20 6b 65 79 20 70 61 69 72  ng name key pair
a230: 20 74 6f 20 75 73 65 2e 0d 0a 20 20 20 20 2d 2d   to use...    --
a240: 3e 0d 0a 20 20 20 20 3c 41 73 73 65 6d 62 6c 79  >..    <Assembly
a250: 4f 72 69 67 69 6e 61 74 6f 72 4b 65 79 46 69 6c  OriginatorKeyFil
a260: 65 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  e Condition="'$(
a270: 41 73 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74  AssemblyOriginat
a280: 6f 72 4b 65 79 46 69 6c 65 29 27 20 3d 3d 20 27  orKeyFile)' == '
a290: 27 20 41 6e 64 20 27 24 28 49 73 43 6f 6d 70 61  ' And '$(IsCompa
a2a0: 63 74 46 72 61 6d 65 77 6f 72 6b 29 27 20 3d 3d  ctFramework)' ==
a2b0: 20 27 66 61 6c 73 65 27 22 3e 24 28 53 51 4c 69   'false'">$(SQLi
a2c0: 74 65 4e 65 74 44 69 72 29 5c 4b 65 79 73 5c 53  teNetDir)\Keys\S
a2d0: 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74  ystem.Data.SQLit
a2e0: 65 2e 73 6e 6b 3c 2f 41 73 73 65 6d 62 6c 79 4f  e.snk</AssemblyO
a2f0: 72 69 67 69 6e 61 74 6f 72 4b 65 79 46 69 6c 65  riginatorKeyFile
a300: 3e 0d 0a 20 20 20 20 3c 41 73 73 65 6d 62 6c 79  >..    <Assembly
a310: 4f 72 69 67 69 6e 61 74 6f 72 4b 65 79 46 69 6c  OriginatorKeyFil
a320: 65 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  e Condition="'$(
a330: 41 73 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74  AssemblyOriginat
a340: 6f 72 4b 65 79 46 69 6c 65 29 27 20 3d 3d 20 27  orKeyFile)' == '
a350: 27 20 41 6e 64 20 27 24 28 49 73 43 6f 6d 70 61  ' And '$(IsCompa
a360: 63 74 46 72 61 6d 65 77 6f 72 6b 29 27 20 21 3d  ctFramework)' !=
a370: 20 27 66 61 6c 73 65 27 22 3e 24 28 53 51 4c 69   'false'">$(SQLi
a380: 74 65 4e 65 74 44 69 72 29 5c 4b 65 79 73 5c 53  teNetDir)\Keys\S
a390: 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74  ystem.Data.SQLit
a3a0: 65 2e 43 46 2e 73 6e 6b 3c 2f 41 73 73 65 6d 62  e.CF.snk</Assemb
a3b0: 6c 79 4f 72 69 67 69 6e 61 74 6f 72 4b 65 79 46  lyOriginatorKeyF
a3c0: 69 6c 65 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72  ile>..  </Proper
a3d0: 74 79 47 72 6f 75 70 3e 0d 0a 3c 2f 50 72 6f 6a  tyGroup>..</Proj
a3e0: 65 63 74 3e 0d 0a                                ect>..