System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact ff86f4ef91d261c19658e30e80da5d39a9c87743:


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 53 48 41 31 20 65 78 74 65  le the SHA1 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 0d 0a 20 20 20 20 20 20 20  rop DLL..       
5db0: 20 20 20 20 20 20 20 28 69 2e 65 2e 20 22 53 51         (i.e. "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: 2e 20 20 49 66 0d 0a 20 20 20 20 20 20 20 20 20  .  If..         
5e00: 20 20 20 20 20 74 68 69 73 20 69 73 20 64 69 73       this is dis
5e10: 61 62 6c 65 64 2c 20 74 68 65 20 53 48 41 31 20  abled, the SHA1 
5e20: 65 78 74 65 6e 73 69 6f 6e 20 77 69 6c 6c 20 62  extension will b
5e30: 65 20 75 6e 61 76 61 69 6c 61 62 6c 65 2e 20 20  e unavailable.  
5e40: 49 66 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  If..            
5e50: 20 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65    this is enable
5e60: 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73 6f 20  d, it must also 
5e70: 62 65 20 65 6e 61 62 6c 65 64 20 76 69 61 20 74  be enabled via t
5e80: 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  he..            
5e90: 20 20 22 49 4e 54 45 52 4f 50 5f 53 48 41 31 5f    "INTEROP_SHA1_
5ea0: 45 58 54 45 4e 53 49 4f 4e 3d 31 22 20 70 72 65  EXTENSION=1" pre
5eb0: 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65  processor define
5ec0: 20 62 65 69 6e 67 0d 0a 20 20 20 20 20 20 20 20   being..        
5ed0: 20 20 20 20 20 20 70 72 65 73 65 6e 74 20 69 6e        present in
5ee0: 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45 58   the "INTEROP_EX
5ef0: 54 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63  TRA_DEFINES" mac
5f00: 72 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64 0d  ro in the build.
5f10: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70  .              p
5f20: 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d  roperties file:.
5f30: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
5f40: 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74       "SQLite.Int
5f50: 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74  erop\props\SQLit
5f60: 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b  e.Interop.20YY.[
5f70: 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20  vs]props"....   
5f80: 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74             for t
5f90: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
5fa0: 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56   version(s) of V
5fb0: 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a 20  isual Studio... 
5fc0: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74     -->..    <Int
5fd0: 65 72 6f 70 53 68 61 31 45 78 74 65 6e 73 69 6f  eropSha1Extensio
5fe0: 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  n Condition="'$(
5ff0: 49 6e 74 65 72 6f 70 53 68 61 31 45 78 74 65 6e  InteropSha1Exten
6000: 73 69 6f 6e 29 27 20 3d 3d 20 27 27 22 3e 74 72  sion)' == ''">tr
6010: 75 65 3c 2f 49 6e 74 65 72 6f 70 53 68 61 31 45  ue</InteropSha1E
6020: 78 74 65 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20 20  xtension>....   
6030: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
6040: 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 68 65 20  OTE: Enable the 
6050: 74 65 73 74 20 65 78 74 65 6e 73 69 6f 6e 20 66  test extension f
6060: 72 6f 6d 20 74 68 65 20 63 75 73 74 6f 6d 20 62  rom the custom b
6070: 75 69 6c 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c  uilt interop DLL
6080: 20 28 69 2e 65 2e 0d 0a 20 20 20 20 20 20 20 20   (i.e...        
6090: 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e        "SQLite.In
60a0: 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79  terop.dll")?  By
60b0: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
60c0: 73 20 65 6e 61 62 6c 65 64 20 6f 6e 6c 79 20 69  s enabled only i
60d0: 6e 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20  n the..         
60e0: 20 20 20 20 20 44 65 62 75 67 20 62 75 69 6c 64       Debug build
60f0: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20   configuration. 
6100: 20 49 66 20 74 68 69 73 20 69 73 20 64 69 73 61   If this is disa
6110: 62 6c 65 64 2c 20 74 68 65 20 74 65 73 74 0d 0a  bled, the test..
6120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78                ex
6130: 74 65 6e 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20  tension will be 
6140: 75 6e 61 76 61 69 6c 61 62 6c 65 2e 20 20 49 66  unavailable.  If
6150: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
6160: 2c 20 69 74 20 6d 75 73 74 20 61 6c 73 6f 0d 0a  , it must also..
6170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65                be
6180: 20 65 6e 61 62 6c 65 64 20 76 69 61 20 74 68 65   enabled via the
6190: 20 22 49 4e 54 45 52 4f 50 5f 54 45 53 54 5f 45   "INTEROP_TEST_E
61a0: 58 54 45 4e 53 49 4f 4e 3d 31 22 20 70 72 65 70  XTENSION=1" prep
61b0: 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65 0d  rocessor define.
61c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62  .              b
61d0: 65 69 6e 67 20 70 72 65 73 65 6e 74 20 69 6e 20  eing present in 
61e0: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 44 45 42  the "INTEROP_DEB
61f0: 55 47 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72  UG_DEFINES" macr
6200: 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64 0d 0a  o in the build..
6210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
6220: 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a  operties file:..
6230: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
6240: 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65      "SQLite.Inte
6250: 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65  rop\props\SQLite
6260: 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76  .Interop.20YY.[v
6270: 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20  s]props"....    
6280: 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68            for th
6290: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  e corresponding 
62a0: 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56 69  version(s) of Vi
62b0: 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a 20 20  sual Studio...  
62c0: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74 65    -->..    <Inte
62d0: 72 6f 70 54 65 73 74 45 78 74 65 6e 73 69 6f 6e  ropTestExtension
62e0: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49   Condition="'$(I
62f0: 6e 74 65 72 6f 70 54 65 73 74 45 78 74 65 6e 73  nteropTestExtens
6300: 69 6f 6e 29 27 20 3d 3d 20 27 27 20 41 6e 64 20  ion)' == '' And 
6310: 27 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e  '$(Configuration
6320: 29 27 20 3d 3d 20 27 44 65 62 75 67 27 22 3e 74  )' == 'Debug'">t
6330: 72 75 65 3c 2f 49 6e 74 65 72 6f 70 54 65 73 74  rue</InteropTest
6340: 45 78 74 65 6e 73 69 6f 6e 3e 0d 0a 20 20 20 20  Extension>..    
6350: 3c 49 6e 74 65 72 6f 70 54 65 73 74 45 78 74 65  <InteropTestExte
6360: 6e 73 69 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d  nsion Condition=
6370: 22 27 24 28 49 6e 74 65 72 6f 70 54 65 73 74 45  "'$(InteropTestE
6380: 78 74 65 6e 73 69 6f 6e 29 27 20 3d 3d 20 27 27  xtension)' == ''
6390: 20 41 6e 64 20 27 24 28 43 6f 6e 66 69 67 75 72   And '$(Configur
63a0: 61 74 69 6f 6e 29 27 20 21 3d 20 27 44 65 62 75  ation)' != 'Debu
63b0: 67 27 22 3e 66 61 6c 73 65 3c 2f 49 6e 74 65 72  g'">false</Inter
63c0: 6f 70 54 65 73 74 45 78 74 65 6e 73 69 6f 6e 3e  opTestExtension>
63d0: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
63e0: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
63f0: 6c 65 20 74 68 65 20 6e 75 6d 65 72 69 63 20 74  le the numeric t
6400: 79 70 65 20 63 68 65 63 6b 69 6e 67 20 65 78 74  ype checking ext
6410: 65 6e 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20  ension from the 
6420: 63 75 73 74 6f 6d 20 62 75 69 6c 74 0d 0a 20 20  custom built..  
6430: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65              inte
6440: 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 20 22 53  rop DLL (i.e. "S
6450: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c  QLite.Interop.dl
6460: 6c 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74  l")?  By default
6470: 2c 20 74 68 69 73 20 69 73 0d 0a 20 20 20 20 20  , this is..     
6480: 20 20 20 20 20 20 20 20 20 65 6e 61 62 6c 65 64           enabled
6490: 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 64 69  .  If this is di
64a0: 73 61 62 6c 65 64 2c 20 74 68 65 20 6e 75 6d 65  sabled, the nume
64b0: 72 69 63 20 74 79 70 65 20 63 68 65 63 6b 69 6e  ric type checkin
64c0: 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  g..             
64d0: 20 65 78 74 65 6e 73 69 6f 6e 20 77 69 6c 6c 20   extension will 
64e0: 62 65 20 75 6e 61 76 61 69 6c 61 62 6c 65 2e 20  be unavailable. 
64f0: 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62   If this is enab
6500: 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73  led, it must als
6510: 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  o..             
6520: 20 62 65 20 65 6e 61 62 6c 65 64 20 76 69 61 20   be enabled via 
6530: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 54 4f 54  the "INTEROP_TOT
6540: 59 50 45 5f 45 58 54 45 4e 53 49 4f 4e 3d 31 22  YPE_EXTENSION=1"
6550: 20 70 72 65 70 72 6f 63 65 73 73 6f 72 0d 0a 20   preprocessor.. 
6560: 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66               def
6570: 69 6e 65 20 62 65 69 6e 67 20 70 72 65 73 65 6e  ine being presen
6580: 74 20 69 6e 20 74 68 65 20 22 49 4e 54 45 52 4f  t in the "INTERO
6590: 50 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22  P_EXTRA_DEFINES"
65a0: 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 0d 0a 20   macro in the.. 
65b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 69               bui
65c0: 6c 64 20 70 72 6f 70 65 72 74 69 65 73 20 66 69  ld properties fi
65d0: 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20  le:....         
65e0: 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65           "SQLite
65f0: 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53  .Interop\props\S
6600: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30  QLite.Interop.20
6610: 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d  YY.[vs]props"...
6620: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66  .              f
6630: 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  or the correspon
6640: 64 69 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20  ding version(s) 
6650: 6f 66 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  of Visual Studio
6660: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
6670: 3c 49 6e 74 65 72 6f 70 54 6f 54 79 70 65 45 78  <InteropToTypeEx
6680: 74 65 6e 73 69 6f 6e 20 43 6f 6e 64 69 74 69 6f  tension Conditio
6690: 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 54 6f 54  n="'$(InteropToT
66a0: 79 70 65 45 78 74 65 6e 73 69 6f 6e 29 27 20 3d  ypeExtension)' =
66b0: 3d 20 27 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65  = ''">true</Inte
66c0: 72 6f 70 54 6f 54 79 70 65 45 78 74 65 6e 73 69  ropToTypeExtensi
66d0: 6f 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d  on>....    <!--.
66e0: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45  .        NOTE: E
66f0: 6e 61 62 6c 65 20 65 78 70 6f 73 69 6e 67 20 74  nable exposing t
6700: 68 65 20 43 72 79 70 74 6f 41 50 49 20 62 61 73  he CryptoAPI bas
6710: 65 64 20 63 6f 64 65 63 20 66 72 6f 6d 20 74 68  ed codec from th
6720: 65 20 63 75 73 74 6f 6d 20 62 75 69 6c 74 0d 0a  e custom built..
6730: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e                in
6740: 74 65 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 20  terop DLL (i.e. 
6750: 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e  "SQLite.Interop.
6760: 64 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61 75  dll")?  By defau
6770: 6c 74 2c 20 74 68 69 73 20 69 73 0d 0a 20 20 20  lt, this is..   
6780: 20 20 20 20 20 20 20 20 20 20 20 65 6e 61 62 6c             enabl
6790: 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 20  ed.  If this is 
67a0: 64 69 73 61 62 6c 65 64 2c 20 73 75 70 70 6f 72  disabled, suppor
67b0: 74 20 66 6f 72 20 65 6e 63 72 79 70 74 65 64 20  t for encrypted 
67c0: 64 61 74 61 62 61 73 65 73 0d 0a 20 20 20 20 20  databases..     
67d0: 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20 62 65           will be
67e0: 20 75 6e 61 76 61 69 6c 61 62 6c 65 2e 20 20 49   unavailable.  I
67f0: 66 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65  f this is enable
6800: 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73 6f 20  d, it must also 
6810: 62 65 20 65 6e 61 62 6c 65 64 0d 0a 20 20 20 20  be enabled..    
6820: 20 20 20 20 20 20 20 20 20 20 76 69 61 20 74 68            via th
6830: 65 20 22 53 51 4c 49 54 45 5f 48 41 53 5f 43 4f  e "SQLITE_HAS_CO
6840: 44 45 43 3d 31 22 20 70 72 65 70 72 6f 63 65 73  DEC=1" preproces
6850: 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67  sor define being
6860: 20 70 72 65 73 65 6e 74 20 69 6e 0d 0a 20 20 20   present in..   
6870: 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 22             the "
6880: 53 51 4c 49 54 45 5f 45 58 54 52 41 5f 44 45 46  SQLITE_EXTRA_DEF
6890: 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74  INES" macro in t
68a0: 68 65 20 62 75 69 6c 64 20 70 72 6f 70 65 72 74  he build propert
68b0: 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20  ies file:....   
68c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22                 "
68d0: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70  SQLite.Interop\p
68e0: 72 6f 70 73 5c 73 71 6c 69 74 65 33 2e 5b 76 73  rops\sqlite3.[vs
68f0: 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20  ]props"....     
6900: 20 20 20 20 20 20 20 20 20 41 4e 44 20 76 69 61           AND via
6910: 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 43 4f   the "INTEROP_CO
6920: 44 45 43 3d 31 22 20 70 72 65 70 72 6f 63 65 73  DEC=1" preproces
6930: 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67  sor define being
6940: 20 70 72 65 73 65 6e 74 20 69 6e 0d 0a 20 20 20   present in..   
6950: 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 22             the "
6960: 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f 44 45  INTEROP_EXTRA_DE
6970: 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20  FINES" macro in 
6980: 74 68 65 20 62 75 69 6c 64 20 70 72 6f 70 65 72  the build proper
6990: 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20  ties file:....  
69a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
69b0: 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c  "SQLite.Interop\
69c0: 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74  props\SQLite.Int
69d0: 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72  erop.20YY.[vs]pr
69e0: 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ops"....        
69f0: 20 20 20 20 20 20 62 6f 74 68 20 66 6f 72 20 74        both for t
6a00: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
6a10: 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56   version(s) of V
6a20: 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a 20  isual Studio... 
6a30: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74     -->..    <Int
6a40: 65 72 6f 70 43 6f 64 65 63 20 43 6f 6e 64 69 74  eropCodec Condit
6a50: 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 43  ion="'$(InteropC
6a60: 6f 64 65 63 29 27 20 3d 3d 20 27 27 22 3e 66 61  odec)' == ''">fa
6a70: 6c 73 65 3c 2f 49 6e 74 65 72 6f 70 43 6f 64 65  lse</InteropCode
6a80: 63 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  c>....    <!--..
6a90: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e          NOTE: En
6aa0: 61 62 6c 65 20 69 6e 63 6c 75 64 69 6e 67 20 53  able including S
6ab0: 45 45 20 77 69 74 68 20 74 68 65 20 63 75 73 74  EE with the cust
6ac0: 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65 72 6f 70  om built interop
6ad0: 20 44 4c 4c 20 28 69 2e 65 2e 0d 0a 20 20 20 20   DLL (i.e...    
6ae0: 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74            "SQLit
6af0: 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f  e.Interop.dll")?
6b00: 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68    By default, th
6b10: 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20  is is disabled. 
6b20: 20 49 66 20 74 68 69 73 20 69 73 0d 0a 20 20 20   If this is..   
6b30: 20 20 20 20 20 20 20 20 20 20 20 65 6e 61 62 6c             enabl
6b40: 65 64 2c 20 74 68 65 20 22 73 65 65 2e 63 22 20  ed, the "see.c" 
6b50: 66 69 6c 65 20 77 69 6c 6c 20 62 65 20 69 6e 63  file will be inc
6b60: 6c 75 64 65 64 20 66 72 6f 6d 20 74 68 65 20 65  luded from the e
6b70: 78 74 65 6e 73 69 6f 6e 73 0d 0a 20 20 20 20 20  xtensions..     
6b80: 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f           directo
6b90: 72 79 2e 20 20 49 66 20 74 68 69 73 20 69 73 20  ry.  If this is 
6ba0: 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74  enabled, it must
6bb0: 20 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64   also be enabled
6bc0: 20 76 69 61 20 74 68 65 0d 0a 20 20 20 20 20 20   via the..      
6bd0: 20 20 20 20 20 20 20 20 22 53 51 4c 49 54 45 5f          "SQLITE_
6be0: 48 41 53 5f 43 4f 44 45 43 3d 31 22 20 70 72 65  HAS_CODEC=1" pre
6bf0: 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65  processor define
6c00: 20 62 65 69 6e 67 20 70 72 65 73 65 6e 74 20 69   being present i
6c10: 6e 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20  n the..         
6c20: 20 20 20 20 20 22 53 51 4c 49 54 45 5f 45 58 54       "SQLITE_EXT
6c30: 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72  RA_DEFINES" macr
6c40: 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64 20 70  o in the build p
6c50: 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d  roperties file:.
6c60: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
6c70: 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74       "SQLite.Int
6c80: 65 72 6f 70 5c 70 72 6f 70 73 5c 73 71 6c 69 74  erop\props\sqlit
6c90: 65 33 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d  e3.[vs]props"...
6ca0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41  .              A
6cb0: 4e 44 20 76 69 61 20 74 68 65 20 22 49 4e 54 45  ND via the "INTE
6cc0: 52 4f 50 5f 49 4e 43 4c 55 44 45 5f 53 45 45 3d  ROP_INCLUDE_SEE=
6cd0: 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20  1" preprocessor 
6ce0: 64 65 66 69 6e 65 20 62 65 69 6e 67 0d 0a 20 20  define being..  
6cf0: 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 73              pres
6d00: 65 6e 74 20 69 6e 20 74 68 65 20 22 49 4e 54 45  ent in the "INTE
6d10: 52 4f 50 5f 45 58 54 52 41 5f 44 45 46 49 4e 45  ROP_EXTRA_DEFINE
6d20: 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20  S" macro in the 
6d30: 62 75 69 6c 64 0d 0a 20 20 20 20 20 20 20 20 20  build..         
6d40: 20 20 20 20 20 70 72 6f 70 65 72 74 69 65 73 20       properties 
6d50: 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20  file:....       
6d60: 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69             "SQLi
6d70: 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73  te.Interop\props
6d80: 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e  \SQLite.Interop.
6d90: 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d  20YY.[vs]props".
6da0: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
6db0: 20 62 6f 74 68 20 66 6f 72 20 74 68 65 20 63 6f   both for the co
6dc0: 72 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73  rresponding vers
6dd0: 69 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c  ion(s) of Visual
6de0: 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d   Studio...    --
6df0: 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 49  >..    <InteropI
6e00: 6e 63 6c 75 64 65 53 65 65 20 43 6f 6e 64 69 74  ncludeSee Condit
6e10: 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 49  ion="'$(InteropI
6e20: 6e 63 6c 75 64 65 53 65 65 29 27 20 3d 3d 20 27  ncludeSee)' == '
6e30: 27 22 3e 66 61 6c 73 65 3c 2f 49 6e 74 65 72 6f  '">false</Intero
6e40: 70 49 6e 63 6c 75 64 65 53 65 65 3e 0d 0a 0d 0a  pIncludeSee>....
6e50: 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20      <!--..      
6e60: 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 69    NOTE: Enable i
6e70: 6e 63 6c 75 64 69 6e 67 20 43 45 52 4f 44 20 77  ncluding CEROD w
6e80: 69 74 68 20 74 68 65 20 63 75 73 74 6f 6d 20 62  ith the custom b
6e90: 75 69 6c 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c  uilt interop DLL
6ea0: 20 28 69 2e 65 2e 0d 0a 20 20 20 20 20 20 20 20   (i.e...        
6eb0: 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e        "SQLite.In
6ec0: 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79  terop.dll")?  By
6ed0: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
6ee0: 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20  s disabled.  If 
6ef0: 74 68 69 73 20 69 73 0d 0a 20 20 20 20 20 20 20  this is..       
6f00: 20 20 20 20 20 20 20 65 6e 61 62 6c 65 64 2c 20         enabled, 
6f10: 74 68 65 20 22 63 65 72 6f 64 2e 63 22 20 66 69  the "cerod.c" fi
6f20: 6c 65 20 77 69 6c 6c 20 62 65 20 69 6e 63 6c 75  le will be inclu
6f30: 64 65 64 20 66 72 6f 6d 20 74 68 65 20 65 78 74  ded from the ext
6f40: 65 6e 73 69 6f 6e 73 0d 0a 20 20 20 20 20 20 20  ensions..       
6f50: 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79         directory
6f60: 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 65 6e  .  If this is en
6f70: 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61  abled, it must a
6f80: 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64 20 76  lso be enabled v
6f90: 69 61 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20  ia the..        
6fa0: 20 20 20 20 20 20 22 53 51 4c 49 54 45 5f 48 41        "SQLITE_HA
6fb0: 53 5f 43 4f 44 45 43 3d 31 22 20 70 72 65 70 72  S_CODEC=1" prepr
6fc0: 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65 20 62  ocessor define b
6fd0: 65 69 6e 67 20 70 72 65 73 65 6e 74 20 69 6e 20  eing present in 
6fe0: 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  the..           
6ff0: 20 20 20 22 53 51 4c 49 54 45 5f 45 58 54 52 41     "SQLITE_EXTRA
7000: 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20  _DEFINES" macro 
7010: 69 6e 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f  in the build pro
7020: 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d  perties file:...
7030: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
7040: 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72     "SQLite.Inter
7050: 6f 70 5c 70 72 6f 70 73 5c 73 71 6c 69 74 65 33  op\props\sqlite3
7060: 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20  .[vs]props".... 
7070: 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44               AND
7080: 20 76 69 61 20 74 68 65 20 22 49 4e 54 45 52 4f   via the "INTERO
7090: 50 5f 49 4e 43 4c 55 44 45 5f 43 45 52 4f 44 3d  P_INCLUDE_CEROD=
70a0: 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20  1" preprocessor 
70b0: 64 65 66 69 6e 65 20 62 65 69 6e 67 0d 0a 20 20  define being..  
70c0: 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 73              pres
70d0: 65 6e 74 20 69 6e 20 74 68 65 20 22 49 4e 54 45  ent in the "INTE
70e0: 52 4f 50 5f 45 58 54 52 41 5f 44 45 46 49 4e 45  ROP_EXTRA_DEFINE
70f0: 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20  S" macro in the 
7100: 62 75 69 6c 64 0d 0a 20 20 20 20 20 20 20 20 20  build..         
7110: 20 20 20 20 20 70 72 6f 70 65 72 74 69 65 73 20       properties 
7120: 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20  file:....       
7130: 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69             "SQLi
7140: 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73  te.Interop\props
7150: 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e  \SQLite.Interop.
7160: 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d  20YY.[vs]props".
7170: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
7180: 20 62 6f 74 68 20 66 6f 72 20 74 68 65 20 63 6f   both for the co
7190: 72 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73  rresponding vers
71a0: 69 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c  ion(s) of Visual
71b0: 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d   Studio...    --
71c0: 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 49  >..    <InteropI
71d0: 6e 63 6c 75 64 65 43 65 72 6f 64 20 43 6f 6e 64  ncludeCerod Cond
71e0: 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f  ition="'$(Intero
71f0: 70 49 6e 63 6c 75 64 65 43 65 72 6f 64 29 27 20  pIncludeCerod)' 
7200: 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 49 6e  == ''">false</In
7210: 74 65 72 6f 70 49 6e 63 6c 75 64 65 43 65 72 6f  teropIncludeCero
7220: 64 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  d>....    <!--..
7230: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e          NOTE: En
7240: 61 62 6c 65 20 69 6e 63 6c 75 64 69 6e 67 20 5a  able including Z
7250: 69 70 56 46 53 20 77 69 74 68 20 74 68 65 20 63  ipVFS with the c
7260: 75 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65  ustom built inte
7270: 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 0d 0a 20  rop DLL (i.e... 
7280: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51               "SQ
7290: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c  Lite.Interop.dll
72a0: 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c  ")?  By default,
72b0: 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65   this is disable
72c0: 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 0d 0a  d.  If this is..
72d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e                en
72e0: 61 62 6c 65 64 2c 20 74 68 65 20 22 7a 69 70 76  abled, the "zipv
72f0: 66 73 2e 63 22 20 66 69 6c 65 20 77 69 6c 6c 20  fs.c" file will 
7300: 62 65 20 69 6e 63 6c 75 64 65 64 20 66 72 6f 6d  be included from
7310: 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 73 0d   the extensions.
7320: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64  .              d
7330: 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20 74 68  irectory.  If th
7340: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69  is is enabled, i
7350: 74 20 6d 75 73 74 20 61 6c 73 6f 20 62 65 20 65  t must also be e
7360: 6e 61 62 6c 65 64 20 76 69 61 20 74 68 65 0d 0a  nabled via the..
7370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
7380: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 5a 49 50  QLITE_ENABLE_ZIP
7390: 56 46 53 3d 31 22 20 70 72 65 70 72 6f 63 65 73  VFS=1" preproces
73a0: 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67  sor define being
73b0: 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 0d   present in the.
73c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22  .              "
73d0: 53 51 4c 49 54 45 5f 45 58 54 52 41 5f 44 45 46  SQLITE_EXTRA_DEF
73e0: 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74  INES" macro in t
73f0: 68 65 20 62 75 69 6c 64 20 70 72 6f 70 65 72 74  he build propert
7400: 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20  ies file:....   
7410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22                 "
7420: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70  SQLite.Interop\p
7430: 72 6f 70 73 5c 73 71 6c 69 74 65 33 2e 5b 76 73  rops\sqlite3.[vs
7440: 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20  ]props"....     
7450: 20 20 20 20 20 20 20 20 20 41 4e 44 20 76 69 61           AND via
7460: 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 49 4e   the "INTEROP_IN
7470: 43 4c 55 44 45 5f 5a 49 50 56 46 53 3d 31 22 20  CLUDE_ZIPVFS=1" 
7480: 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66  preprocessor def
7490: 69 6e 65 20 62 65 69 6e 67 0d 0a 20 20 20 20 20  ine being..     
74a0: 20 20 20 20 20 20 20 20 20 70 72 65 73 65 6e 74           present
74b0: 20 69 6e 20 74 68 65 20 22 49 4e 54 45 52 4f 50   in the "INTEROP
74c0: 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22 20  _EXTRA_DEFINES" 
74d0: 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69  macro in the bui
74e0: 6c 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ld..            
74f0: 20 20 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c    properties fil
7500: 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  e:....          
7510: 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e          "SQLite.
7520: 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51  Interop\props\SQ
7530: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59  Lite.Interop.20Y
7540: 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a  Y.[vs]props"....
7550: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f                bo
7560: 74 68 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65  th for the corre
7570: 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e  sponding version
7580: 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74  (s) of Visual St
7590: 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  udio...    -->..
75a0: 20 20 20 20 3c 49 6e 74 65 72 6f 70 49 6e 63 6c      <InteropIncl
75b0: 75 64 65 5a 69 70 56 66 73 20 43 6f 6e 64 69 74  udeZipVfs Condit
75c0: 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 49  ion="'$(InteropI
75d0: 6e 63 6c 75 64 65 5a 69 70 56 66 73 29 27 20 3d  ncludeZipVfs)' =
75e0: 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 49 6e 74  = ''">false</Int
75f0: 65 72 6f 70 49 6e 63 6c 75 64 65 5a 69 70 56 66  eropIncludeZipVf
7600: 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  s>....    <!--..
7610: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e          NOTE: En
7620: 61 62 6c 65 20 69 6e 63 6c 75 64 69 6e 67 20 22  able including "
7630: 65 78 74 72 61 22 20 63 6f 64 65 20 77 69 74 68  extra" code with
7640: 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75 69 6c   the custom buil
7650: 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c 0d 0a 20  t interop DLL.. 
7660: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 2e               (i.
7670: 65 2e 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72  e. "SQLite.Inter
7680: 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65  op.dll")?  By de
7690: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64  fault, this is d
76a0: 69 73 61 62 6c 65 64 2e 20 20 49 66 0d 0a 20 20  isabled.  If..  
76b0: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
76c0: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 74 68 65   is enabled, the
76d0: 20 22 65 78 74 72 61 2e 63 22 20 66 69 6c 65 20   "extra.c" file 
76e0: 77 69 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64  will be included
76f0: 20 66 72 6f 6d 20 74 68 65 0d 0a 20 20 20 20 20   from the..     
7700: 20 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 69           extensi
7710: 6f 6e 73 20 64 69 72 65 63 74 6f 72 79 2e 20 20  ons directory.  
7720: 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c  If this is enabl
7730: 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73 6f  ed, it must also
7740: 20 62 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20   be..           
7750: 20 20 20 65 6e 61 62 6c 65 64 20 76 69 61 20 74     enabled via t
7760: 68 65 20 22 49 4e 54 45 52 4f 50 5f 49 4e 43 4c  he "INTEROP_INCL
7770: 55 44 45 5f 45 58 54 52 41 3d 31 22 20 70 72 65  UDE_EXTRA=1" pre
7780: 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65  processor define
7790: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
77a0: 62 65 69 6e 67 20 70 72 65 73 65 6e 74 20 69 6e  being present in
77b0: 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45 58   the "INTEROP_EX
77c0: 54 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63  TRA_DEFINES" mac
77d0: 72 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64 0d  ro in the build.
77e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70  .              p
77f0: 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d  roperties file:.
7800: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
7810: 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74       "SQLite.Int
7820: 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74  erop\props\SQLit
7830: 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b  e.Interop.20YY.[
7840: 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20  vs]props"....   
7850: 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74             for t
7860: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
7870: 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56   version(s) of V
7880: 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a 20  isual Studio... 
7890: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74     -->..    <Int
78a0: 65 72 6f 70 49 6e 63 6c 75 64 65 45 78 74 72 61  eropIncludeExtra
78b0: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49   Condition="'$(I
78c0: 6e 74 65 72 6f 70 49 6e 63 6c 75 64 65 45 78 74  nteropIncludeExt
78d0: 72 61 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73  ra)' == ''">fals
78e0: 65 3c 2f 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64  e</InteropInclud
78f0: 65 45 78 74 72 61 3e 0d 0a 0d 0a 20 20 20 20 3c  eExtra>....    <
7900: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
7910: 45 3a 20 45 6e 61 62 6c 65 20 65 78 74 72 61 20  E: Enable extra 
7920: 64 69 61 67 6e 6f 73 74 69 63 73 20 66 72 6f 6d  diagnostics from
7930: 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75 69 6c   the custom buil
7940: 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28 69  t interop DLL (i
7950: 2e 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .e...           
7960: 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72     "SQLite.Inter
7970: 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65  op.dll")?  By de
7980: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65  fault, this is e
7990: 6e 61 62 6c 65 64 20 69 6e 20 74 68 65 20 44 65  nabled in the De
79a0: 62 75 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20  bug..           
79b0: 20 20 20 62 75 69 6c 64 20 63 6f 6e 66 69 67 75     build configu
79c0: 72 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 69 73  ration.  If this
79d0: 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 6e 6f   is disabled, no
79e0: 20 65 78 74 72 61 20 64 69 61 67 6e 6f 73 74 69   extra diagnosti
79f0: 63 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  cs..            
7a00: 20 20 77 69 6c 6c 20 62 65 20 65 6d 69 74 74 65    will be emitte
7a10: 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 65  d.  If this is e
7a20: 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20  nabled, it must 
7a30: 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64 20  also be enabled 
7a40: 76 69 61 0d 0a 20 20 20 20 20 20 20 20 20 20 20  via..           
7a50: 20 20 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f     the "INTEROP_
7a60: 44 45 42 55 47 3d 58 58 22 20 70 72 65 70 72 6f  DEBUG=XX" prepro
7a70: 63 65 73 73 6f 72 20 64 65 66 69 6e 65 20 62 65  cessor define be
7a80: 69 6e 67 20 70 72 65 73 65 6e 74 20 69 6e 20 74  ing present in t
7a90: 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  he..            
7aa0: 20 20 22 49 4e 54 45 52 4f 50 5f 44 45 42 55 47    "INTEROP_DEBUG
7ab0: 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20  _DEFINES" macro 
7ac0: 69 6e 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f  in the build pro
7ad0: 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d  perties file:...
7ae0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
7af0: 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72     "SQLite.Inter
7b00: 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e  op\props\SQLite.
7b10: 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73  Interop.20YY.[vs
7b20: 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20  ]props"....     
7b30: 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65           for the
7b40: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 76   corresponding v
7b50: 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56 69 73  ersion(s) of Vis
7b60: 75 61 6c 20 53 74 75 64 69 6f 20 77 68 65 72 65  ual Studio where
7b70: 20 74 68 65 20 58 58 20 69 73 0d 0a 20 20 20 20   the XX is..    
7b80: 20 20 20 20 20 20 20 20 20 20 61 6e 20 69 6e 74            an int
7b90: 65 67 65 72 20 76 61 6c 75 65 20 74 68 61 74 20  eger value that 
7ba0: 72 65 70 72 65 73 65 6e 74 73 20 61 20 63 6f 6d  represents a com
7bb0: 62 69 6e 61 74 69 6f 6e 20 6f 66 20 6f 6e 65 20  bination of one 
7bc0: 6f 72 20 6d 6f 72 65 20 6f 66 0d 0a 20 20 20 20  or more of..    
7bd0: 20 20 20 20 20 20 20 20 20 20 74 68 65 20 66 6f            the fo
7be0: 6c 6c 6f 77 69 6e 67 20 62 69 74 20 66 6c 61 67  llowing bit flag
7bf0: 73 20 76 61 6c 75 65 73 20 28 69 2e 65 2e 20 74  s values (i.e. t
7c00: 6f 20 65 6e 61 62 6c 65 20 65 78 74 72 61 20 64  o enable extra d
7c10: 69 61 67 6e 6f 73 74 69 63 73 0d 0a 20 20 20 20  iagnostics..    
7c20: 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 61 20            for a 
7c30: 70 61 72 74 69 63 75 6c 61 72 20 6e 61 74 69 76  particular nativ
7c40: 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 29  e function call)
7c50: 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  :....           
7c60: 20 20 20 20 20 20 20 49 4e 54 45 52 4f 50 5f 44         INTEROP_D
7c70: 45 42 55 47 5f 43 4c 4f 53 45 20 20 20 20 20 20  EBUG_CLOSE      
7c80: 20 20 20 20 28 30 78 30 30 30 31 29 0d 0a 20 20      (0x0001)..  
7c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7ca0: 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 46 49  INTEROP_DEBUG_FI
7cb0: 4e 41 4c 49 5a 45 20 20 20 20 20 20 20 28 30 78  NALIZE       (0x
7cc0: 30 30 30 32 29 0d 0a 20 20 20 20 20 20 20 20 20  0002)..         
7cd0: 20 20 20 20 20 20 20 20 20 49 4e 54 45 52 4f 50           INTEROP
7ce0: 5f 44 45 42 55 47 5f 42 41 43 4b 55 50 5f 46 49  _DEBUG_BACKUP_FI
7cf0: 4e 49 53 48 20 20 28 30 78 30 30 30 34 29 0d 0a  NISH  (0x0004)..
7d00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7d10: 20 20 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f    INTEROP_DEBUG_
7d20: 4f 50 45 4e 20 20 20 20 20 20 20 20 20 20 20 28  OPEN           (
7d30: 30 78 30 30 30 38 29 0d 0a 20 20 20 20 20 20 20  0x0008)..       
7d40: 20 20 20 20 20 20 20 20 20 20 20 49 4e 54 45 52             INTER
7d50: 4f 50 5f 44 45 42 55 47 5f 4f 50 45 4e 31 36 20  OP_DEBUG_OPEN16 
7d60: 20 20 20 20 20 20 20 20 28 30 78 30 30 31 30 29          (0x0010)
7d70: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
7d80: 20 20 20 20 49 4e 54 45 52 4f 50 5f 44 45 42 55      INTEROP_DEBU
7d90: 47 5f 50 52 45 50 41 52 45 20 20 20 20 20 20 20  G_PREPARE       
7da0: 20 28 30 78 30 30 32 30 29 0d 0a 20 20 20 20 20   (0x0020)..     
7db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 4e 54               INT
7dc0: 45 52 4f 50 5f 44 45 42 55 47 5f 50 52 45 50 41  EROP_DEBUG_PREPA
7dd0: 52 45 31 36 20 20 20 20 20 20 28 30 78 30 30 34  RE16      (0x004
7de0: 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  0)..            
7df0: 20 20 20 20 20 20 49 4e 54 45 52 4f 50 5f 44 45        INTEROP_DE
7e00: 42 55 47 5f 52 45 53 45 54 20 20 20 20 20 20 20  BUG_RESET       
7e10: 20 20 20 28 30 78 30 30 38 30 29 0d 0a 20 20 20     (0x0080)..   
7e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49                 I
7e30: 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 43 48 41  NTEROP_DEBUG_CHA
7e40: 4e 47 45 53 20 20 20 20 20 20 20 20 28 30 78 30  NGES        (0x0
7e50: 31 30 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20  100)..          
7e60: 20 20 20 20 20 20 20 20 49 4e 54 45 52 4f 50 5f          INTEROP_
7e70: 44 45 42 55 47 5f 42 52 45 41 4b 20 20 20 20 20  DEBUG_BREAK     
7e80: 20 20 20 20 20 28 30 78 30 32 30 30 29 0d 0a 20       (0x0200).. 
7e90: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74     -->..    <Int
7ea0: 65 72 6f 70 44 65 62 75 67 20 43 6f 6e 64 69 74  eropDebug Condit
7eb0: 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 44  ion="'$(InteropD
7ec0: 65 62 75 67 29 27 20 3d 3d 20 27 27 20 41 6e 64  ebug)' == '' And
7ed0: 20 27 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f   '$(Configuratio
7ee0: 6e 29 27 20 3d 3d 20 27 44 65 62 75 67 27 22 3e  n)' == 'Debug'">
7ef0: 74 72 75 65 3c 2f 49 6e 74 65 72 6f 70 44 65 62  true</InteropDeb
7f00: 75 67 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f  ug>..    <Intero
7f10: 70 44 65 62 75 67 20 43 6f 6e 64 69 74 69 6f 6e  pDebug Condition
7f20: 3d 22 27 24 28 49 6e 74 65 72 6f 70 44 65 62 75  ="'$(InteropDebu
7f30: 67 29 27 20 3d 3d 20 27 27 20 41 6e 64 20 27 24  g)' == '' And '$
7f40: 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 27  (Configuration)'
7f50: 20 21 3d 20 27 44 65 62 75 67 27 22 3e 66 61 6c   != 'Debug'">fal
7f60: 73 65 3c 2f 49 6e 74 65 72 6f 70 44 65 62 75 67  se</InteropDebug
7f70: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
7f80: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 44 69 73         NOTE: Dis
7f90: 61 62 6c 65 20 61 6c 6c 20 75 73 65 20 6f 66 20  able all use of 
7fa0: 74 68 65 20 73 71 6c 69 74 65 33 5f 63 6c 6f 73  the sqlite3_clos
7fb0: 65 5f 76 32 28 29 20 6e 61 74 69 76 65 20 41 50  e_v2() native AP
7fc0: 49 20 61 6e 64 20 75 73 65 20 74 68 65 0d 0a 20  I and use the.. 
7fd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 67               leg
7fe0: 61 63 79 20 53 79 73 74 65 6d 2e 44 61 74 61 2e  acy System.Data.
7ff0: 53 51 4c 69 74 65 20 63 6f 6e 6e 65 63 74 69 6f  SQLite connectio
8000: 6e 20 63 6c 6f 73 69 6e 67 20 61 6c 67 6f 72 69  n closing algori
8010: 74 68 6d 20 69 6e 73 74 65 61 64 2e 0d 0a 20 20  thm instead...  
8020: 20 20 20 20 20 20 20 20 20 20 20 20 42 79 20 64              By d
8030: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
8040: 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68  disabled.  If th
8050: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69  is is enabled, i
8060: 74 20 6d 75 73 74 20 61 6c 73 6f 0d 0a 20 20 20  t must also..   
8070: 20 20 20 20 20 20 20 20 20 20 20 62 65 20 65 6e             be en
8080: 61 62 6c 65 64 20 76 69 61 20 74 68 65 20 22 49  abled via the "I
8090: 4e 54 45 52 4f 50 5f 4c 45 47 41 43 59 5f 43 4c  NTEROP_LEGACY_CL
80a0: 4f 53 45 3d 31 22 20 70 72 65 70 72 6f 63 65 73  OSE=1" preproces
80b0: 73 6f 72 20 64 65 66 69 6e 65 0d 0a 20 20 20 20  sor define..    
80c0: 20 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20            being 
80d0: 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 22  present in the "
80e0: 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f 44 45  INTEROP_EXTRA_DE
80f0: 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20  FINES" macro in 
8100: 74 68 65 20 62 75 69 6c 64 0d 0a 20 20 20 20 20  the build..     
8110: 20 20 20 20 20 20 20 20 20 70 72 6f 70 65 72 74           propert
8120: 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20  ies file:....   
8130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22                 "
8140: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70  SQLite.Interop\p
8150: 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65  rops\SQLite.Inte
8160: 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f  rop.20YY.[vs]pro
8170: 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20  ps"....         
8180: 20 20 20 20 20 66 6f 72 20 74 68 65 20 63 6f 72       for the cor
8190: 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69  responding versi
81a0: 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20  on(s) of Visual 
81b0: 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e  Studio...    -->
81c0: 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 4c 65  ..    <InteropLe
81d0: 67 61 63 79 43 6c 6f 73 65 20 43 6f 6e 64 69 74  gacyClose Condit
81e0: 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 4c  ion="'$(InteropL
81f0: 65 67 61 63 79 43 6c 6f 73 65 29 27 20 3d 3d 20  egacyClose)' == 
8200: 27 27 22 3e 66 61 6c 73 65 3c 2f 49 6e 74 65 72  ''">false</Inter
8210: 6f 70 4c 65 67 61 63 79 43 6c 6f 73 65 3e 0d 0a  opLegacyClose>..
8220: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
8230: 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65      NOTE: Enable
8240: 20 74 68 65 20 6c 6f 67 67 69 6e 67 20 63 61 6c   the logging cal
8250: 6c 62 61 63 6b 20 69 6e 20 74 68 65 20 63 75 73  lback in the cus
8260: 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65 72 6f  tom built intero
8270: 70 20 44 4c 4c 20 28 69 2e 65 2e 0d 0a 20 20 20  p DLL (i.e...   
8280: 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69             "SQLi
8290: 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22 29  te.Interop.dll")
82a0: 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74  ?  By default, t
82b0: 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 20 69  his is enabled i
82c0: 6e 20 74 68 65 20 44 65 62 75 67 0d 0a 20 20 20  n the Debug..   
82d0: 20 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64             build
82e0: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20   configuration. 
82f0: 20 49 66 20 74 68 69 73 20 69 73 20 64 69 73 61   If this is disa
8300: 62 6c 65 64 2c 20 74 68 65 20 6c 6f 67 67 69 6e  bled, the loggin
8310: 67 20 63 61 6c 6c 62 61 63 6b 0d 0a 20 20 20 20  g callback..    
8320: 20 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20 62            will b
8330: 65 20 75 6e 61 76 61 69 6c 61 62 6c 65 20 61 6e  e unavailable an
8340: 64 20 64 69 61 67 6e 6f 73 74 69 63 20 6d 65 73  d diagnostic mes
8350: 73 61 67 65 73 20 6d 61 79 20 6e 6f 74 20 62 65  sages may not be
8360: 20 73 65 65 6e 20 69 66 0d 0a 20 20 20 20 20 20   seen if..      
8370: 20 20 20 20 20 20 20 20 61 6e 6f 74 68 65 72 20          another 
8380: 6e 61 74 69 76 65 20 6c 6f 67 67 69 6e 67 20 63  native logging c
8390: 61 6c 6c 62 61 63 6b 20 69 73 20 6e 6f 74 20 63  allback is not c
83a0: 6f 6e 66 69 67 75 72 65 64 2e 20 20 49 66 20 74  onfigured.  If t
83b0: 68 69 73 20 69 73 0d 0a 20 20 20 20 20 20 20 20  his is..        
83c0: 20 20 20 20 20 20 65 6e 61 62 6c 65 64 2c 20 69        enabled, i
83d0: 74 20 6d 75 73 74 20 61 6c 73 6f 20 62 65 20 65  t must also be e
83e0: 6e 61 62 6c 65 64 20 76 69 61 20 74 68 65 20 22  nabled via the "
83f0: 49 4e 54 45 52 4f 50 5f 4c 4f 47 3d 31 22 0d 0a  INTEROP_LOG=1"..
8400: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
8410: 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e  eprocessor defin
8420: 65 20 62 65 69 6e 67 20 70 72 65 73 65 6e 74 20  e being present 
8430: 69 6e 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f  in the "INTEROP_
8440: 44 45 42 55 47 5f 44 45 46 49 4e 45 53 22 0d 0a  DEBUG_DEFINES"..
8450: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61                ma
8460: 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64  cro in the build
8470: 20 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65   properties file
8480: 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  :....           
8490: 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49         "SQLite.I
84a0: 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c  nterop\props\SQL
84b0: 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59  ite.Interop.20YY
84c0: 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20  .[vs]props".... 
84d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72               for
84e0: 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69   the correspondi
84f0: 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66  ng version(s) of
8500: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d   Visual Studio..
8510: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49  .    -->..    <I
8520: 6e 74 65 72 6f 70 4c 6f 67 20 43 6f 6e 64 69 74  nteropLog Condit
8530: 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 4c  ion="'$(InteropL
8540: 6f 67 29 27 20 3d 3d 20 27 27 20 41 6e 64 20 27  og)' == '' And '
8550: 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29  $(Configuration)
8560: 27 20 3d 3d 20 27 44 65 62 75 67 27 22 3e 74 72  ' == 'Debug'">tr
8570: 75 65 3c 2f 49 6e 74 65 72 6f 70 4c 6f 67 3e 0d  ue</InteropLog>.
8580: 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 4c 6f 67  .    <InteropLog
8590: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49   Condition="'$(I
85a0: 6e 74 65 72 6f 70 4c 6f 67 29 27 20 3d 3d 20 27  nteropLog)' == '
85b0: 27 20 41 6e 64 20 27 24 28 43 6f 6e 66 69 67 75  ' And '$(Configu
85c0: 72 61 74 69 6f 6e 29 27 20 21 3d 20 27 44 65 62  ration)' != 'Deb
85d0: 75 67 27 22 3e 66 61 6c 73 65 3c 2f 49 6e 74 65  ug'">false</Inte
85e0: 72 6f 70 4c 6f 67 3e 0d 0a 0d 0a 20 20 20 20 3c  ropLog>....    <
85f0: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
8600: 45 3a 20 45 6e 61 62 6c 65 20 69 6e 63 6c 75 64  E: Enable includ
8610: 69 6e 67 20 74 68 65 20 76 74 73 68 69 6d 20 6d  ing the vtshim m
8620: 6f 64 75 6c 65 20 61 73 20 61 20 73 74 61 74 69  odule as a stati
8630: 63 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 0d  cally available.
8640: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65  .              e
8650: 78 74 65 6e 73 69 6f 6e 3f 20 20 54 68 69 73 20  xtension?  This 
8660: 77 69 6c 6c 20 61 6c 6c 6f 77 20 76 69 72 74 75  will allow virtu
8670: 61 6c 20 74 61 62 6c 65 73 20 74 6f 20 62 65 20  al tables to be 
8680: 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 0d 0a  implemented in..
8690: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61                ma
86a0: 6e 61 67 65 64 20 63 6f 64 65 2e 20 20 42 79 20  naged code.  By 
86b0: 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73  default, this is
86c0: 20 65 6e 61 62 6c 65 64 2e 20 20 49 66 20 74 68   enabled.  If th
86d0: 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c 0d  is is disabled,.
86e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73  .              s
86f0: 75 70 70 6f 72 74 20 66 6f 72 20 69 6d 70 6c 65  upport for imple
8700: 6d 65 6e 74 69 6e 67 20 76 69 72 74 75 61 6c 20  menting virtual 
8710: 74 61 62 6c 65 73 20 69 6e 20 6d 61 6e 61 67 65  tables in manage
8720: 64 20 63 6f 64 65 20 77 69 6c 6c 20 62 65 0d 0a  d code will be..
8730: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e                un
8740: 61 76 61 69 6c 61 62 6c 65 2e 20 20 49 66 20 74  available.  If t
8750: 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2c 20  his is enabled, 
8760: 69 74 20 6d 75 73 74 20 61 6c 73 6f 20 62 65 20  it must also be 
8770: 65 6e 61 62 6c 65 64 20 76 69 61 0d 0a 20 20 20  enabled via..   
8780: 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 22             the "
8790: 49 4e 54 45 52 4f 50 5f 56 49 52 54 55 41 4c 5f  INTEROP_VIRTUAL_
87a0: 54 41 42 4c 45 3d 31 22 20 70 72 65 70 72 6f 63  TABLE=1" preproc
87b0: 65 73 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69  essor define bei
87c0: 6e 67 20 70 72 65 73 65 6e 74 0d 0a 20 20 20 20  ng present..    
87d0: 20 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65            in the
87e0: 20 22 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f   "INTEROP_EXTRA_
87f0: 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69  DEFINES" macro i
8800: 6e 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f 70  n the build prop
8810: 65 72 74 69 65 73 0d 0a 20 20 20 20 20 20 20 20  erties..        
8820: 20 20 20 20 20 20 66 69 6c 65 3a 0d 0a 0d 0a 20        file:.... 
8830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8840: 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70   "SQLite.Interop
8850: 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e  \props\SQLite.In
8860: 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70  terop.20YY.[vs]p
8870: 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20  rops"....       
8880: 20 20 20 20 20 20 20 62 6f 74 68 20 66 6f 72 20         both for 
8890: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
88a0: 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20  g version(s) of 
88b0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a  Visual Studio...
88c0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e      -->..    <In
88d0: 74 65 72 6f 70 56 69 72 74 75 61 6c 54 61 62 6c  teropVirtualTabl
88e0: 65 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  e Condition="'$(
88f0: 49 6e 74 65 72 6f 70 56 69 72 74 75 61 6c 54 61  InteropVirtualTa
8900: 62 6c 65 29 27 20 3d 3d 20 27 27 22 3e 74 72 75  ble)' == ''">tru
8910: 65 3c 2f 49 6e 74 65 72 6f 70 56 69 72 74 75 61  e</InteropVirtua
8920: 6c 54 61 62 6c 65 3e 0d 0a 0d 0a 20 20 20 20 3c  lTable>....    <
8930: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
8940: 45 3a 20 45 6e 61 62 6c 65 20 69 6e 63 6c 75 64  E: Enable includ
8950: 69 6e 67 20 74 68 65 20 73 65 73 73 69 6f 6e 20  ing the session 
8960: 6d 6f 64 75 6c 65 20 61 73 20 61 20 73 74 61 74  module as a stat
8970: 69 63 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65  ically available
8980: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
8990: 65 78 74 65 6e 73 69 6f 6e 3f 20 20 42 79 20 64  extension?  By d
89a0: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
89b0: 65 6e 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69  enabled.  If thi
89c0: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c 0d 0a  s is disabled,..
89d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75                su
89e0: 70 70 6f 72 74 20 66 6f 72 20 75 73 69 6e 67 20  pport for using 
89f0: 74 68 65 20 73 65 73 73 69 6f 6e 20 6d 6f 64 75  the session modu
8a00: 6c 65 20 69 6e 20 6d 61 6e 61 67 65 64 20 63 6f  le in managed co
8a10: 64 65 20 77 69 6c 6c 20 62 65 0d 0a 20 20 20 20  de will be..    
8a20: 20 20 20 20 20 20 20 20 20 20 75 6e 61 76 61 69            unavai
8a30: 6c 61 62 6c 65 2e 20 20 49 66 20 74 68 69 73 20  lable.  If this 
8a40: 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d  is enabled, it m
8a50: 75 73 74 20 61 6c 73 6f 20 62 65 20 65 6e 61 62  ust also be enab
8a60: 6c 65 64 20 76 69 61 0d 0a 20 20 20 20 20 20 20  led via..       
8a70: 20 20 20 20 20 20 20 74 68 65 20 22 49 4e 54 45         the "INTE
8a80: 52 4f 50 5f 53 45 53 53 49 4f 4e 5f 45 58 54 45  ROP_SESSION_EXTE
8a90: 4e 53 49 4f 4e 3d 31 22 20 70 72 65 70 72 6f 63  NSION=1" preproc
8aa0: 65 73 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69  essor define bei
8ab0: 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ng..            
8ac0: 20 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65    present in the
8ad0: 20 22 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f   "INTEROP_EXTRA_
8ae0: 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69  DEFINES" macro i
8af0: 6e 20 74 68 65 20 62 75 69 6c 64 0d 0a 20 20 20  n the build..   
8b00: 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 70 65             prope
8b10: 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20  rties file:.... 
8b20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8b30: 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70   "SQLite.Interop
8b40: 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e  \props\SQLite.In
8b50: 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70  terop.20YY.[vs]p
8b60: 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20  rops"....       
8b70: 20 20 20 20 20 20 20 62 6f 74 68 20 66 6f 72 20         both for 
8b80: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
8b90: 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20  g version(s) of 
8ba0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a  Visual Studio...
8bb0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e      -->..    <In
8bc0: 74 65 72 6f 70 53 65 73 73 69 6f 6e 45 78 74 65  teropSessionExte
8bd0: 6e 73 69 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d  nsion Condition=
8be0: 22 27 24 28 49 6e 74 65 72 6f 70 53 65 73 73 69  "'$(InteropSessi
8bf0: 6f 6e 45 78 74 65 6e 73 69 6f 6e 29 27 20 3d 3d  onExtension)' ==
8c00: 20 27 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65 72   ''">true</Inter
8c10: 6f 70 53 65 73 73 69 6f 6e 45 78 74 65 6e 73 69  opSessionExtensi
8c20: 6f 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d  on>....    <!--.
8c30: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45  .        NOTE: E
8c40: 6e 61 62 6c 65 20 74 68 65 20 75 73 65 20 6f 66  nable the use of
8c50: 20 6e 61 74 69 76 65 20 57 69 6e 64 6f 77 73 20   native Windows 
8c60: 41 50 49 73 2c 20 77 68 65 6e 20 61 76 61 69 6c  APIs, when avail
8c70: 61 62 6c 65 3f 20 20 42 79 0d 0a 20 20 20 20 20  able?  By..     
8c80: 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74           default
8c90: 2c 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65  , this is enable
8ca0: 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 64  d.  If this is d
8cb0: 69 73 61 62 6c 65 64 2c 20 61 6c 6c 20 66 65 61  isabled, all fea
8cc0: 74 75 72 65 73 0d 0a 20 20 20 20 20 20 20 20 20  tures..         
8cd0: 20 20 20 20 20 74 68 61 74 20 72 65 71 75 69 72       that requir
8ce0: 65 20 74 68 65 20 75 73 65 20 6f 66 20 6e 61 74  e the use of nat
8cf0: 69 76 65 20 57 69 6e 64 6f 77 73 20 41 50 49 73  ive Windows APIs
8d00: 20 77 69 6c 6c 20 62 65 20 75 6e 61 76 61 69 6c   will be unavail
8d10: 61 62 6c 65 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  able...    -->..
8d20: 20 20 20 20 3c 55 73 65 57 69 6e 64 6f 77 73 20      <UseWindows 
8d30: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 55 73  Condition="'$(Us
8d40: 65 57 69 6e 64 6f 77 73 29 27 20 3d 3d 20 27 27  eWindows)' == ''
8d50: 22 3e 74 72 75 65 3c 2f 55 73 65 57 69 6e 64 6f  ">true</UseWindo
8d60: 77 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d  ws>....    <!--.
8d70: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 46  .        NOTE: F
8d80: 6f 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 77  or interaction w
8d90: 69 74 68 20 74 68 65 20 45 6e 74 69 74 79 20 46  ith the Entity F
8da0: 72 61 6d 65 77 6f 72 6b 2c 20 61 73 73 75 6d 65  ramework, assume
8db0: 20 76 65 72 73 69 6f 6e 20 36 20 6f 72 0d 0a 20   version 6 or.. 
8dc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 68 69 67               hig
8dd0: 68 65 72 3f 20 20 42 79 20 64 65 66 61 75 6c 74  her?  By default
8de0: 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c  , this is disabl
8df0: 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 20  ed.  If this is 
8e00: 65 6e 61 62 6c 65 64 2c 20 74 68 65 0d 0a 20 20  enabled, the..  
8e10: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 79 73              "Sys
8e20: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e  tem.Data.SQLite.
8e30: 4c 69 6e 71 22 20 61 73 73 65 6d 62 6c 79 20 77  Linq" assembly w
8e40: 69 6c 6c 20 6e 6f 74 20 77 6f 72 6b 20 77 69 74  ill not work wit
8e50: 68 20 61 6e 79 20 45 6e 74 69 74 79 0d 0a 20 20  h any Entity..  
8e60: 20 20 20 20 20 20 20 20 20 20 20 20 46 72 61 6d              Fram
8e70: 65 77 6f 72 6b 20 70 72 69 6f 72 20 74 6f 20 76  ework prior to v
8e80: 65 72 73 69 6f 6e 20 36 2e 0d 0a 20 20 20 20 2d  ersion 6...    -
8e90: 2d 3e 0d 0a 20 20 20 20 3c 55 73 65 45 6e 74 69  ->..    <UseEnti
8ea0: 74 79 46 72 61 6d 65 77 6f 72 6b 36 20 43 6f 6e  tyFramework6 Con
8eb0: 64 69 74 69 6f 6e 3d 22 27 24 28 55 73 65 45 6e  dition="'$(UseEn
8ec0: 74 69 74 79 46 72 61 6d 65 77 6f 72 6b 36 29 27  tityFramework6)'
8ed0: 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 55   == ''">false</U
8ee0: 73 65 45 6e 74 69 74 79 46 72 61 6d 65 77 6f 72  seEntityFramewor
8ef0: 6b 36 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74  k6>..  </Propert
8f00: 79 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d  yGroup>....  <!-
8f10: 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  -..  ***********
8f20: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8f30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8f40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8f50: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8f60: 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20  ***..  **       
8f70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8f80: 20 20 20 20 20 20 54 72 61 63 65 20 50 72 6f 70        Trace Prop
8f90: 65 72 74 69 65 73 20 20 20 20 20 20 20 20 20 20  erties          
8fa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8fb0: 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a     **..  *******
8fc0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8fd0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8fe0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8ff0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9000: 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a  *******..  -->..
9010: 0d 0a 20 20 3c 50 72 6f 70 65 72 74 79 47 72 6f  ..  <PropertyGro
9020: 75 70 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  up>..    <!--.. 
9030: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61         NOTE: Ena
9040: 62 6c 65 20 74 72 61 63 69 6e 67 20 6f 66 20 65  ble tracing of e
9050: 76 65 6e 74 73 20 72 65 6c 61 74 65 64 20 74 6f  vents related to
9060: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64   connection hand
9070: 6c 69 6e 67 3f 20 20 42 79 0d 0a 20 20 20 20 20  ling?  By..     
9080: 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74           default
9090: 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c  , this is disabl
90a0: 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  ed...    -->..  
90b0: 20 20 3c 54 72 61 63 65 43 6f 6e 6e 65 63 74 69    <TraceConnecti
90c0: 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  on Condition="'$
90d0: 28 54 72 61 63 65 43 6f 6e 6e 65 63 74 69 6f 6e  (TraceConnection
90e0: 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c  )' == ''">false<
90f0: 2f 54 72 61 63 65 43 6f 6e 6e 65 63 74 69 6f 6e  /TraceConnection
9100: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
9110: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61         NOTE: Ena
9120: 62 6c 65 20 74 72 61 63 69 6e 67 20 6f 66 20 65  ble tracing of e
9130: 76 65 6e 74 73 20 72 65 6c 61 74 65 64 20 74 6f  vents related to
9140: 20 61 75 74 6f 6d 61 74 69 63 20 64 65 74 65 63   automatic detec
9150: 74 69 6f 6e 20 6f 66 20 74 68 65 0d 0a 20 20 20  tion of the..   
9160: 20 20 20 20 20 20 20 20 20 20 20 6e 61 74 69 76             nativ
9170: 65 20 6c 69 62 72 61 72 79 20 64 69 72 65 63 74  e library direct
9180: 6f 72 79 20 77 69 74 68 69 6e 20 74 68 65 20 6e  ory within the n
9190: 61 74 69 76 65 20 6c 69 62 72 61 72 79 20 70 72  ative library pr
91a0: 65 2d 6c 6f 61 64 69 6e 67 0d 0a 20 20 20 20 20  e-loading..     
91b0: 20 20 20 20 20 20 20 20 20 63 6f 64 65 3f 20 20           code?  
91c0: 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73  By default, this
91d0: 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20   is disabled... 
91e0: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61     -->..    <Tra
91f0: 63 65 44 65 74 65 63 74 69 6f 6e 20 43 6f 6e 64  ceDetection Cond
9200: 69 74 69 6f 6e 3d 22 27 24 28 54 72 61 63 65 44  ition="'$(TraceD
9210: 65 74 65 63 74 69 6f 6e 29 27 20 3d 3d 20 27 27  etection)' == ''
9220: 22 3e 66 61 6c 73 65 3c 2f 54 72 61 63 65 44 65  ">false</TraceDe
9230: 74 65 63 74 69 6f 6e 3e 0d 0a 0d 0a 20 20 20 20  tection>....    
9240: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
9250: 54 45 3a 20 45 6e 61 62 6c 65 20 74 72 61 63 69  TE: Enable traci
9260: 6e 67 20 6f 66 20 65 76 65 6e 74 73 20 72 65 6c  ng of events rel
9270: 61 74 65 64 20 74 6f 20 43 72 69 74 69 63 61 6c  ated to Critical
9280: 48 61 6e 64 6c 65 20 68 61 6e 64 6c 69 6e 67 3f  Handle handling?
9290: 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20    By..          
92a0: 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69      default, thi
92b0: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a  s is disabled...
92c0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72      -->..    <Tr
92d0: 61 63 65 48 61 6e 64 6c 65 20 43 6f 6e 64 69 74  aceHandle Condit
92e0: 69 6f 6e 3d 22 27 24 28 54 72 61 63 65 48 61 6e  ion="'$(TraceHan
92f0: 64 6c 65 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c  dle)' == ''">fal
9300: 73 65 3c 2f 54 72 61 63 65 48 61 6e 64 6c 65 3e  se</TraceHandle>
9310: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
9320: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
9330: 6c 65 20 74 72 61 63 69 6e 67 20 6f 66 20 65 76  le tracing of ev
9340: 65 6e 74 73 20 72 65 6c 61 74 65 64 20 74 6f 20  ents related to 
9350: 74 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72 61  the native libra
9360: 72 79 20 70 72 65 2d 6c 6f 61 64 69 6e 67 0d 0a  ry pre-loading..
9370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f                co
9380: 64 65 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c  de?  By default,
9390: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
93a0: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
93b0: 3c 54 72 61 63 65 50 72 65 4c 6f 61 64 20 43 6f  <TracePreLoad Co
93c0: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 54 72 61 63  ndition="'$(Trac
93d0: 65 50 72 65 4c 6f 61 64 29 27 20 3d 3d 20 27 27  ePreLoad)' == ''
93e0: 22 3e 74 72 75 65 3c 2f 54 72 61 63 65 50 72 65  ">true</TracePre
93f0: 4c 6f 61 64 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d  Load>....    <!-
9400: 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a  -..        NOTE:
9410: 20 45 6e 61 62 6c 65 20 74 72 61 63 69 6e 67 20   Enable tracing 
9420: 6f 66 20 65 76 65 6e 74 73 20 72 65 6c 61 74 65  of events relate
9430: 64 20 74 6f 20 74 68 65 20 73 68 61 72 65 64 20  d to the shared 
9440: 6e 61 74 69 76 65 20 6c 69 62 72 61 72 79 0d 0a  native library..
9450: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
9460: 65 2d 6c 6f 61 64 69 6e 67 20 63 6f 64 65 3f 20  e-loading code? 
9470: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
9480: 73 20 69 73 20 65 6e 61 62 6c 65 64 2e 0d 0a 20  s is enabled... 
9490: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61     -->..    <Tra
94a0: 63 65 53 68 61 72 65 64 20 43 6f 6e 64 69 74 69  ceShared Conditi
94b0: 6f 6e 3d 22 27 24 28 54 72 61 63 65 53 68 61 72  on="'$(TraceShar
94c0: 65 64 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65  ed)' == ''">true
94d0: 3c 2f 54 72 61 63 65 53 68 61 72 65 64 3e 0d 0a  </TraceShared>..
94e0: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
94f0: 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65      NOTE: Enable
9500: 20 74 72 61 63 69 6e 67 20 6f 66 20 65 76 65 6e   tracing of even
9510: 74 73 20 72 65 6c 61 74 65 64 20 74 6f 20 74 68  ts related to th
9520: 65 20 70 72 65 70 61 72 65 64 20 73 74 61 74 65  e prepared state
9530: 6d 65 6e 74 73 3f 20 20 42 79 0d 0a 20 20 20 20  ments?  By..    
9540: 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c            defaul
9550: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
9560: 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  led...    -->.. 
9570: 20 20 20 3c 54 72 61 63 65 53 74 61 74 65 6d 65     <TraceStateme
9580: 6e 74 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  nt Condition="'$
9590: 28 54 72 61 63 65 53 74 61 74 65 6d 65 6e 74 29  (TraceStatement)
95a0: 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f  ' == ''">false</
95b0: 54 72 61 63 65 53 74 61 74 65 6d 65 6e 74 3e 0d  TraceStatement>.
95c0: 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  ...    <!--..   
95d0: 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c       NOTE: Enabl
95e0: 65 20 74 72 61 63 69 6e 67 20 6f 66 20 70 6f 74  e tracing of pot
95f0: 65 6e 74 69 61 6c 6c 79 20 69 6d 70 6f 72 74 61  entially importa
9600: 6e 74 2c 20 62 75 74 20 6e 6f 6e 2d 66 61 74 61  nt, but non-fata
9610: 6c 20 65 72 72 6f 72 0d 0a 20 20 20 20 20 20 20  l error..       
9620: 20 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e         condition
9630: 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65  s that cannot be
9640: 20 72 65 70 6f 72 74 65 64 20 61 6e 6f 74 68 65   reported anothe
9650: 72 20 77 61 79 3f 20 20 42 79 20 64 65 66 61 75  r way?  By defau
9660: 6c 74 2c 20 74 68 69 73 0d 0a 20 20 20 20 20 20  lt, this..      
9670: 20 20 20 20 20 20 20 20 69 73 20 65 6e 61 62 6c          is enabl
9680: 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  ed...    -->..  
9690: 20 20 3c 54 72 61 63 65 57 61 72 6e 69 6e 67 20    <TraceWarning 
96a0: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 54 72  Condition="'$(Tr
96b0: 61 63 65 57 61 72 6e 69 6e 67 29 27 20 3d 3d 20  aceWarning)' == 
96c0: 27 27 22 3e 74 72 75 65 3c 2f 54 72 61 63 65 57  ''">true</TraceW
96d0: 61 72 6e 69 6e 67 3e 0d 0a 20 20 3c 2f 50 72 6f  arning>..  </Pro
96e0: 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 0d 0a 20  pertyGroup>.... 
96f0: 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a   <!--..  *******
9700: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9710: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9720: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9730: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9740: 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20  *******..  **   
9750: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9760: 20 20 20 20 20 20 20 20 20 57 61 72 6e 69 6e 67           Warning
9770: 20 50 72 6f 70 65 72 74 69 65 73 20 20 20 20 20   Properties     
9780: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9790: 20 20 20 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a         **..  ***
97a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
97b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
97c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
97d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
97e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d  ***********..  -
97f0: 2d 3e 0d 0a 0d 0a 20 20 3c 50 72 6f 70 65 72 74  ->....  <Propert
9800: 79 47 72 6f 75 70 20 43 6f 6e 64 69 74 69 6f 6e  yGroup Condition
9810: 3d 22 27 24 28 43 6f 6e 66 69 67 75 72 61 74 69  ="'$(Configurati
9820: 6f 6e 29 27 20 3d 3d 20 27 44 65 62 75 67 27 22  on)' == 'Debug'"
9830: 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  >..    <!--..   
9840: 20 20 20 20 20 4e 4f 54 45 3a 20 44 65 62 75 67       NOTE: Debug
9850: 20 62 75 69 6c 64 2e 20 20 53 65 74 20 74 68 65   build.  Set the
9860: 20 77 61 72 6e 69 6e 67 20 6c 65 76 65 6c 20 74   warning level t
9870: 6f 20 6d 61 78 69 6d 75 6d 2e 20 20 41 6c 73 6f  o maximum.  Also
9880: 2c 20 64 69 73 61 62 6c 65 0d 0a 20 20 20 20 20  , disable..     
9890: 20 20 20 20 20 20 20 20 20 77 61 72 6e 69 6e 67           warning
98a0: 73 20 74 68 61 74 20 74 65 6e 64 20 74 6f 20 63  s that tend to c
98b0: 61 75 73 65 20 74 6f 6f 20 6d 75 63 68 20 6e 6f  ause too much no
98c0: 69 73 65 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  ise...    -->.. 
98d0: 20 20 20 3c 57 61 72 6e 69 6e 67 4c 65 76 65 6c     <WarningLevel
98e0: 3e 34 3c 2f 57 61 72 6e 69 6e 67 4c 65 76 65 6c  >4</WarningLevel
98f0: 3e 0d 0a 20 20 20 20 3c 4e 6f 57 61 72 6e 3e 36  >..    <NoWarn>6
9900: 31 38 2c 31 35 39 31 3b 33 30 30 31 3c 2f 4e 6f  18,1591;3001</No
9910: 57 61 72 6e 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65  Warn>..  </Prope
9920: 72 74 79 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c  rtyGroup>....  <
9930: 50 72 6f 70 65 72 74 79 47 72 6f 75 70 20 43 6f  PropertyGroup Co
9940: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 43 6f 6e 66  ndition="'$(Conf
9950: 69 67 75 72 61 74 69 6f 6e 29 27 20 3d 3d 20 27  iguration)' == '
9960: 52 65 6c 65 61 73 65 27 22 3e 0d 0a 20 20 20 20  Release'">..    
9970: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
9980: 54 45 3a 20 52 65 6c 65 61 73 65 20 62 75 69 6c  TE: Release buil
9990: 64 2e 20 20 53 65 74 20 74 68 65 20 77 61 72 6e  d.  Set the warn
99a0: 69 6e 67 20 6c 65 76 65 6c 20 74 6f 20 6d 61 78  ing level to max
99b0: 69 6d 75 6d 2e 20 20 41 6c 73 6f 2c 20 64 69 73  imum.  Also, dis
99c0: 61 62 6c 65 0d 0a 20 20 20 20 20 20 20 20 20 20  able..          
99d0: 20 20 20 20 77 61 72 6e 69 6e 67 73 20 74 68 61      warnings tha
99e0: 74 20 74 65 6e 64 20 74 6f 20 63 61 75 73 65 20  t tend to cause 
99f0: 74 6f 6f 20 6d 75 63 68 20 6e 6f 69 73 65 2e 0d  too much noise..
9a00: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 57  .    -->..    <W
9a10: 61 72 6e 69 6e 67 4c 65 76 65 6c 3e 34 3c 2f 57  arningLevel>4</W
9a20: 61 72 6e 69 6e 67 4c 65 76 65 6c 3e 0d 0a 20 20  arningLevel>..  
9a30: 20 20 3c 4e 6f 57 61 72 6e 3e 36 31 38 2c 31 35    <NoWarn>618,15
9a40: 39 31 3b 33 30 30 31 3c 2f 4e 6f 57 61 72 6e 3e  91;3001</NoWarn>
9a50: 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72  ..  </PropertyGr
9a60: 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a  oup>....  <!--..
9a70: 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a    **************
9a80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9a90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9aa0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9ab0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9ac0: 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20 20  ..  **          
9ad0: 20 20 20 20 20 20 20 20 20 20 20 20 42 75 69 6c              Buil
9ae0: 64 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20  d Configuration 
9af0: 50 72 6f 70 65 72 74 69 65 73 20 20 20 20 20 20  Properties      
9b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9b10: 2a 2a 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 2d 2d 3e 0d 0a 0d 0a 20  ****..  -->.... 
9b70: 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e   <PropertyGroup>
9b80: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
9b90: 20 20 20 20 4e 4f 54 45 3a 20 54 68 65 20 73 75      NOTE: The su
9ba0: 66 66 69 78 20 66 6f 72 20 74 68 65 20 6e 61 6d  ffix for the nam
9bb0: 65 20 6f 66 20 74 68 65 20 62 75 69 6c 64 20 63  e of the build c
9bc0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 64 69 72  onfiguration dir
9bd0: 65 63 74 6f 72 79 20 2e 20 20 42 79 0d 0a 20 20  ectory .  By..  
9be0: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61              defa
9bf0: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 61 6e 20  ult, this is an 
9c00: 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 0d 0a 20  empty string... 
9c10: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 43 6f 6e     -->..    <Con
9c20: 66 69 67 75 72 61 74 69 6f 6e 53 75 66 66 69 78  figurationSuffix
9c30: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 43   Condition="'$(C
9c40: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 53 75 66 66  onfigurationSuff
9c50: 69 78 29 27 20 3d 3d 20 27 27 22 3e 3c 2f 43 6f  ix)' == ''"></Co
9c60: 6e 66 69 67 75 72 61 74 69 6f 6e 53 75 66 66 69  nfigurationSuffi
9c70: 78 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79  x>..  </Property
9c80: 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d  Group>....  <!--
9c90: 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ..  ************
9ca0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9cb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9cc0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9cd0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9ce0: 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20  **..  **        
9cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9d00: 20 52 65 6c 61 74 69 76 65 20 50 61 74 68 20 50   Relative Path P
9d10: 72 6f 70 65 72 74 69 65 73 20 20 20 20 20 20 20  roperties       
9d20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9d30: 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a    **..  ********
9d40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9d50: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9d60: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9d70: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9d80: 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d  ******..  -->...
9d90: 0a 20 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75  .  <PropertyGrou
9da0: 70 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  p Condition="'$(
9db0: 53 51 4c 69 74 65 4e 65 74 44 69 72 29 27 20 21  SQLiteNetDir)' !
9dc0: 3d 20 27 27 22 3e 0d 0a 20 20 20 20 3c 21 2d 2d  = ''">..    <!--
9dd0: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
9de0: 4b 65 65 70 20 61 6c 6c 20 74 68 65 20 69 6e 74  Keep all the int
9df0: 65 72 6d 65 64 69 61 74 65 20 66 69 6c 65 73 20  ermediate files 
9e00: 69 6e 20 6f 6e 65 20 70 6c 61 63 65 2e 20 20 54  in one place.  T
9e10: 68 65 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  he Visual Studio
9e20: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
9e30: 49 44 45 20 73 65 65 6d 73 20 74 6f 20 68 61 76  IDE seems to hav
9e40: 65 20 61 20 6e 61 73 74 79 20 68 61 62 69 74 20  e a nasty habit 
9e50: 6f 66 20 69 67 6e 6f 72 69 6e 67 20 74 68 69 73  of ignoring this
9e60: 20 73 65 74 74 69 6e 67 2e 20 20 54 68 65 0d 0a   setting.  The..
9e70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 69                Vi
9e80: 73 75 61 6c 20 53 74 75 64 69 6f 20 49 44 45 20  sual Studio IDE 
9e90: 74 68 65 6e 20 66 61 69 6c 73 20 74 6f 20 62 75  then fails to bu
9ea0: 69 6c 64 20 74 68 65 20 70 72 6f 6a 65 63 74 28  ild the project(
9eb0: 73 29 20 70 72 6f 70 65 72 6c 79 20 77 68 65 6e  s) properly when
9ec0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
9ed0: 74 68 65 20 6f 75 74 70 75 74 20 64 6f 65 73 20  the output does 
9ee0: 6e 6f 74 20 65 6e 64 20 75 70 20 77 68 65 72 65  not end up where
9ef0: 20 69 74 20 65 78 70 65 63 74 73 20 74 68 65 20   it expects the 
9f00: 6f 75 74 70 75 74 20 74 6f 20 62 65 2e 20 20 54  output to be.  T
9f10: 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  he..            
9f20: 20 20 76 61 6c 75 65 20 6f 66 20 74 68 69 73 20    value of this 
9f30: 70 72 6f 70 65 72 74 79 20 6d 75 73 74 20 68 61  property must ha
9f40: 76 65 20 61 20 74 72 61 69 6c 69 6e 67 20 62 61  ve a trailing ba
9f50: 63 6b 73 6c 61 73 68 2e 0d 0a 20 20 20 20 2d 2d  ckslash...    --
9f60: 3e 0d 0a 20 20 20 20 3c 42 61 73 65 49 6e 74 65  >..    <BaseInte
9f70: 72 6d 65 64 69 61 74 65 4f 75 74 70 75 74 50 61  rmediateOutputPa
9f80: 74 68 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  th Condition="'$
9f90: 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 53 75  (ConfigurationSu
9fa0: 66 66 69 78 29 27 20 3d 3d 20 27 27 22 3e 24 28  ffix)' == ''">$(
9fb0: 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 6f 62  SQLiteNetDir)\ob
9fc0: 6a 5c 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f  j\$(Configuratio
9fd0: 6e 59 65 61 72 29 5c 24 28 4d 53 42 75 69 6c 64  nYear)\$(MSBuild
9fe0: 50 72 6f 6a 65 63 74 4e 61 6d 65 29 5c 3c 2f 42  ProjectName)\</B
9ff0: 61 73 65 49 6e 74 65 72 6d 65 64 69 61 74 65 4f  aseIntermediateO
a000: 75 74 70 75 74 50 61 74 68 3e 0d 0a 20 20 20 20  utputPath>..    
a010: 3c 42 61 73 65 49 6e 74 65 72 6d 65 64 69 61 74  <BaseIntermediat
a020: 65 4f 75 74 70 75 74 50 61 74 68 20 43 6f 6e 64  eOutputPath Cond
a030: 69 74 69 6f 6e 3d 22 27 24 28 43 6f 6e 66 69 67  ition="'$(Config
a040: 75 72 61 74 69 6f 6e 53 75 66 66 69 78 29 27 20  urationSuffix)' 
a050: 21 3d 20 27 27 22 3e 24 28 53 51 4c 69 74 65 4e  != ''">$(SQLiteN
a060: 65 74 44 69 72 29 5c 6f 62 6a 5c 24 28 43 6f 6e  etDir)\obj\$(Con
a070: 66 69 67 75 72 61 74 69 6f 6e 59 65 61 72 29 5c  figurationYear)\
a080: 24 28 4d 53 42 75 69 6c 64 50 72 6f 6a 65 63 74  $(MSBuildProject
a090: 4e 61 6d 65 29 5c 24 28 43 6f 6e 66 69 67 75 72  Name)\$(Configur
a0a0: 61 74 69 6f 6e 53 75 66 66 69 78 29 5c 3c 2f 42  ationSuffix)\</B
a0b0: 61 73 65 49 6e 74 65 72 6d 65 64 69 61 74 65 4f  aseIntermediateO
a0c0: 75 74 70 75 74 50 61 74 68 3e 0d 0a 20 20 3c 2f  utputPath>..  </
a0d0: 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a  PropertyGroup>..
a0e0: 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a  ..  <!--..  ****
a0f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a100: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a110: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a120: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a  **********..  **
a140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a150: 50 65 72 2d 43 6f 6e 66 69 67 75 72 61 74 69 6f  Per-Configuratio
a160: 6e 20 52 65 6c 61 74 69 76 65 20 50 61 74 68 20  n Relative Path 
a170: 50 72 6f 70 65 72 74 69 65 73 20 20 20 20 20 20  Properties      
a180: 20 20 20 20 20 20 20 20 20 20 2a 2a 0d 0a 20 20            **..  
a190: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a1a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a1b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a1c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a1d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a  **************..
a1e0: 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72 6f 70    -->....  <Prop
a1f0: 65 72 74 79 47 72 6f 75 70 20 43 6f 6e 64 69 74  ertyGroup Condit
a200: 69 6f 6e 3d 22 27 24 28 53 51 4c 69 74 65 4e 65  ion="'$(SQLiteNe
a210: 74 44 69 72 29 27 20 21 3d 20 27 27 20 41 6e 64  tDir)' != '' And
a220: 20 27 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f   '$(Configuratio
a230: 6e 29 27 20 21 3d 20 27 27 22 3e 0d 0a 20 20 20  n)' != ''">..   
a240: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
a250: 4f 54 45 3a 20 54 68 65 20 66 69 6e 61 6c 20 6f  OTE: The final o
a260: 75 74 70 75 74 20 66 69 6c 65 73 20 6e 65 65 64  utput files need
a270: 20 74 6f 20 65 6e 64 20 75 70 20 69 6e 20 6f 6e   to end up in on
a280: 65 20 70 6c 61 63 65 2e 20 20 54 68 65 20 76 61  e place.  The va
a290: 6c 75 65 20 6f 66 0d 0a 20 20 20 20 20 20 20 20  lue of..        
a2a0: 20 20 20 20 20 20 74 68 69 73 20 70 72 6f 70 65        this prope
a2b0: 72 74 79 20 6d 75 73 74 20 68 61 76 65 20 61 20  rty must have a 
a2c0: 74 72 61 69 6c 69 6e 67 20 62 61 63 6b 73 6c 61  trailing backsla
a2d0: 73 68 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  sh...    -->..  
a2e0: 20 20 3c 42 69 6e 61 72 79 4f 75 74 70 75 74 50    <BinaryOutputP
a2f0: 61 74 68 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  ath Condition="'
a300: 24 28 42 69 6e 61 72 79 4f 75 74 70 75 74 50 61  $(BinaryOutputPa
a310: 74 68 29 27 20 3d 3d 20 27 27 22 3e 24 28 53 51  th)' == ''">$(SQ
a320: 4c 69 74 65 4e 65 74 44 69 72 29 5c 62 69 6e 5c  LiteNetDir)\bin\
a330: 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 59  $(ConfigurationY
a340: 65 61 72 29 5c 24 28 43 6f 6e 66 69 67 75 72 61  ear)\$(Configura
a350: 74 69 6f 6e 29 24 28 43 6f 6e 66 69 67 75 72 61  tion)$(Configura
a360: 74 69 6f 6e 53 75 66 66 69 78 29 5c 62 69 6e 5c  tionSuffix)\bin\
a370: 3c 2f 42 69 6e 61 72 79 4f 75 74 70 75 74 50 61  </BinaryOutputPa
a380: 74 68 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74  th>..  </Propert
a390: 79 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d  yGroup>....  <!-
a3a0: 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  -..  ***********
a3b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a3c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a3d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a3e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a3f0: 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20  ***..  **       
a400: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53                 S
a410: 74 72 6f 6e 67 20 4e 61 6d 65 20 53 69 67 6e 69  trong Name Signi
a420: 6e 67 20 50 72 6f 70 65 72 74 69 65 73 20 20 20  ng Properties   
a430: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a440: 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a     **..  *******
a450: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a460: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a470: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a480: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a490: 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a  *******..  -->..
a4a0: 0d 0a 20 20 3c 50 72 6f 70 65 72 74 79 47 72 6f  ..  <PropertyGro
a4b0: 75 70 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  up Condition="'$
a4c0: 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 27 20  (SQLiteNetDir)' 
a4d0: 21 3d 20 27 27 20 41 6e 64 0d 0a 20 20 20 20 20  != '' And..     
a4e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a4f0: 20 20 20 20 20 20 20 21 48 61 73 54 72 61 69 6c         !HasTrail
a500: 69 6e 67 53 6c 61 73 68 28 27 24 28 53 51 4c 69  ingSlash('$(SQLi
a510: 74 65 4e 65 74 44 69 72 29 27 29 20 41 6e 64 0d  teNetDir)') And.
a520: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
a530: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 27               (('
a540: 24 28 49 73 43 6f 6d 70 61 63 74 46 72 61 6d 65  $(IsCompactFrame
a550: 77 6f 72 6b 29 27 20 3d 3d 20 27 66 61 6c 73 65  work)' == 'false
a560: 27 20 41 6e 64 20 45 78 69 73 74 73 28 27 24 28  ' And Exists('$(
a570: 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 4b 65  SQLiteNetDir)\Ke
a580: 79 73 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  ys\System.Data.S
a590: 51 4c 69 74 65 2e 73 6e 6b 27 29 29 20 4f 72 0d  QLite.snk')) Or.
a5a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
a5b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27                ('
a5c0: 24 28 49 73 43 6f 6d 70 61 63 74 46 72 61 6d 65  $(IsCompactFrame
a5d0: 77 6f 72 6b 29 27 20 21 3d 20 27 66 61 6c 73 65  work)' != 'false
a5e0: 27 20 41 6e 64 20 45 78 69 73 74 73 28 27 24 28  ' And Exists('$(
a5f0: 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 4b 65  SQLiteNetDir)\Ke
a600: 79 73 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  ys\System.Data.S
a610: 51 4c 69 74 65 2e 43 46 2e 73 6e 6b 27 29 29 29  QLite.CF.snk')))
a620: 22 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ">..    <!--..  
a630: 20 20 20 20 20 20 4e 4f 54 45 3a 20 53 69 67 6e        NOTE: Sign
a640: 20 74 68 65 20 61 73 73 65 6d 62 6c 79 3f 20 20   the assembly?  
a650: 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73  By default, this
a660: 20 69 73 20 65 6e 61 62 6c 65 64 2e 0d 0a 20 20   is enabled...  
a670: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 53 69 67 6e    -->..    <Sign
a680: 41 73 73 65 6d 62 6c 79 20 43 6f 6e 64 69 74 69  Assembly Conditi
a690: 6f 6e 3d 22 27 24 28 53 69 67 6e 41 73 73 65 6d  on="'$(SignAssem
a6a0: 62 6c 79 29 27 20 3d 3d 20 27 27 22 3e 74 72 75  bly)' == ''">tru
a6b0: 65 3c 2f 53 69 67 6e 41 73 73 65 6d 62 6c 79 3e  e</SignAssembly>
a6c0: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
a6d0: 20 20 20 20 20 20 4e 4f 54 45 3a 20 55 73 65 20        NOTE: Use 
a6e0: 64 65 6c 61 79 20 73 69 67 6e 69 6e 67 3f 20 20  delay signing?  
a6f0: 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73  By default, this
a700: 20 69 73 20 64 69 73 61 62 6c 65 64 20 62 65 63   is disabled bec
a710: 61 75 73 65 20 74 68 65 0d 0a 20 20 20 20 20 20  ause the..      
a720: 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 20          default 
a730: 73 74 72 6f 6e 67 20 6e 61 6d 65 20 6b 65 79 20  strong name key 
a740: 70 61 69 72 20 69 73 20 69 6e 63 6c 75 64 65 64  pair is included
a750: 20 77 69 74 68 20 74 68 65 20 73 6f 75 72 63 65   with the source
a760: 20 63 6f 64 65 2e 0d 0a 20 20 20 20 2d 2d 3e 0d   code...    -->.
a770: 0a 20 20 20 20 3c 44 65 6c 61 79 53 69 67 6e 20  .    <DelaySign 
a780: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 44 65  Condition="'$(De
a790: 6c 61 79 53 69 67 6e 29 27 20 3d 3d 20 27 27 22  laySign)' == ''"
a7a0: 3e 66 61 6c 73 65 3c 2f 44 65 6c 61 79 53 69 67  >false</DelaySig
a7b0: 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  n>....    <!--..
a7c0: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 54 68          NOTE: Th
a7d0: 65 20 66 75 6c 6c 20 70 61 74 68 20 61 6e 64 20  e full path and 
a7e0: 66 69 6c 65 20 6e 61 6d 65 20 66 6f 72 20 74 68  file name for th
a7f0: 65 20 73 74 72 6f 6e 67 20 6e 61 6d 65 20 6b 65  e strong name ke
a800: 79 20 70 61 69 72 20 74 6f 20 75 73 65 2e 0d 0a  y pair to use...
a810: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 41 73      -->..    <As
a820: 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72  semblyOriginator
a830: 4b 65 79 46 69 6c 65 20 43 6f 6e 64 69 74 69 6f  KeyFile Conditio
a840: 6e 3d 22 27 24 28 41 73 73 65 6d 62 6c 79 4f 72  n="'$(AssemblyOr
a850: 69 67 69 6e 61 74 6f 72 4b 65 79 46 69 6c 65 29  iginatorKeyFile)
a860: 27 20 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 49  ' == '' And '$(I
a870: 73 43 6f 6d 70 61 63 74 46 72 61 6d 65 77 6f 72  sCompactFramewor
a880: 6b 29 27 20 3d 3d 20 27 66 61 6c 73 65 27 22 3e  k)' == 'false'">
a890: 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c  $(SQLiteNetDir)\
a8a0: 4b 65 79 73 5c 53 79 73 74 65 6d 2e 44 61 74 61  Keys\System.Data
a8b0: 2e 53 51 4c 69 74 65 2e 73 6e 6b 3c 2f 41 73 73  .SQLite.snk</Ass
a8c0: 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72 4b  emblyOriginatorK
a8d0: 65 79 46 69 6c 65 3e 0d 0a 20 20 20 20 3c 41 73  eyFile>..    <As
a8e0: 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72  semblyOriginator
a8f0: 4b 65 79 46 69 6c 65 20 43 6f 6e 64 69 74 69 6f  KeyFile Conditio
a900: 6e 3d 22 27 24 28 41 73 73 65 6d 62 6c 79 4f 72  n="'$(AssemblyOr
a910: 69 67 69 6e 61 74 6f 72 4b 65 79 46 69 6c 65 29  iginatorKeyFile)
a920: 27 20 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 49  ' == '' And '$(I
a930: 73 43 6f 6d 70 61 63 74 46 72 61 6d 65 77 6f 72  sCompactFramewor
a940: 6b 29 27 20 21 3d 20 27 66 61 6c 73 65 27 22 3e  k)' != 'false'">
a950: 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c  $(SQLiteNetDir)\
a960: 4b 65 79 73 5c 53 79 73 74 65 6d 2e 44 61 74 61  Keys\System.Data
a970: 2e 53 51 4c 69 74 65 2e 43 46 2e 73 6e 6b 3c 2f  .SQLite.CF.snk</
a980: 41 73 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74  AssemblyOriginat
a990: 6f 72 4b 65 79 46 69 6c 65 3e 0d 0a 20 20 3c 2f  orKeyFile>..  </
a9a0: 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a  PropertyGroup>..
a9b0: 3c 2f 50 72 6f 6a 65 63 74 3e 0d 0a              </Project>..