System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 6b54e06d863b1db124834130d3381200db1ffad2:


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: 4c 6f 61 64 20 50 65 72 2d 46 72 61 6d 65 77 6f  Load Per-Framewo
03c0: 72 6b 20 53 65 74 74 69 6e 67 73 20 20 20 20 20  rk Settings     
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 70 65 72 2d  OTE: If the per-
0460: 66 72 61 6d 65 77 6f 72 6b 20 73 65 74 74 69 6e  framework settin
0470: 67 73 20 66 69 6c 65 73 20 65 78 69 73 74 2c 20  gs files exist, 
0480: 69 6d 70 6f 72 74 20 74 68 65 6d 20 6e 6f 77 2e  import them now.
0490: 20 20 54 68 65 0d 0a 20 20 20 20 20 20 20 20 20    The..         
04a0: 20 20 20 63 6f 6e 74 61 69 6e 65 64 20 73 65 74     contained set
04b0: 74 69 6e 67 73 2c 20 69 66 20 61 6e 79 2c 20 77  tings, if any, w
04c0: 69 6c 6c 20 6f 76 65 72 72 69 64 65 20 74 68 65  ill override the
04d0: 20 64 65 66 61 75 6c 74 20 6f 6e 65 73 20 70 72   default ones pr
04e0: 6f 76 69 64 65 64 0d 0a 20 20 20 20 20 20 20 20  ovided..        
04f0: 20 20 20 20 62 65 6c 6f 77 2e 0d 0a 20 20 2d 2d      below...  --
0500: 3e 0d 0a 20 20 3c 49 6d 70 6f 72 74 20 50 72 6f  >..  <Import Pro
0510: 6a 65 63 74 3d 22 24 28 53 51 4c 69 74 65 4e 65  ject="$(SQLiteNe
0520: 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53 51  tDir)\Targets\SQ
0530: 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67  Lite.NET.Setting
0540: 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78 32  s.targets.netFx2
0550: 30 22 0d 0a 20 20 20 20 20 20 20 20 20 20 43 6f  0"..          Co
0560: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46  ndition="'$(NetF
0570: 78 32 30 29 27 20 21 3d 20 27 27 20 41 6e 64 20  x20)' != '' And 
0580: 27 24 28 4e 65 74 46 78 32 30 29 27 20 21 3d 20  '$(NetFx20)' != 
0590: 27 66 61 6c 73 65 27 20 41 6e 64 0d 0a 20 20 20  'false' And..   
05a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
05b0: 20 20 28 27 24 28 4e 65 74 46 78 32 30 53 65 74    ('$(NetFx20Set
05c0: 74 69 6e 67 73 29 27 20 3d 3d 20 27 27 20 4f 72  tings)' == '' Or
05d0: 20 27 24 28 4e 65 74 46 78 32 30 53 65 74 74 69   '$(NetFx20Setti
05e0: 6e 67 73 29 27 20 21 3d 20 27 66 61 6c 73 65 27  ngs)' != 'false'
05f0: 29 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20  ) And..         
0600: 20 20 20 20 20 20 20 20 20 20 20 20 45 78 69 73              Exis
0610: 74 73 28 27 24 28 53 51 4c 69 74 65 4e 65 74 44  ts('$(SQLiteNetD
0620: 69 72 29 5c 54 61 72 67 65 74 73 5c 53 51 4c 69  ir)\Targets\SQLi
0630: 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e  te.NET.Settings.
0640: 74 61 72 67 65 74 73 2e 6e 65 74 46 78 32 30 27  targets.netFx20'
0650: 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70 6f  )" />....  <Impo
0660: 72 74 20 50 72 6f 6a 65 63 74 3d 22 24 28 53 51  rt Project="$(SQ
0670: 4c 69 74 65 4e 65 74 44 69 72 29 5c 54 61 72 67  LiteNetDir)\Targ
0680: 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53  ets\SQLite.NET.S
0690: 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e  ettings.targets.
06a0: 6e 65 74 46 78 33 35 22 0d 0a 20 20 20 20 20 20  netFx35"..      
06b0: 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27      Condition="'
06c0: 24 28 4e 65 74 46 78 33 35 29 27 20 21 3d 20 27  $(NetFx35)' != '
06d0: 27 20 41 6e 64 20 27 24 28 4e 65 74 46 78 33 35  ' And '$(NetFx35
06e0: 29 27 20 21 3d 20 27 66 61 6c 73 65 27 20 41 6e  )' != 'false' An
06f0: 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  d..             
0700: 20 20 20 20 20 20 20 20 28 27 24 28 4e 65 74 46          ('$(NetF
0710: 78 33 35 53 65 74 74 69 6e 67 73 29 27 20 3d 3d  x35Settings)' ==
0720: 20 27 27 20 4f 72 20 27 24 28 4e 65 74 46 78 33   '' Or '$(NetFx3
0730: 35 53 65 74 74 69 6e 67 73 29 27 20 21 3d 20 27  5Settings)' != '
0740: 66 61 6c 73 65 27 29 20 41 6e 64 0d 0a 20 20 20  false') And..   
0750: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0760: 20 20 45 78 69 73 74 73 28 27 24 28 53 51 4c 69    Exists('$(SQLi
0770: 74 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74  teNetDir)\Target
0780: 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74  s\SQLite.NET.Set
0790: 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65  tings.targets.ne
07a0: 74 46 78 33 35 27 29 22 20 2f 3e 0d 0a 0d 0a 20  tFx35')" />.... 
07b0: 20 3c 49 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74   <Import Project
07c0: 3d 22 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72  ="$(SQLiteNetDir
07d0: 29 5c 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65  )\Targets\SQLite
07e0: 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61  .NET.Settings.ta
07f0: 72 67 65 74 73 2e 6e 65 74 46 78 34 30 22 0d 0a  rgets.netFx40"..
0800: 20 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74            Condit
0810: 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 30 29  ion="'$(NetFx40)
0820: 27 20 21 3d 20 27 27 20 41 6e 64 20 27 24 28 4e  ' != '' And '$(N
0830: 65 74 46 78 34 30 29 27 20 21 3d 20 27 66 61 6c  etFx40)' != 'fal
0840: 73 65 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 20  se' And..       
0850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27                ('
0860: 24 28 4e 65 74 46 78 34 30 53 65 74 74 69 6e 67  $(NetFx40Setting
0870: 73 29 27 20 3d 3d 20 27 27 20 4f 72 20 27 24 28  s)' == '' Or '$(
0880: 4e 65 74 46 78 34 30 53 65 74 74 69 6e 67 73 29  NetFx40Settings)
0890: 27 20 21 3d 20 27 66 61 6c 73 65 27 29 20 41 6e  ' != 'false') An
08a0: 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  d..             
08b0: 20 20 20 20 20 20 20 20 45 78 69 73 74 73 28 27          Exists('
08c0: 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c  $(SQLiteNetDir)\
08d0: 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e  Targets\SQLite.N
08e0: 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67  ET.Settings.targ
08f0: 65 74 73 2e 6e 65 74 46 78 34 30 27 29 22 20 2f  ets.netFx40')" /
0900: 3e 0d 0a 0d 0a 20 20 3c 49 6d 70 6f 72 74 20 50  >....  <Import P
0910: 72 6f 6a 65 63 74 3d 22 24 28 53 51 4c 69 74 65  roject="$(SQLite
0920: 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c  NetDir)\Targets\
0930: 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69  SQLite.NET.Setti
0940: 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46  ngs.targets.netF
0950: 78 34 35 22 0d 0a 20 20 20 20 20 20 20 20 20 20  x45"..          
0960: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65  Condition="'$(Ne
0970: 74 46 78 34 35 29 27 20 21 3d 20 27 27 20 41 6e  tFx45)' != '' An
0980: 64 20 27 24 28 4e 65 74 46 78 34 35 29 27 20 21  d '$(NetFx45)' !
0990: 3d 20 27 66 61 6c 73 65 27 20 41 6e 64 0d 0a 20  = 'false' And.. 
09a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
09b0: 20 20 20 20 28 27 24 28 4e 65 74 46 78 34 35 53      ('$(NetFx45S
09c0: 65 74 74 69 6e 67 73 29 27 20 3d 3d 20 27 27 20  ettings)' == '' 
09d0: 4f 72 20 27 24 28 4e 65 74 46 78 34 35 53 65 74  Or '$(NetFx45Set
09e0: 74 69 6e 67 73 29 27 20 21 3d 20 27 66 61 6c 73  tings)' != 'fals
09f0: 65 27 29 20 41 6e 64 0d 0a 20 20 20 20 20 20 20  e') And..       
0a00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 78                Ex
0a10: 69 73 74 73 28 27 24 28 53 51 4c 69 74 65 4e 65  ists('$(SQLiteNe
0a20: 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53 51  tDir)\Targets\SQ
0a30: 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67  Lite.NET.Setting
0a40: 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34  s.targets.netFx4
0a50: 35 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d  5')" />....  <Im
0a60: 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d 22 24 28  port Project="$(
0a70: 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54 61  SQLiteNetDir)\Ta
0a80: 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54  rgets\SQLite.NET
0a90: 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74  .Settings.target
0aa0: 73 2e 6e 65 74 46 78 34 35 31 22 0d 0a 20 20 20  s.netFx451"..   
0ab0: 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e         Condition
0ac0: 3d 22 27 24 28 4e 65 74 46 78 34 35 31 29 27 20  ="'$(NetFx451)' 
0ad0: 21 3d 20 27 27 20 41 6e 64 20 27 24 28 4e 65 74  != '' And '$(Net
0ae0: 46 78 34 35 31 29 27 20 21 3d 20 27 66 61 6c 73  Fx451)' != 'fals
0af0: 65 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20  e' And..        
0b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27 24               ('$
0b10: 28 4e 65 74 46 78 34 35 31 53 65 74 74 69 6e 67  (NetFx451Setting
0b20: 73 29 27 20 3d 3d 20 27 27 20 4f 72 20 27 24 28  s)' == '' Or '$(
0b30: 4e 65 74 46 78 34 35 31 53 65 74 74 69 6e 67 73  NetFx451Settings
0b40: 29 27 20 21 3d 20 27 66 61 6c 73 65 27 29 20 41  )' != 'false') A
0b50: 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  nd..            
0b60: 20 20 20 20 20 20 20 20 20 45 78 69 73 74 73 28           Exists(
0b70: 27 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29  '$(SQLiteNetDir)
0b80: 5c 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e  \Targets\SQLite.
0b90: 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72  NET.Settings.tar
0ba0: 67 65 74 73 2e 6e 65 74 46 78 34 35 31 27 29 22  gets.netFx451')"
0bb0: 20 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70 6f 72 74   />....  <Import
0bc0: 20 50 72 6f 6a 65 63 74 3d 22 24 28 53 51 4c 69   Project="$(SQLi
0bd0: 74 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74  teNetDir)\Target
0be0: 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74  s\SQLite.NET.Set
0bf0: 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65  tings.targets.ne
0c00: 74 46 78 34 35 32 22 0d 0a 20 20 20 20 20 20 20  tFx452"..       
0c10: 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24     Condition="'$
0c20: 28 4e 65 74 46 78 34 35 32 29 27 20 21 3d 20 27  (NetFx452)' != '
0c30: 27 20 41 6e 64 20 27 24 28 4e 65 74 46 78 34 35  ' And '$(NetFx45
0c40: 32 29 27 20 21 3d 20 27 66 61 6c 73 65 27 20 41  2)' != 'false' A
0c50: 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  nd..            
0c60: 20 20 20 20 20 20 20 20 20 28 27 24 28 4e 65 74           ('$(Net
0c70: 46 78 34 35 32 53 65 74 74 69 6e 67 73 29 27 20  Fx452Settings)' 
0c80: 3d 3d 20 27 27 20 4f 72 20 27 24 28 4e 65 74 46  == '' Or '$(NetF
0c90: 78 34 35 32 53 65 74 74 69 6e 67 73 29 27 20 21  x452Settings)' !
0ca0: 3d 20 27 66 61 6c 73 65 27 29 20 41 6e 64 0d 0a  = 'false') And..
0cb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0cc0: 20 20 20 20 20 45 78 69 73 74 73 28 27 24 28 53       Exists('$(S
0cd0: 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54 61 72  QLiteNetDir)\Tar
0ce0: 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e  gets\SQLite.NET.
0cf0: 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73  Settings.targets
0d00: 2e 6e 65 74 46 78 34 35 32 27 29 22 20 2f 3e 0d  .netFx452')" />.
0d10: 0a 0d 0a 20 20 3c 49 6d 70 6f 72 74 20 50 72 6f  ...  <Import Pro
0d20: 6a 65 63 74 3d 22 24 28 53 51 4c 69 74 65 4e 65  ject="$(SQLiteNe
0d30: 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53 51  tDir)\Targets\SQ
0d40: 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67  Lite.NET.Setting
0d50: 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34  s.targets.netFx4
0d60: 36 22 0d 0a 20 20 20 20 20 20 20 20 20 20 43 6f  6"..          Co
0d70: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46  ndition="'$(NetF
0d80: 78 34 36 29 27 20 21 3d 20 27 27 20 41 6e 64 20  x46)' != '' And 
0d90: 27 24 28 4e 65 74 46 78 34 36 29 27 20 21 3d 20  '$(NetFx46)' != 
0da0: 27 66 61 6c 73 65 27 20 41 6e 64 0d 0a 20 20 20  'false' And..   
0db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0dc0: 20 20 28 27 24 28 4e 65 74 46 78 34 36 53 65 74    ('$(NetFx46Set
0dd0: 74 69 6e 67 73 29 27 20 3d 3d 20 27 27 20 4f 72  tings)' == '' Or
0de0: 20 27 24 28 4e 65 74 46 78 34 36 53 65 74 74 69   '$(NetFx46Setti
0df0: 6e 67 73 29 27 20 21 3d 20 27 66 61 6c 73 65 27  ngs)' != 'false'
0e00: 29 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20  ) And..         
0e10: 20 20 20 20 20 20 20 20 20 20 20 20 45 78 69 73              Exis
0e20: 74 73 28 27 24 28 53 51 4c 69 74 65 4e 65 74 44  ts('$(SQLiteNetD
0e30: 69 72 29 5c 54 61 72 67 65 74 73 5c 53 51 4c 69  ir)\Targets\SQLi
0e40: 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e  te.NET.Settings.
0e50: 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34 36 27  targets.netFx46'
0e60: 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d  )" />....  <!--.
0e70: 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .  *************
0e80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0e90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0ea0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0eb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0ec0: 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20  *..  **         
0ed0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 46                [F
0ee0: 61 69 72 6c 79 5d 20 47 65 6e 65 72 69 63 20 50  airly] Generic P
0ef0: 72 6f 70 65 72 74 69 65 73 20 20 20 20 20 20 20  roperties       
0f00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0f10: 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a   **..  *********
0f20: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0f30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0f40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0f50: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0f60: 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a  *****..  -->....
0f70: 20 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70    <PropertyGroup
0f80: 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  >..    <!--..   
0f90: 20 20 20 20 20 4e 4f 54 45 3a 20 2a 55 4e 43 4f       NOTE: *UNCO
0fa0: 4e 44 49 54 49 4f 4e 41 4c 2a 20 57 65 20 6e 65  NDITIONAL* We ne
0fb0: 76 65 72 20 77 61 6e 74 20 74 6f 20 75 73 65 20  ver want to use 
0fc0: 74 68 65 20 68 6f 73 74 69 6e 67 20 70 72 6f 63  the hosting proc
0fd0: 65 73 73 20 66 6f 72 0d 0a 20 20 20 20 20 20 20  ess for..       
0fe0: 20 20 20 20 20 20 20 64 65 62 75 67 67 69 6e 67         debugging
0ff0: 2e 20 20 49 74 20 63 61 75 73 65 73 20 70 72 6f  .  It causes pro
1000: 62 6c 65 6d 73 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  blems...    -->.
1010: 0a 20 20 20 20 3c 55 73 65 56 53 48 6f 73 74 69  .    <UseVSHosti
1020: 6e 67 50 72 6f 63 65 73 73 3e 66 61 6c 73 65 3c  ngProcess>false<
1030: 2f 55 73 65 56 53 48 6f 73 74 69 6e 67 50 72 6f  /UseVSHostingPro
1040: 63 65 73 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d  cess>....    <!-
1050: 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a  -..        NOTE:
1060: 20 2a 55 4e 43 4f 4e 44 49 54 49 4f 4e 41 4c 2a   *UNCONDITIONAL*
1070: 20 57 65 20 6e 65 76 65 72 20 77 61 6e 74 20 74   We never want t
1080: 6f 20 75 73 65 20 74 68 65 20 66 61 73 74 20 75  o use the fast u
1090: 70 2d 74 6f 2d 64 61 74 65 20 63 68 65 63 6b 0d  p-to-date check.
10a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74  .              t
10b0: 68 61 74 20 56 69 73 75 61 6c 20 53 74 75 64 69  hat Visual Studi
10c0: 6f 20 70 72 6f 76 69 64 65 73 2e 0d 0a 20 20 20  o provides...   
10d0: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 44 69 73 61 62   -->..    <Disab
10e0: 6c 65 46 61 73 74 55 70 54 6f 44 61 74 65 43 68  leFastUpToDateCh
10f0: 65 63 6b 3e 74 72 75 65 3c 2f 44 69 73 61 62 6c  eck>true</Disabl
1100: 65 46 61 73 74 55 70 54 6f 44 61 74 65 43 68 65  eFastUpToDateChe
1110: 63 6b 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d  ck>....    <!--.
1120: 0a 20 20 20 20 20 20 20 20 48 41 43 4b 3a 20 2a  .        HACK: *
1130: 55 4e 43 4f 4e 44 49 54 49 4f 4e 41 4c 2a 20 54  UNCONDITIONAL* T
1140: 68 65 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  he Visual Studio
1150: 20 49 44 45 20 69 67 6e 6f 72 65 73 20 74 68 65   IDE ignores the
1160: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1170: 42 61 73 65 49 6e 74 65 72 6d 65 64 69 61 74 65  BaseIntermediate
1180: 4f 75 74 70 75 74 50 61 74 68 20 70 72 6f 70 65  OutputPath prope
1190: 72 74 79 20 61 6e 64 20 63 72 65 61 74 65 73 20  rty and creates 
11a0: 65 6d 70 74 79 20 22 62 69 6e 22 20 61 6e 64 0d  empty "bin" and.
11b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22  .              "
11c0: 6f 62 6a 22 20 64 69 72 65 63 74 6f 72 69 65 73  obj" directories
11d0: 20 66 6f 72 20 65 76 65 72 79 20 70 72 6f 6a 65   for every proje
11e0: 63 74 20 77 68 65 6e 65 76 65 72 20 74 68 65 20  ct whenever the 
11f0: 70 72 6f 6a 65 63 74 20 69 73 20 6f 70 65 6e 65  project is opene
1200: 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  d..             
1210: 20 6f 72 20 62 75 69 6c 74 2e 20 20 41 6c 73 6f   or built.  Also
1220: 2c 20 74 68 65 20 56 69 73 75 61 6c 20 53 74 75  , the Visual Stu
1230: 64 69 6f 20 49 44 45 20 77 69 6c 6c 20 6f 63 63  dio IDE will occ
1240: 61 73 69 6f 6e 61 6c 6c 79 20 66 61 69 6c 20 74  asionally fail t
1250: 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  o..             
1260: 20 72 65 62 75 69 6c 64 20 74 68 65 20 70 72 6f   rebuild the pro
1270: 6a 65 63 74 20 64 75 65 20 74 6f 20 74 68 69 73  ject due to this
1280: 20 63 6f 6e 66 75 73 69 6f 6e 2e 20 20 54 68 65   confusion.  The
1290: 20 73 69 74 75 61 74 69 6f 6e 20 61 70 70 65 61   situation appea
12a0: 72 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  rs..            
12b0: 20 20 74 6f 20 69 6d 70 72 6f 76 65 20 73 6f 6d    to improve som
12c0: 65 77 68 61 74 20 77 68 65 6e 20 74 68 69 73 20  ewhat when this 
12d0: 69 73 20 73 65 74 20 74 6f 20 66 61 6c 73 65 2e  is set to false.
12e0: 20 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68    Please note th
12f0: 61 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  at..            
1300: 20 20 65 76 65 6e 20 69 66 20 74 68 69 73 20 69    even if this i
1310: 73 20 73 65 74 20 74 6f 20 66 61 6c 73 65 2c 20  s set to false, 
1320: 74 68 69 6e 67 73 20 73 74 69 6c 6c 20 64 6f 20  things still do 
1330: 6e 6f 74 20 77 6f 72 6b 20 31 30 30 25 0d 0a 20  not work 100%.. 
1340: 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 72               cor
1350: 72 65 63 74 6c 79 3b 20 68 6f 77 65 76 65 72 2c  rectly; however,
1360: 20 61 74 20 6c 65 61 73 74 20 74 68 65 72 65 20   at least there 
1370: 61 70 70 65 61 72 73 20 74 6f 20 62 65 20 6c 65  appears to be le
1380: 73 73 20 62 75 69 6c 64 0d 0a 20 20 20 20 20 20  ss build..      
1390: 20 20 20 20 20 20 20 20 66 61 69 6c 75 72 65 73          failures
13a0: 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .....           
13b0: 20 20 20 50 6c 65 61 73 65 20 73 65 65 20 4d 69     Please see Mi
13c0: 63 72 6f 73 6f 66 74 20 43 6f 6e 6e 65 63 74 20  crosoft Connect 
13d0: 46 65 65 64 62 61 63 6b 49 44 20 31 30 35 38 35  FeedbackID 10585
13e0: 34 20 66 6f 72 20 74 68 65 69 72 20 6f 66 66 69  4 for their offi
13f0: 63 69 61 6c 0d 0a 20 20 20 20 20 20 20 20 20 20  cial..          
1400: 20 20 20 20 6c 69 73 74 20 6f 66 20 65 78 63 75      list of excu
1410: 73 65 73 2c 20 6f 6e 20 74 68 69 73 20 6e 6f 77  ses, on this now
1420: 20 6d 6f 72 65 20 74 68 61 6e 20 33 20 79 65 61   more than 3 yea
1430: 72 20 6f 6c 64 20 62 75 67 2e 0d 0a 20 20 20 20  r old bug...    
1440: 2d 2d 3e 0d 0a 20 20 20 20 3c 55 73 65 48 6f 73  -->..    <UseHos
1450: 74 43 6f 6d 70 69 6c 65 72 49 66 41 76 61 69 6c  tCompilerIfAvail
1460: 61 62 6c 65 3e 66 61 6c 73 65 3c 2f 55 73 65 48  able>false</UseH
1470: 6f 73 74 43 6f 6d 70 69 6c 65 72 49 66 41 76 61  ostCompilerIfAva
1480: 69 6c 61 62 6c 65 3e 0d 0a 20 20 3c 2f 50 72 6f  ilable>..  </Pro
1490: 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 0d 0a 20  pertyGroup>.... 
14a0: 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a   <!--..  *******
14b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
14c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
14d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
14e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
14f0: 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20  *******..  **   
1500: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1510: 20 20 20 20 46 72 61 6d 65 77 6f 72 6b 20 56 65      Framework Ve
1520: 72 73 69 6f 6e 20 50 72 6f 70 65 72 74 69 65 73  rsion Properties
1530: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1540: 20 20 20 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a         **..  ***
1550: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1560: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1570: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1580: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1590: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d  ***********..  -
15a0: 2d 3e 0d 0a 0d 0a 20 20 3c 50 72 6f 70 65 72 74  ->....  <Propert
15b0: 79 47 72 6f 75 70 3e 0d 0a 20 20 20 20 3c 21 2d  yGroup>..    <!-
15c0: 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a  -..        NOTE:
15d0: 20 4f 6e 6c 79 20 75 73 65 20 66 75 6e 63 74 69   Only use functi
15e0: 6f 6e 61 6c 69 74 79 20 61 76 61 69 6c 61 62 6c  onality availabl
15f0: 65 20 69 6e 20 74 68 65 20 2e 4e 45 54 20 46 72  e in the .NET Fr
1600: 61 6d 65 77 6f 72 6b 20 32 2e 30 3f 20 20 42 79  amework 2.0?  By
1610: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1620: 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73  default, this is
1630: 20 64 69 73 61 62 6c 65 64 2e 20 20 54 68 69 73   disabled.  This
1640: 20 6d 75 73 74 20 62 65 20 65 6e 61 62 6c 65 64   must be enabled
1650: 20 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c 79   to successfully
1660: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1670: 62 75 69 6c 64 20 74 68 65 20 70 72 6f 6a 65 63  build the projec
1680: 74 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 53  t using Visual S
1690: 74 75 64 69 6f 20 32 30 30 35 20 61 6e 64 2f 6f  tudio 2005 and/o
16a0: 72 20 74 68 65 20 2e 4e 45 54 0d 0a 20 20 20 20  r the .NET..    
16b0: 20 20 20 20 20 20 20 20 20 20 46 72 61 6d 65 77            Framew
16c0: 6f 72 6b 20 32 2e 30 20 28 69 66 20 6e 65 63 65  ork 2.0 (if nece
16d0: 73 73 61 72 79 2c 20 69 74 20 77 69 6c 6c 20 74  ssary, it will t
16e0: 79 70 69 63 61 6c 6c 79 20 62 65 20 65 6e 61 62  ypically be enab
16f0: 6c 65 64 20 66 72 6f 6d 0d 0a 20 20 20 20 20 20  led from..      
1700: 20 20 20 20 20 20 20 20 77 69 74 68 69 6e 20 74          within t
1710: 68 65 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 20  he project file 
1720: 69 74 73 65 6c 66 29 2e 0d 0a 20 20 20 20 2d 2d  itself)...    --
1730: 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 32 30 20  >..    <NetFx20 
1740: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65  Condition="'$(Ne
1750: 74 46 78 32 30 29 27 20 3d 3d 20 27 27 22 3e 66  tFx20)' == ''">f
1760: 61 6c 73 65 3c 2f 4e 65 74 46 78 32 30 3e 0d 0a  alse</NetFx20>..
1770: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
1780: 20 20 20 20 4e 4f 54 45 3a 20 4f 6e 6c 79 20 75      NOTE: Only u
1790: 73 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79  se functionality
17a0: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
17b0: 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b  e .NET Framework
17c0: 20 33 2e 35 3f 20 20 42 79 0d 0a 20 20 20 20 20   3.5?  By..     
17d0: 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74           default
17e0: 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c  , this is disabl
17f0: 65 64 2e 20 20 54 68 69 73 20 6d 75 73 74 20 62  ed.  This must b
1800: 65 20 65 6e 61 62 6c 65 64 20 74 6f 20 73 75 63  e enabled to suc
1810: 63 65 73 73 66 75 6c 6c 79 0d 0a 20 20 20 20 20  cessfully..     
1820: 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 20 74           build t
1830: 68 65 20 70 72 6f 6a 65 63 74 20 75 73 69 6e 67  he project using
1840: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32   Visual Studio 2
1850: 30 30 38 20 61 6e 64 2f 6f 72 20 74 68 65 20 2e  008 and/or the .
1860: 4e 45 54 0d 0a 20 20 20 20 20 20 20 20 20 20 20  NET..           
1870: 20 20 20 46 72 61 6d 65 77 6f 72 6b 20 33 2e 35     Framework 3.5
1880: 20 28 69 66 20 6e 65 63 65 73 73 61 72 79 2c 20   (if necessary, 
1890: 69 74 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c  it will typicall
18a0: 79 20 62 65 20 65 6e 61 62 6c 65 64 20 66 72 6f  y be enabled fro
18b0: 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  m..             
18c0: 20 77 69 74 68 69 6e 20 74 68 65 20 70 72 6f 6a   within the proj
18d0: 65 63 74 20 66 69 6c 65 20 69 74 73 65 6c 66 29  ect file itself)
18e0: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
18f0: 3c 4e 65 74 46 78 33 35 20 43 6f 6e 64 69 74 69  <NetFx35 Conditi
1900: 6f 6e 3d 22 27 24 28 4e 65 74 46 78 33 35 29 27  on="'$(NetFx35)'
1910: 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e   == ''">false</N
1920: 65 74 46 78 33 35 3e 0d 0a 0d 0a 20 20 20 20 3c  etFx35>....    <
1930: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
1940: 45 3a 20 4f 6e 6c 79 20 75 73 65 20 66 75 6e 63  E: Only use func
1950: 74 69 6f 6e 61 6c 69 74 79 20 61 76 61 69 6c 61  tionality availa
1960: 62 6c 65 20 69 6e 20 74 68 65 20 2e 4e 45 54 20  ble in the .NET 
1970: 46 72 61 6d 65 77 6f 72 6b 20 34 2e 30 3f 20 20  Framework 4.0?  
1980: 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  By..            
1990: 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20    default, this 
19a0: 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20 54 68  is disabled.  Th
19b0: 69 73 20 6d 75 73 74 20 62 65 20 65 6e 61 62 6c  is must be enabl
19c0: 65 64 20 74 6f 20 73 75 63 63 65 73 73 66 75 6c  ed to successful
19d0: 6c 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ly..            
19e0: 20 20 62 75 69 6c 64 20 74 68 65 20 70 72 6f 6a    build the proj
19f0: 65 63 74 20 75 73 69 6e 67 20 56 69 73 75 61 6c  ect using Visual
1a00: 20 53 74 75 64 69 6f 20 32 30 31 30 20 61 6e 64   Studio 2010 and
1a10: 2f 6f 72 20 74 68 65 20 2e 4e 45 54 0d 0a 20 20  /or the .NET..  
1a20: 20 20 20 20 20 20 20 20 20 20 20 20 46 72 61 6d              Fram
1a30: 65 77 6f 72 6b 20 34 2e 30 20 28 69 66 20 6e 65  ework 4.0 (if ne
1a40: 63 65 73 73 61 72 79 2c 20 69 74 20 77 69 6c 6c  cessary, it will
1a50: 20 74 79 70 69 63 61 6c 6c 79 20 62 65 20 65 6e   typically be en
1a60: 61 62 6c 65 64 20 66 72 6f 6d 0d 0a 20 20 20 20  abled from..    
1a70: 20 20 20 20 20 20 20 20 20 20 77 69 74 68 69 6e            within
1a80: 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69 6c   the project fil
1a90: 65 20 69 74 73 65 6c 66 29 2e 0d 0a 20 20 20 20  e itself)...    
1aa0: 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 34  -->..    <NetFx4
1ab0: 30 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  0 Condition="'$(
1ac0: 4e 65 74 46 78 34 30 29 27 20 3d 3d 20 27 27 22  NetFx40)' == ''"
1ad0: 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78 34 30 3e  >false</NetFx40>
1ae0: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
1af0: 20 20 20 20 20 20 4e 4f 54 45 3a 20 4f 6e 6c 79        NOTE: Only
1b00: 20 75 73 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69   use functionali
1b10: 74 79 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20  ty available in 
1b20: 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f  the .NET Framewo
1b30: 72 6b 20 34 2e 35 3f 20 20 42 79 0d 0a 20 20 20  rk 4.5?  By..   
1b40: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75             defau
1b50: 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61  lt, this is disa
1b60: 62 6c 65 64 2e 20 20 54 68 69 73 20 6d 75 73 74  bled.  This must
1b70: 20 62 65 20 65 6e 61 62 6c 65 64 20 74 6f 20 73   be enabled to s
1b80: 75 63 63 65 73 73 66 75 6c 6c 79 0d 0a 20 20 20  uccessfully..   
1b90: 20 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64             build
1ba0: 20 74 68 65 20 70 72 6f 6a 65 63 74 20 75 73 69   the project usi
1bb0: 6e 67 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  ng Visual Studio
1bc0: 20 32 30 31 32 20 61 6e 64 2f 6f 72 20 74 68 65   2012 and/or the
1bd0: 20 2e 4e 45 54 0d 0a 20 20 20 20 20 20 20 20 20   .NET..         
1be0: 20 20 20 20 20 46 72 61 6d 65 77 6f 72 6b 20 34       Framework 4
1bf0: 2e 35 20 28 69 66 20 6e 65 63 65 73 73 61 72 79  .5 (if necessary
1c00: 2c 20 69 74 20 77 69 6c 6c 20 74 79 70 69 63 61  , it will typica
1c10: 6c 6c 79 20 62 65 20 65 6e 61 62 6c 65 64 20 66  lly be enabled f
1c20: 72 6f 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20  rom..           
1c30: 20 20 20 77 69 74 68 69 6e 20 74 68 65 20 70 72     within the pr
1c40: 6f 6a 65 63 74 20 66 69 6c 65 20 69 74 73 65 6c  oject file itsel
1c50: 66 29 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  f)...    -->..  
1c60: 20 20 3c 4e 65 74 46 78 34 35 20 43 6f 6e 64 69    <NetFx45 Condi
1c70: 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 35  tion="'$(NetFx45
1c80: 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c  )' == ''">false<
1c90: 2f 4e 65 74 46 78 34 35 3e 0d 0a 0d 0a 20 20 20  /NetFx45>....   
1ca0: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
1cb0: 4f 54 45 3a 20 4f 6e 6c 79 20 75 73 65 20 66 75  OTE: Only use fu
1cc0: 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 76 61 69  nctionality avai
1cd0: 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 2e 4e 45  lable in the .NE
1ce0: 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35 2e  T Framework 4.5.
1cf0: 31 3f 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20  1?  By..        
1d00: 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74        default, t
1d10: 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e  his is disabled.
1d20: 20 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 65    This must be e
1d30: 6e 61 62 6c 65 64 20 74 6f 20 73 75 63 63 65 73  nabled to succes
1d40: 73 66 75 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20  sfully..        
1d50: 20 20 20 20 20 20 62 75 69 6c 64 20 74 68 65 20        build the 
1d60: 70 72 6f 6a 65 63 74 20 75 73 69 6e 67 20 56 69  project using Vi
1d70: 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30 31 33  sual Studio 2013
1d80: 20 61 6e 64 2f 6f 72 20 74 68 65 20 2e 4e 45 54   and/or the .NET
1d90: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1da0: 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35 2e 31 20  Framework 4.5.1 
1db0: 28 69 66 20 6e 65 63 65 73 73 61 72 79 2c 20 69  (if necessary, i
1dc0: 74 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79  t will typically
1dd0: 20 62 65 20 65 6e 61 62 6c 65 64 20 66 72 6f 6d   be enabled from
1de0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1df0: 77 69 74 68 69 6e 20 74 68 65 20 70 72 6f 6a 65  within the proje
1e00: 63 74 20 66 69 6c 65 20 69 74 73 65 6c 66 29 2e  ct file itself).
1e10: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
1e20: 4e 65 74 46 78 34 35 31 20 43 6f 6e 64 69 74 69  NetFx451 Conditi
1e30: 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 35 31 29  on="'$(NetFx451)
1e40: 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f  ' == ''">false</
1e50: 4e 65 74 46 78 34 35 31 3e 0d 0a 0d 0a 20 20 20  NetFx451>....   
1e60: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
1e70: 4f 54 45 3a 20 4f 6e 6c 79 20 75 73 65 20 66 75  OTE: Only use fu
1e80: 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 76 61 69  nctionality avai
1e90: 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 2e 4e 45  lable in the .NE
1ea0: 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35 2e  T Framework 4.5.
1eb0: 32 3f 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20  2?  By..        
1ec0: 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74        default, t
1ed0: 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e  his is disabled.
1ee0: 20 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 65    This must be e
1ef0: 6e 61 62 6c 65 64 20 74 6f 20 73 75 63 63 65 73  nabled to succes
1f00: 73 66 75 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20  sfully..        
1f10: 20 20 20 20 20 20 62 75 69 6c 64 20 74 68 65 20        build the 
1f20: 70 72 6f 6a 65 63 74 20 75 73 69 6e 67 20 56 69  project using Vi
1f30: 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30 31 33  sual Studio 2013
1f40: 20 61 6e 64 2f 6f 72 20 74 68 65 20 2e 4e 45 54   and/or the .NET
1f50: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1f60: 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35 2e 32 20  Framework 4.5.2 
1f70: 28 69 66 20 6e 65 63 65 73 73 61 72 79 2c 20 69  (if necessary, i
1f80: 74 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79  t will typically
1f90: 20 62 65 20 65 6e 61 62 6c 65 64 20 66 72 6f 6d   be enabled from
1fa0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1fb0: 77 69 74 68 69 6e 20 74 68 65 20 70 72 6f 6a 65  within the proje
1fc0: 63 74 20 66 69 6c 65 20 69 74 73 65 6c 66 29 2e  ct file itself).
1fd0: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
1fe0: 4e 65 74 46 78 34 35 32 20 43 6f 6e 64 69 74 69  NetFx452 Conditi
1ff0: 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 35 32 29  on="'$(NetFx452)
2000: 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f  ' == ''">false</
2010: 4e 65 74 46 78 34 35 32 3e 0d 0a 0d 0a 20 20 20  NetFx452>....   
2020: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
2030: 4f 54 45 3a 20 4f 6e 6c 79 20 75 73 65 20 66 75  OTE: Only use fu
2040: 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 76 61 69  nctionality avai
2050: 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 2e 4e 45  lable in the .NE
2060: 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 36 3f  T Framework 4.6?
2070: 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20    By..          
2080: 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69      default, thi
2090: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20  s is disabled.  
20a0: 54 68 69 73 20 6d 75 73 74 20 62 65 20 65 6e 61  This must be ena
20b0: 62 6c 65 64 20 74 6f 20 73 75 63 63 65 73 73 66  bled to successf
20c0: 75 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20 20 20  ully..          
20d0: 20 20 20 20 62 75 69 6c 64 20 74 68 65 20 70 72      build the pr
20e0: 6f 6a 65 63 74 20 75 73 69 6e 67 20 56 69 73 75  oject using Visu
20f0: 61 6c 20 53 74 75 64 69 6f 20 32 30 31 35 20 61  al Studio 2015 a
2100: 6e 64 2f 6f 72 20 74 68 65 20 2e 4e 45 54 0d 0a  nd/or the .NET..
2110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 72                Fr
2120: 61 6d 65 77 6f 72 6b 20 34 2e 36 20 28 69 66 20  amework 4.6 (if 
2130: 6e 65 63 65 73 73 61 72 79 2c 20 69 74 20 77 69  necessary, it wi
2140: 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 62 65 20  ll typically be 
2150: 65 6e 61 62 6c 65 64 20 66 72 6f 6d 0d 0a 20 20  enabled from..  
2160: 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68              with
2170: 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66  in the project f
2180: 69 6c 65 20 69 74 73 65 6c 66 29 2e 0d 0a 20 20  ile itself)...  
2190: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46    -->..    <NetF
21a0: 78 34 36 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  x46 Condition="'
21b0: 24 28 4e 65 74 46 78 34 36 29 27 20 3d 3d 20 27  $(NetFx46)' == '
21c0: 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78 34  '">false</NetFx4
21d0: 36 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  6>....    <!--..
21e0: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4c 6f          NOTE: Lo
21f0: 61 64 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73  ad the version-s
2200: 70 65 63 69 66 69 63 20 73 65 74 74 69 6e 67 73  pecific settings
2210: 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46 72   for the .NET Fr
2220: 61 6d 65 77 6f 72 6b 20 32 2e 30 3f 0d 0a 20 20  amework 2.0?..  
2230: 20 20 20 20 20 20 20 20 20 20 20 20 42 79 20 64              By d
2240: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
2250: 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68  disabled.  If th
2260: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 20 77 68  is is enabled wh
2270: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0d 0a 20 20  en compiling..  
2280: 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20              for 
2290: 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f  the .NET Framewo
22a0: 72 6b 20 32 2e 30 2c 20 74 68 65 20 76 65 72 73  rk 2.0, the vers
22b0: 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65 74  ion-specific set
22c0: 74 69 6e 67 73 20 66 69 6c 65 0d 0a 20 20 20 20  tings file..    
22d0: 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74            "SQLit
22e0: 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74  e.NET.Settings.t
22f0: 61 72 67 65 74 73 2e 6e 65 74 46 78 32 30 22 20  argets.netFx20" 
2300: 77 69 6c 6c 20 62 65 20 6c 6f 61 64 65 64 20 69  will be loaded i
2310: 66 20 69 74 20 69 73 0d 0a 20 20 20 20 20 20 20  f it is..       
2320: 20 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20         actually 
2330: 70 72 65 73 65 6e 74 2c 20 62 65 66 6f 72 65 20  present, before 
2340: 61 6e 79 20 6f 74 68 65 72 20 73 65 74 74 69 6e  any other settin
2350: 67 73 20 69 6e 20 74 68 69 73 20 66 69 6c 65 20  gs in this file 
2360: 61 72 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  are..           
2370: 20 20 20 70 72 6f 63 65 73 73 65 64 2e 0d 0a 20     processed... 
2380: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74     -->..    <Net
2390: 46 78 32 30 53 65 74 74 69 6e 67 73 20 43 6f 6e  Fx20Settings Con
23a0: 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78  dition="'$(NetFx
23b0: 32 30 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20  20Settings)' == 
23c0: 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78  ''">false</NetFx
23d0: 32 30 53 65 74 74 69 6e 67 73 3e 0d 0a 0d 0a 20  20Settings>.... 
23e0: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
23f0: 20 4e 4f 54 45 3a 20 4c 6f 61 64 20 74 68 65 20   NOTE: Load the 
2400: 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63  version-specific
2410: 20 73 65 74 74 69 6e 67 73 20 66 6f 72 20 74 68   settings for th
2420: 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b  e .NET Framework
2430: 20 33 2e 35 3f 0d 0a 20 20 20 20 20 20 20 20 20   3.5?..         
2440: 20 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c       By default,
2450: 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65   this is disable
2460: 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 65  d.  If this is e
2470: 6e 61 62 6c 65 64 20 77 68 65 6e 20 63 6f 6d 70  nabled when comp
2480: 69 6c 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20  iling..         
2490: 20 20 20 20 20 66 6f 72 20 74 68 65 20 2e 4e 45       for the .NE
24a0: 54 20 46 72 61 6d 65 77 6f 72 6b 20 33 2e 35 2c  T Framework 3.5,
24b0: 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65   the version-spe
24c0: 63 69 66 69 63 20 73 65 74 74 69 6e 67 73 20 66  cific settings f
24d0: 69 6c 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ile..           
24e0: 20 20 20 22 53 51 4c 69 74 65 2e 4e 45 54 2e 53     "SQLite.NET.S
24f0: 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e  ettings.targets.
2500: 6e 65 74 46 78 33 35 22 20 77 69 6c 6c 20 62 65  netFx35" will be
2510: 20 6c 6f 61 64 65 64 20 69 66 20 69 74 20 69 73   loaded if it is
2520: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
2530: 61 63 74 75 61 6c 6c 79 20 70 72 65 73 65 6e 74  actually present
2540: 2c 20 62 65 66 6f 72 65 20 61 6e 79 20 6f 74 68  , before any oth
2550: 65 72 20 73 65 74 74 69 6e 67 73 20 69 6e 20 74  er settings in t
2560: 68 69 73 20 66 69 6c 65 20 61 72 65 0d 0a 20 20  his file are..  
2570: 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63              proc
2580: 65 73 73 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  essed...    -->.
2590: 0a 20 20 20 20 3c 4e 65 74 46 78 33 35 53 65 74  .    <NetFx35Set
25a0: 74 69 6e 67 73 20 43 6f 6e 64 69 74 69 6f 6e 3d  tings Condition=
25b0: 22 27 24 28 4e 65 74 46 78 33 35 53 65 74 74 69  "'$(NetFx35Setti
25c0: 6e 67 73 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c  ngs)' == ''">fal
25d0: 73 65 3c 2f 4e 65 74 46 78 33 35 53 65 74 74 69  se</NetFx35Setti
25e0: 6e 67 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  ngs>....    <!--
25f0: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
2600: 4c 6f 61 64 20 74 68 65 20 76 65 72 73 69 6f 6e  Load the version
2610: 2d 73 70 65 63 69 66 69 63 20 73 65 74 74 69 6e  -specific settin
2620: 67 73 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20  gs for the .NET 
2630: 46 72 61 6d 65 77 6f 72 6b 20 34 2e 30 3f 0d 0a  Framework 4.0?..
2640: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 79                By
2650: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
2660: 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20  s disabled.  If 
2670: 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 20  this is enabled 
2680: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0d 0a  when compiling..
2690: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f                fo
26a0: 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65  r the .NET Frame
26b0: 77 6f 72 6b 20 34 2e 30 2c 20 74 68 65 20 76 65  work 4.0, the ve
26c0: 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73  rsion-specific s
26d0: 65 74 74 69 6e 67 73 20 66 69 6c 65 0d 0a 20 20  ettings file..  
26e0: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
26f0: 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73  ite.NET.Settings
2700: 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34 30  .targets.netFx40
2710: 22 20 77 69 6c 6c 20 62 65 20 6c 6f 61 64 65 64  " will be loaded
2720: 20 69 66 20 69 74 20 69 73 0d 0a 20 20 20 20 20   if it is..     
2730: 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 6c           actuall
2740: 79 20 70 72 65 73 65 6e 74 2c 20 62 65 66 6f 72  y present, befor
2750: 65 20 61 6e 79 20 6f 74 68 65 72 20 73 65 74 74  e any other sett
2760: 69 6e 67 73 20 69 6e 20 74 68 69 73 20 66 69 6c  ings in this fil
2770: 65 20 61 72 65 0d 0a 20 20 20 20 20 20 20 20 20  e are..         
2780: 20 20 20 20 20 70 72 6f 63 65 73 73 65 64 2e 0d       processed..
2790: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e  .    -->..    <N
27a0: 65 74 46 78 34 30 53 65 74 74 69 6e 67 73 20 43  etFx40Settings C
27b0: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74  ondition="'$(Net
27c0: 46 78 34 30 53 65 74 74 69 6e 67 73 29 27 20 3d  Fx40Settings)' =
27d0: 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74  = ''">false</Net
27e0: 46 78 34 30 53 65 74 74 69 6e 67 73 3e 0d 0a 0d  Fx40Settings>...
27f0: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
2800: 20 20 20 4e 4f 54 45 3a 20 4c 6f 61 64 20 74 68     NOTE: Load th
2810: 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66  e version-specif
2820: 69 63 20 73 65 74 74 69 6e 67 73 20 66 6f 72 20  ic settings for 
2830: 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f  the .NET Framewo
2840: 72 6b 20 34 2e 35 3f 0d 0a 20 20 20 20 20 20 20  rk 4.5?..       
2850: 20 20 20 20 20 20 20 42 79 20 64 65 66 61 75 6c         By defaul
2860: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
2870: 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73  led.  If this is
2880: 20 65 6e 61 62 6c 65 64 20 77 68 65 6e 20 63 6f   enabled when co
2890: 6d 70 69 6c 69 6e 67 0d 0a 20 20 20 20 20 20 20  mpiling..       
28a0: 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 2e         for the .
28b0: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e  NET Framework 4.
28c0: 35 2c 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73  5, the version-s
28d0: 70 65 63 69 66 69 63 20 73 65 74 74 69 6e 67 73  pecific settings
28e0: 20 66 69 6c 65 0d 0a 20 20 20 20 20 20 20 20 20   file..         
28f0: 20 20 20 20 20 22 53 51 4c 69 74 65 2e 4e 45 54       "SQLite.NET
2900: 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74  .Settings.target
2910: 73 2e 6e 65 74 46 78 34 35 22 20 77 69 6c 6c 20  s.netFx45" will 
2920: 62 65 20 6c 6f 61 64 65 64 20 69 66 20 69 74 20  be loaded if it 
2930: 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  is..            
2940: 20 20 61 63 74 75 61 6c 6c 79 20 70 72 65 73 65    actually prese
2950: 6e 74 2c 20 62 65 66 6f 72 65 20 61 6e 79 20 6f  nt, before any o
2960: 74 68 65 72 20 73 65 74 74 69 6e 67 73 20 69 6e  ther settings in
2970: 20 74 68 69 73 20 66 69 6c 65 20 61 72 65 0d 0a   this file are..
2980: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
2990: 6f 63 65 73 73 65 64 2e 0d 0a 20 20 20 20 2d 2d  ocessed...    --
29a0: 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 34 35 53  >..    <NetFx45S
29b0: 65 74 74 69 6e 67 73 20 43 6f 6e 64 69 74 69 6f  ettings Conditio
29c0: 6e 3d 22 27 24 28 4e 65 74 46 78 34 35 53 65 74  n="'$(NetFx45Set
29d0: 74 69 6e 67 73 29 27 20 3d 3d 20 27 27 22 3e 66  tings)' == ''">f
29e0: 61 6c 73 65 3c 2f 4e 65 74 46 78 34 35 53 65 74  alse</NetFx45Set
29f0: 74 69 6e 67 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21  tings>....    <!
2a00: 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45  --..        NOTE
2a10: 3a 20 4c 6f 61 64 20 74 68 65 20 76 65 72 73 69  : Load the versi
2a20: 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65 74 74  on-specific sett
2a30: 69 6e 67 73 20 66 6f 72 20 74 68 65 20 2e 4e 45  ings for the .NE
2a40: 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35 2e  T Framework 4.5.
2a50: 31 3f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  1?..            
2a60: 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68    By default, th
2a70: 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20  is is disabled. 
2a80: 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62   If this is enab
2a90: 6c 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69  led when compili
2aa0: 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ng..            
2ab0: 20 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46    for the .NET F
2ac0: 72 61 6d 65 77 6f 72 6b 20 34 2e 35 2e 31 2c 20  ramework 4.5.1, 
2ad0: 74 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63  the version-spec
2ae0: 69 66 69 63 20 73 65 74 74 69 6e 67 73 20 66 69  ific settings fi
2af0: 6c 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  le..            
2b00: 20 20 22 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65    "SQLite.NET.Se
2b10: 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e  ttings.targets.n
2b20: 65 74 46 78 34 35 31 22 20 77 69 6c 6c 20 62 65  etFx451" will be
2b30: 20 6c 6f 61 64 65 64 20 69 66 20 69 74 20 69 73   loaded if it is
2b40: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
2b50: 61 63 74 75 61 6c 6c 79 20 70 72 65 73 65 6e 74  actually present
2b60: 2c 20 62 65 66 6f 72 65 20 61 6e 79 20 6f 74 68  , before any oth
2b70: 65 72 20 73 65 74 74 69 6e 67 73 20 69 6e 20 74  er settings in t
2b80: 68 69 73 20 66 69 6c 65 20 61 72 65 0d 0a 20 20  his file are..  
2b90: 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63              proc
2ba0: 65 73 73 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  essed...    -->.
2bb0: 0a 20 20 20 20 3c 4e 65 74 46 78 34 35 31 53 65  .    <NetFx451Se
2bc0: 74 74 69 6e 67 73 20 43 6f 6e 64 69 74 69 6f 6e  ttings Condition
2bd0: 3d 22 27 24 28 4e 65 74 46 78 34 35 31 53 65 74  ="'$(NetFx451Set
2be0: 74 69 6e 67 73 29 27 20 3d 3d 20 27 27 22 3e 66  tings)' == ''">f
2bf0: 61 6c 73 65 3c 2f 4e 65 74 46 78 34 35 31 53 65  alse</NetFx451Se
2c00: 74 74 69 6e 67 73 3e 0d 0a 0d 0a 20 20 20 20 3c  ttings>....    <
2c10: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
2c20: 45 3a 20 4c 6f 61 64 20 74 68 65 20 76 65 72 73  E: Load the vers
2c30: 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65 74  ion-specific set
2c40: 74 69 6e 67 73 20 66 6f 72 20 74 68 65 20 2e 4e  tings for the .N
2c50: 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35  ET Framework 4.5
2c60: 2e 32 3f 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .2?..           
2c70: 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74     By default, t
2c80: 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e  his is disabled.
2c90: 20 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61    If this is ena
2ca0: 62 6c 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c  bled when compil
2cb0: 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ing..           
2cc0: 20 20 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20     for the .NET 
2cd0: 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35 2e 32 2c  Framework 4.5.2,
2ce0: 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65   the version-spe
2cf0: 63 69 66 69 63 20 73 65 74 74 69 6e 67 73 20 66  cific settings f
2d00: 69 6c 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ile..           
2d10: 20 20 20 22 53 51 4c 69 74 65 2e 4e 45 54 2e 53     "SQLite.NET.S
2d20: 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e  ettings.targets.
2d30: 6e 65 74 46 78 34 35 32 22 20 77 69 6c 6c 20 62  netFx452" will b
2d40: 65 20 6c 6f 61 64 65 64 20 69 66 20 69 74 20 69  e loaded if it i
2d50: 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  s..             
2d60: 20 61 63 74 75 61 6c 6c 79 20 70 72 65 73 65 6e   actually presen
2d70: 74 2c 20 62 65 66 6f 72 65 20 61 6e 79 20 6f 74  t, before any ot
2d80: 68 65 72 20 73 65 74 74 69 6e 67 73 20 69 6e 20  her settings in 
2d90: 74 68 69 73 20 66 69 6c 65 20 61 72 65 0d 0a 20  this file are.. 
2da0: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f               pro
2db0: 63 65 73 73 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e  cessed...    -->
2dc0: 0d 0a 20 20 20 20 3c 4e 65 74 46 78 34 35 32 53  ..    <NetFx452S
2dd0: 65 74 74 69 6e 67 73 20 43 6f 6e 64 69 74 69 6f  ettings Conditio
2de0: 6e 3d 22 27 24 28 4e 65 74 46 78 34 35 32 53 65  n="'$(NetFx452Se
2df0: 74 74 69 6e 67 73 29 27 20 3d 3d 20 27 27 22 3e  ttings)' == ''">
2e00: 66 61 6c 73 65 3c 2f 4e 65 74 46 78 34 35 32 53  false</NetFx452S
2e10: 65 74 74 69 6e 67 73 3e 0d 0a 0d 0a 20 20 20 20  ettings>....    
2e20: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
2e30: 54 45 3a 20 4c 6f 61 64 20 74 68 65 20 76 65 72  TE: Load the ver
2e40: 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65  sion-specific se
2e50: 74 74 69 6e 67 73 20 66 6f 72 20 74 68 65 20 2e  ttings for the .
2e60: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e  NET Framework 4.
2e70: 36 3f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  6?..            
2e80: 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68    By default, th
2e90: 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20  is is disabled. 
2ea0: 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62   If this is enab
2eb0: 6c 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69  led when compili
2ec0: 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ng..            
2ed0: 20 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46    for the .NET F
2ee0: 72 61 6d 65 77 6f 72 6b 20 34 2e 36 2c 20 74 68  ramework 4.6, th
2ef0: 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66  e version-specif
2f00: 69 63 20 73 65 74 74 69 6e 67 73 20 66 69 6c 65  ic settings file
2f10: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
2f20: 22 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74  "SQLite.NET.Sett
2f30: 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74  ings.targets.net
2f40: 46 78 34 36 22 20 77 69 6c 6c 20 62 65 20 6c 6f  Fx46" will be lo
2f50: 61 64 65 64 20 69 66 20 69 74 20 69 73 0d 0a 20  aded if it is.. 
2f60: 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74               act
2f70: 75 61 6c 6c 79 20 70 72 65 73 65 6e 74 2c 20 62  ually present, b
2f80: 65 66 6f 72 65 20 61 6e 79 20 6f 74 68 65 72 20  efore any other 
2f90: 73 65 74 74 69 6e 67 73 20 69 6e 20 74 68 69 73  settings in this
2fa0: 20 66 69 6c 65 20 61 72 65 0d 0a 20 20 20 20 20   file are..     
2fb0: 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73           process
2fc0: 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  ed...    -->..  
2fd0: 20 20 3c 4e 65 74 46 78 34 36 53 65 74 74 69 6e    <NetFx46Settin
2fe0: 67 73 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  gs Condition="'$
2ff0: 28 4e 65 74 46 78 34 36 53 65 74 74 69 6e 67 73  (NetFx46Settings
3000: 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c  )' == ''">false<
3010: 2f 4e 65 74 46 78 34 36 53 65 74 74 69 6e 67 73  /NetFx46Settings
3020: 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79 47  >..  </PropertyG
3030: 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d  roup>....  <!--.
3040: 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .  *************
3050: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3060: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3070: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3080: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3090: 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20  *..  **         
30a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
30b0: 20 20 20 46 65 61 74 75 72 65 20 50 72 6f 70 65     Feature Prope
30c0: 72 74 69 65 73 20 20 20 20 20 20 20 20 20 20 20  rties           
30d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
30e0: 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a   **..  *********
30f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3100: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3110: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3120: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
3130: 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a  *****..  -->....
3140: 20 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70    <PropertyGroup
3150: 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  >..    <!--..   
3160: 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c       NOTE: Enabl
3170: 65 20 65 78 74 72 61 20 69 6e 74 65 72 6e 61 6c  e extra internal
3180: 20 73 74 61 74 65 20 63 68 65 63 6b 69 6e 67 20   state checking 
3190: 66 6f 72 20 74 68 65 20 70 75 62 6c 69 63 20 6d  for the public m
31a0: 65 6d 62 65 72 73 20 6f 66 0d 0a 20 20 20 20 20  embers of..     
31b0: 20 20 20 20 20 20 20 20 20 73 65 76 65 72 61 6c           several
31c0: 20 6b 65 79 20 63 6c 61 73 73 65 73 20 74 68 61   key classes tha
31d0: 74 20 75 73 65 20 61 20 63 6f 6e 6e 65 63 74 69  t use a connecti
31e0: 6f 6e 2e 20 20 42 79 20 64 65 66 61 75 6c 74 2c  on.  By default,
31f0: 20 74 68 69 73 20 69 73 0d 0a 20 20 20 20 20 20   this is..      
3200: 20 20 20 20 20 20 20 20 64 69 73 61 62 6c 65 64          disabled
3210: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
3220: 3c 43 68 65 63 6b 53 74 61 74 65 20 43 6f 6e 64  <CheckState Cond
3230: 69 74 69 6f 6e 3d 22 27 24 28 43 68 65 63 6b 53  ition="'$(CheckS
3240: 74 61 74 65 29 27 20 3d 3d 20 27 27 22 3e 66 61  tate)' == ''">fa
3250: 6c 73 65 3c 2f 43 68 65 63 6b 53 74 61 74 65 3e  lse</CheckState>
3260: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
3270: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
3280: 6c 65 20 63 6f 75 6e 74 69 6e 67 20 6f 66 20 61  le counting of a
3290: 6c 6c 20 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e  ll object instan
32a0: 63 65 73 20 66 6f 72 20 74 68 65 20 43 72 69 74  ces for the Crit
32b0: 69 63 61 6c 48 61 6e 64 6c 65 0d 0a 20 20 20 20  icalHandle..    
32c0: 20 20 20 20 20 20 20 20 20 20 64 65 72 69 76 65            derive
32d0: 64 20 63 6c 61 73 73 65 73 3f 20 20 42 79 20 64  d classes?  By d
32e0: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
32f0: 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68  disabled.  If th
3300: 69 73 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20  is is..         
3310: 20 20 20 20 20 65 6e 61 62 6c 65 64 2c 20 74 68       enabled, th
3320: 69 73 20 6c 69 62 72 61 72 79 20 77 69 6c 6c 20  is library will 
3330: 6b 65 65 70 20 63 6f 75 6e 74 20 6f 66 20 61 6c  keep count of al
3340: 6c 20 6e 6f 6e 2d 64 69 73 70 6f 73 65 64 20 6f  l non-disposed o
3350: 62 6a 65 63 74 0d 0a 20 20 20 20 20 20 20 20 20  bject..         
3360: 20 20 20 20 20 69 6e 73 74 61 6e 63 65 73 20 66       instances f
3370: 6f 72 20 61 6c 6c 20 74 68 65 20 43 72 69 74 69  or all the Criti
3380: 63 61 6c 48 61 6e 64 6c 65 20 64 65 72 69 76 65  calHandle derive
3390: 64 20 63 6c 61 73 73 65 73 2e 20 20 45 61 63 68  d classes.  Each
33a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
33b0: 63 6f 75 6e 74 65 72 20 77 69 6c 6c 20 62 65 20  counter will be 
33c0: 69 6e 63 72 65 6d 65 6e 74 65 64 20 77 68 65 6e  incremented when
33d0: 20 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20   an instance of 
33e0: 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 0d 0a  the associated..
33f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 72                cr
3400: 69 74 69 63 61 6c 20 68 61 6e 64 6c 65 20 63 6c  itical handle cl
3410: 61 73 73 20 69 73 20 63 6f 6e 73 74 72 75 63 74  ass is construct
3420: 65 64 20 61 6e 64 20 64 65 63 72 65 6d 65 6e 74  ed and decrement
3430: 65 64 20 77 68 65 6e 20 74 68 65 0d 0a 20 20 20  ed when the..   
3440: 20 20 20 20 20 20 20 20 20 20 20 52 65 6c 65 61             Relea
3450: 73 65 48 61 6e 64 6c 65 20 6d 65 74 68 6f 64 20  seHandle method 
3460: 69 73 20 63 6f 6d 70 6c 65 74 65 64 20 73 75 63  is completed suc
3470: 63 65 73 73 66 75 6c 6c 79 20 6f 6e 20 61 6e 20  cessfully on an 
3480: 69 6e 73 74 61 6e 63 65 2e 0d 0a 20 20 20 20 20  instance...     
3490: 20 20 20 20 20 20 20 20 20 54 68 65 73 65 20 63           These c
34a0: 6f 75 6e 74 73 20 61 72 65 20 69 6e 74 65 6e 64  ounts are intend
34b0: 65 64 20 74 6f 20 62 65 20 75 73 65 64 20 62 79  ed to be used by
34c0: 20 74 68 65 20 74 65 73 74 20 73 75 69 74 65 20   the test suite 
34d0: 74 6f 20 64 65 74 65 63 74 0d 0a 20 20 20 20 20  to detect..     
34e0: 20 20 20 20 20 20 20 20 20 70 6f 73 73 69 62 6c           possibl
34f0: 65 20 72 65 73 6f 75 72 63 65 20 6c 65 61 6b 73  e resource leaks
3500: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
3510: 3c 43 6f 75 6e 74 48 61 6e 64 6c 65 20 43 6f 6e  <CountHandle Con
3520: 64 69 74 69 6f 6e 3d 22 27 24 28 43 6f 75 6e 74  dition="'$(Count
3530: 48 61 6e 64 6c 65 29 27 20 3d 3d 20 27 27 22 3e  Handle)' == ''">
3540: 66 61 6c 73 65 3c 2f 43 6f 75 6e 74 48 61 6e 64  false</CountHand
3550: 6c 65 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d  le>....    <!--.
3560: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45  .        NOTE: E
3570: 6e 61 62 6c 65 20 74 72 61 63 6b 69 6e 67 20 6f  nable tracking o
3580: 66 20 61 6c 6c 20 6f 75 74 73 74 61 6e 64 69 6e  f all outstandin
3590: 67 20 62 79 74 65 73 20 61 6c 6c 6f 63 61 74 65  g bytes allocate
35a0: 64 20 62 79 20 74 68 65 0d 0a 20 20 20 20 20 20  d by the..      
35b0: 20 20 20 20 20 20 20 20 53 51 4c 69 74 65 4d 65          SQLiteMe
35c0: 6d 6f 72 79 20 63 6c 61 73 73 2e 20 20 42 79 20  mory class.  By 
35d0: 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73  default, this is
35e0: 20 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74   disabled.  If t
35f0: 68 69 73 20 69 73 0d 0a 20 20 20 20 20 20 20 20  his is..        
3600: 20 20 20 20 20 20 65 6e 61 62 6c 65 64 2c 20 74        enabled, t
3610: 68 69 73 20 6c 69 62 72 61 72 79 20 77 69 6c 6c  his library will
3620: 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 61   keep track of a
3630: 6c 6c 20 6f 75 74 73 74 61 6e 64 69 6e 67 20 62  ll outstanding b
3640: 79 74 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20  ytes..          
3650: 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 62 79      allocated by
3660: 20 74 68 65 20 53 51 4c 69 74 65 4d 65 6d 6f 72   the SQLiteMemor
3670: 79 20 63 6c 61 73 73 2e 20 20 54 68 69 73 20 68  y class.  This h
3680: 61 73 20 74 68 65 20 70 6f 74 65 6e 74 69 61 6c  as the potential
3690: 20 74 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20   to..           
36a0: 20 20 20 73 6c 6f 77 20 64 6f 77 6e 20 74 68 65     slow down the
36b0: 20 6c 69 62 72 61 72 79 20 61 20 62 69 74 2e 0d   library a bit..
36c0: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54  .    -->..    <T
36d0: 72 61 63 6b 4d 65 6d 6f 72 79 42 79 74 65 73 20  rackMemoryBytes 
36e0: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 54 72  Condition="'$(Tr
36f0: 61 63 6b 4d 65 6d 6f 72 79 42 79 74 65 73 29 27  ackMemoryBytes)'
3700: 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 54   == ''">false</T
3710: 72 61 63 6b 4d 65 6d 6f 72 79 42 79 74 65 73 3e  rackMemoryBytes>
3720: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
3730: 20 20 20 20 20 20 4e 4f 54 45 3a 20 46 6f 72 20        NOTE: For 
3740: 69 6e 74 65 72 61 63 74 69 6f 6e 20 77 69 74 68  interaction with
3750: 20 74 68 65 20 6e 61 74 69 76 65 20 53 51 4c 69   the native SQLi
3760: 74 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  te implementatio
3770: 6e 2c 20 75 73 65 20 74 68 65 0d 0a 20 20 20 20  n, use the..    
3780: 20 20 20 20 20 20 20 20 20 20 63 75 73 74 6f 6d            custom
3790: 20 62 75 69 6c 74 20 69 6e 74 65 72 6f 70 20 44   built interop D
37a0: 4c 4c 20 28 69 2e 65 2e 20 22 53 51 4c 69 74 65  LL (i.e. "SQLite
37b0: 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20  .Interop.dll")? 
37c0: 20 42 79 20 64 65 66 61 75 6c 74 2c 0d 0a 20 20   By default,..  
37d0: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
37e0: 20 69 73 20 65 6e 61 62 6c 65 64 2e 20 20 54 68   is enabled.  Th
37f0: 69 73 20 70 72 6f 70 65 72 74 79 20 69 73 20 6d  is property is m
3800: 75 74 75 61 6c 6c 79 20 65 78 63 6c 75 73 69 76  utually exclusiv
3810: 65 20 77 69 74 68 20 74 68 65 0d 0a 20 20 20 20  e with the..    
3820: 20 20 20 20 20 20 20 20 20 20 22 55 73 65 53 71            "UseSq
3830: 6c 69 74 65 53 74 61 6e 64 61 72 64 22 20 6f 6e  liteStandard" on
3840: 65 2c 20 62 65 6c 6f 77 2e 20 20 54 68 69 73 20  e, below.  This 
3850: 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65  should always be
3860: 20 64 69 73 61 62 6c 65 64 20 69 6e 0d 0a 20 20   disabled in..  
3870: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20              the 
3880: 70 72 6f 6a 65 63 74 20 66 69 6c 65 20 74 68 61  project file tha
3890: 74 20 62 75 69 6c 64 73 20 74 68 65 20 4e 65 74  t builds the Net
38a0: 4d 6f 64 75 6c 65 20 74 61 72 67 65 74 2e 0d 0a  Module target...
38b0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 55 73      -->..    <Us
38c0: 65 49 6e 74 65 72 6f 70 44 6c 6c 20 43 6f 6e 64  eInteropDll Cond
38d0: 69 74 69 6f 6e 3d 22 27 24 28 55 73 65 49 6e 74  ition="'$(UseInt
38e0: 65 72 6f 70 44 6c 6c 29 27 20 3d 3d 20 27 27 22  eropDll)' == ''"
38f0: 3e 74 72 75 65 3c 2f 55 73 65 49 6e 74 65 72 6f  >true</UseIntero
3900: 70 44 6c 6c 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d  pDll>....    <!-
3910: 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a  -..        NOTE:
3920: 20 46 6f 72 20 69 6e 74 65 72 61 63 74 69 6f 6e   For interaction
3930: 20 77 69 74 68 20 74 68 65 20 6e 61 74 69 76 65   with the native
3940: 20 53 51 4c 69 74 65 20 69 6d 70 6c 65 6d 65 6e   SQLite implemen
3950: 74 61 74 69 6f 6e 2c 20 75 73 65 20 74 68 65 0d  tation, use the.
3960: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73  .              s
3970: 71 6c 69 74 65 33 5f 70 72 65 70 61 72 65 5f 76  qlite3_prepare_v
3980: 32 28 29 20 66 75 6e 63 74 69 6f 6e 20 77 68 65  2() function whe
3990: 6e 20 70 72 65 70 61 72 69 6e 67 20 71 75 65 72  n preparing quer
39a0: 69 65 73 3f 20 20 42 79 20 64 65 66 61 75 6c 74  ies?  By default
39b0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
39c0: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
39d0: 2e 20 20 57 68 65 6e 20 75 73 69 6e 67 20 61 20  .  When using a 
39e0: 6e 61 74 69 76 65 20 53 51 4c 69 74 65 20 69 6d  native SQLite im
39f0: 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 70 72 69  plementation pri
3a00: 6f 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  or..            
3a10: 20 20 74 6f 20 76 65 72 73 69 6f 6e 20 33 2e 33    to version 3.3
3a20: 2e 39 2c 20 74 68 69 73 20 6d 75 73 74 20 62 65  .9, this must be
3a30: 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20   disabled...    
3a40: 2d 2d 3e 0d 0a 20 20 20 20 3c 55 73 65 50 72 65  -->..    <UsePre
3a50: 70 61 72 65 56 32 20 43 6f 6e 64 69 74 69 6f 6e  pareV2 Condition
3a60: 3d 22 27 24 28 55 73 65 50 72 65 70 61 72 65 56  ="'$(UsePrepareV
3a70: 32 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c  2)' == ''">true<
3a80: 2f 55 73 65 50 72 65 70 61 72 65 56 32 3e 0d 0a  /UsePrepareV2>..
3a90: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
3aa0: 20 20 20 20 4e 4f 54 45 3a 20 46 6f 72 20 69 6e      NOTE: For in
3ab0: 74 65 72 61 63 74 69 6f 6e 20 77 69 74 68 20 74  teraction with t
3ac0: 68 65 20 6e 61 74 69 76 65 20 53 51 4c 69 74 65  he native SQLite
3ad0: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c   implementation,
3ae0: 20 75 73 65 20 74 68 65 0d 0a 20 20 20 20 20 20   use the..      
3af0: 20 20 20 20 20 20 20 20 73 74 61 6e 64 61 72 64          standard
3b00: 20 44 4c 4c 20 28 69 2e 65 2e 20 22 73 71 6c 69   DLL (i.e. "sqli
3b10: 74 65 33 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64  te3.dll")?  By d
3b20: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
3b30: 64 69 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20 20  disabled...     
3b40: 20 20 20 20 20 20 20 20 20 54 68 69 73 20 70 72           This pr
3b50: 6f 70 65 72 74 79 20 69 73 20 6d 75 74 75 61 6c  operty is mutual
3b60: 6c 79 20 65 78 63 6c 75 73 69 76 65 20 77 69 74  ly exclusive wit
3b70: 68 20 74 68 65 20 22 55 73 65 49 6e 74 65 72 6f  h the "UseIntero
3b80: 70 44 6c 6c 22 20 6f 6e 65 2c 0d 0a 20 20 20 20  pDll" one,..    
3b90: 20 20 20 20 20 20 20 20 20 20 61 62 6f 76 65 2e            above.
3ba0: 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 61 6c    This should al
3bb0: 77 61 79 73 20 62 65 20 64 69 73 61 62 6c 65 64  ways be disabled
3bc0: 20 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20   in the project 
3bd0: 66 69 6c 65 20 74 68 61 74 0d 0a 20 20 20 20 20  file that..     
3be0: 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 73 20           builds 
3bf0: 74 68 65 20 4e 65 74 4d 6f 64 75 6c 65 20 74 61  the NetModule ta
3c00: 72 67 65 74 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  rget...    -->..
3c10: 20 20 20 20 3c 55 73 65 53 71 6c 69 74 65 53 74      <UseSqliteSt
3c20: 61 6e 64 61 72 64 20 43 6f 6e 64 69 74 69 6f 6e  andard Condition
3c30: 3d 22 27 24 28 55 73 65 53 71 6c 69 74 65 53 74  ="'$(UseSqliteSt
3c40: 61 6e 64 61 72 64 29 27 20 3d 3d 20 27 27 22 3e  andard)' == ''">
3c50: 66 61 6c 73 65 3c 2f 55 73 65 53 71 6c 69 74 65  false</UseSqlite
3c60: 53 74 61 6e 64 61 72 64 3e 0d 0a 0d 0a 20 20 20  Standard>....   
3c70: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
3c80: 4f 54 45 3a 20 49 73 20 74 68 65 20 70 72 6f 6a  OTE: Is the proj
3c90: 65 63 74 20 62 65 69 6e 67 20 62 75 69 6c 74 20  ect being built 
3ca0: 74 6f 20 73 75 70 70 6f 72 74 20 74 68 65 20 2e  to support the .
3cb0: 4e 45 54 20 43 6f 6d 70 61 63 74 20 46 72 61 6d  NET Compact Fram
3cc0: 65 77 6f 72 6b 3f 0d 0a 20 20 20 20 2d 2d 3e 0d  ework?..    -->.
3cd0: 0a 20 20 20 20 3c 49 73 43 6f 6d 70 61 63 74 46  .    <IsCompactF
3ce0: 72 61 6d 65 77 6f 72 6b 20 43 6f 6e 64 69 74 69  ramework Conditi
3cf0: 6f 6e 3d 22 27 24 28 49 73 43 6f 6d 70 61 63 74  on="'$(IsCompact
3d00: 46 72 61 6d 65 77 6f 72 6b 29 27 20 3d 3d 20 27  Framework)' == '
3d10: 27 22 3e 66 61 6c 73 65 3c 2f 49 73 43 6f 6d 70  '">false</IsComp
3d20: 61 63 74 46 72 61 6d 65 77 6f 72 6b 3e 0d 0a 0d  actFramework>...
3d30: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
3d40: 20 20 20 4e 4f 54 45 3a 20 45 6d 69 74 20 61 6e     NOTE: Emit an
3d50: 20 41 73 73 65 6d 62 6c 79 46 6c 61 67 73 20 61   AssemblyFlags a
3d60: 74 74 72 69 62 75 74 65 20 74 68 61 74 20 69 6e  ttribute that in
3d70: 63 6c 75 64 65 73 20 74 68 65 20 52 65 74 61 72  cludes the Retar
3d80: 67 65 74 61 62 6c 65 0d 0a 20 20 20 20 20 20 20  getable..       
3d90: 20 20 20 20 20 20 20 66 6c 61 67 20 66 72 6f 6d         flag from
3da0: 20 74 68 65 20 41 73 73 65 6d 62 6c 79 4e 61 6d   the AssemblyNam
3db0: 65 46 6c 61 67 73 20 65 6e 75 6d 65 72 61 74 69  eFlags enumerati
3dc0: 6f 6e 3f 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  on?..    -->..  
3dd0: 20 20 3c 49 73 52 65 74 61 72 67 65 74 61 62 6c    <IsRetargetabl
3de0: 65 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  e Condition="'$(
3df0: 49 73 52 65 74 61 72 67 65 74 61 62 6c 65 29 27  IsRetargetable)'
3e00: 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 49   == ''">false</I
3e10: 73 52 65 74 61 72 67 65 74 61 62 6c 65 3e 0d 0a  sRetargetable>..
3e20: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
3e30: 20 20 20 20 4e 4f 54 45 3a 20 54 68 72 6f 77 20      NOTE: Throw 
3e40: 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 69 66 20  an exception if 
3e50: 61 6e 20 6f 62 6a 65 63 74 20 68 61 73 20 61 6c  an object has al
3e60: 72 65 61 64 79 20 62 65 65 6e 20 64 69 73 70 6f  ready been dispo
3e70: 73 65 64 3f 20 20 42 79 0d 0a 20 20 20 20 20 20  sed?  By..      
3e80: 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c          default,
3e90: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
3ea0: 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 64 69  .  If this is di
3eb0: 73 61 62 6c 65 64 2c 20 61 6e 20 65 78 63 65 70  sabled, an excep
3ec0: 74 69 6f 6e 20 77 69 6c 6c 0d 0a 20 20 20 20 20  tion will..     
3ed0: 20 20 20 20 20 20 20 20 20 6e 6f 74 20 62 65 20           not be 
3ee0: 74 68 72 6f 77 6e 20 77 68 65 6e 20 61 20 53 51  thrown when a SQ
3ef0: 4c 69 74 65 20 6f 62 6a 65 63 74 20 77 68 69 63  Lite object whic
3f00: 68 20 68 61 73 20 61 6c 72 65 61 64 79 20 62 65  h has already be
3f10: 65 6e 20 64 69 73 70 6f 73 65 64 0d 0a 20 20 20  en disposed..   
3f20: 20 20 20 20 20 20 20 20 20 20 20 69 73 20 61 63             is ac
3f30: 63 65 73 73 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e  cessed...    -->
3f40: 0d 0a 20 20 20 20 3c 54 68 72 6f 77 4f 6e 44 69  ..    <ThrowOnDi
3f50: 73 70 6f 73 65 64 20 43 6f 6e 64 69 74 69 6f 6e  sposed Condition
3f60: 3d 22 27 24 28 54 68 72 6f 77 4f 6e 44 69 73 70  ="'$(ThrowOnDisp
3f70: 6f 73 65 64 29 27 20 3d 3d 20 27 27 22 3e 74 72  osed)' == ''">tr
3f80: 75 65 3c 2f 54 68 72 6f 77 4f 6e 44 69 73 70 6f  ue</ThrowOnDispo
3f90: 73 65 64 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  sed>....    <!--
3fa0: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
3fb0: 2a 45 58 50 45 52 49 4d 45 4e 54 41 4c 2a 20 41  *EXPERIMENTAL* A
3fc0: 74 74 65 6d 70 74 20 74 6f 20 70 72 65 2d 6c 6f  ttempt to pre-lo
3fd0: 61 64 20 74 68 65 20 6e 61 74 69 76 65 20 53 51  ad the native SQ
3fe0: 4c 69 74 65 20 6c 69 62 72 61 72 79 3f 20 20 42  Lite library?  B
3ff0: 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  y..             
4000: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
4010: 73 20 65 6e 61 62 6c 65 64 2e 20 20 49 66 20 74  s enabled.  If t
4020: 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c  his is disabled,
4030: 20 6e 6f 20 61 74 74 65 6d 70 74 20 77 69 6c 6c   no attempt will
4040: 20 62 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20   be..           
4050: 20 20 20 6d 61 64 65 20 74 6f 20 70 72 65 2d 6c     made to pre-l
4060: 6f 61 64 20 74 68 65 20 6e 61 74 69 76 65 20 53  oad the native S
4070: 51 4c 69 74 65 20 6c 69 62 72 61 72 79 20 61 70  QLite library ap
4080: 70 72 6f 70 72 69 61 74 65 20 74 6f 20 74 68 65  propriate to the
4090: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
40a0: 70 72 6f 63 65 73 73 6f 72 20 61 72 63 68 69 74  processor archit
40b0: 65 63 74 75 72 65 20 6f 66 20 74 68 65 20 63 75  ecture of the cu
40c0: 72 72 65 6e 74 6c 79 20 72 75 6e 6e 69 6e 67 20  rrently running 
40d0: 70 72 6f 63 65 73 73 20 75 70 6f 6e 20 75 73 69  process upon usi
40e0: 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ng..            
40f0: 20 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 2e    the component.
4100: 20 20 54 68 69 73 20 66 65 61 74 75 72 65 20 69    This feature i
4110: 73 20 65 78 70 65 72 69 6d 65 6e 74 61 6c 20 61  s experimental a
4120: 6e 64 20 6d 61 79 20 62 65 20 6d 6f 64 69 66 69  nd may be modifi
4130: 65 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ed..            
4140: 20 20 6f 72 20 72 65 6d 6f 76 65 64 20 69 6e 20    or removed in 
4150: 61 20 66 75 74 75 72 65 20 72 65 6c 65 61 73 65  a future release
4160: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
4170: 3c 50 72 65 4c 6f 61 64 4e 61 74 69 76 65 4c 69  <PreLoadNativeLi
4180: 62 72 61 72 79 20 43 6f 6e 64 69 74 69 6f 6e 3d  brary Condition=
4190: 22 27 24 28 50 72 65 4c 6f 61 64 4e 61 74 69 76  "'$(PreLoadNativ
41a0: 65 4c 69 62 72 61 72 79 29 27 20 3d 3d 20 27 27  eLibrary)' == ''
41b0: 22 3e 74 72 75 65 3c 2f 50 72 65 4c 6f 61 64 4e  ">true</PreLoadN
41c0: 61 74 69 76 65 4c 69 62 72 61 72 79 3e 0d 0a 0d  ativeLibrary>...
41d0: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
41e0: 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20     NOTE: Enable 
41f0: 75 73 69 6e 67 20 74 68 65 20 22 77 65 6c 6c 2d  using the "well-
4200: 6b 6e 6f 77 6e 22 20 65 78 74 65 6e 73 69 6f 6e  known" extension
4210: 20 66 75 6e 63 74 69 6f 6e 73 20 66 72 6f 6d 20   functions from 
4220: 74 68 65 20 63 75 73 74 6f 6d 0d 0a 20 20 20 20  the custom..    
4230: 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 74 20            built 
4240: 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28 69 2e 65  interop DLL (i.e
4250: 2e 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f  . "SQLite.Intero
4260: 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65 66  p.dll")?  By def
4270: 61 75 6c 74 2c 20 74 68 69 73 0d 0a 20 20 20 20  ault, this..    
4280: 20 20 20 20 20 20 20 20 20 20 69 73 20 65 6e 61            is ena
4290: 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69  bled.  If this i
42a0: 73 20 64 69 73 61 62 6c 65 64 2c 20 74 68 65 20  s disabled, the 
42b0: 22 77 65 6c 6c 2d 6b 6e 6f 77 6e 22 20 65 78 74  "well-known" ext
42c0: 65 6e 73 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20  ension..        
42d0: 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20        functions 
42e0: 77 69 6c 6c 20 62 65 20 75 6e 61 76 61 69 6c 61  will be unavaila
42f0: 62 6c 65 2e 20 20 49 66 20 74 68 69 73 20 69 73  ble.  If this is
4300: 20 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73   enabled, it mus
4310: 74 20 61 6c 73 6f 0d 0a 20 20 20 20 20 20 20 20  t also..        
4320: 20 20 20 20 20 20 62 65 20 65 6e 61 62 6c 65 64        be enabled
4330: 20 76 69 61 20 74 68 65 20 22 49 4e 54 45 52 4f   via the "INTERO
4340: 50 5f 45 58 54 45 4e 53 49 4f 4e 5f 46 55 4e 43  P_EXTENSION_FUNC
4350: 54 49 4f 4e 53 3d 31 22 20 70 72 65 70 72 6f 63  TIONS=1" preproc
4360: 65 73 73 6f 72 0d 0a 20 20 20 20 20 20 20 20 20  essor..         
4370: 20 20 20 20 20 64 65 66 69 6e 65 20 62 65 69 6e       define bein
4380: 67 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65  g present in the
4390: 20 22 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f   "INTEROP_EXTRA_
43a0: 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69  DEFINES" macro i
43b0: 6e 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20  n the..         
43c0: 20 20 20 20 20 62 75 69 6c 64 20 70 72 6f 70 65       build prope
43d0: 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20  rties file:.... 
43e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
43f0: 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70   "SQLite.Interop
4400: 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e  \props\SQLite.In
4410: 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70  terop.20YY.[vs]p
4420: 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20  rops"....       
4430: 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 63         for the c
4440: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72  orresponding ver
4450: 73 69 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61  sion(s) of Visua
4460: 6c 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d  l Studio...    -
4470: 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70  ->..    <Interop
4480: 45 78 74 65 6e 73 69 6f 6e 46 75 6e 63 74 69 6f  ExtensionFunctio
4490: 6e 73 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  ns Condition="'$
44a0: 28 49 6e 74 65 72 6f 70 45 78 74 65 6e 73 69 6f  (InteropExtensio
44b0: 6e 46 75 6e 63 74 69 6f 6e 73 29 27 20 3d 3d 20  nFunctions)' == 
44c0: 27 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65 72 6f  ''">true</Intero
44d0: 70 45 78 74 65 6e 73 69 6f 6e 46 75 6e 63 74 69  pExtensionFuncti
44e0: 6f 6e 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  ons>....    <!--
44f0: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
4500: 45 6e 61 62 6c 65 20 74 68 65 20 46 54 53 35 20  Enable the FTS5 
4510: 65 78 74 65 6e 73 69 6f 6e 20 66 72 6f 6d 20 74  extension from t
4520: 68 65 20 63 75 73 74 6f 6d 20 62 75 69 6c 74 20  he custom built 
4530: 69 6e 74 65 72 6f 70 20 44 4c 4c 0d 0a 20 20 20  interop DLL..   
4540: 20 20 20 20 20 20 20 20 20 20 20 28 69 2e 65 2e             (i.e.
4550: 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70   "SQLite.Interop
4560: 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61  .dll")?  By defa
4570: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65 6e 61  ult, this is ena
4580: 62 6c 65 64 2e 20 20 49 66 0d 0a 20 20 20 20 20  bled.  If..     
4590: 20 20 20 20 20 20 20 20 20 74 68 69 73 20 69 73           this is
45a0: 20 64 69 73 61 62 6c 65 64 2c 20 74 68 65 20 46   disabled, the F
45b0: 54 53 35 20 65 78 74 65 6e 73 69 6f 6e 20 77 69  TS5 extension wi
45c0: 6c 6c 20 62 65 20 75 6e 61 76 61 69 6c 61 62 6c  ll be unavailabl
45d0: 65 2e 20 20 49 66 0d 0a 20 20 20 20 20 20 20 20  e.  If..        
45e0: 20 20 20 20 20 20 74 68 69 73 20 69 73 20 65 6e        this is en
45f0: 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61  abled, it must a
4600: 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64 20 76  lso be enabled v
4610: 69 61 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20  ia the..        
4620: 20 20 20 20 20 20 22 49 4e 54 45 52 4f 50 5f 46        "INTEROP_F
4630: 54 53 35 5f 45 58 54 45 4e 53 49 4f 4e 3d 31 22  TS5_EXTENSION=1"
4640: 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65   preprocessor de
4650: 66 69 6e 65 20 62 65 69 6e 67 0d 0a 20 20 20 20  fine being..    
4660: 20 20 20 20 20 20 20 20 20 20 70 72 65 73 65 6e            presen
4670: 74 20 69 6e 20 74 68 65 20 22 49 4e 54 45 52 4f  t in the "INTERO
4680: 50 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22  P_EXTRA_DEFINES"
4690: 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75   macro in the bu
46a0: 69 6c 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ild..           
46b0: 20 20 20 70 72 6f 70 65 72 74 69 65 73 20 66 69     properties fi
46c0: 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20  le:....         
46d0: 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65           "SQLite
46e0: 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53  .Interop\props\S
46f0: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30  QLite.Interop.20
4700: 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d  YY.[vs]props"...
4710: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66  .              f
4720: 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  or the correspon
4730: 64 69 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20  ding version(s) 
4740: 6f 66 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  of Visual Studio
4750: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
4760: 3c 49 6e 74 65 72 6f 70 46 74 73 35 45 78 74 65  <InteropFts5Exte
4770: 6e 73 69 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d  nsion Condition=
4780: 22 27 24 28 49 6e 74 65 72 6f 70 46 74 73 35 45  "'$(InteropFts5E
4790: 78 74 65 6e 73 69 6f 6e 29 27 20 3d 3d 20 27 27  xtension)' == ''
47a0: 22 3e 74 72 75 65 3c 2f 49 6e 74 65 72 6f 70 46  ">true</InteropF
47b0: 74 73 35 45 78 74 65 6e 73 69 6f 6e 3e 0d 0a 0d  ts5Extension>...
47c0: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
47d0: 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20     NOTE: Enable 
47e0: 74 68 65 20 4a 53 4f 4e 20 65 78 74 65 6e 73 69  the JSON extensi
47f0: 6f 6e 20 66 72 6f 6d 20 74 68 65 20 63 75 73 74  on from the cust
4800: 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65 72 6f 70  om built interop
4810: 20 44 4c 4c 0d 0a 20 20 20 20 20 20 20 20 20 20   DLL..          
4820: 20 20 20 20 28 69 2e 65 2e 20 22 53 51 4c 69 74      (i.e. "SQLit
4830: 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f  e.Interop.dll")?
4840: 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68    By default, th
4850: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2e 20 20  is is enabled.  
4860: 49 66 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  If..            
4870: 20 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c    this is disabl
4880: 65 64 2c 20 74 68 65 20 4a 53 4f 4e 20 65 78 74  ed, the JSON ext
4890: 65 6e 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 75  ension will be u
48a0: 6e 61 76 61 69 6c 61 62 6c 65 2e 20 20 49 66 0d  navailable.  If.
48b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74  .              t
48c0: 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2c 20  his is enabled, 
48d0: 69 74 20 6d 75 73 74 20 61 6c 73 6f 20 62 65 20  it must also be 
48e0: 65 6e 61 62 6c 65 64 20 76 69 61 20 74 68 65 0d  enabled via the.
48f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22  .              "
4900: 49 4e 54 45 52 4f 50 5f 4a 53 4f 4e 31 5f 45 58  INTEROP_JSON1_EX
4910: 54 45 4e 53 49 4f 4e 3d 31 22 20 70 72 65 70 72  TENSION=1" prepr
4920: 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65 20 62  ocessor define b
4930: 65 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20  eing..          
4940: 20 20 20 20 70 72 65 73 65 6e 74 20 69 6e 20 74      present in t
4950: 68 65 20 22 49 4e 54 45 52 4f 50 5f 45 58 54 52  he "INTEROP_EXTR
4960: 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f  A_DEFINES" macro
4970: 20 69 6e 20 74 68 65 20 62 75 69 6c 64 0d 0a 20   in the build.. 
4980: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f               pro
4990: 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d  perties file:...
49a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
49b0: 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72     "SQLite.Inter
49c0: 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e  op\props\SQLite.
49d0: 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73  Interop.20YY.[vs
49e0: 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20  ]props"....     
49f0: 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65           for the
4a00: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 76   corresponding v
4a10: 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56 69 73  ersion(s) of Vis
4a20: 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20  ual Studio...   
4a30: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72   -->..    <Inter
4a40: 6f 70 4a 73 6f 6e 31 45 78 74 65 6e 73 69 6f 6e  opJson1Extension
4a50: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49   Condition="'$(I
4a60: 6e 74 65 72 6f 70 4a 73 6f 6e 31 45 78 74 65 6e  nteropJson1Exten
4a70: 73 69 6f 6e 29 27 20 3d 3d 20 27 27 22 3e 74 72  sion)' == ''">tr
4a80: 75 65 3c 2f 49 6e 74 65 72 6f 70 4a 73 6f 6e 31  ue</InteropJson1
4a90: 45 78 74 65 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20  Extension>....  
4aa0: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
4ab0: 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 68 65  NOTE: Enable the
4ac0: 20 70 65 72 63 65 6e 74 69 6c 65 20 65 78 74 65   percentile exte
4ad0: 6e 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 63  nsion from the c
4ae0: 75 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65  ustom built inte
4af0: 72 6f 70 20 44 4c 4c 0d 0a 20 20 20 20 20 20 20  rop DLL..       
4b00: 20 20 20 20 20 20 20 28 69 2e 65 2e 20 22 53 51         (i.e. "SQ
4b10: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c  Lite.Interop.dll
4b20: 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c  ")?  By default,
4b30: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
4b40: 2e 20 20 49 66 0d 0a 20 20 20 20 20 20 20 20 20  .  If..         
4b50: 20 20 20 20 20 74 68 69 73 20 69 73 20 64 69 73       this is dis
4b60: 61 62 6c 65 64 2c 20 74 68 65 20 70 65 72 63 65  abled, the perce
4b70: 6e 74 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 20  ntile extension 
4b80: 77 69 6c 6c 20 62 65 20 75 6e 61 76 61 69 6c 61  will be unavaila
4b90: 62 6c 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20  ble...          
4ba0: 20 20 20 20 49 66 20 74 68 69 73 20 69 73 20 65      If this is e
4bb0: 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20  nabled, it must 
4bc0: 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64 20  also be enabled 
4bd0: 76 69 61 20 74 68 65 0d 0a 20 20 20 20 20 20 20  via the..       
4be0: 20 20 20 20 20 20 20 22 49 4e 54 45 52 4f 50 5f         "INTEROP_
4bf0: 50 45 52 43 45 4e 54 49 4c 45 5f 45 58 54 45 4e  PERCENTILE_EXTEN
4c00: 53 49 4f 4e 3d 31 22 20 70 72 65 70 72 6f 63 65  SION=1" preproce
4c10: 73 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69 6e  ssor define bein
4c20: 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  g..             
4c30: 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20   present in the 
4c40: 22 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f 44  "INTEROP_EXTRA_D
4c50: 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e  EFINES" macro in
4c60: 20 74 68 65 20 62 75 69 6c 64 0d 0a 20 20 20 20   the build..    
4c70: 20 20 20 20 20 20 20 20 20 20 70 72 6f 70 65 72            proper
4c80: 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20  ties file:....  
4c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ca0: 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c  "SQLite.Interop\
4cb0: 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74  props\SQLite.Int
4cc0: 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72  erop.20YY.[vs]pr
4cd0: 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ops"....        
4ce0: 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 63 6f        for the co
4cf0: 72 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73  rresponding vers
4d00: 69 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c  ion(s) of Visual
4d10: 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d   Studio...    --
4d20: 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 50  >..    <InteropP
4d30: 65 72 63 65 6e 74 69 6c 65 45 78 74 65 6e 73 69  ercentileExtensi
4d40: 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  on Condition="'$
4d50: 28 49 6e 74 65 72 6f 70 50 65 72 63 65 6e 74 69  (InteropPercenti
4d60: 6c 65 45 78 74 65 6e 73 69 6f 6e 29 27 20 3d 3d  leExtension)' ==
4d70: 20 27 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65 72   ''">true</Inter
4d80: 6f 70 50 65 72 63 65 6e 74 69 6c 65 45 78 74 65  opPercentileExte
4d90: 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21  nsion>....    <!
4da0: 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45  --..        NOTE
4db0: 3a 20 45 6e 61 62 6c 65 20 74 68 65 20 72 65 67  : Enable the reg
4dc0: 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20  ular expression 
4dd0: 65 78 74 65 6e 73 69 6f 6e 20 66 72 6f 6d 20 74  extension from t
4de0: 68 65 20 63 75 73 74 6f 6d 20 62 75 69 6c 74 0d  he custom built.
4df0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69  .              i
4e00: 6e 74 65 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e  nterop DLL (i.e.
4e10: 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70   "SQLite.Interop
4e20: 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61  .dll")?  By defa
4e30: 75 6c 74 2c 20 74 68 69 73 20 69 73 0d 0a 20 20  ult, this is..  
4e40: 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 61 62              enab
4e50: 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73  led.  If this is
4e60: 20 64 69 73 61 62 6c 65 64 2c 20 74 68 65 20 72   disabled, the r
4e70: 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f  egular expressio
4e80: 6e 20 65 78 74 65 6e 73 69 6f 6e 0d 0a 20 20 20  n extension..   
4e90: 20 20 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20             will 
4ea0: 62 65 20 75 6e 61 76 61 69 6c 61 62 6c 65 2e 20  be unavailable. 
4eb0: 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62   If this is enab
4ec0: 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73  led, it must als
4ed0: 6f 20 62 65 20 65 6e 61 62 6c 65 64 0d 0a 20 20  o be enabled..  
4ee0: 20 20 20 20 20 20 20 20 20 20 20 20 76 69 61 20              via 
4ef0: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 52 45 47  the "INTEROP_REG
4f00: 45 58 50 5f 45 58 54 45 4e 53 49 4f 4e 3d 31 22  EXP_EXTENSION=1"
4f10: 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65   preprocessor de
4f20: 66 69 6e 65 20 62 65 69 6e 67 0d 0a 20 20 20 20  fine being..    
4f30: 20 20 20 20 20 20 20 20 20 20 70 72 65 73 65 6e            presen
4f40: 74 20 69 6e 20 74 68 65 20 22 49 4e 54 45 52 4f  t in the "INTERO
4f50: 50 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22  P_EXTRA_DEFINES"
4f60: 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75   macro in the bu
4f70: 69 6c 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ild..           
4f80: 20 20 20 70 72 6f 70 65 72 74 69 65 73 20 66 69     properties fi
4f90: 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20  le:....         
4fa0: 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65           "SQLite
4fb0: 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53  .Interop\props\S
4fc0: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30  QLite.Interop.20
4fd0: 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d  YY.[vs]props"...
4fe0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66  .              f
4ff0: 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  or the correspon
5000: 64 69 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20  ding version(s) 
5010: 6f 66 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  of Visual Studio
5020: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
5030: 3c 49 6e 74 65 72 6f 70 52 65 67 45 78 70 45 78  <InteropRegExpEx
5040: 74 65 6e 73 69 6f 6e 20 43 6f 6e 64 69 74 69 6f  tension Conditio
5050: 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 52 65 67  n="'$(InteropReg
5060: 45 78 70 45 78 74 65 6e 73 69 6f 6e 29 27 20 3d  ExpExtension)' =
5070: 3d 20 27 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65  = ''">true</Inte
5080: 72 6f 70 52 65 67 45 78 70 45 78 74 65 6e 73 69  ropRegExpExtensi
5090: 6f 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d  on>....    <!--.
50a0: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45  .        NOTE: E
50b0: 6e 61 62 6c 65 20 74 68 65 20 74 65 73 74 20 65  nable the test e
50c0: 78 74 65 6e 73 69 6f 6e 20 66 72 6f 6d 20 74 68  xtension from th
50d0: 65 20 63 75 73 74 6f 6d 20 62 75 69 6c 74 20 69  e custom built i
50e0: 6e 74 65 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e  nterop DLL (i.e.
50f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
5100: 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e  "SQLite.Interop.
5110: 64 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61 75  dll")?  By defau
5120: 6c 74 2c 20 74 68 69 73 20 69 73 20 65 6e 61 62  lt, this is enab
5130: 6c 65 64 20 6f 6e 6c 79 20 69 6e 20 74 68 65 0d  led only in the.
5140: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44  .              D
5150: 65 62 75 67 20 62 75 69 6c 64 20 63 6f 6e 66 69  ebug build confi
5160: 67 75 72 61 74 69 6f 6e 2e 20 20 49 66 20 74 68  guration.  If th
5170: 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20  is is disabled, 
5180: 74 68 65 20 74 65 73 74 0d 0a 20 20 20 20 20 20  the test..      
5190: 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 69 6f          extensio
51a0: 6e 20 77 69 6c 6c 20 62 65 20 75 6e 61 76 61 69  n will be unavai
51b0: 6c 61 62 6c 65 2e 20 20 49 66 20 74 68 69 73 20  lable.  If this 
51c0: 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d  is enabled, it m
51d0: 75 73 74 20 61 6c 73 6f 0d 0a 20 20 20 20 20 20  ust also..      
51e0: 20 20 20 20 20 20 20 20 62 65 20 65 6e 61 62 6c          be enabl
51f0: 65 64 20 76 69 61 20 74 68 65 20 22 49 4e 54 45  ed via the "INTE
5200: 52 4f 50 5f 54 45 53 54 5f 45 58 54 45 4e 53 49  ROP_TEST_EXTENSI
5210: 4f 4e 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73  ON=1" preprocess
5220: 6f 72 20 64 65 66 69 6e 65 0d 0a 20 20 20 20 20  or define..     
5230: 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20 70           being p
5240: 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 22 49  resent in the "I
5250: 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 44 45 46  NTEROP_DEBUG_DEF
5260: 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74  INES" macro in t
5270: 68 65 20 62 75 69 6c 64 0d 0a 20 20 20 20 20 20  he build..      
5280: 20 20 20 20 20 20 20 20 70 72 6f 70 65 72 74 69          properti
5290: 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20  es file:....    
52a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
52b0: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72  QLite.Interop\pr
52c0: 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72  ops\SQLite.Inter
52d0: 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70  op.20YY.[vs]prop
52e0: 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  s"....          
52f0: 20 20 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72      for the corr
5300: 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f  esponding versio
5310: 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53  n(s) of Visual S
5320: 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  tudio...    -->.
5330: 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 54 65 73  .    <InteropTes
5340: 74 45 78 74 65 6e 73 69 6f 6e 20 43 6f 6e 64 69  tExtension Condi
5350: 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70  tion="'$(Interop
5360: 54 65 73 74 45 78 74 65 6e 73 69 6f 6e 29 27 20  TestExtension)' 
5370: 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 43 6f 6e  == '' And '$(Con
5380: 66 69 67 75 72 61 74 69 6f 6e 29 27 20 3d 3d 20  figuration)' == 
5390: 27 44 65 62 75 67 27 22 3e 74 72 75 65 3c 2f 49  'Debug'">true</I
53a0: 6e 74 65 72 6f 70 54 65 73 74 45 78 74 65 6e 73  nteropTestExtens
53b0: 69 6f 6e 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72  ion>..    <Inter
53c0: 6f 70 54 65 73 74 45 78 74 65 6e 73 69 6f 6e 20  opTestExtension 
53d0: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e  Condition="'$(In
53e0: 74 65 72 6f 70 54 65 73 74 45 78 74 65 6e 73 69  teropTestExtensi
53f0: 6f 6e 29 27 20 3d 3d 20 27 27 20 41 6e 64 20 27  on)' == '' And '
5400: 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29  $(Configuration)
5410: 27 20 21 3d 20 27 44 65 62 75 67 27 22 3e 66 61  ' != 'Debug'">fa
5420: 6c 73 65 3c 2f 49 6e 74 65 72 6f 70 54 65 73 74  lse</InteropTest
5430: 45 78 74 65 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20  Extension>....  
5440: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
5450: 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 68 65  NOTE: Enable the
5460: 20 6e 75 6d 65 72 69 63 20 74 79 70 65 20 63 68   numeric type ch
5470: 65 63 6b 69 6e 67 20 65 78 74 65 6e 73 69 6f 6e  ecking extension
5480: 20 66 72 6f 6d 20 74 68 65 20 63 75 73 74 6f 6d   from the custom
5490: 20 62 75 69 6c 74 0d 0a 20 20 20 20 20 20 20 20   built..        
54a0: 20 20 20 20 20 20 69 6e 74 65 72 6f 70 20 44 4c        interop DL
54b0: 4c 20 28 69 2e 65 2e 20 22 53 51 4c 69 74 65 2e  L (i.e. "SQLite.
54c0: 49 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20  Interop.dll")?  
54d0: 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73  By default, this
54e0: 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20   is..           
54f0: 20 20 20 65 6e 61 62 6c 65 64 2e 20 20 49 66 20     enabled.  If 
5500: 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64  this is disabled
5510: 2c 20 74 68 65 20 6e 75 6d 65 72 69 63 20 74 79  , the numeric ty
5520: 70 65 20 63 68 65 63 6b 69 6e 67 0d 0a 20 20 20  pe checking..   
5530: 20 20 20 20 20 20 20 20 20 20 20 65 78 74 65 6e             exten
5540: 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 75 6e 61  sion will be una
5550: 76 61 69 6c 61 62 6c 65 2e 20 20 49 66 20 74 68  vailable.  If th
5560: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69  is is enabled, i
5570: 74 20 6d 75 73 74 20 61 6c 73 6f 0d 0a 20 20 20  t must also..   
5580: 20 20 20 20 20 20 20 20 20 20 20 62 65 20 65 6e             be en
5590: 61 62 6c 65 64 20 76 69 61 20 74 68 65 20 22 49  abled via the "I
55a0: 4e 54 45 52 4f 50 5f 54 4f 54 59 50 45 5f 45 58  NTEROP_TOTYPE_EX
55b0: 54 45 4e 53 49 4f 4e 3d 31 22 20 70 72 65 70 72  TENSION=1" prepr
55c0: 6f 63 65 73 73 6f 72 0d 0a 20 20 20 20 20 20 20  ocessor..       
55d0: 20 20 20 20 20 20 20 64 65 66 69 6e 65 20 62 65         define be
55e0: 69 6e 67 20 70 72 65 73 65 6e 74 20 69 6e 20 74  ing present in t
55f0: 68 65 20 22 49 4e 54 45 52 4f 50 5f 45 58 54 52  he "INTEROP_EXTR
5600: 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f  A_DEFINES" macro
5610: 20 69 6e 20 74 68 65 0d 0a 20 20 20 20 20 20 20   in the..       
5620: 20 20 20 20 20 20 20 62 75 69 6c 64 20 70 72 6f         build pro
5630: 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d  perties file:...
5640: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
5650: 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72     "SQLite.Inter
5660: 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e  op\props\SQLite.
5670: 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73  Interop.20YY.[vs
5680: 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20  ]props"....     
5690: 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65           for the
56a0: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 76   corresponding v
56b0: 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56 69 73  ersion(s) of Vis
56c0: 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20  ual Studio...   
56d0: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72   -->..    <Inter
56e0: 6f 70 54 6f 54 79 70 65 45 78 74 65 6e 73 69 6f  opToTypeExtensio
56f0: 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  n Condition="'$(
5700: 49 6e 74 65 72 6f 70 54 6f 54 79 70 65 45 78 74  InteropToTypeExt
5710: 65 6e 73 69 6f 6e 29 27 20 3d 3d 20 27 27 22 3e  ension)' == ''">
5720: 74 72 75 65 3c 2f 49 6e 74 65 72 6f 70 54 6f 54  true</InteropToT
5730: 79 70 65 45 78 74 65 6e 73 69 6f 6e 3e 0d 0a 0d  ypeExtension>...
5740: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
5750: 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20     NOTE: Enable 
5760: 65 78 70 6f 73 69 6e 67 20 74 68 65 20 43 72 79  exposing the Cry
5770: 70 74 6f 41 50 49 20 62 61 73 65 64 20 63 6f 64  ptoAPI based cod
5780: 65 63 20 66 72 6f 6d 20 74 68 65 20 63 75 73 74  ec from the cust
5790: 6f 6d 20 62 75 69 6c 74 0d 0a 20 20 20 20 20 20  om built..      
57a0: 20 20 20 20 20 20 20 20 69 6e 74 65 72 6f 70 20          interop 
57b0: 44 4c 4c 20 28 69 2e 65 2e 20 22 53 51 4c 69 74  DLL (i.e. "SQLit
57c0: 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f  e.Interop.dll")?
57d0: 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68    By default, th
57e0: 69 73 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20  is is..         
57f0: 20 20 20 20 20 65 6e 61 62 6c 65 64 2e 20 20 49       enabled.  I
5800: 66 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c  f this is disabl
5810: 65 64 2c 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ed, support for 
5820: 65 6e 63 72 79 70 74 65 64 20 64 61 74 61 62 61  encrypted databa
5830: 73 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ses..           
5840: 20 20 20 77 69 6c 6c 20 62 65 20 75 6e 61 76 61     will be unava
5850: 69 6c 61 62 6c 65 2e 20 20 49 66 20 74 68 69 73  ilable.  If this
5860: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20   is enabled, it 
5870: 6d 75 73 74 20 61 6c 73 6f 20 62 65 20 65 6e 61  must also be ena
5880: 62 6c 65 64 0d 0a 20 20 20 20 20 20 20 20 20 20  bled..          
5890: 20 20 20 20 76 69 61 20 74 68 65 20 22 53 51 4c      via the "SQL
58a0: 49 54 45 5f 48 41 53 5f 43 4f 44 45 43 3d 31 22  ITE_HAS_CODEC=1"
58b0: 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65   preprocessor de
58c0: 66 69 6e 65 20 62 65 69 6e 67 20 70 72 65 73 65  fine being prese
58d0: 6e 74 20 69 6e 0d 0a 20 20 20 20 20 20 20 20 20  nt in..         
58e0: 20 20 20 20 20 74 68 65 20 22 53 51 4c 49 54 45       the "SQLITE
58f0: 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22 20  _EXTRA_DEFINES" 
5900: 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69  macro in the bui
5910: 6c 64 20 70 72 6f 70 65 72 74 69 65 73 20 66 69  ld properties fi
5920: 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20  le:....         
5930: 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65           "SQLite
5940: 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 73  .Interop\props\s
5950: 71 6c 69 74 65 33 2e 5b 76 73 5d 70 72 6f 70 73  qlite3.[vs]props
5960: 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  "....           
5970: 20 20 20 41 4e 44 20 76 69 61 20 74 68 65 20 22     AND via the "
5980: 49 4e 54 45 52 4f 50 5f 43 4f 44 45 43 3d 31 22  INTEROP_CODEC=1"
5990: 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65   preprocessor de
59a0: 66 69 6e 65 20 62 65 69 6e 67 20 70 72 65 73 65  fine being prese
59b0: 6e 74 20 69 6e 0d 0a 20 20 20 20 20 20 20 20 20  nt in..         
59c0: 20 20 20 20 20 74 68 65 20 22 49 4e 54 45 52 4f       the "INTERO
59d0: 50 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22  P_EXTRA_DEFINES"
59e0: 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75   macro in the bu
59f0: 69 6c 64 20 70 72 6f 70 65 72 74 69 65 73 20 66  ild properties f
5a00: 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ile:....        
5a10: 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74            "SQLit
5a20: 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c  e.Interop\props\
5a30: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32  SQLite.Interop.2
5a40: 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a  0YY.[vs]props"..
5a50: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
5a60: 62 6f 74 68 20 66 6f 72 20 74 68 65 20 63 6f 72  both for the cor
5a70: 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69  responding versi
5a80: 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20  on(s) of Visual 
5a90: 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e  Studio...    -->
5aa0: 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 43 6f  ..    <InteropCo
5ab0: 64 65 63 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  dec Condition="'
5ac0: 24 28 49 6e 74 65 72 6f 70 43 6f 64 65 63 29 27  $(InteropCodec)'
5ad0: 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c 2f 49 6e   == ''">true</In
5ae0: 74 65 72 6f 70 43 6f 64 65 63 3e 0d 0a 0d 0a 20  teropCodec>.... 
5af0: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
5b00: 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 69 6e   NOTE: Enable in
5b10: 63 6c 75 64 69 6e 67 20 53 45 45 20 77 69 74 68  cluding SEE with
5b20: 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75 69 6c   the custom buil
5b30: 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28 69  t interop DLL (i
5b40: 2e 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .e...           
5b50: 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72     "SQLite.Inter
5b60: 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65  op.dll")?  By de
5b70: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64  fault, this is d
5b80: 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69  isabled.  If thi
5b90: 73 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20  s is..          
5ba0: 20 20 20 20 65 6e 61 62 6c 65 64 2c 20 74 68 65      enabled, the
5bb0: 20 22 73 65 65 2e 63 22 20 66 69 6c 65 20 77 69   "see.c" file wi
5bc0: 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 66  ll be included f
5bd0: 72 6f 6d 20 74 68 65 20 65 78 74 65 6e 73 69 6f  rom the extensio
5be0: 6e 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ns..            
5bf0: 20 20 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66    directory.  If
5c00: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
5c10: 2c 20 69 74 20 6d 75 73 74 20 61 6c 73 6f 20 62  , it must also b
5c20: 65 20 65 6e 61 62 6c 65 64 20 76 69 61 20 74 68  e enabled via th
5c30: 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  e..             
5c40: 20 22 53 51 4c 49 54 45 5f 48 41 53 5f 43 4f 44   "SQLITE_HAS_COD
5c50: 45 43 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73  EC=1" preprocess
5c60: 6f 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67 20  or define being 
5c70: 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 0d 0a  present in the..
5c80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
5c90: 51 4c 49 54 45 5f 45 58 54 52 41 5f 44 45 46 49  QLITE_EXTRA_DEFI
5ca0: 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68  NES" macro in th
5cb0: 65 20 62 75 69 6c 64 20 70 72 6f 70 65 72 74 69  e build properti
5cc0: 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20  es file:....    
5cd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
5ce0: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72  QLite.Interop\pr
5cf0: 6f 70 73 5c 73 71 6c 69 74 65 33 2e 5b 76 73 5d  ops\sqlite3.[vs]
5d00: 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20  props"....      
5d10: 20 20 20 20 20 20 20 20 41 4e 44 20 76 69 61 20          AND via 
5d20: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 49 4e 43  the "INTEROP_INC
5d30: 4c 55 44 45 5f 53 45 45 3d 31 22 20 70 72 65 70  LUDE_SEE=1" prep
5d40: 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65 20  rocessor define 
5d50: 62 65 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20  being..         
5d60: 20 20 20 20 20 70 72 65 73 65 6e 74 20 69 6e 20       present in 
5d70: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45 58 54  the "INTEROP_EXT
5d80: 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72  RA_DEFINES" macr
5d90: 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64 0d 0a  o in the build..
5da0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
5db0: 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a  operties file:..
5dc0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
5dd0: 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65      "SQLite.Inte
5de0: 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65  rop\props\SQLite
5df0: 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76  .Interop.20YY.[v
5e00: 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20  s]props"....    
5e10: 20 20 20 20 20 20 20 20 20 20 62 6f 74 68 20 66            both f
5e20: 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  or the correspon
5e30: 64 69 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20  ding version(s) 
5e40: 6f 66 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  of Visual Studio
5e50: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
5e60: 3c 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64 65 53  <InteropIncludeS
5e70: 65 65 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  ee Condition="'$
5e80: 28 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64 65 53  (InteropIncludeS
5e90: 65 65 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73  ee)' == ''">fals
5ea0: 65 3c 2f 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64  e</InteropInclud
5eb0: 65 53 65 65 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d  eSee>....    <!-
5ec0: 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a  -..        NOTE:
5ed0: 20 45 6e 61 62 6c 65 20 69 6e 63 6c 75 64 69 6e   Enable includin
5ee0: 67 20 43 45 52 4f 44 20 77 69 74 68 20 74 68 65  g CEROD with the
5ef0: 20 63 75 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e   custom built in
5f00: 74 65 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 0d  terop DLL (i.e..
5f10: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22  .              "
5f20: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64  SQLite.Interop.d
5f30: 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c  ll")?  By defaul
5f40: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
5f50: 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73  led.  If this is
5f60: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
5f70: 65 6e 61 62 6c 65 64 2c 20 74 68 65 20 22 63 65  enabled, the "ce
5f80: 72 6f 64 2e 63 22 20 66 69 6c 65 20 77 69 6c 6c  rod.c" file will
5f90: 20 62 65 20 69 6e 63 6c 75 64 65 64 20 66 72 6f   be included fro
5fa0: 6d 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 73  m the extensions
5fb0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
5fc0: 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20 74  directory.  If t
5fd0: 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2c 20  his is enabled, 
5fe0: 69 74 20 6d 75 73 74 20 61 6c 73 6f 20 62 65 20  it must also be 
5ff0: 65 6e 61 62 6c 65 64 20 76 69 61 20 74 68 65 0d  enabled via the.
6000: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22  .              "
6010: 53 51 4c 49 54 45 5f 48 41 53 5f 43 4f 44 45 43  SQLITE_HAS_CODEC
6020: 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72  =1" preprocessor
6030: 20 64 65 66 69 6e 65 20 62 65 69 6e 67 20 70 72   define being pr
6040: 65 73 65 6e 74 20 69 6e 20 74 68 65 0d 0a 20 20  esent in the..  
6050: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
6060: 49 54 45 5f 45 58 54 52 41 5f 44 45 46 49 4e 45  ITE_EXTRA_DEFINE
6070: 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20  S" macro in the 
6080: 62 75 69 6c 64 20 70 72 6f 70 65 72 74 69 65 73  build properties
6090: 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20   file:....      
60a0: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
60b0: 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70  ite.Interop\prop
60c0: 73 5c 73 71 6c 69 74 65 33 2e 5b 76 73 5d 70 72  s\sqlite3.[vs]pr
60d0: 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ops"....        
60e0: 20 20 20 20 20 20 41 4e 44 20 76 69 61 20 74 68        AND via th
60f0: 65 20 22 49 4e 54 45 52 4f 50 5f 49 4e 43 4c 55  e "INTEROP_INCLU
6100: 44 45 5f 43 45 52 4f 44 3d 31 22 20 70 72 65 70  DE_CEROD=1" prep
6110: 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65 20  rocessor define 
6120: 62 65 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20  being..         
6130: 20 20 20 20 20 70 72 65 73 65 6e 74 20 69 6e 20       present in 
6140: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45 58 54  the "INTEROP_EXT
6150: 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72  RA_DEFINES" macr
6160: 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64 0d 0a  o in the build..
6170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
6180: 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a  operties file:..
6190: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
61a0: 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65      "SQLite.Inte
61b0: 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65  rop\props\SQLite
61c0: 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76  .Interop.20YY.[v
61d0: 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20  s]props"....    
61e0: 20 20 20 20 20 20 20 20 20 20 62 6f 74 68 20 66            both f
61f0: 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  or the correspon
6200: 64 69 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20  ding version(s) 
6210: 6f 66 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  of Visual Studio
6220: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
6230: 3c 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64 65 43  <InteropIncludeC
6240: 65 72 6f 64 20 43 6f 6e 64 69 74 69 6f 6e 3d 22  erod Condition="
6250: 27 24 28 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64  '$(InteropInclud
6260: 65 43 65 72 6f 64 29 27 20 3d 3d 20 27 27 22 3e  eCerod)' == ''">
6270: 66 61 6c 73 65 3c 2f 49 6e 74 65 72 6f 70 49 6e  false</InteropIn
6280: 63 6c 75 64 65 43 65 72 6f 64 3e 0d 0a 0d 0a 20  cludeCerod>.... 
6290: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
62a0: 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 69 6e   NOTE: Enable in
62b0: 63 6c 75 64 69 6e 67 20 5a 69 70 56 46 53 20 77  cluding ZipVFS w
62c0: 69 74 68 20 74 68 65 20 63 75 73 74 6f 6d 20 62  ith the custom b
62d0: 75 69 6c 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c  uilt interop DLL
62e0: 20 28 69 2e 65 2e 0d 0a 20 20 20 20 20 20 20 20   (i.e...        
62f0: 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e        "SQLite.In
6300: 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79  terop.dll")?  By
6310: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
6320: 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20  s disabled.  If 
6330: 74 68 69 73 20 69 73 0d 0a 20 20 20 20 20 20 20  this is..       
6340: 20 20 20 20 20 20 20 65 6e 61 62 6c 65 64 2c 20         enabled, 
6350: 74 68 65 20 22 7a 69 70 76 66 73 2e 63 22 20 66  the "zipvfs.c" f
6360: 69 6c 65 20 77 69 6c 6c 20 62 65 20 69 6e 63 6c  ile will be incl
6370: 75 64 65 64 20 66 72 6f 6d 20 74 68 65 20 65 78  uded from the ex
6380: 74 65 6e 73 69 6f 6e 73 0d 0a 20 20 20 20 20 20  tensions..      
6390: 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72          director
63a0: 79 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 65  y.  If this is e
63b0: 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20  nabled, it must 
63c0: 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64 20  also be enabled 
63d0: 76 69 61 20 74 68 65 0d 0a 20 20 20 20 20 20 20  via the..       
63e0: 20 20 20 20 20 20 20 22 53 51 4c 49 54 45 5f 45         "SQLITE_E
63f0: 4e 41 42 4c 45 5f 5a 49 50 56 46 53 3d 31 22 20  NABLE_ZIPVFS=1" 
6400: 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66  preprocessor def
6410: 69 6e 65 20 62 65 69 6e 67 20 70 72 65 73 65 6e  ine being presen
6420: 74 20 69 6e 20 74 68 65 0d 0a 20 20 20 20 20 20  t in the..      
6430: 20 20 20 20 20 20 20 20 22 53 51 4c 49 54 45 5f          "SQLITE_
6440: 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22 20 6d  EXTRA_DEFINES" m
6450: 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69 6c  acro in the buil
6460: 64 20 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c  d properties fil
6470: 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  e:....          
6480: 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e          "SQLite.
6490: 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 73 71  Interop\props\sq
64a0: 6c 69 74 65 33 2e 5b 76 73 5d 70 72 6f 70 73 22  lite3.[vs]props"
64b0: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
64c0: 20 20 41 4e 44 20 76 69 61 20 74 68 65 20 22 49    AND via the "I
64d0: 4e 54 45 52 4f 50 5f 49 4e 43 4c 55 44 45 5f 5a  NTEROP_INCLUDE_Z
64e0: 49 50 56 46 53 3d 31 22 20 70 72 65 70 72 6f 63  IPVFS=1" preproc
64f0: 65 73 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69  essor define bei
6500: 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ng..            
6510: 20 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65    present in the
6520: 20 22 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f   "INTEROP_EXTRA_
6530: 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69  DEFINES" macro i
6540: 6e 20 74 68 65 20 62 75 69 6c 64 0d 0a 20 20 20  n the build..   
6550: 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 70 65             prope
6560: 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20  rties file:.... 
6570: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6580: 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70   "SQLite.Interop
6590: 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e  \props\SQLite.In
65a0: 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70  terop.20YY.[vs]p
65b0: 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20  rops"....       
65c0: 20 20 20 20 20 20 20 62 6f 74 68 20 66 6f 72 20         both for 
65d0: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
65e0: 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20  g version(s) of 
65f0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a  Visual Studio...
6600: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e      -->..    <In
6610: 74 65 72 6f 70 49 6e 63 6c 75 64 65 5a 69 70 56  teropIncludeZipV
6620: 66 73 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  fs Condition="'$
6630: 28 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64 65 5a  (InteropIncludeZ
6640: 69 70 56 66 73 29 27 20 3d 3d 20 27 27 22 3e 66  ipVfs)' == ''">f
6650: 61 6c 73 65 3c 2f 49 6e 74 65 72 6f 70 49 6e 63  alse</InteropInc
6660: 6c 75 64 65 5a 69 70 56 66 73 3e 0d 0a 0d 0a 20  ludeZipVfs>.... 
6670: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
6680: 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 69 6e   NOTE: Enable in
6690: 63 6c 75 64 69 6e 67 20 22 65 78 74 72 61 22 20  cluding "extra" 
66a0: 63 6f 64 65 20 77 69 74 68 20 74 68 65 20 63 75  code with the cu
66b0: 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65 72  stom built inter
66c0: 6f 70 20 44 4c 4c 0d 0a 20 20 20 20 20 20 20 20  op DLL..        
66d0: 20 20 20 20 20 20 28 69 2e 65 2e 20 22 53 51 4c        (i.e. "SQL
66e0: 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22  ite.Interop.dll"
66f0: 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20  )?  By default, 
6700: 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64  this is disabled
6710: 2e 20 20 49 66 0d 0a 20 20 20 20 20 20 20 20 20  .  If..         
6720: 20 20 20 20 20 74 68 69 73 20 69 73 20 65 6e 61       this is ena
6730: 62 6c 65 64 2c 20 74 68 65 20 22 65 78 74 72 61  bled, the "extra
6740: 2e 63 22 20 66 69 6c 65 20 77 69 6c 6c 20 62 65  .c" file will be
6750: 20 69 6e 63 6c 75 64 65 64 20 66 72 6f 6d 20 74   included from t
6760: 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  he..            
6770: 20 20 65 78 74 65 6e 73 69 6f 6e 73 20 64 69 72    extensions dir
6780: 65 63 74 6f 72 79 2e 20 20 49 66 20 74 68 69 73  ectory.  If this
6790: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20   is enabled, it 
67a0: 6d 75 73 74 20 61 6c 73 6f 20 62 65 0d 0a 20 20  must also be..  
67b0: 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 61 62              enab
67c0: 6c 65 64 20 76 69 61 20 74 68 65 20 22 49 4e 54  led via the "INT
67d0: 45 52 4f 50 5f 49 4e 43 4c 55 44 45 5f 45 58 54  EROP_INCLUDE_EXT
67e0: 52 41 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73  RA=1" preprocess
67f0: 6f 72 20 64 65 66 69 6e 65 0d 0a 20 20 20 20 20  or define..     
6800: 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20 70           being p
6810: 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 22 49  resent in the "I
6820: 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f 44 45 46  NTEROP_EXTRA_DEF
6830: 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74  INES" macro in t
6840: 68 65 20 62 75 69 6c 64 0d 0a 20 20 20 20 20 20  he build..      
6850: 20 20 20 20 20 20 20 20 70 72 6f 70 65 72 74 69          properti
6860: 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20  es file:....    
6870: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
6880: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72  QLite.Interop\pr
6890: 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72  ops\SQLite.Inter
68a0: 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70  op.20YY.[vs]prop
68b0: 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  s"....          
68c0: 20 20 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72      for the corr
68d0: 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f  esponding versio
68e0: 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53  n(s) of Visual S
68f0: 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  tudio...    -->.
6900: 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 49 6e 63  .    <InteropInc
6910: 6c 75 64 65 45 78 74 72 61 20 43 6f 6e 64 69 74  ludeExtra Condit
6920: 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 49  ion="'$(InteropI
6930: 6e 63 6c 75 64 65 45 78 74 72 61 29 27 20 3d 3d  ncludeExtra)' ==
6940: 20 27 27 22 3e 66 61 6c 73 65 3c 2f 49 6e 74 65   ''">false</Inte
6950: 72 6f 70 49 6e 63 6c 75 64 65 45 78 74 72 61 3e  ropIncludeExtra>
6960: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
6970: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
6980: 6c 65 20 65 78 74 72 61 20 64 69 61 67 6e 6f 73  le extra diagnos
6990: 74 69 63 73 20 66 72 6f 6d 20 74 68 65 20 63 75  tics from the cu
69a0: 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65 72  stom built inter
69b0: 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 0d 0a 20 20  op DLL (i.e...  
69c0: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
69d0: 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22  ite.Interop.dll"
69e0: 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20  )?  By default, 
69f0: 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 20  this is enabled 
6a00: 69 6e 20 74 68 65 20 44 65 62 75 67 0d 0a 20 20  in the Debug..  
6a10: 20 20 20 20 20 20 20 20 20 20 20 20 62 75 69 6c              buil
6a20: 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e  d configuration.
6a30: 20 20 49 66 20 74 68 69 73 20 69 73 20 64 69 73    If this is dis
6a40: 61 62 6c 65 64 2c 20 6e 6f 20 65 78 74 72 61 20  abled, no extra 
6a50: 64 69 61 67 6e 6f 73 74 69 63 73 0d 0a 20 20 20  diagnostics..   
6a60: 20 20 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20             will 
6a70: 62 65 20 65 6d 69 74 74 65 64 2e 20 20 49 66 20  be emitted.  If 
6a80: 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2c  this is enabled,
6a90: 20 69 74 20 6d 75 73 74 20 61 6c 73 6f 20 62 65   it must also be
6aa0: 20 65 6e 61 62 6c 65 64 20 76 69 61 0d 0a 20 20   enabled via..  
6ab0: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20              the 
6ac0: 22 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 3d 58  "INTEROP_DEBUG=X
6ad0: 58 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20  X" preprocessor 
6ae0: 64 65 66 69 6e 65 20 62 65 69 6e 67 20 70 72 65  define being pre
6af0: 73 65 6e 74 20 69 6e 20 74 68 65 0d 0a 20 20 20  sent in the..   
6b00: 20 20 20 20 20 20 20 20 20 20 20 22 49 4e 54 45             "INTE
6b10: 52 4f 50 5f 44 45 42 55 47 5f 44 45 46 49 4e 45  ROP_DEBUG_DEFINE
6b20: 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20  S" macro in the 
6b30: 62 75 69 6c 64 20 70 72 6f 70 65 72 74 69 65 73  build properties
6b40: 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20   file:....      
6b50: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
6b60: 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70  ite.Interop\prop
6b70: 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70  s\SQLite.Interop
6b80: 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22  .20YY.[vs]props"
6b90: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
6ba0: 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73    for the corres
6bb0: 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 28  ponding version(
6bc0: 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74 75  s) of Visual Stu
6bd0: 64 69 6f 20 77 68 65 72 65 20 74 68 65 20 58 58  dio where the XX
6be0: 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20   is..           
6bf0: 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61     an integer va
6c00: 6c 75 65 20 74 68 61 74 20 72 65 70 72 65 73 65  lue that represe
6c10: 6e 74 73 20 61 20 63 6f 6d 62 69 6e 61 74 69 6f  nts a combinatio
6c20: 6e 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65  n of one or more
6c30: 20 6f 66 0d 0a 20 20 20 20 20 20 20 20 20 20 20   of..           
6c40: 20 20 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67     the following
6c50: 20 62 69 74 20 66 6c 61 67 73 20 76 61 6c 75 65   bit flags value
6c60: 73 20 28 69 2e 65 2e 20 74 6f 20 65 6e 61 62 6c  s (i.e. to enabl
6c70: 65 20 65 78 74 72 61 20 64 69 61 67 6e 6f 73 74  e extra diagnost
6c80: 69 63 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ics..           
6c90: 20 20 20 66 6f 72 20 61 20 70 61 72 74 69 63 75     for a particu
6ca0: 6c 61 72 20 6e 61 74 69 76 65 20 66 75 6e 63 74  lar native funct
6cb0: 69 6f 6e 20 63 61 6c 6c 29 3a 0d 0a 0d 0a 20 20  ion call):....  
6cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6cd0: 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 43 4c  INTEROP_DEBUG_CL
6ce0: 4f 53 45 20 20 20 20 20 20 20 20 20 20 28 30 78  OSE          (0x
6cf0: 30 30 30 31 29 0d 0a 20 20 20 20 20 20 20 20 20  0001)..         
6d00: 20 20 20 20 20 20 20 20 20 49 4e 54 45 52 4f 50           INTEROP
6d10: 5f 44 45 42 55 47 5f 46 49 4e 41 4c 49 5a 45 20  _DEBUG_FINALIZE 
6d20: 20 20 20 20 20 20 28 30 78 30 30 30 32 29 0d 0a        (0x0002)..
6d30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6d40: 20 20 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f    INTEROP_DEBUG_
6d50: 42 41 43 4b 55 50 5f 46 49 4e 49 53 48 20 20 28  BACKUP_FINISH  (
6d60: 30 78 30 30 30 34 29 0d 0a 20 20 20 20 20 20 20  0x0004)..       
6d70: 20 20 20 20 20 20 20 20 20 20 20 49 4e 54 45 52             INTER
6d80: 4f 50 5f 44 45 42 55 47 5f 4f 50 45 4e 20 20 20  OP_DEBUG_OPEN   
6d90: 20 20 20 20 20 20 20 20 28 30 78 30 30 30 38 29          (0x0008)
6da0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
6db0: 20 20 20 20 49 4e 54 45 52 4f 50 5f 44 45 42 55      INTEROP_DEBU
6dc0: 47 5f 4f 50 45 4e 31 36 20 20 20 20 20 20 20 20  G_OPEN16        
6dd0: 20 28 30 78 30 30 31 30 29 0d 0a 20 20 20 20 20   (0x0010)..     
6de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 4e 54               INT
6df0: 45 52 4f 50 5f 44 45 42 55 47 5f 50 52 45 50 41  EROP_DEBUG_PREPA
6e00: 52 45 20 20 20 20 20 20 20 20 28 30 78 30 30 32  RE        (0x002
6e10: 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  0)..            
6e20: 20 20 20 20 20 20 49 4e 54 45 52 4f 50 5f 44 45        INTEROP_DE
6e30: 42 55 47 5f 50 52 45 50 41 52 45 31 36 20 20 20  BUG_PREPARE16   
6e40: 20 20 20 28 30 78 30 30 34 30 29 0d 0a 20 20 20     (0x0040)..   
6e50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49                 I
6e60: 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 52 45 53  NTEROP_DEBUG_RES
6e70: 45 54 20 20 20 20 20 20 20 20 20 20 28 30 78 30  ET          (0x0
6e80: 30 38 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20  080)..          
6e90: 20 20 20 20 20 20 20 20 49 4e 54 45 52 4f 50 5f          INTEROP_
6ea0: 44 45 42 55 47 5f 43 48 41 4e 47 45 53 20 20 20  DEBUG_CHANGES   
6eb0: 20 20 20 20 20 28 30 78 30 31 30 30 29 0d 0a 20       (0x0100).. 
6ec0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6ed0: 20 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 42   INTEROP_DEBUG_B
6ee0: 52 45 41 4b 20 20 20 20 20 20 20 20 20 20 28 30  REAK          (0
6ef0: 78 30 32 30 30 29 0d 0a 20 20 20 20 2d 2d 3e 0d  x0200)..    -->.
6f00: 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 44 65 62  .    <InteropDeb
6f10: 75 67 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  ug Condition="'$
6f20: 28 49 6e 74 65 72 6f 70 44 65 62 75 67 29 27 20  (InteropDebug)' 
6f30: 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 43 6f 6e  == '' And '$(Con
6f40: 66 69 67 75 72 61 74 69 6f 6e 29 27 20 3d 3d 20  figuration)' == 
6f50: 27 44 65 62 75 67 27 22 3e 74 72 75 65 3c 2f 49  'Debug'">true</I
6f60: 6e 74 65 72 6f 70 44 65 62 75 67 3e 0d 0a 20 20  nteropDebug>..  
6f70: 20 20 3c 49 6e 74 65 72 6f 70 44 65 62 75 67 20    <InteropDebug 
6f80: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e  Condition="'$(In
6f90: 74 65 72 6f 70 44 65 62 75 67 29 27 20 3d 3d 20  teropDebug)' == 
6fa0: 27 27 20 41 6e 64 20 27 24 28 43 6f 6e 66 69 67  '' And '$(Config
6fb0: 75 72 61 74 69 6f 6e 29 27 20 21 3d 20 27 44 65  uration)' != 'De
6fc0: 62 75 67 27 22 3e 66 61 6c 73 65 3c 2f 49 6e 74  bug'">false</Int
6fd0: 65 72 6f 70 44 65 62 75 67 3e 0d 0a 0d 0a 20 20  eropDebug>....  
6fe0: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
6ff0: 4e 4f 54 45 3a 20 44 69 73 61 62 6c 65 20 61 6c  NOTE: Disable al
7000: 6c 20 75 73 65 20 6f 66 20 74 68 65 20 73 71 6c  l use of the sql
7010: 69 74 65 33 5f 63 6c 6f 73 65 5f 76 32 28 29 20  ite3_close_v2() 
7020: 6e 61 74 69 76 65 20 41 50 49 20 61 6e 64 20 75  native API and u
7030: 73 65 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20  se the..        
7040: 20 20 20 20 20 20 6c 65 67 61 63 79 20 53 79 73        legacy Sys
7050: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 20  tem.Data.SQLite 
7060: 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6c 6f 73 69  connection closi
7070: 6e 67 20 61 6c 67 6f 72 69 74 68 6d 20 69 6e 73  ng algorithm ins
7080: 74 65 61 64 2e 0d 0a 20 20 20 20 20 20 20 20 20  tead...         
7090: 20 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c       By default,
70a0: 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65   this is disable
70b0: 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 65  d.  If this is e
70c0: 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20  nabled, it must 
70d0: 61 6c 73 6f 0d 0a 20 20 20 20 20 20 20 20 20 20  also..          
70e0: 20 20 20 20 62 65 20 65 6e 61 62 6c 65 64 20 76      be enabled v
70f0: 69 61 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f  ia the "INTEROP_
7100: 4c 45 47 41 43 59 5f 43 4c 4f 53 45 3d 31 22 20  LEGACY_CLOSE=1" 
7110: 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66  preprocessor def
7120: 69 6e 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ine..           
7130: 20 20 20 62 65 69 6e 67 20 70 72 65 73 65 6e 74     being present
7140: 20 69 6e 20 74 68 65 20 22 49 4e 54 45 52 4f 50   in the "INTEROP
7150: 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22 20  _EXTRA_DEFINES" 
7160: 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69  macro in the bui
7170: 6c 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ld..            
7180: 20 20 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c    properties fil
7190: 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  e:....          
71a0: 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e          "SQLite.
71b0: 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51  Interop\props\SQ
71c0: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59  Lite.Interop.20Y
71d0: 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a  Y.[vs]props"....
71e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f                fo
71f0: 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64  r the correspond
7200: 69 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f  ing version(s) o
7210: 66 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  f Visual Studio.
7220: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
7230: 49 6e 74 65 72 6f 70 4c 65 67 61 63 79 43 6c 6f  InteropLegacyClo
7240: 73 65 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  se Condition="'$
7250: 28 49 6e 74 65 72 6f 70 4c 65 67 61 63 79 43 6c  (InteropLegacyCl
7260: 6f 73 65 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c  ose)' == ''">fal
7270: 73 65 3c 2f 49 6e 74 65 72 6f 70 4c 65 67 61 63  se</InteropLegac
7280: 79 43 6c 6f 73 65 3e 0d 0a 0d 0a 20 20 20 20 3c  yClose>....    <
7290: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
72a0: 45 3a 20 45 6e 61 62 6c 65 20 74 68 65 20 6c 6f  E: Enable the lo
72b0: 67 67 69 6e 67 20 63 61 6c 6c 62 61 63 6b 20 69  gging callback i
72c0: 6e 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75 69  n the custom bui
72d0: 6c 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28  lt interop DLL (
72e0: 69 2e 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20  i.e...          
72f0: 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65      "SQLite.Inte
7300: 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64  rop.dll")?  By d
7310: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
7320: 65 6e 61 62 6c 65 64 20 69 6e 20 74 68 65 20 44  enabled in the D
7330: 65 62 75 67 0d 0a 20 20 20 20 20 20 20 20 20 20  ebug..          
7340: 20 20 20 20 62 75 69 6c 64 20 63 6f 6e 66 69 67      build config
7350: 75 72 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 69  uration.  If thi
7360: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 74  s is disabled, t
7370: 68 65 20 6c 6f 67 67 69 6e 67 20 63 61 6c 6c 62  he logging callb
7380: 61 63 6b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ack..           
7390: 20 20 20 77 69 6c 6c 20 62 65 20 75 6e 61 76 61     will be unava
73a0: 69 6c 61 62 6c 65 20 61 6e 64 20 64 69 61 67 6e  ilable and diagn
73b0: 6f 73 74 69 63 20 6d 65 73 73 61 67 65 73 20 6d  ostic messages m
73c0: 61 79 20 6e 6f 74 20 62 65 20 73 65 65 6e 20 69  ay not be seen i
73d0: 66 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  f..             
73e0: 20 61 6e 6f 74 68 65 72 20 6e 61 74 69 76 65 20   another native 
73f0: 6c 6f 67 67 69 6e 67 20 63 61 6c 6c 62 61 63 6b  logging callback
7400: 20 69 73 20 6e 6f 74 20 63 6f 6e 66 69 67 75 72   is not configur
7410: 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 0d  ed.  If this is.
7420: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65  .              e
7430: 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20  nabled, it must 
7440: 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64 20  also be enabled 
7450: 76 69 61 20 74 68 65 20 22 49 4e 54 45 52 4f 50  via the "INTEROP
7460: 5f 4c 4f 47 3d 31 22 0d 0a 20 20 20 20 20 20 20  _LOG=1"..       
7470: 20 20 20 20 20 20 20 70 72 65 70 72 6f 63 65 73         preproces
7480: 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67  sor define being
7490: 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20   present in the 
74a0: 22 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 44  "INTEROP_DEBUG_D
74b0: 45 46 49 4e 45 53 22 0d 0a 20 20 20 20 20 20 20  EFINES"..       
74c0: 20 20 20 20 20 20 20 6d 61 63 72 6f 20 69 6e 20         macro in 
74d0: 74 68 65 20 62 75 69 6c 64 20 70 72 6f 70 65 72  the build proper
74e0: 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20  ties file:....  
74f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7500: 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c  "SQLite.Interop\
7510: 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74  props\SQLite.Int
7520: 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72  erop.20YY.[vs]pr
7530: 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ops"....        
7540: 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 63 6f        for the co
7550: 72 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73  rresponding vers
7560: 69 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c  ion(s) of Visual
7570: 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d   Studio...    --
7580: 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 4c  >..    <InteropL
7590: 6f 67 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  og Condition="'$
75a0: 28 49 6e 74 65 72 6f 70 4c 6f 67 29 27 20 3d 3d  (InteropLog)' ==
75b0: 20 27 27 20 41 6e 64 20 27 24 28 43 6f 6e 66 69   '' And '$(Confi
75c0: 67 75 72 61 74 69 6f 6e 29 27 20 3d 3d 20 27 44  guration)' == 'D
75d0: 65 62 75 67 27 22 3e 74 72 75 65 3c 2f 49 6e 74  ebug'">true</Int
75e0: 65 72 6f 70 4c 6f 67 3e 0d 0a 20 20 20 20 3c 49  eropLog>..    <I
75f0: 6e 74 65 72 6f 70 4c 6f 67 20 43 6f 6e 64 69 74  nteropLog Condit
7600: 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 4c  ion="'$(InteropL
7610: 6f 67 29 27 20 3d 3d 20 27 27 20 41 6e 64 20 27  og)' == '' And '
7620: 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29  $(Configuration)
7630: 27 20 21 3d 20 27 44 65 62 75 67 27 22 3e 66 61  ' != 'Debug'">fa
7640: 6c 73 65 3c 2f 49 6e 74 65 72 6f 70 4c 6f 67 3e  lse</InteropLog>
7650: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
7660: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
7670: 6c 65 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65  le including the
7680: 20 76 74 73 68 69 6d 20 6d 6f 64 75 6c 65 20 61   vtshim module a
7690: 73 20 61 20 73 74 61 74 69 63 61 6c 6c 79 20 61  s a statically a
76a0: 76 61 69 6c 61 62 6c 65 0d 0a 20 20 20 20 20 20  vailable..      
76b0: 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 69 6f          extensio
76c0: 6e 3f 20 20 54 68 69 73 20 77 69 6c 6c 20 61 6c  n?  This will al
76d0: 6c 6f 77 20 76 69 72 74 75 61 6c 20 74 61 62 6c  low virtual tabl
76e0: 65 73 20 74 6f 20 62 65 20 69 6d 70 6c 65 6d 65  es to be impleme
76f0: 6e 74 65 64 20 69 6e 0d 0a 20 20 20 20 20 20 20  nted in..       
7700: 20 20 20 20 20 20 20 6d 61 6e 61 67 65 64 20 63         managed c
7710: 6f 64 65 2e 20 20 42 79 20 64 65 66 61 75 6c 74  ode.  By default
7720: 2c 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65  , this is enable
7730: 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 64  d.  If this is d
7740: 69 73 61 62 6c 65 64 2c 0d 0a 20 20 20 20 20 20  isabled,..      
7750: 20 20 20 20 20 20 20 20 73 75 70 70 6f 72 74 20          support 
7760: 66 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67  for implementing
7770: 20 76 69 72 74 75 61 6c 20 74 61 62 6c 65 73 20   virtual tables 
7780: 69 6e 20 6d 61 6e 61 67 65 64 20 63 6f 64 65 20  in managed code 
7790: 77 69 6c 6c 20 62 65 0d 0a 20 20 20 20 20 20 20  will be..       
77a0: 20 20 20 20 20 20 20 75 6e 61 76 61 69 6c 61 62         unavailab
77b0: 6c 65 2e 20 20 49 66 20 74 68 69 73 20 69 73 20  le.  If this is 
77c0: 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74  enabled, it must
77d0: 20 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64   also be enabled
77e0: 20 76 69 61 0d 0a 20 20 20 20 20 20 20 20 20 20   via..          
77f0: 20 20 20 20 74 68 65 20 22 49 4e 54 45 52 4f 50      the "INTEROP
7800: 5f 56 49 52 54 55 41 4c 5f 54 41 42 4c 45 3d 31  _VIRTUAL_TABLE=1
7810: 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64  " preprocessor d
7820: 65 66 69 6e 65 20 62 65 69 6e 67 20 70 72 65 73  efine being pres
7830: 65 6e 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ent..           
7840: 20 20 20 69 6e 20 74 68 65 20 22 49 4e 54 45 52     in the "INTER
7850: 4f 50 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53  OP_EXTRA_DEFINES
7860: 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62  " macro in the b
7870: 75 69 6c 64 20 70 72 6f 70 65 72 74 69 65 73 0d  uild properties.
7880: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66  .              f
7890: 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ile:....        
78a0: 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74            "SQLit
78b0: 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c  e.Interop\props\
78c0: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32  SQLite.Interop.2
78d0: 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a  0YY.[vs]props"..
78e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
78f0: 62 6f 74 68 20 66 6f 72 20 74 68 65 20 63 6f 72  both for the cor
7900: 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69  responding versi
7910: 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20  on(s) of Visual 
7920: 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e  Studio...    -->
7930: 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 56 69  ..    <InteropVi
7940: 72 74 75 61 6c 54 61 62 6c 65 20 43 6f 6e 64 69  rtualTable Condi
7950: 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70  tion="'$(Interop
7960: 56 69 72 74 75 61 6c 54 61 62 6c 65 29 27 20 3d  VirtualTable)' =
7970: 3d 20 27 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65  = ''">true</Inte
7980: 72 6f 70 56 69 72 74 75 61 6c 54 61 62 6c 65 3e  ropVirtualTable>
7990: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
79a0: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
79b0: 6c 65 20 74 68 65 20 75 73 65 20 6f 66 20 6e 61  le the use of na
79c0: 74 69 76 65 20 57 69 6e 64 6f 77 73 20 41 50 49  tive Windows API
79d0: 73 2c 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c  s, when availabl
79e0: 65 3f 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20  e?  By..        
79f0: 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74        default, t
7a00: 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2e 20  his is enabled. 
7a10: 20 49 66 20 74 68 69 73 20 69 73 20 64 69 73 61   If this is disa
7a20: 62 6c 65 64 2c 20 61 6c 6c 20 66 65 61 74 75 72  bled, all featur
7a30: 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  es..            
7a40: 20 20 74 68 61 74 20 72 65 71 75 69 72 65 20 74    that require t
7a50: 68 65 20 75 73 65 20 6f 66 20 6e 61 74 69 76 65  he use of native
7a60: 20 57 69 6e 64 6f 77 73 20 41 50 49 73 20 77 69   Windows APIs wi
7a70: 6c 6c 20 62 65 20 75 6e 61 76 61 69 6c 61 62 6c  ll be unavailabl
7a80: 65 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20  e...    -->..   
7a90: 20 3c 55 73 65 57 69 6e 64 6f 77 73 20 43 6f 6e   <UseWindows Con
7aa0: 64 69 74 69 6f 6e 3d 22 27 24 28 55 73 65 57 69  dition="'$(UseWi
7ab0: 6e 64 6f 77 73 29 27 20 3d 3d 20 27 27 22 3e 74  ndows)' == ''">t
7ac0: 72 75 65 3c 2f 55 73 65 57 69 6e 64 6f 77 73 3e  rue</UseWindows>
7ad0: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
7ae0: 20 20 20 20 20 20 4e 4f 54 45 3a 20 46 6f 72 20        NOTE: For 
7af0: 69 6e 74 65 72 61 63 74 69 6f 6e 20 77 69 74 68  interaction with
7b00: 20 74 68 65 20 45 6e 74 69 74 79 20 46 72 61 6d   the Entity Fram
7b10: 65 77 6f 72 6b 2c 20 61 73 73 75 6d 65 20 76 65  ework, assume ve
7b20: 72 73 69 6f 6e 20 36 20 6f 72 0d 0a 20 20 20 20  rsion 6 or..    
7b30: 20 20 20 20 20 20 20 20 20 20 68 69 67 68 65 72            higher
7b40: 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74  ?  By default, t
7b50: 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e  his is disabled.
7b60: 20 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61    If this is ena
7b70: 62 6c 65 64 2c 20 74 68 65 0d 0a 20 20 20 20 20  bled, the..     
7b80: 20 20 20 20 20 20 20 20 20 22 53 79 73 74 65 6d           "System
7b90: 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 4c 69 6e  .Data.SQLite.Lin
7ba0: 71 22 20 61 73 73 65 6d 62 6c 79 20 77 69 6c 6c  q" assembly will
7bb0: 20 6e 6f 74 20 77 6f 72 6b 20 77 69 74 68 20 61   not work with a
7bc0: 6e 79 20 45 6e 74 69 74 79 0d 0a 20 20 20 20 20  ny Entity..     
7bd0: 20 20 20 20 20 20 20 20 20 46 72 61 6d 65 77 6f           Framewo
7be0: 72 6b 20 70 72 69 6f 72 20 74 6f 20 76 65 72 73  rk prior to vers
7bf0: 69 6f 6e 20 36 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  ion 6...    -->.
7c00: 0a 20 20 20 20 3c 55 73 65 45 6e 74 69 74 79 46  .    <UseEntityF
7c10: 72 61 6d 65 77 6f 72 6b 36 20 43 6f 6e 64 69 74  ramework6 Condit
7c20: 69 6f 6e 3d 22 27 24 28 55 73 65 45 6e 74 69 74  ion="'$(UseEntit
7c30: 79 46 72 61 6d 65 77 6f 72 6b 36 29 27 20 3d 3d  yFramework6)' ==
7c40: 20 27 27 22 3e 66 61 6c 73 65 3c 2f 55 73 65 45   ''">false</UseE
7c50: 6e 74 69 74 79 46 72 61 6d 65 77 6f 72 6b 36 3e  ntityFramework6>
7c60: 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72  ..  </PropertyGr
7c70: 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a  oup>....  <!--..
7c80: 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a    **************
7c90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
7ca0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
7cb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
7cc0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
7cd0: 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20 20  ..  **          
7ce0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7cf0: 20 20 20 54 72 61 63 65 20 50 72 6f 70 65 72 74     Trace Propert
7d00: 69 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20  ies             
7d10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7d20: 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  **..  **********
7d30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
7d40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
7d50: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
7d60: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
7d70: 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20  ****..  -->.... 
7d80: 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e   <PropertyGroup>
7d90: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
7da0: 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65      NOTE: Enable
7db0: 20 74 72 61 63 69 6e 67 20 6f 66 20 65 76 65 6e   tracing of even
7dc0: 74 73 20 72 65 6c 61 74 65 64 20 74 6f 20 63 6f  ts related to co
7dd0: 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 69 6e  nnection handlin
7de0: 67 3f 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20  g?  By..        
7df0: 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74        default, t
7e00: 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e  his is disabled.
7e10: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
7e20: 54 72 61 63 65 43 6f 6e 6e 65 63 74 69 6f 6e 20  TraceConnection 
7e30: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 54 72  Condition="'$(Tr
7e40: 61 63 65 43 6f 6e 6e 65 63 74 69 6f 6e 29 27 20  aceConnection)' 
7e50: 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 54 72  == ''">false</Tr
7e60: 61 63 65 43 6f 6e 6e 65 63 74 69 6f 6e 3e 0d 0a  aceConnection>..
7e70: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
7e80: 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65      NOTE: Enable
7e90: 20 74 72 61 63 69 6e 67 20 6f 66 20 65 76 65 6e   tracing of even
7ea0: 74 73 20 72 65 6c 61 74 65 64 20 74 6f 20 61 75  ts related to au
7eb0: 74 6f 6d 61 74 69 63 20 64 65 74 65 63 74 69 6f  tomatic detectio
7ec0: 6e 20 6f 66 20 74 68 65 0d 0a 20 20 20 20 20 20  n of the..      
7ed0: 20 20 20 20 20 20 20 20 6e 61 74 69 76 65 20 6c          native l
7ee0: 69 62 72 61 72 79 20 64 69 72 65 63 74 6f 72 79  ibrary directory
7ef0: 20 77 69 74 68 69 6e 20 74 68 65 20 6e 61 74 69   within the nati
7f00: 76 65 20 6c 69 62 72 61 72 79 20 70 72 65 2d 6c  ve library pre-l
7f10: 6f 61 64 69 6e 67 0d 0a 20 20 20 20 20 20 20 20  oading..        
7f20: 20 20 20 20 20 20 63 6f 64 65 3f 20 20 42 79 20        code?  By 
7f30: 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73  default, this is
7f40: 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20   disabled...    
7f50: 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61 63 65 44  -->..    <TraceD
7f60: 65 74 65 63 74 69 6f 6e 20 43 6f 6e 64 69 74 69  etection Conditi
7f70: 6f 6e 3d 22 27 24 28 54 72 61 63 65 44 65 74 65  on="'$(TraceDete
7f80: 63 74 69 6f 6e 29 27 20 3d 3d 20 27 27 22 3e 66  ction)' == ''">f
7f90: 61 6c 73 65 3c 2f 54 72 61 63 65 44 65 74 65 63  alse</TraceDetec
7fa0: 74 69 6f 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d  tion>....    <!-
7fb0: 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a  -..        NOTE:
7fc0: 20 45 6e 61 62 6c 65 20 74 72 61 63 69 6e 67 20   Enable tracing 
7fd0: 6f 66 20 65 76 65 6e 74 73 20 72 65 6c 61 74 65  of events relate
7fe0: 64 20 74 6f 20 43 72 69 74 69 63 61 6c 48 61 6e  d to CriticalHan
7ff0: 64 6c 65 20 68 61 6e 64 6c 69 6e 67 3f 20 20 42  dle handling?  B
8000: 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  y..             
8010: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
8020: 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20 20 20  s disabled...   
8030: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61 63 65   -->..    <Trace
8040: 48 61 6e 64 6c 65 20 43 6f 6e 64 69 74 69 6f 6e  Handle Condition
8050: 3d 22 27 24 28 54 72 61 63 65 48 61 6e 64 6c 65  ="'$(TraceHandle
8060: 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c  )' == ''">false<
8070: 2f 54 72 61 63 65 48 61 6e 64 6c 65 3e 0d 0a 0d  /TraceHandle>...
8080: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
8090: 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20     NOTE: Enable 
80a0: 74 72 61 63 69 6e 67 20 6f 66 20 65 76 65 6e 74  tracing of event
80b0: 73 20 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65  s related to the
80c0: 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72 79 20   native library 
80d0: 70 72 65 2d 6c 6f 61 64 69 6e 67 0d 0a 20 20 20  pre-loading..   
80e0: 20 20 20 20 20 20 20 20 20 20 20 63 6f 64 65 3f             code?
80f0: 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68    By default, th
8100: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2e 0d 0a  is is enabled...
8110: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72      -->..    <Tr
8120: 61 63 65 50 72 65 4c 6f 61 64 20 43 6f 6e 64 69  acePreLoad Condi
8130: 74 69 6f 6e 3d 22 27 24 28 54 72 61 63 65 50 72  tion="'$(TracePr
8140: 65 4c 6f 61 64 29 27 20 3d 3d 20 27 27 22 3e 74  eLoad)' == ''">t
8150: 72 75 65 3c 2f 54 72 61 63 65 50 72 65 4c 6f 61  rue</TracePreLoa
8160: 64 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  d>....    <!--..
8170: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e          NOTE: En
8180: 61 62 6c 65 20 74 72 61 63 69 6e 67 20 6f 66 20  able tracing of 
8190: 65 76 65 6e 74 73 20 72 65 6c 61 74 65 64 20 74  events related t
81a0: 6f 20 74 68 65 20 73 68 61 72 65 64 20 6e 61 74  o the shared nat
81b0: 69 76 65 20 6c 69 62 72 61 72 79 0d 0a 20 20 20  ive library..   
81c0: 20 20 20 20 20 20 20 20 20 20 20 70 72 65 2d 6c             pre-l
81d0: 6f 61 64 69 6e 67 20 63 6f 64 65 3f 20 20 42 79  oading code?  By
81e0: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
81f0: 73 20 65 6e 61 62 6c 65 64 2e 0d 0a 20 20 20 20  s enabled...    
8200: 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61 63 65 53  -->..    <TraceS
8210: 68 61 72 65 64 20 43 6f 6e 64 69 74 69 6f 6e 3d  hared Condition=
8220: 22 27 24 28 54 72 61 63 65 53 68 61 72 65 64 29  "'$(TraceShared)
8230: 27 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c 2f 54  ' == ''">true</T
8240: 72 61 63 65 53 68 61 72 65 64 3e 0d 0a 0d 0a 20  raceShared>.... 
8250: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
8260: 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 72   NOTE: Enable tr
8270: 61 63 69 6e 67 20 6f 66 20 65 76 65 6e 74 73 20  acing of events 
8280: 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 70  related to the p
8290: 72 65 70 61 72 65 64 20 73 74 61 74 65 6d 65 6e  repared statemen
82a0: 74 73 3f 20 20 42 79 0d 0a 20 20 20 20 20 20 20  ts?  By..       
82b0: 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20         default, 
82c0: 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64  this is disabled
82d0: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
82e0: 3c 54 72 61 63 65 53 74 61 74 65 6d 65 6e 74 20  <TraceStatement 
82f0: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 54 72  Condition="'$(Tr
8300: 61 63 65 53 74 61 74 65 6d 65 6e 74 29 27 20 3d  aceStatement)' =
8310: 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 54 72 61  = ''">false</Tra
8320: 63 65 53 74 61 74 65 6d 65 6e 74 3e 0d 0a 0d 0a  ceStatement>....
8330: 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20      <!--..      
8340: 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74    NOTE: Enable t
8350: 72 61 63 69 6e 67 20 6f 66 20 70 6f 74 65 6e 74  racing of potent
8360: 69 61 6c 6c 79 20 69 6d 70 6f 72 74 61 6e 74 2c  ially important,
8370: 20 62 75 74 20 6e 6f 6e 2d 66 61 74 61 6c 20 65   but non-fatal e
8380: 72 72 6f 72 0d 0a 20 20 20 20 20 20 20 20 20 20  rror..          
8390: 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 20 74      conditions t
83a0: 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 72 65  hat cannot be re
83b0: 70 6f 72 74 65 64 20 61 6e 6f 74 68 65 72 20 77  ported another w
83c0: 61 79 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c  ay?  By default,
83d0: 20 74 68 69 73 0d 0a 20 20 20 20 20 20 20 20 20   this..         
83e0: 20 20 20 20 20 69 73 20 65 6e 61 62 6c 65 64 2e       is enabled.
83f0: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
8400: 54 72 61 63 65 57 61 72 6e 69 6e 67 20 43 6f 6e  TraceWarning Con
8410: 64 69 74 69 6f 6e 3d 22 27 24 28 54 72 61 63 65  dition="'$(Trace
8420: 57 61 72 6e 69 6e 67 29 27 20 3d 3d 20 27 27 22  Warning)' == ''"
8430: 3e 74 72 75 65 3c 2f 54 72 61 63 65 57 61 72 6e  >true</TraceWarn
8440: 69 6e 67 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72  ing>..  </Proper
8450: 74 79 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21  tyGroup>....  <!
8460: 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  --..  **********
8470: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8480: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8490: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
84a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
84b0: 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20  ****..  **      
84c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
84d0: 20 20 20 20 20 20 57 61 72 6e 69 6e 67 20 50 72        Warning Pr
84e0: 6f 70 65 72 74 69 65 73 20 20 20 20 20 20 20 20  operties        
84f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8500: 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a      **..  ******
8510: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8520: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8530: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8540: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8550: 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d  ********..  -->.
8560: 0a 0d 0a 20 20 3c 50 72 6f 70 65 72 74 79 47 72  ...  <PropertyGr
8570: 6f 75 70 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  oup Condition="'
8580: 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29  $(Configuration)
8590: 27 20 3d 3d 20 27 44 65 62 75 67 27 22 3e 0d 0a  ' == 'Debug'">..
85a0: 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20      <!--..      
85b0: 20 20 4e 4f 54 45 3a 20 44 65 62 75 67 20 62 75    NOTE: Debug bu
85c0: 69 6c 64 2e 20 20 53 65 74 20 74 68 65 20 77 61  ild.  Set the wa
85d0: 72 6e 69 6e 67 20 6c 65 76 65 6c 20 74 6f 20 6d  rning level to m
85e0: 61 78 69 6d 75 6d 2e 20 20 41 6c 73 6f 2c 20 64  aximum.  Also, d
85f0: 69 73 61 62 6c 65 0d 0a 20 20 20 20 20 20 20 20  isable..        
8600: 20 20 20 20 20 20 77 61 72 6e 69 6e 67 73 20 74        warnings t
8610: 68 61 74 20 74 65 6e 64 20 74 6f 20 63 61 75 73  hat tend to caus
8620: 65 20 74 6f 6f 20 6d 75 63 68 20 6e 6f 69 73 65  e too much noise
8630: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
8640: 3c 57 61 72 6e 69 6e 67 4c 65 76 65 6c 3e 34 3c  <WarningLevel>4<
8650: 2f 57 61 72 6e 69 6e 67 4c 65 76 65 6c 3e 0d 0a  /WarningLevel>..
8660: 20 20 20 20 3c 4e 6f 57 61 72 6e 3e 36 31 38 2c      <NoWarn>618,
8670: 31 35 39 31 3b 33 30 30 31 3c 2f 4e 6f 57 61 72  1591;3001</NoWar
8680: 6e 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79  n>..  </Property
8690: 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 50 72 6f  Group>....  <Pro
86a0: 70 65 72 74 79 47 72 6f 75 70 20 43 6f 6e 64 69  pertyGroup Condi
86b0: 74 69 6f 6e 3d 22 27 24 28 43 6f 6e 66 69 67 75  tion="'$(Configu
86c0: 72 61 74 69 6f 6e 29 27 20 3d 3d 20 27 52 65 6c  ration)' == 'Rel
86d0: 65 61 73 65 27 22 3e 0d 0a 20 20 20 20 3c 21 2d  ease'">..    <!-
86e0: 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a  -..        NOTE:
86f0: 20 52 65 6c 65 61 73 65 20 62 75 69 6c 64 2e 20   Release build. 
8700: 20 53 65 74 20 74 68 65 20 77 61 72 6e 69 6e 67   Set the warning
8710: 20 6c 65 76 65 6c 20 74 6f 20 6d 61 78 69 6d 75   level to maximu
8720: 6d 2e 20 20 41 6c 73 6f 2c 20 64 69 73 61 62 6c  m.  Also, disabl
8730: 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  e..             
8740: 20 77 61 72 6e 69 6e 67 73 20 74 68 61 74 20 74   warnings that t
8750: 65 6e 64 20 74 6f 20 63 61 75 73 65 20 74 6f 6f  end to cause too
8760: 20 6d 75 63 68 20 6e 6f 69 73 65 2e 0d 0a 20 20   much noise...  
8770: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 57 61 72 6e    -->..    <Warn
8780: 69 6e 67 4c 65 76 65 6c 3e 34 3c 2f 57 61 72 6e  ingLevel>4</Warn
8790: 69 6e 67 4c 65 76 65 6c 3e 0d 0a 20 20 20 20 3c  ingLevel>..    <
87a0: 4e 6f 57 61 72 6e 3e 36 31 38 2c 31 35 39 31 3b  NoWarn>618,1591;
87b0: 33 30 30 31 3c 2f 4e 6f 57 61 72 6e 3e 0d 0a 20  3001</NoWarn>.. 
87c0: 20 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70   </PropertyGroup
87d0: 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a  >....  <!--..  *
87e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
87f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8800: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8810: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8820: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20  *************.. 
8830: 20 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20   **             
8840: 20 20 20 20 20 20 20 20 20 42 75 69 6c 64 20 43           Build C
8850: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 50 72 6f  onfiguration Pro
8860: 70 65 72 74 69 65 73 20 20 20 20 20 20 20 20 20  perties         
8870: 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 2a 0d               **.
8880: 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .  *************
8890: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
88a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
88b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
88c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
88d0: 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50  *..  -->....  <P
88e0: 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 20  ropertyGroup>.. 
88f0: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
8900: 20 4e 4f 54 45 3a 20 54 68 65 20 73 75 66 66 69   NOTE: The suffi
8910: 78 20 66 6f 72 20 74 68 65 20 6e 61 6d 65 20 6f  x for the name o
8920: 66 20 74 68 65 20 62 75 69 6c 64 20 63 6f 6e 66  f the build conf
8930: 69 67 75 72 61 74 69 6f 6e 20 64 69 72 65 63 74  iguration direct
8940: 6f 72 79 20 2e 20 20 42 79 0d 0a 20 20 20 20 20  ory .  By..     
8950: 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74           default
8960: 2c 20 74 68 69 73 20 69 73 20 61 6e 20 65 6d 70  , this is an emp
8970: 74 79 20 73 74 72 69 6e 67 2e 0d 0a 20 20 20 20  ty string...    
8980: 2d 2d 3e 0d 0a 20 20 20 20 3c 43 6f 6e 66 69 67  -->..    <Config
8990: 75 72 61 74 69 6f 6e 53 75 66 66 69 78 20 43 6f  urationSuffix Co
89a0: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 43 6f 6e 66  ndition="'$(Conf
89b0: 69 67 75 72 61 74 69 6f 6e 53 75 66 66 69 78 29  igurationSuffix)
89c0: 27 20 3d 3d 20 27 27 22 3e 3c 2f 43 6f 6e 66 69  ' == ''"></Confi
89d0: 67 75 72 61 74 69 6f 6e 53 75 66 66 69 78 3e 0d  gurationSuffix>.
89e0: 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f  .  </PropertyGro
89f0: 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20  up>....  <!--.. 
8a00: 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ***************
8a10: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8a20: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8a30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8a40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d  ***************.
8a50: 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20 20 20  .  **           
8a60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65                Re
8a70: 6c 61 74 69 76 65 20 50 61 74 68 20 50 72 6f 70  lative Path Prop
8a80: 65 72 74 69 65 73 20 20 20 20 20 20 20 20 20 20  erties          
8a90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
8aa0: 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  *..  ***********
8ab0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8ac0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8ad0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8ae0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8af0: 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20  ***..  -->....  
8b00: 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70 20 43  <PropertyGroup C
8b10: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 53 51 4c  ondition="'$(SQL
8b20: 69 74 65 4e 65 74 44 69 72 29 27 20 21 3d 20 27  iteNetDir)' != '
8b30: 27 22 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  '">..    <!--.. 
8b40: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4b 65 65         NOTE: Kee
8b50: 70 20 61 6c 6c 20 74 68 65 20 69 6e 74 65 72 6d  p all the interm
8b60: 65 64 69 61 74 65 20 66 69 6c 65 73 20 69 6e 20  ediate files in 
8b70: 6f 6e 65 20 70 6c 61 63 65 2e 20 20 54 68 65 20  one place.  The 
8b80: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 0d 0a 20  Visual Studio.. 
8b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 44 45               IDE
8ba0: 20 73 65 65 6d 73 20 74 6f 20 68 61 76 65 20 61   seems to have a
8bb0: 20 6e 61 73 74 79 20 68 61 62 69 74 20 6f 66 20   nasty habit of 
8bc0: 69 67 6e 6f 72 69 6e 67 20 74 68 69 73 20 73 65  ignoring this se
8bd0: 74 74 69 6e 67 2e 20 20 54 68 65 0d 0a 20 20 20  tting.  The..   
8be0: 20 20 20 20 20 20 20 20 20 20 20 56 69 73 75 61             Visua
8bf0: 6c 20 53 74 75 64 69 6f 20 49 44 45 20 74 68 65  l Studio IDE the
8c00: 6e 20 66 61 69 6c 73 20 74 6f 20 62 75 69 6c 64  n fails to build
8c10: 20 74 68 65 20 70 72 6f 6a 65 63 74 28 73 29 20   the project(s) 
8c20: 70 72 6f 70 65 72 6c 79 20 77 68 65 6e 0d 0a 20  properly when.. 
8c30: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65               the
8c40: 20 6f 75 74 70 75 74 20 64 6f 65 73 20 6e 6f 74   output does not
8c50: 20 65 6e 64 20 75 70 20 77 68 65 72 65 20 69 74   end up where it
8c60: 20 65 78 70 65 63 74 73 20 74 68 65 20 6f 75 74   expects the out
8c70: 70 75 74 20 74 6f 20 62 65 2e 20 20 54 68 65 0d  put to be.  The.
8c80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76  .              v
8c90: 61 6c 75 65 20 6f 66 20 74 68 69 73 20 70 72 6f  alue of this pro
8ca0: 70 65 72 74 79 20 6d 75 73 74 20 68 61 76 65 20  perty must have 
8cb0: 61 20 74 72 61 69 6c 69 6e 67 20 62 61 63 6b 73  a trailing backs
8cc0: 6c 61 73 68 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  lash...    -->..
8cd0: 20 20 20 20 3c 42 61 73 65 49 6e 74 65 72 6d 65      <BaseInterme
8ce0: 64 69 61 74 65 4f 75 74 70 75 74 50 61 74 68 20  diateOutputPath 
8cf0: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 43 6f  Condition="'$(Co
8d00: 6e 66 69 67 75 72 61 74 69 6f 6e 53 75 66 66 69  nfigurationSuffi
8d10: 78 29 27 20 3d 3d 20 27 27 22 3e 24 28 53 51 4c  x)' == ''">$(SQL
8d20: 69 74 65 4e 65 74 44 69 72 29 5c 6f 62 6a 5c 24  iteNetDir)\obj\$
8d30: 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 59 65  (ConfigurationYe
8d40: 61 72 29 5c 3c 2f 42 61 73 65 49 6e 74 65 72 6d  ar)\</BaseInterm
8d50: 65 64 69 61 74 65 4f 75 74 70 75 74 50 61 74 68  ediateOutputPath
8d60: 3e 0d 0a 20 20 20 20 3c 42 61 73 65 49 6e 74 65  >..    <BaseInte
8d70: 72 6d 65 64 69 61 74 65 4f 75 74 70 75 74 50 61  rmediateOutputPa
8d80: 74 68 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  th Condition="'$
8d90: 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 53 75  (ConfigurationSu
8da0: 66 66 69 78 29 27 20 21 3d 20 27 27 22 3e 24 28  ffix)' != ''">$(
8db0: 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 6f 62  SQLiteNetDir)\ob
8dc0: 6a 5c 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f  j\$(Configuratio
8dd0: 6e 59 65 61 72 29 5c 24 28 43 6f 6e 66 69 67 75  nYear)\$(Configu
8de0: 72 61 74 69 6f 6e 53 75 66 66 69 78 29 5c 3c 2f  rationSuffix)\</
8df0: 42 61 73 65 49 6e 74 65 72 6d 65 64 69 61 74 65  BaseIntermediate
8e00: 4f 75 74 70 75 74 50 61 74 68 3e 0d 0a 20 20 3c  OutputPath>..  <
8e10: 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d  /PropertyGroup>.
8e20: 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a  ...  <!--..  ***
8e30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8e40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8e50: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8e60: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8e70: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2a  ***********..  *
8e80: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  *               
8e90: 20 50 65 72 2d 43 6f 6e 66 69 67 75 72 61 74 69   Per-Configurati
8ea0: 6f 6e 20 52 65 6c 61 74 69 76 65 20 50 61 74 68  on Relative Path
8eb0: 20 50 72 6f 70 65 72 74 69 65 73 20 20 20 20 20   Properties     
8ec0: 20 20 20 20 20 20 20 20 20 20 20 2a 2a 0d 0a 20             **.. 
8ed0: 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ***************
8ee0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8ef0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8f00: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
8f10: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d  ***************.
8f20: 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72 6f  .  -->....  <Pro
8f30: 70 65 72 74 79 47 72 6f 75 70 20 43 6f 6e 64 69  pertyGroup Condi
8f40: 74 69 6f 6e 3d 22 27 24 28 53 51 4c 69 74 65 4e  tion="'$(SQLiteN
8f50: 65 74 44 69 72 29 27 20 21 3d 20 27 27 20 41 6e  etDir)' != '' An
8f60: 64 20 27 24 28 43 6f 6e 66 69 67 75 72 61 74 69  d '$(Configurati
8f70: 6f 6e 29 27 20 21 3d 20 27 27 22 3e 0d 0a 20 20  on)' != ''">..  
8f80: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
8f90: 4e 4f 54 45 3a 20 54 68 65 20 66 69 6e 61 6c 20  NOTE: The final 
8fa0: 6f 75 74 70 75 74 20 66 69 6c 65 73 20 6e 65 65  output files nee
8fb0: 64 20 74 6f 20 65 6e 64 20 75 70 20 69 6e 20 6f  d to end up in o
8fc0: 6e 65 20 70 6c 61 63 65 2e 20 20 54 68 65 20 76  ne place.  The v
8fd0: 61 6c 75 65 20 6f 66 0d 0a 20 20 20 20 20 20 20  alue of..       
8fe0: 20 20 20 20 20 20 20 74 68 69 73 20 70 72 6f 70         this prop
8ff0: 65 72 74 79 20 6d 75 73 74 20 68 61 76 65 20 61  erty must have a
9000: 20 74 72 61 69 6c 69 6e 67 20 62 61 63 6b 73 6c   trailing backsl
9010: 61 73 68 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  ash...    -->.. 
9020: 20 20 20 3c 42 69 6e 61 72 79 4f 75 74 70 75 74     <BinaryOutput
9030: 50 61 74 68 20 43 6f 6e 64 69 74 69 6f 6e 3d 22  Path Condition="
9040: 27 24 28 42 69 6e 61 72 79 4f 75 74 70 75 74 50  '$(BinaryOutputP
9050: 61 74 68 29 27 20 3d 3d 20 27 27 22 3e 24 28 53  ath)' == ''">$(S
9060: 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 62 69 6e  QLiteNetDir)\bin
9070: 5c 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e  \$(Configuration
9080: 59 65 61 72 29 5c 24 28 43 6f 6e 66 69 67 75 72  Year)\$(Configur
9090: 61 74 69 6f 6e 29 24 28 43 6f 6e 66 69 67 75 72  ation)$(Configur
90a0: 61 74 69 6f 6e 53 75 66 66 69 78 29 5c 62 69 6e  ationSuffix)\bin
90b0: 5c 3c 2f 42 69 6e 61 72 79 4f 75 74 70 75 74 50  \</BinaryOutputP
90c0: 61 74 68 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72  ath>..  </Proper
90d0: 74 79 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21  tyGroup>....  <!
90e0: 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  --..  **********
90f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9100: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9110: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9120: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9130: 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20  ****..  **      
9140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9150: 53 74 72 6f 6e 67 20 4e 61 6d 65 20 53 69 67 6e  Strong Name Sign
9160: 69 6e 67 20 50 72 6f 70 65 72 74 69 65 73 20 20  ing Properties  
9170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9180: 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a      **..  ******
9190: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
91a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
91b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
91c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
91d0: 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d  ********..  -->.
91e0: 0a 0d 0a 20 20 3c 50 72 6f 70 65 72 74 79 47 72  ...  <PropertyGr
91f0: 6f 75 70 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  oup Condition="'
9200: 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 27  $(SQLiteNetDir)'
9210: 20 21 3d 20 27 27 20 41 6e 64 0d 0a 20 20 20 20   != '' And..    
9220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9230: 20 20 20 20 20 20 20 20 21 48 61 73 54 72 61 69          !HasTrai
9240: 6c 69 6e 67 53 6c 61 73 68 28 27 24 28 53 51 4c  lingSlash('$(SQL
9250: 69 74 65 4e 65 74 44 69 72 29 27 29 20 41 6e 64  iteNetDir)') And
9260: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
9270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28                ((
9280: 27 24 28 49 73 43 6f 6d 70 61 63 74 46 72 61 6d  '$(IsCompactFram
9290: 65 77 6f 72 6b 29 27 20 3d 3d 20 27 66 61 6c 73  ework)' == 'fals
92a0: 65 27 20 41 6e 64 20 45 78 69 73 74 73 28 27 24  e' And Exists('$
92b0: 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 4b  (SQLiteNetDir)\K
92c0: 65 79 73 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e  eys\System.Data.
92d0: 53 51 4c 69 74 65 2e 73 6e 6b 27 29 29 20 4f 72  SQLite.snk')) Or
92e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
92f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28                 (
9300: 27 24 28 49 73 43 6f 6d 70 61 63 74 46 72 61 6d  '$(IsCompactFram
9310: 65 77 6f 72 6b 29 27 20 21 3d 20 27 66 61 6c 73  ework)' != 'fals
9320: 65 27 20 41 6e 64 20 45 78 69 73 74 73 28 27 24  e' And Exists('$
9330: 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 4b  (SQLiteNetDir)\K
9340: 65 79 73 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e  eys\System.Data.
9350: 53 51 4c 69 74 65 2e 43 46 2e 73 6e 6b 27 29 29  SQLite.CF.snk'))
9360: 29 22 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  )">..    <!--.. 
9370: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 53 69 67         NOTE: Sig
9380: 6e 20 74 68 65 20 61 73 73 65 6d 62 6c 79 3f 20  n the assembly? 
9390: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
93a0: 73 20 69 73 20 65 6e 61 62 6c 65 64 2e 0d 0a 20  s is enabled... 
93b0: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 53 69 67     -->..    <Sig
93c0: 6e 41 73 73 65 6d 62 6c 79 20 43 6f 6e 64 69 74  nAssembly Condit
93d0: 69 6f 6e 3d 22 27 24 28 53 69 67 6e 41 73 73 65  ion="'$(SignAsse
93e0: 6d 62 6c 79 29 27 20 3d 3d 20 27 27 22 3e 74 72  mbly)' == ''">tr
93f0: 75 65 3c 2f 53 69 67 6e 41 73 73 65 6d 62 6c 79  ue</SignAssembly
9400: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
9410: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 55 73 65         NOTE: Use
9420: 20 64 65 6c 61 79 20 73 69 67 6e 69 6e 67 3f 20   delay signing? 
9430: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
9440: 73 20 69 73 20 64 69 73 61 62 6c 65 64 20 62 65  s is disabled be
9450: 63 61 75 73 65 20 74 68 65 0d 0a 20 20 20 20 20  cause the..     
9460: 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74           default
9470: 20 73 74 72 6f 6e 67 20 6e 61 6d 65 20 6b 65 79   strong name key
9480: 20 70 61 69 72 20 69 73 20 69 6e 63 6c 75 64 65   pair is include
9490: 64 20 77 69 74 68 20 74 68 65 20 73 6f 75 72 63  d with the sourc
94a0: 65 20 63 6f 64 65 2e 0d 0a 20 20 20 20 2d 2d 3e  e code...    -->
94b0: 0d 0a 20 20 20 20 3c 44 65 6c 61 79 53 69 67 6e  ..    <DelaySign
94c0: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 44   Condition="'$(D
94d0: 65 6c 61 79 53 69 67 6e 29 27 20 3d 3d 20 27 27  elaySign)' == ''
94e0: 22 3e 66 61 6c 73 65 3c 2f 44 65 6c 61 79 53 69  ">false</DelaySi
94f0: 67 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d  gn>....    <!--.
9500: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 54  .        NOTE: T
9510: 68 65 20 66 75 6c 6c 20 70 61 74 68 20 61 6e 64  he full path and
9520: 20 66 69 6c 65 20 6e 61 6d 65 20 66 6f 72 20 74   file name for t
9530: 68 65 20 73 74 72 6f 6e 67 20 6e 61 6d 65 20 6b  he strong name k
9540: 65 79 20 70 61 69 72 20 74 6f 20 75 73 65 2e 0d  ey pair to use..
9550: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 41  .    -->..    <A
9560: 73 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f  ssemblyOriginato
9570: 72 4b 65 79 46 69 6c 65 20 43 6f 6e 64 69 74 69  rKeyFile Conditi
9580: 6f 6e 3d 22 27 24 28 41 73 73 65 6d 62 6c 79 4f  on="'$(AssemblyO
9590: 72 69 67 69 6e 61 74 6f 72 4b 65 79 46 69 6c 65  riginatorKeyFile
95a0: 29 27 20 3d 3d 20 27 27 20 41 6e 64 20 27 24 28  )' == '' And '$(
95b0: 49 73 43 6f 6d 70 61 63 74 46 72 61 6d 65 77 6f  IsCompactFramewo
95c0: 72 6b 29 27 20 3d 3d 20 27 66 61 6c 73 65 27 22  rk)' == 'false'"
95d0: 3e 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29  >$(SQLiteNetDir)
95e0: 5c 4b 65 79 73 5c 53 79 73 74 65 6d 2e 44 61 74  \Keys\System.Dat
95f0: 61 2e 53 51 4c 69 74 65 2e 73 6e 6b 3c 2f 41 73  a.SQLite.snk</As
9600: 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72  semblyOriginator
9610: 4b 65 79 46 69 6c 65 3e 0d 0a 20 20 20 20 3c 41  KeyFile>..    <A
9620: 73 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f  ssemblyOriginato
9630: 72 4b 65 79 46 69 6c 65 20 43 6f 6e 64 69 74 69  rKeyFile Conditi
9640: 6f 6e 3d 22 27 24 28 41 73 73 65 6d 62 6c 79 4f  on="'$(AssemblyO
9650: 72 69 67 69 6e 61 74 6f 72 4b 65 79 46 69 6c 65  riginatorKeyFile
9660: 29 27 20 3d 3d 20 27 27 20 41 6e 64 20 27 24 28  )' == '' And '$(
9670: 49 73 43 6f 6d 70 61 63 74 46 72 61 6d 65 77 6f  IsCompactFramewo
9680: 72 6b 29 27 20 21 3d 20 27 66 61 6c 73 65 27 22  rk)' != 'false'"
9690: 3e 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29  >$(SQLiteNetDir)
96a0: 5c 4b 65 79 73 5c 53 79 73 74 65 6d 2e 44 61 74  \Keys\System.Dat
96b0: 61 2e 53 51 4c 69 74 65 2e 43 46 2e 73 6e 6b 3c  a.SQLite.CF.snk<
96c0: 2f 41 73 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61  /AssemblyOrigina
96d0: 74 6f 72 4b 65 79 46 69 6c 65 3e 0d 0a 20 20 3c  torKeyFile>..  <
96e0: 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d  /PropertyGroup>.
96f0: 0a 3c 2f 50 72 6f 6a 65 63 74 3e 0d 0a           .</Project>..