System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 8c62729ca49ed62614eba7fccaccc94f850dbe7a:


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