System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact e85e4e6dd6e7443c7234ca066c3d077f77b5a718:


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: 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69  SQLite.NET.Setti
02c0: 6e 67 73 2e 74 61 72 67 65 74 73 2e 75 73 65 72  ngs.targets.user
02d0: 22 0d 0a 20 20 20 20 20 20 20 20 20 20 43 6f 6e  "..          Con
02e0: 64 69 74 69 6f 6e 3d 22 45 78 69 73 74 73 28 27  dition="Exists('
02f0: 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c  $(SQLiteNetDir)\
0300: 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69  SQLite.NET.Setti
0310: 6e 67 73 2e 74 61 72 67 65 74 73 2e 75 73 65 72  ngs.targets.user
0320: 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d  ')" />....  <!--
0330: 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ..  ************
0340: 2a 2a 2a 2a 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 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20  **..  **        
0390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
03a0: 4c 6f 61 64 20 50 65 72 2d 46 72 61 6d 65 77 6f  Load Per-Framewo
03b0: 72 6b 20 53 65 74 74 69 6e 67 73 20 20 20 20 20  rk Settings     
03c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
03d0: 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a    **..  ********
03e0: 2a 2a 2a 2a 2a 2a 2a 2a 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 0d 0a 20 20 2d 2d 3e 0d 0a 0d  ******..  -->...
0430: 0a 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 4e  .  <!--..      N
0440: 4f 54 45 3a 20 49 66 20 74 68 65 20 70 65 72 2d  OTE: If the per-
0450: 66 72 61 6d 65 77 6f 72 6b 20 73 65 74 74 69 6e  framework settin
0460: 67 73 20 66 69 6c 65 73 20 65 78 69 73 74 2c 20  gs files exist, 
0470: 69 6d 70 6f 72 74 20 74 68 65 6d 20 6e 6f 77 2e  import them now.
0480: 20 20 54 68 65 0d 0a 20 20 20 20 20 20 20 20 20    The..         
0490: 20 20 20 63 6f 6e 74 61 69 6e 65 64 20 73 65 74     contained set
04a0: 74 69 6e 67 73 2c 20 69 66 20 61 6e 79 2c 20 77  tings, if any, w
04b0: 69 6c 6c 20 6f 76 65 72 72 69 64 65 20 74 68 65  ill override the
04c0: 20 64 65 66 61 75 6c 74 20 6f 6e 65 73 20 70 72   default ones pr
04d0: 6f 76 69 64 65 64 0d 0a 20 20 20 20 20 20 20 20  ovided..        
04e0: 20 20 20 20 62 65 6c 6f 77 2e 0d 0a 20 20 2d 2d      below...  --
04f0: 3e 0d 0a 20 20 3c 49 6d 70 6f 72 74 20 50 72 6f  >..  <Import Pro
0500: 6a 65 63 74 3d 22 24 28 53 51 4c 69 74 65 4e 65  ject="$(SQLiteNe
0510: 74 44 69 72 29 5c 53 51 4c 69 74 65 2e 4e 45 54  tDir)\SQLite.NET
0520: 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74  .Settings.target
0530: 73 2e 6e 65 74 46 78 32 30 22 0d 0a 20 20 20 20  s.netFx20"..    
0540: 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d        Condition=
0550: 22 27 24 28 4e 65 74 46 78 32 30 29 27 20 21 3d  "'$(NetFx20)' !=
0560: 20 27 27 20 41 6e 64 20 27 24 28 4e 65 74 46 78   '' And '$(NetFx
0570: 32 30 29 27 20 21 3d 20 27 66 61 6c 73 65 27 20  20)' != 'false' 
0580: 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20  And..           
0590: 20 20 20 20 20 20 20 20 20 20 28 27 24 28 4e 65            ('$(Ne
05a0: 74 46 78 32 30 53 65 74 74 69 6e 67 73 29 27 20  tFx20Settings)' 
05b0: 3d 3d 20 27 27 20 4f 72 20 27 24 28 4e 65 74 46  == '' Or '$(NetF
05c0: 78 32 30 53 65 74 74 69 6e 67 73 29 27 20 21 3d  x20Settings)' !=
05d0: 20 27 66 61 6c 73 65 27 29 20 41 6e 64 0d 0a 20   'false') And.. 
05e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
05f0: 20 20 20 20 45 78 69 73 74 73 28 27 24 28 53 51      Exists('$(SQ
0600: 4c 69 74 65 4e 65 74 44 69 72 29 5c 53 51 4c 69  LiteNetDir)\SQLi
0610: 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e  te.NET.Settings.
0620: 74 61 72 67 65 74 73 2e 6e 65 74 46 78 32 30 27  targets.netFx20'
0630: 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70 6f  )" />....  <Impo
0640: 72 74 20 50 72 6f 6a 65 63 74 3d 22 24 28 53 51  rt Project="$(SQ
0650: 4c 69 74 65 4e 65 74 44 69 72 29 5c 53 51 4c 69  LiteNetDir)\SQLi
0660: 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e  te.NET.Settings.
0670: 74 61 72 67 65 74 73 2e 6e 65 74 46 78 33 35 22  targets.netFx35"
0680: 0d 0a 20 20 20 20 20 20 20 20 20 20 43 6f 6e 64  ..          Cond
0690: 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 33  ition="'$(NetFx3
06a0: 35 29 27 20 21 3d 20 27 27 20 41 6e 64 20 27 24  5)' != '' And '$
06b0: 28 4e 65 74 46 78 33 35 29 27 20 21 3d 20 27 66  (NetFx35)' != 'f
06c0: 61 6c 73 65 27 20 41 6e 64 0d 0a 20 20 20 20 20  alse' And..     
06d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
06e0: 28 27 24 28 4e 65 74 46 78 33 35 53 65 74 74 69  ('$(NetFx35Setti
06f0: 6e 67 73 29 27 20 3d 3d 20 27 27 20 4f 72 20 27  ngs)' == '' Or '
0700: 24 28 4e 65 74 46 78 33 35 53 65 74 74 69 6e 67  $(NetFx35Setting
0710: 73 29 27 20 21 3d 20 27 66 61 6c 73 65 27 29 20  s)' != 'false') 
0720: 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20  And..           
0730: 20 20 20 20 20 20 20 20 20 20 45 78 69 73 74 73            Exists
0740: 28 27 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72  ('$(SQLiteNetDir
0750: 29 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74  )\SQLite.NET.Set
0760: 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65  tings.targets.ne
0770: 74 46 78 33 35 27 29 22 20 2f 3e 0d 0a 0d 0a 20  tFx35')" />.... 
0780: 20 3c 49 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74   <Import Project
0790: 3d 22 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72  ="$(SQLiteNetDir
07a0: 29 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74  )\SQLite.NET.Set
07b0: 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65  tings.targets.ne
07c0: 74 46 78 34 30 22 0d 0a 20 20 20 20 20 20 20 20  tFx40"..        
07d0: 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28    Condition="'$(
07e0: 4e 65 74 46 78 34 30 29 27 20 21 3d 20 27 27 20  NetFx40)' != '' 
07f0: 41 6e 64 20 27 24 28 4e 65 74 46 78 34 30 29 27  And '$(NetFx40)'
0800: 20 21 3d 20 27 66 61 6c 73 65 27 20 41 6e 64 0d   != 'false' And.
0810: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
0820: 20 20 20 20 20 20 28 27 24 28 4e 65 74 46 78 34        ('$(NetFx4
0830: 30 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20 27  0Settings)' == '
0840: 27 20 4f 72 20 27 24 28 4e 65 74 46 78 34 30 53  ' Or '$(NetFx40S
0850: 65 74 74 69 6e 67 73 29 27 20 21 3d 20 27 66 61  ettings)' != 'fa
0860: 6c 73 65 27 29 20 41 6e 64 0d 0a 20 20 20 20 20  lse') And..     
0870: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0880: 45 78 69 73 74 73 28 27 24 28 53 51 4c 69 74 65  Exists('$(SQLite
0890: 4e 65 74 44 69 72 29 5c 53 51 4c 69 74 65 2e 4e  NetDir)\SQLite.N
08a0: 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67  ET.Settings.targ
08b0: 65 74 73 2e 6e 65 74 46 78 34 30 27 29 22 20 2f  ets.netFx40')" /
08c0: 3e 0d 0a 0d 0a 20 20 3c 49 6d 70 6f 72 74 20 50  >....  <Import P
08d0: 72 6f 6a 65 63 74 3d 22 24 28 53 51 4c 69 74 65  roject="$(SQLite
08e0: 4e 65 74 44 69 72 29 5c 53 51 4c 69 74 65 2e 4e  NetDir)\SQLite.N
08f0: 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67  ET.Settings.targ
0900: 65 74 73 2e 6e 65 74 46 78 34 35 22 0d 0a 20 20  ets.netFx45"..  
0910: 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f          Conditio
0920: 6e 3d 22 27 24 28 4e 65 74 46 78 34 35 29 27 20  n="'$(NetFx45)' 
0930: 21 3d 20 27 27 20 41 6e 64 20 27 24 28 4e 65 74  != '' And '$(Net
0940: 46 78 34 35 29 27 20 21 3d 20 27 66 61 6c 73 65  Fx45)' != 'false
0950: 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20  ' And..         
0960: 20 20 20 20 20 20 20 20 20 20 20 20 28 27 24 28              ('$(
0970: 4e 65 74 46 78 34 35 53 65 74 74 69 6e 67 73 29  NetFx45Settings)
0980: 27 20 3d 3d 20 27 27 20 4f 72 20 27 24 28 4e 65  ' == '' Or '$(Ne
0990: 74 46 78 34 35 53 65 74 74 69 6e 67 73 29 27 20  tFx45Settings)' 
09a0: 21 3d 20 27 66 61 6c 73 65 27 29 20 41 6e 64 0d  != 'false') And.
09b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
09c0: 20 20 20 20 20 20 45 78 69 73 74 73 28 27 24 28        Exists('$(
09d0: 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 53 51  SQLiteNetDir)\SQ
09e0: 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67  Lite.NET.Setting
09f0: 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34  s.targets.netFx4
0a00: 35 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d  5')" />....  <Im
0a10: 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d 22 24 28  port Project="$(
0a20: 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 53 51  SQLiteNetDir)\SQ
0a30: 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67  Lite.NET.Setting
0a40: 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34  s.targets.netFx4
0a50: 35 31 22 0d 0a 20 20 20 20 20 20 20 20 20 20 43  51"..          C
0a60: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74  ondition="'$(Net
0a70: 46 78 34 35 31 29 27 20 21 3d 20 27 27 20 41 6e  Fx451)' != '' An
0a80: 64 20 27 24 28 4e 65 74 46 78 34 35 31 29 27 20  d '$(NetFx451)' 
0a90: 21 3d 20 27 66 61 6c 73 65 27 20 41 6e 64 0d 0a  != 'false' And..
0aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0ab0: 20 20 20 20 20 28 27 24 28 4e 65 74 46 78 34 35       ('$(NetFx45
0ac0: 31 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20 27  1Settings)' == '
0ad0: 27 20 4f 72 20 27 24 28 4e 65 74 46 78 34 35 31  ' Or '$(NetFx451
0ae0: 53 65 74 74 69 6e 67 73 29 27 20 21 3d 20 27 66  Settings)' != 'f
0af0: 61 6c 73 65 27 29 20 41 6e 64 0d 0a 20 20 20 20  alse') And..    
0b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0b10: 20 45 78 69 73 74 73 28 27 24 28 53 51 4c 69 74   Exists('$(SQLit
0b20: 65 4e 65 74 44 69 72 29 5c 53 51 4c 69 74 65 2e  eNetDir)\SQLite.
0b30: 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72  NET.Settings.tar
0b40: 67 65 74 73 2e 6e 65 74 46 78 34 35 31 27 29 22  gets.netFx451')"
0b50: 20 2f 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20   />....  <!--.. 
0b60: 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ***************
0b70: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0b80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0b90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0ba0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d  ***************.
0bb0: 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20 20 20  .  **           
0bc0: 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 61 69              [Fai
0bd0: 72 6c 79 5d 20 47 65 6e 65 72 69 63 20 50 72 6f  rly] Generic Pro
0be0: 70 65 72 74 69 65 73 20 20 20 20 20 20 20 20 20  perties         
0bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
0c00: 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  *..  ***********
0c10: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0c20: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0c30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0c40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0c50: 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20  ***..  -->....  
0c60: 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d  <PropertyGroup>.
0c70: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
0c80: 20 20 20 4e 4f 54 45 3a 20 2a 55 4e 43 4f 4e 44     NOTE: *UNCOND
0c90: 49 54 49 4f 4e 41 4c 2a 20 57 65 20 6e 65 76 65  ITIONAL* We neve
0ca0: 72 20 77 61 6e 74 20 74 6f 20 75 73 65 20 74 68  r want to use th
0cb0: 65 20 68 6f 73 74 69 6e 67 20 70 72 6f 63 65 73  e hosting proces
0cc0: 73 20 66 6f 72 0d 0a 20 20 20 20 20 20 20 20 20  s for..         
0cd0: 20 20 20 20 20 64 65 62 75 67 67 69 6e 67 2e 20       debugging. 
0ce0: 20 49 74 20 63 61 75 73 65 73 20 70 72 6f 62 6c   It causes probl
0cf0: 65 6d 73 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  ems...    -->.. 
0d00: 20 20 20 3c 55 73 65 56 53 48 6f 73 74 69 6e 67     <UseVSHosting
0d10: 50 72 6f 63 65 73 73 3e 66 61 6c 73 65 3c 2f 55  Process>false</U
0d20: 73 65 56 53 48 6f 73 74 69 6e 67 50 72 6f 63 65  seVSHostingProce
0d30: 73 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d  ss>....    <!--.
0d40: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 2a  .        NOTE: *
0d50: 55 4e 43 4f 4e 44 49 54 49 4f 4e 41 4c 2a 20 57  UNCONDITIONAL* W
0d60: 65 20 6e 65 76 65 72 20 77 61 6e 74 20 74 6f 20  e never want to 
0d70: 75 73 65 20 74 68 65 20 66 61 73 74 20 75 70 2d  use the fast up-
0d80: 74 6f 2d 64 61 74 65 20 63 68 65 63 6b 0d 0a 20  to-date check.. 
0d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 61               tha
0da0: 74 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20  t Visual Studio 
0db0: 70 72 6f 76 69 64 65 73 2e 0d 0a 20 20 20 20 2d  provides...    -
0dc0: 2d 3e 0d 0a 20 20 20 20 3c 44 69 73 61 62 6c 65  ->..    <Disable
0dd0: 46 61 73 74 55 70 54 6f 44 61 74 65 43 68 65 63  FastUpToDateChec
0de0: 6b 3e 74 72 75 65 3c 2f 44 69 73 61 62 6c 65 46  k>true</DisableF
0df0: 61 73 74 55 70 54 6f 44 61 74 65 43 68 65 63 6b  astUpToDateCheck
0e00: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
0e10: 20 20 20 20 20 20 20 48 41 43 4b 3a 20 2a 55 4e         HACK: *UN
0e20: 43 4f 4e 44 49 54 49 4f 4e 41 4c 2a 20 54 68 65  CONDITIONAL* The
0e30: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 49   Visual Studio I
0e40: 44 45 20 69 67 6e 6f 72 65 73 20 74 68 65 0d 0a  DE ignores the..
0e50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 61                Ba
0e60: 73 65 49 6e 74 65 72 6d 65 64 69 61 74 65 4f 75  seIntermediateOu
0e70: 74 70 75 74 50 61 74 68 20 70 72 6f 70 65 72 74  tputPath propert
0e80: 79 20 61 6e 64 20 63 72 65 61 74 65 73 20 65 6d  y and creates em
0e90: 70 74 79 20 22 62 69 6e 22 20 61 6e 64 0d 0a 20  pty "bin" and.. 
0ea0: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 62               "ob
0eb0: 6a 22 20 64 69 72 65 63 74 6f 72 69 65 73 20 66  j" directories f
0ec0: 6f 72 20 65 76 65 72 79 20 70 72 6f 6a 65 63 74  or every project
0ed0: 20 77 68 65 6e 65 76 65 72 20 74 68 65 20 70 72   whenever the pr
0ee0: 6f 6a 65 63 74 20 69 73 20 6f 70 65 6e 65 64 0d  oject is opened.
0ef0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f  .              o
0f00: 72 20 62 75 69 6c 74 2e 20 20 41 6c 73 6f 2c 20  r built.  Also, 
0f10: 74 68 65 20 56 69 73 75 61 6c 20 53 74 75 64 69  the Visual Studi
0f20: 6f 20 49 44 45 20 77 69 6c 6c 20 6f 63 63 61 73  o IDE will occas
0f30: 69 6f 6e 61 6c 6c 79 20 66 61 69 6c 20 74 6f 0d  ionally fail to.
0f40: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72  .              r
0f50: 65 62 75 69 6c 64 20 74 68 65 20 70 72 6f 6a 65  ebuild the proje
0f60: 63 74 20 64 75 65 20 74 6f 20 74 68 69 73 20 63  ct due to this c
0f70: 6f 6e 66 75 73 69 6f 6e 2e 20 20 54 68 65 20 73  onfusion.  The s
0f80: 69 74 75 61 74 69 6f 6e 20 61 70 70 65 61 72 73  ituation appears
0f90: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
0fa0: 74 6f 20 69 6d 70 72 6f 76 65 20 73 6f 6d 65 77  to improve somew
0fb0: 68 61 74 20 77 68 65 6e 20 74 68 69 73 20 69 73  hat when this is
0fc0: 20 73 65 74 20 74 6f 20 66 61 6c 73 65 2e 20 20   set to false.  
0fd0: 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74  Please note that
0fe0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
0ff0: 65 76 65 6e 20 69 66 20 74 68 69 73 20 69 73 20  even if this is 
1000: 73 65 74 20 74 6f 20 66 61 6c 73 65 2c 20 74 68  set to false, th
1010: 69 6e 67 73 20 73 74 69 6c 6c 20 64 6f 20 6e 6f  ings still do no
1020: 74 20 77 6f 72 6b 20 31 30 30 25 0d 0a 20 20 20  t work 100%..   
1030: 20 20 20 20 20 20 20 20 20 20 20 63 6f 72 72 65             corre
1040: 63 74 6c 79 3b 20 68 6f 77 65 76 65 72 2c 20 61  ctly; however, a
1050: 74 20 6c 65 61 73 74 20 74 68 65 72 65 20 61 70  t least there ap
1060: 70 65 61 72 73 20 74 6f 20 62 65 20 6c 65 73 73  pears to be less
1070: 20 62 75 69 6c 64 0d 0a 20 20 20 20 20 20 20 20   build..        
1080: 20 20 20 20 20 20 66 61 69 6c 75 72 65 73 2e 0d        failures..
1090: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
10a0: 20 50 6c 65 61 73 65 20 73 65 65 20 4d 69 63 72   Please see Micr
10b0: 6f 73 6f 66 74 20 43 6f 6e 6e 65 63 74 20 46 65  osoft Connect Fe
10c0: 65 64 62 61 63 6b 49 44 20 31 30 35 38 35 34 20  edbackID 105854 
10d0: 66 6f 72 20 74 68 65 69 72 20 6f 66 66 69 63 69  for their offici
10e0: 61 6c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  al..            
10f0: 20 20 6c 69 73 74 20 6f 66 20 65 78 63 75 73 65    list of excuse
1100: 73 2c 20 6f 6e 20 74 68 69 73 20 6e 6f 77 20 6d  s, on this now m
1110: 6f 72 65 20 74 68 61 6e 20 33 20 79 65 61 72 20  ore than 3 year 
1120: 6f 6c 64 20 62 75 67 2e 0d 0a 20 20 20 20 2d 2d  old bug...    --
1130: 3e 0d 0a 20 20 20 20 3c 55 73 65 48 6f 73 74 43  >..    <UseHostC
1140: 6f 6d 70 69 6c 65 72 49 66 41 76 61 69 6c 61 62  ompilerIfAvailab
1150: 6c 65 3e 66 61 6c 73 65 3c 2f 55 73 65 48 6f 73  le>false</UseHos
1160: 74 43 6f 6d 70 69 6c 65 72 49 66 41 76 61 69 6c  tCompilerIfAvail
1170: 61 62 6c 65 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65  able>..  </Prope
1180: 72 74 79 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c  rtyGroup>....  <
1190: 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a  !--..  *********
11a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
11b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
11c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
11d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
11e0: 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20  *****..  **     
11f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1200: 20 20 46 72 61 6d 65 77 6f 72 6b 20 56 65 72 73    Framework Vers
1210: 69 6f 6e 20 50 72 6f 70 65 72 74 69 65 73 20 20  ion Properties  
1220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1230: 20 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a       **..  *****
1240: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1250: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e  *********..  -->
1290: 0d 0a 0d 0a 20 20 3c 50 72 6f 70 65 72 74 79 47  ....  <PropertyG
12a0: 72 6f 75 70 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d  roup>..    <!--.
12b0: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4f  .        NOTE: O
12c0: 6e 6c 79 20 75 73 65 20 66 75 6e 63 74 69 6f 6e  nly use function
12d0: 61 6c 69 74 79 20 61 76 61 69 6c 61 62 6c 65 20  ality available 
12e0: 69 6e 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d  in the .NET Fram
12f0: 65 77 6f 72 6b 20 32 2e 30 3f 20 20 42 79 0d 0a  ework 2.0?  By..
1300: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65                de
1310: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64  fault, this is d
1320: 69 73 61 62 6c 65 64 2e 20 20 54 68 69 73 20 6d  isabled.  This m
1330: 75 73 74 20 62 65 20 65 6e 61 62 6c 65 64 20 74  ust be enabled t
1340: 6f 20 73 75 63 63 65 73 73 66 75 6c 6c 79 0d 0a  o successfully..
1350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75                bu
1360: 69 6c 64 20 74 68 65 20 70 72 6f 6a 65 63 74 20  ild the project 
1370: 75 73 69 6e 67 20 56 69 73 75 61 6c 20 53 74 75  using Visual Stu
1380: 64 69 6f 20 32 30 30 35 20 61 6e 64 2f 6f 72 20  dio 2005 and/or 
1390: 74 68 65 20 2e 4e 45 54 0d 0a 20 20 20 20 20 20  the .NET..      
13a0: 20 20 20 20 20 20 20 20 46 72 61 6d 65 77 6f 72          Framewor
13b0: 6b 20 32 2e 30 20 28 69 66 20 6e 65 63 65 73 73  k 2.0 (if necess
13c0: 61 72 79 2c 20 69 74 20 77 69 6c 6c 20 74 79 70  ary, it will typ
13d0: 69 63 61 6c 6c 79 20 62 65 20 65 6e 61 62 6c 65  ically be enable
13e0: 64 20 66 72 6f 6d 0d 0a 20 20 20 20 20 20 20 20  d from..        
13f0: 20 20 20 20 20 20 77 69 74 68 69 6e 20 74 68 65        within the
1400: 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 20 69 74   project file it
1410: 73 65 6c 66 29 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  self)...    -->.
1420: 0a 20 20 20 20 3c 4e 65 74 46 78 32 30 20 43 6f  .    <NetFx20 Co
1430: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46  ndition="'$(NetF
1440: 78 32 30 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c  x20)' == ''">fal
1450: 73 65 3c 2f 4e 65 74 46 78 32 30 3e 0d 0a 0d 0a  se</NetFx20>....
1460: 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20      <!--..      
1470: 20 20 4e 4f 54 45 3a 20 4f 6e 6c 79 20 75 73 65    NOTE: Only use
1480: 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61   functionality a
1490: 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20  vailable in the 
14a0: 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 33  .NET Framework 3
14b0: 2e 35 3f 20 20 42 79 0d 0a 20 20 20 20 20 20 20  .5?  By..       
14c0: 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20         default, 
14d0: 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64  this is disabled
14e0: 2e 20 20 54 68 69 73 20 6d 75 73 74 20 62 65 20  .  This must be 
14f0: 65 6e 61 62 6c 65 64 20 74 6f 20 73 75 63 63 65  enabled to succe
1500: 73 73 66 75 6c 6c 79 0d 0a 20 20 20 20 20 20 20  ssfully..       
1510: 20 20 20 20 20 20 20 62 75 69 6c 64 20 74 68 65         build the
1520: 20 70 72 6f 6a 65 63 74 20 75 73 69 6e 67 20 56   project using V
1530: 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30 30  isual Studio 200
1540: 38 20 61 6e 64 2f 6f 72 20 74 68 65 20 2e 4e 45  8 and/or the .NE
1550: 54 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  T..             
1560: 20 46 72 61 6d 65 77 6f 72 6b 20 33 2e 35 20 28   Framework 3.5 (
1570: 69 66 20 6e 65 63 65 73 73 61 72 79 2c 20 69 74  if necessary, it
1580: 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20   will typically 
1590: 62 65 20 65 6e 61 62 6c 65 64 20 66 72 6f 6d 0d  be enabled from.
15a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77  .              w
15b0: 69 74 68 69 6e 20 74 68 65 20 70 72 6f 6a 65 63  ithin the projec
15c0: 74 20 66 69 6c 65 20 69 74 73 65 6c 66 29 2e 0d  t file itself)..
15d0: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e  .    -->..    <N
15e0: 65 74 46 78 33 35 20 43 6f 6e 64 69 74 69 6f 6e  etFx35 Condition
15f0: 3d 22 27 24 28 4e 65 74 46 78 33 35 29 27 20 3d  ="'$(NetFx35)' =
1600: 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74  = ''">false</Net
1610: 46 78 33 35 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d  Fx35>....    <!-
1620: 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a  -..        NOTE:
1630: 20 4f 6e 6c 79 20 75 73 65 20 66 75 6e 63 74 69   Only use functi
1640: 6f 6e 61 6c 69 74 79 20 61 76 61 69 6c 61 62 6c  onality availabl
1650: 65 20 69 6e 20 74 68 65 20 2e 4e 45 54 20 46 72  e in the .NET Fr
1660: 61 6d 65 77 6f 72 6b 20 34 2e 30 3f 20 20 42 79  amework 4.0?  By
1670: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1680: 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73  default, this is
1690: 20 64 69 73 61 62 6c 65 64 2e 20 20 54 68 69 73   disabled.  This
16a0: 20 6d 75 73 74 20 62 65 20 65 6e 61 62 6c 65 64   must be enabled
16b0: 20 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c 79   to successfully
16c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
16d0: 62 75 69 6c 64 20 74 68 65 20 70 72 6f 6a 65 63  build the projec
16e0: 74 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 53  t using Visual S
16f0: 74 75 64 69 6f 20 32 30 31 30 20 61 6e 64 2f 6f  tudio 2010 and/o
1700: 72 20 74 68 65 20 2e 4e 45 54 0d 0a 20 20 20 20  r the .NET..    
1710: 20 20 20 20 20 20 20 20 20 20 46 72 61 6d 65 77            Framew
1720: 6f 72 6b 20 34 2e 30 20 28 69 66 20 6e 65 63 65  ork 4.0 (if nece
1730: 73 73 61 72 79 2c 20 69 74 20 77 69 6c 6c 20 74  ssary, it will t
1740: 79 70 69 63 61 6c 6c 79 20 62 65 20 65 6e 61 62  ypically be enab
1750: 6c 65 64 20 66 72 6f 6d 0d 0a 20 20 20 20 20 20  led from..      
1760: 20 20 20 20 20 20 20 20 77 69 74 68 69 6e 20 74          within t
1770: 68 65 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 20  he project file 
1780: 69 74 73 65 6c 66 29 2e 0d 0a 20 20 20 20 2d 2d  itself)...    --
1790: 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 34 30 20  >..    <NetFx40 
17a0: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65  Condition="'$(Ne
17b0: 74 46 78 34 30 29 27 20 3d 3d 20 27 27 22 3e 66  tFx40)' == ''">f
17c0: 61 6c 73 65 3c 2f 4e 65 74 46 78 34 30 3e 0d 0a  alse</NetFx40>..
17d0: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
17e0: 20 20 20 20 4e 4f 54 45 3a 20 4f 6e 6c 79 20 75      NOTE: Only u
17f0: 73 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79  se functionality
1800: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
1810: 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b  e .NET Framework
1820: 20 34 2e 35 3f 20 20 42 79 0d 0a 20 20 20 20 20   4.5?  By..     
1830: 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74           default
1840: 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c  , this is disabl
1850: 65 64 2e 20 20 54 68 69 73 20 6d 75 73 74 20 62  ed.  This must b
1860: 65 20 65 6e 61 62 6c 65 64 20 74 6f 20 73 75 63  e enabled to suc
1870: 63 65 73 73 66 75 6c 6c 79 0d 0a 20 20 20 20 20  cessfully..     
1880: 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 20 74           build t
1890: 68 65 20 70 72 6f 6a 65 63 74 20 75 73 69 6e 67  he project using
18a0: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32   Visual Studio 2
18b0: 30 31 32 20 61 6e 64 2f 6f 72 20 74 68 65 20 2e  012 and/or the .
18c0: 4e 45 54 0d 0a 20 20 20 20 20 20 20 20 20 20 20  NET..           
18d0: 20 20 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35     Framework 4.5
18e0: 20 28 69 66 20 6e 65 63 65 73 73 61 72 79 2c 20   (if necessary, 
18f0: 69 74 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c  it will typicall
1900: 79 20 62 65 20 65 6e 61 62 6c 65 64 20 66 72 6f  y be enabled fro
1910: 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  m..             
1920: 20 77 69 74 68 69 6e 20 74 68 65 20 70 72 6f 6a   within the proj
1930: 65 63 74 20 66 69 6c 65 20 69 74 73 65 6c 66 29  ect file itself)
1940: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
1950: 3c 4e 65 74 46 78 34 35 20 43 6f 6e 64 69 74 69  <NetFx45 Conditi
1960: 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 35 29 27  on="'$(NetFx45)'
1970: 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e   == ''">false</N
1980: 65 74 46 78 34 35 3e 0d 0a 0d 0a 20 20 20 20 3c  etFx45>....    <
1990: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
19a0: 45 3a 20 4f 6e 6c 79 20 75 73 65 20 66 75 6e 63  E: Only use func
19b0: 74 69 6f 6e 61 6c 69 74 79 20 61 76 61 69 6c 61  tionality availa
19c0: 62 6c 65 20 69 6e 20 74 68 65 20 2e 4e 45 54 20  ble in the .NET 
19d0: 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35 2e 31 3f  Framework 4.5.1?
19e0: 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20    By..          
19f0: 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69      default, thi
1a00: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20  s is disabled.  
1a10: 54 68 69 73 20 6d 75 73 74 20 62 65 20 65 6e 61  This must be ena
1a20: 62 6c 65 64 20 74 6f 20 73 75 63 63 65 73 73 66  bled to successf
1a30: 75 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20 20 20  ully..          
1a40: 20 20 20 20 62 75 69 6c 64 20 74 68 65 20 70 72      build the pr
1a50: 6f 6a 65 63 74 20 75 73 69 6e 67 20 56 69 73 75  oject using Visu
1a60: 61 6c 20 53 74 75 64 69 6f 20 32 30 31 33 20 61  al Studio 2013 a
1a70: 6e 64 2f 6f 72 20 74 68 65 20 2e 4e 45 54 0d 0a  nd/or the .NET..
1a80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 72                Fr
1a90: 61 6d 65 77 6f 72 6b 20 34 2e 35 2e 31 20 28 69  amework 4.5.1 (i
1aa0: 66 20 6e 65 63 65 73 73 61 72 79 2c 20 69 74 20  f necessary, it 
1ab0: 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 62  will typically b
1ac0: 65 20 65 6e 61 62 6c 65 64 20 66 72 6f 6d 0d 0a  e enabled from..
1ad0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69                wi
1ae0: 74 68 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74  thin the project
1af0: 20 66 69 6c 65 20 69 74 73 65 6c 66 29 2e 0d 0a   file itself)...
1b00: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65      -->..    <Ne
1b10: 74 46 78 34 35 31 20 43 6f 6e 64 69 74 69 6f 6e  tFx451 Condition
1b20: 3d 22 27 24 28 4e 65 74 46 78 34 35 31 29 27 20  ="'$(NetFx451)' 
1b30: 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65  == ''">false</Ne
1b40: 74 46 78 34 35 31 3e 0d 0a 0d 0a 20 20 20 20 3c  tFx451>....    <
1b50: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
1b60: 45 3a 20 4c 6f 61 64 20 74 68 65 20 76 65 72 73  E: Load the vers
1b70: 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65 74  ion-specific set
1b80: 74 69 6e 67 73 20 66 6f 72 20 74 68 65 20 2e 4e  tings for the .N
1b90: 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 32 2e 30  ET Framework 2.0
1ba0: 3f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ?..             
1bb0: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
1bc0: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20  s is disabled.  
1bd0: 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c  If this is enabl
1be0: 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  ed when compilin
1bf0: 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  g..             
1c00: 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46 72   for the .NET Fr
1c10: 61 6d 65 77 6f 72 6b 20 32 2e 30 2c 20 74 68 65  amework 2.0, the
1c20: 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69   version-specifi
1c30: 63 20 73 65 74 74 69 6e 67 73 20 66 69 6c 65 0d  c settings file.
1c40: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22  .              "
1c50: 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69  SQLite.NET.Setti
1c60: 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46  ngs.targets.netF
1c70: 78 32 30 22 20 77 69 6c 6c 20 62 65 20 6c 6f 61  x20" will be loa
1c80: 64 65 64 20 69 66 20 69 74 20 69 73 0d 0a 20 20  ded if it is..  
1c90: 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75              actu
1ca0: 61 6c 6c 79 20 70 72 65 73 65 6e 74 2c 20 62 65  ally present, be
1cb0: 66 6f 72 65 20 61 6e 79 20 6f 74 68 65 72 20 73  fore any other s
1cc0: 65 74 74 69 6e 67 73 20 69 6e 20 74 68 69 73 20  ettings in this 
1cd0: 66 69 6c 65 20 61 72 65 0d 0a 20 20 20 20 20 20  file are..      
1ce0: 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 65          processe
1cf0: 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20  d...    -->..   
1d00: 20 3c 4e 65 74 46 78 32 30 53 65 74 74 69 6e 67   <NetFx20Setting
1d10: 73 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  s Condition="'$(
1d20: 4e 65 74 46 78 32 30 53 65 74 74 69 6e 67 73 29  NetFx20Settings)
1d30: 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f  ' == ''">false</
1d40: 4e 65 74 46 78 32 30 53 65 74 74 69 6e 67 73 3e  NetFx20Settings>
1d50: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
1d60: 20 20 20 20 20 20 4e 4f 54 45 3a 20 4c 6f 61 64        NOTE: Load
1d70: 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65   the version-spe
1d80: 63 69 66 69 63 20 73 65 74 74 69 6e 67 73 20 66  cific settings f
1d90: 6f 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d  or the .NET Fram
1da0: 65 77 6f 72 6b 20 33 2e 35 3f 0d 0a 20 20 20 20  ework 3.5?..    
1db0: 20 20 20 20 20 20 20 20 20 20 42 79 20 64 65 66            By def
1dc0: 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69  ault, this is di
1dd0: 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73  sabled.  If this
1de0: 20 69 73 20 65 6e 61 62 6c 65 64 20 77 68 65 6e   is enabled when
1df0: 20 63 6f 6d 70 69 6c 69 6e 67 0d 0a 20 20 20 20   compiling..    
1e00: 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68            for th
1e10: 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b  e .NET Framework
1e20: 20 33 2e 35 2c 20 74 68 65 20 76 65 72 73 69 6f   3.5, the versio
1e30: 6e 2d 73 70 65 63 69 66 69 63 20 73 65 74 74 69  n-specific setti
1e40: 6e 67 73 20 66 69 6c 65 0d 0a 20 20 20 20 20 20  ngs file..      
1e50: 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e          "SQLite.
1e60: 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72  NET.Settings.tar
1e70: 67 65 74 73 2e 6e 65 74 46 78 33 35 22 20 77 69  gets.netFx35" wi
1e80: 6c 6c 20 62 65 20 6c 6f 61 64 65 64 20 69 66 20  ll be loaded if 
1e90: 69 74 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20  it is..         
1ea0: 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 70 72       actually pr
1eb0: 65 73 65 6e 74 2c 20 62 65 66 6f 72 65 20 61 6e  esent, before an
1ec0: 79 20 6f 74 68 65 72 20 73 65 74 74 69 6e 67 73  y other settings
1ed0: 20 69 6e 20 74 68 69 73 20 66 69 6c 65 20 61 72   in this file ar
1ee0: 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  e..             
1ef0: 20 70 72 6f 63 65 73 73 65 64 2e 0d 0a 20 20 20   processed...   
1f00: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78   -->..    <NetFx
1f10: 33 35 53 65 74 74 69 6e 67 73 20 43 6f 6e 64 69  35Settings Condi
1f20: 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 33 35  tion="'$(NetFx35
1f30: 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20 27 27  Settings)' == ''
1f40: 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78 33 35  ">false</NetFx35
1f50: 53 65 74 74 69 6e 67 73 3e 0d 0a 0d 0a 20 20 20  Settings>....   
1f60: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
1f70: 4f 54 45 3a 20 4c 6f 61 64 20 74 68 65 20 76 65  OTE: Load the ve
1f80: 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73  rsion-specific s
1f90: 65 74 74 69 6e 67 73 20 66 6f 72 20 74 68 65 20  ettings for the 
1fa0: 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34  .NET Framework 4
1fb0: 2e 30 3f 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .0?..           
1fc0: 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74     By default, t
1fd0: 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e  his is disabled.
1fe0: 20 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61    If this is ena
1ff0: 62 6c 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c  bled when compil
2000: 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ing..           
2010: 20 20 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20     for the .NET 
2020: 46 72 61 6d 65 77 6f 72 6b 20 34 2e 30 2c 20 74  Framework 4.0, t
2030: 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69  he version-speci
2040: 66 69 63 20 73 65 74 74 69 6e 67 73 20 66 69 6c  fic settings fil
2050: 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  e..             
2060: 20 22 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74   "SQLite.NET.Set
2070: 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65  tings.targets.ne
2080: 74 46 78 34 30 22 20 77 69 6c 6c 20 62 65 20 6c  tFx40" will be l
2090: 6f 61 64 65 64 20 69 66 20 69 74 20 69 73 0d 0a  oaded if it is..
20a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63                ac
20b0: 74 75 61 6c 6c 79 20 70 72 65 73 65 6e 74 2c 20  tually present, 
20c0: 62 65 66 6f 72 65 20 61 6e 79 20 6f 74 68 65 72  before any other
20d0: 20 73 65 74 74 69 6e 67 73 20 69 6e 20 74 68 69   settings in thi
20e0: 73 20 66 69 6c 65 20 61 72 65 0d 0a 20 20 20 20  s file are..    
20f0: 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73            proces
2100: 73 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  sed...    -->.. 
2110: 20 20 20 3c 4e 65 74 46 78 34 30 53 65 74 74 69     <NetFx40Setti
2120: 6e 67 73 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  ngs Condition="'
2130: 24 28 4e 65 74 46 78 34 30 53 65 74 74 69 6e 67  $(NetFx40Setting
2140: 73 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65  s)' == ''">false
2150: 3c 2f 4e 65 74 46 78 34 30 53 65 74 74 69 6e 67  </NetFx40Setting
2160: 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  s>....    <!--..
2170: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4c 6f          NOTE: Lo
2180: 61 64 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73  ad the version-s
2190: 70 65 63 69 66 69 63 20 73 65 74 74 69 6e 67 73  pecific settings
21a0: 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46 72   for the .NET Fr
21b0: 61 6d 65 77 6f 72 6b 20 34 2e 35 3f 0d 0a 20 20  amework 4.5?..  
21c0: 20 20 20 20 20 20 20 20 20 20 20 20 42 79 20 64              By d
21d0: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
21e0: 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68  disabled.  If th
21f0: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 20 77 68  is is enabled wh
2200: 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0d 0a 20 20  en compiling..  
2210: 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20              for 
2220: 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f  the .NET Framewo
2230: 72 6b 20 34 2e 35 2c 20 74 68 65 20 76 65 72 73  rk 4.5, the vers
2240: 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65 74  ion-specific set
2250: 74 69 6e 67 73 20 66 69 6c 65 0d 0a 20 20 20 20  tings file..    
2260: 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74            "SQLit
2270: 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74  e.NET.Settings.t
2280: 61 72 67 65 74 73 2e 6e 65 74 46 78 34 35 22 20  argets.netFx45" 
2290: 77 69 6c 6c 20 62 65 20 6c 6f 61 64 65 64 20 69  will be loaded i
22a0: 66 20 69 74 20 69 73 0d 0a 20 20 20 20 20 20 20  f it is..       
22b0: 20 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20         actually 
22c0: 70 72 65 73 65 6e 74 2c 20 62 65 66 6f 72 65 20  present, before 
22d0: 61 6e 79 20 6f 74 68 65 72 20 73 65 74 74 69 6e  any other settin
22e0: 67 73 20 69 6e 20 74 68 69 73 20 66 69 6c 65 20  gs in this file 
22f0: 61 72 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  are..           
2300: 20 20 20 70 72 6f 63 65 73 73 65 64 2e 0d 0a 20     processed... 
2310: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74     -->..    <Net
2320: 46 78 34 35 53 65 74 74 69 6e 67 73 20 43 6f 6e  Fx45Settings Con
2330: 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78  dition="'$(NetFx
2340: 34 35 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20  45Settings)' == 
2350: 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78  ''">false</NetFx
2360: 34 35 53 65 74 74 69 6e 67 73 3e 0d 0a 0d 0a 20  45Settings>.... 
2370: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
2380: 20 4e 4f 54 45 3a 20 4c 6f 61 64 20 74 68 65 20   NOTE: Load the 
2390: 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63  version-specific
23a0: 20 73 65 74 74 69 6e 67 73 20 66 6f 72 20 74 68   settings for th
23b0: 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b  e .NET Framework
23c0: 20 34 2e 35 2e 31 3f 0d 0a 20 20 20 20 20 20 20   4.5.1?..       
23d0: 20 20 20 20 20 20 20 42 79 20 64 65 66 61 75 6c         By defaul
23e0: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
23f0: 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73  led.  If this is
2400: 20 65 6e 61 62 6c 65 64 20 77 68 65 6e 20 63 6f   enabled when co
2410: 6d 70 69 6c 69 6e 67 0d 0a 20 20 20 20 20 20 20  mpiling..       
2420: 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 2e         for the .
2430: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e  NET Framework 4.
2440: 35 2e 31 2c 20 74 68 65 20 76 65 72 73 69 6f 6e  5.1, the version
2450: 2d 73 70 65 63 69 66 69 63 20 73 65 74 74 69 6e  -specific settin
2460: 67 73 20 66 69 6c 65 0d 0a 20 20 20 20 20 20 20  gs file..       
2470: 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 4e         "SQLite.N
2480: 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67  ET.Settings.targ
2490: 65 74 73 2e 6e 65 74 46 78 34 35 31 22 20 77 69  ets.netFx451" wi
24a0: 6c 6c 20 62 65 20 6c 6f 61 64 65 64 20 69 66 20  ll be loaded if 
24b0: 69 74 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20  it is..         
24c0: 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 70 72       actually pr
24d0: 65 73 65 6e 74 2c 20 62 65 66 6f 72 65 20 61 6e  esent, before an
24e0: 79 20 6f 74 68 65 72 20 73 65 74 74 69 6e 67 73  y other settings
24f0: 20 69 6e 20 74 68 69 73 20 66 69 6c 65 20 61 72   in this file ar
2500: 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  e..             
2510: 20 70 72 6f 63 65 73 73 65 64 2e 0d 0a 20 20 20   processed...   
2520: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78   -->..    <NetFx
2530: 34 35 31 53 65 74 74 69 6e 67 73 20 43 6f 6e 64  451Settings Cond
2540: 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34  ition="'$(NetFx4
2550: 35 31 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20  51Settings)' == 
2560: 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78  ''">false</NetFx
2570: 34 35 31 53 65 74 74 69 6e 67 73 3e 0d 0a 20 20  451Settings>..  
2580: 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e  </PropertyGroup>
2590: 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a  ....  <!--..  **
25a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
25b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
25c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
25d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
25e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20  ************..  
25f0: 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  **              
2600: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 65                Fe
2610: 61 74 75 72 65 20 50 72 6f 70 65 72 74 69 65 73  ature Properties
2620: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2630: 20 20 20 20 20 20 20 20 20 20 20 20 2a 2a 0d 0a              **..
2640: 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a    **************
2650: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
2660: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
2670: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
2680: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
2690: 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72  ..  -->....  <Pr
26a0: 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 20 20  opertyGroup>..  
26b0: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
26c0: 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 65 78 74  NOTE: Enable ext
26d0: 72 61 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74  ra internal stat
26e0: 65 20 63 68 65 63 6b 69 6e 67 20 66 6f 72 20 74  e checking for t
26f0: 68 65 20 70 75 62 6c 69 63 20 6d 65 6d 62 65 72  he public member
2700: 73 20 6f 66 0d 0a 20 20 20 20 20 20 20 20 20 20  s of..          
2710: 20 20 20 20 73 65 76 65 72 61 6c 20 6b 65 79 20      several key 
2720: 63 6c 61 73 73 65 73 20 74 68 61 74 20 75 73 65  classes that use
2730: 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 20 20   a connection.  
2740: 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73  By default, this
2750: 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20   is..           
2760: 20 20 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20 20     disabled...  
2770: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 43 68 65 63    -->..    <Chec
2780: 6b 53 74 61 74 65 20 43 6f 6e 64 69 74 69 6f 6e  kState Condition
2790: 3d 22 27 24 28 43 68 65 63 6b 53 74 61 74 65 29  ="'$(CheckState)
27a0: 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f  ' == ''">false</
27b0: 43 68 65 63 6b 53 74 61 74 65 3e 0d 0a 0d 0a 20  CheckState>.... 
27c0: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
27d0: 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 63 6f   NOTE: Enable co
27e0: 75 6e 74 69 6e 67 20 6f 66 20 61 6c 6c 20 6f 62  unting of all ob
27f0: 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 73 20 66  ject instances f
2800: 6f 72 20 74 68 65 20 43 72 69 74 69 63 61 6c 48  or the CriticalH
2810: 61 6e 64 6c 65 0d 0a 20 20 20 20 20 20 20 20 20  andle..         
2820: 20 20 20 20 20 64 65 72 69 76 65 64 20 63 6c 61       derived cla
2830: 73 73 65 73 3f 20 20 42 79 20 64 65 66 61 75 6c  sses?  By defaul
2840: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
2850: 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73  led.  If this is
2860: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
2870: 65 6e 61 62 6c 65 64 2c 20 74 68 69 73 20 6c 69  enabled, this li
2880: 62 72 61 72 79 20 77 69 6c 6c 20 6b 65 65 70 20  brary will keep 
2890: 63 6f 75 6e 74 20 6f 66 20 61 6c 6c 20 6e 6f 6e  count of all non
28a0: 2d 64 69 73 70 6f 73 65 64 20 6f 62 6a 65 63 74  -disposed object
28b0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
28c0: 69 6e 73 74 61 6e 63 65 73 20 66 6f 72 20 61 6c  instances for al
28d0: 6c 20 74 68 65 20 43 72 69 74 69 63 61 6c 48 61  l the CriticalHa
28e0: 6e 64 6c 65 20 64 65 72 69 76 65 64 20 63 6c 61  ndle derived cla
28f0: 73 73 65 73 2e 20 20 45 61 63 68 0d 0a 20 20 20  sses.  Each..   
2900: 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74             count
2910: 65 72 20 77 69 6c 6c 20 62 65 20 69 6e 63 72 65  er will be incre
2920: 6d 65 6e 74 65 64 20 77 68 65 6e 20 61 6e 20 69  mented when an i
2930: 6e 73 74 61 6e 63 65 20 6f 66 20 74 68 65 20 61  nstance of the a
2940: 73 73 6f 63 69 61 74 65 64 0d 0a 20 20 20 20 20  ssociated..     
2950: 20 20 20 20 20 20 20 20 20 63 72 69 74 69 63 61           critica
2960: 6c 20 68 61 6e 64 6c 65 20 63 6c 61 73 73 20 69  l handle class i
2970: 73 20 63 6f 6e 73 74 72 75 63 74 65 64 20 61 6e  s constructed an
2980: 64 20 64 65 63 72 65 6d 65 6e 74 65 64 20 77 68  d decremented wh
2990: 65 6e 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20  en the..        
29a0: 20 20 20 20 20 20 52 65 6c 65 61 73 65 48 61 6e        ReleaseHan
29b0: 64 6c 65 20 6d 65 74 68 6f 64 20 69 73 20 63 6f  dle method is co
29c0: 6d 70 6c 65 74 65 64 20 73 75 63 63 65 73 73 66  mpleted successf
29d0: 75 6c 6c 79 20 6f 6e 20 61 6e 20 69 6e 73 74 61  ully on an insta
29e0: 6e 63 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20  nce...          
29f0: 20 20 20 20 54 68 65 73 65 20 63 6f 75 6e 74 73      These counts
2a00: 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f   are intended to
2a10: 20 62 65 20 75 73 65 64 20 62 79 20 74 68 65 20   be used by the 
2a20: 74 65 73 74 20 73 75 69 74 65 20 74 6f 20 64 65  test suite to de
2a30: 74 65 63 74 0d 0a 20 20 20 20 20 20 20 20 20 20  tect..          
2a40: 20 20 20 20 70 6f 73 73 69 62 6c 65 20 72 65 73      possible res
2a50: 6f 75 72 63 65 20 6c 65 61 6b 73 2e 0d 0a 20 20  ource leaks...  
2a60: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 43 6f 75 6e    -->..    <Coun
2a70: 74 48 61 6e 64 6c 65 20 43 6f 6e 64 69 74 69 6f  tHandle Conditio
2a80: 6e 3d 22 27 24 28 43 6f 75 6e 74 48 61 6e 64 6c  n="'$(CountHandl
2a90: 65 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65  e)' == ''">false
2aa0: 3c 2f 43 6f 75 6e 74 48 61 6e 64 6c 65 3e 0d 0a  </CountHandle>..
2ab0: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
2ac0: 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65      NOTE: Enable
2ad0: 20 74 72 61 63 6b 69 6e 67 20 6f 66 20 61 6c 6c   tracking of all
2ae0: 20 6f 75 74 73 74 61 6e 64 69 6e 67 20 62 79 74   outstanding byt
2af0: 65 73 20 61 6c 6c 6f 63 61 74 65 64 20 62 79 20  es allocated by 
2b00: 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  the..           
2b10: 20 20 20 53 51 4c 69 74 65 4d 65 6d 6f 72 79 20     SQLiteMemory 
2b20: 63 6c 61 73 73 2e 20 20 42 79 20 64 65 66 61 75  class.  By defau
2b30: 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61  lt, this is disa
2b40: 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69  bled.  If this i
2b50: 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  s..             
2b60: 20 65 6e 61 62 6c 65 64 2c 20 74 68 69 73 20 6c   enabled, this l
2b70: 69 62 72 61 72 79 20 77 69 6c 6c 20 6b 65 65 70  ibrary will keep
2b80: 20 74 72 61 63 6b 20 6f 66 20 61 6c 6c 20 6f 75   track of all ou
2b90: 74 73 74 61 6e 64 69 6e 67 20 62 79 74 65 73 0d  tstanding bytes.
2ba0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61  .              a
2bb0: 6c 6c 6f 63 61 74 65 64 20 62 79 20 74 68 65 20  llocated by the 
2bc0: 53 51 4c 69 74 65 4d 65 6d 6f 72 79 20 63 6c 61  SQLiteMemory cla
2bd0: 73 73 2e 20 20 54 68 69 73 20 68 61 73 20 74 68  ss.  This has th
2be0: 65 20 70 6f 74 65 6e 74 69 61 6c 20 74 6f 0d 0a  e potential to..
2bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6c                sl
2c00: 6f 77 20 64 6f 77 6e 20 74 68 65 20 6c 69 62 72  ow down the libr
2c10: 61 72 79 20 61 20 62 69 74 2e 0d 0a 20 20 20 20  ary a bit...    
2c20: 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61 63 6b 4d  -->..    <TrackM
2c30: 65 6d 6f 72 79 42 79 74 65 73 20 43 6f 6e 64 69  emoryBytes Condi
2c40: 74 69 6f 6e 3d 22 27 24 28 54 72 61 63 6b 4d 65  tion="'$(TrackMe
2c50: 6d 6f 72 79 42 79 74 65 73 29 27 20 3d 3d 20 27  moryBytes)' == '
2c60: 27 22 3e 66 61 6c 73 65 3c 2f 54 72 61 63 6b 4d  '">false</TrackM
2c70: 65 6d 6f 72 79 42 79 74 65 73 3e 0d 0a 0d 0a 20  emoryBytes>.... 
2c80: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
2c90: 20 4e 4f 54 45 3a 20 46 6f 72 20 69 6e 74 65 72   NOTE: For inter
2ca0: 61 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20  action with the 
2cb0: 6e 61 74 69 76 65 20 53 51 4c 69 74 65 20 69 6d  native SQLite im
2cc0: 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c 20 75 73  plementation, us
2cd0: 65 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20  e the..         
2ce0: 20 20 20 20 20 63 75 73 74 6f 6d 20 62 75 69 6c       custom buil
2cf0: 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28 69  t interop DLL (i
2d00: 2e 65 2e 20 22 53 51 4c 69 74 65 2e 49 6e 74 65  .e. "SQLite.Inte
2d10: 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64  rop.dll")?  By d
2d20: 65 66 61 75 6c 74 2c 0d 0a 20 20 20 20 20 20 20  efault,..       
2d30: 20 20 20 20 20 20 20 74 68 69 73 20 69 73 20 65         this is e
2d40: 6e 61 62 6c 65 64 2e 20 20 54 68 69 73 20 70 72  nabled.  This pr
2d50: 6f 70 65 72 74 79 20 69 73 20 6d 75 74 75 61 6c  operty is mutual
2d60: 6c 79 20 65 78 63 6c 75 73 69 76 65 20 77 69 74  ly exclusive wit
2d70: 68 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20  h the..         
2d80: 20 20 20 20 20 22 55 73 65 53 71 6c 69 74 65 53       "UseSqliteS
2d90: 74 61 6e 64 61 72 64 22 20 6f 6e 65 2c 20 62 65  tandard" one, be
2da0: 6c 6f 77 2e 20 20 54 68 69 73 20 73 68 6f 75 6c  low.  This shoul
2db0: 64 20 61 6c 77 61 79 73 20 62 65 20 64 69 73 61  d always be disa
2dc0: 62 6c 65 64 20 69 6e 0d 0a 20 20 20 20 20 20 20  bled in..       
2dd0: 20 20 20 20 20 20 20 74 68 65 20 70 72 6f 6a 65         the proje
2de0: 63 74 20 66 69 6c 65 20 74 68 61 74 20 62 75 69  ct file that bui
2df0: 6c 64 73 20 74 68 65 20 4e 65 74 4d 6f 64 75 6c  lds the NetModul
2e00: 65 20 74 61 72 67 65 74 2e 0d 0a 20 20 20 20 2d  e target...    -
2e10: 2d 3e 0d 0a 20 20 20 20 3c 55 73 65 49 6e 74 65  ->..    <UseInte
2e20: 72 6f 70 44 6c 6c 20 43 6f 6e 64 69 74 69 6f 6e  ropDll Condition
2e30: 3d 22 27 24 28 55 73 65 49 6e 74 65 72 6f 70 44  ="'$(UseInteropD
2e40: 6c 6c 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65  ll)' == ''">true
2e50: 3c 2f 55 73 65 49 6e 74 65 72 6f 70 44 6c 6c 3e  </UseInteropDll>
2e60: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
2e70: 20 20 20 20 20 20 4e 4f 54 45 3a 20 46 6f 72 20        NOTE: For 
2e80: 69 6e 74 65 72 61 63 74 69 6f 6e 20 77 69 74 68  interaction with
2e90: 20 74 68 65 20 6e 61 74 69 76 65 20 53 51 4c 69   the native SQLi
2ea0: 74 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  te implementatio
2eb0: 6e 2c 20 75 73 65 20 74 68 65 0d 0a 20 20 20 20  n, use the..    
2ec0: 20 20 20 20 20 20 20 20 20 20 73 71 6c 69 74 65            sqlite
2ed0: 33 5f 70 72 65 70 61 72 65 5f 76 32 28 29 20 66  3_prepare_v2() f
2ee0: 75 6e 63 74 69 6f 6e 20 77 68 65 6e 20 70 72 65  unction when pre
2ef0: 70 61 72 69 6e 67 20 71 75 65 72 69 65 73 3f 20  paring queries? 
2f00: 20 42 79 20 64 65 66 61 75 6c 74 2c 0d 0a 20 20   By default,..  
2f10: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
2f20: 20 69 73 20 65 6e 61 62 6c 65 64 2e 20 20 57 68   is enabled.  Wh
2f30: 65 6e 20 75 73 69 6e 67 20 61 20 6e 61 74 69 76  en using a nativ
2f40: 65 20 53 51 4c 69 74 65 20 69 6d 70 6c 65 6d 65  e SQLite impleme
2f50: 6e 74 61 74 69 6f 6e 20 70 72 69 6f 72 0d 0a 20  ntation prior.. 
2f60: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20               to 
2f70: 76 65 72 73 69 6f 6e 20 33 2e 33 2e 39 2c 20 74  version 3.3.9, t
2f80: 68 69 73 20 6d 75 73 74 20 62 65 20 64 69 73 61  his must be disa
2f90: 62 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  bled...    -->..
2fa0: 20 20 20 20 3c 55 73 65 50 72 65 70 61 72 65 56      <UsePrepareV
2fb0: 32 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  2 Condition="'$(
2fc0: 55 73 65 50 72 65 70 61 72 65 56 32 29 27 20 3d  UsePrepareV2)' =
2fd0: 3d 20 27 27 22 3e 74 72 75 65 3c 2f 55 73 65 50  = ''">true</UseP
2fe0: 72 65 70 61 72 65 56 32 3e 0d 0a 0d 0a 20 20 20  repareV2>....   
2ff0: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
3000: 4f 54 45 3a 20 46 6f 72 20 69 6e 74 65 72 61 63  OTE: For interac
3010: 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 6e 61  tion with the na
3020: 74 69 76 65 20 53 51 4c 69 74 65 20 69 6d 70 6c  tive SQLite impl
3030: 65 6d 65 6e 74 61 74 69 6f 6e 2c 20 75 73 65 20  ementation, use 
3040: 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  the..           
3050: 20 20 20 73 74 61 6e 64 61 72 64 20 44 4c 4c 20     standard DLL 
3060: 28 69 2e 65 2e 20 22 73 71 6c 69 74 65 33 2e 64  (i.e. "sqlite3.d
3070: 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c  ll")?  By defaul
3080: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
3090: 6c 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20  led...          
30a0: 20 20 20 20 54 68 69 73 20 70 72 6f 70 65 72 74      This propert
30b0: 79 20 69 73 20 6d 75 74 75 61 6c 6c 79 20 65 78  y is mutually ex
30c0: 63 6c 75 73 69 76 65 20 77 69 74 68 20 74 68 65  clusive with the
30d0: 20 22 55 73 65 49 6e 74 65 72 6f 70 44 6c 6c 22   "UseInteropDll"
30e0: 20 6f 6e 65 2c 0d 0a 20 20 20 20 20 20 20 20 20   one,..         
30f0: 20 20 20 20 20 61 62 6f 76 65 2e 20 20 54 68 69       above.  Thi
3100: 73 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20  s should always 
3110: 62 65 20 64 69 73 61 62 6c 65 64 20 69 6e 20 74  be disabled in t
3120: 68 65 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 20  he project file 
3130: 74 68 61 74 0d 0a 20 20 20 20 20 20 20 20 20 20  that..          
3140: 20 20 20 20 62 75 69 6c 64 73 20 74 68 65 20 4e      builds the N
3150: 65 74 4d 6f 64 75 6c 65 20 74 61 72 67 65 74 2e  etModule target.
3160: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
3170: 55 73 65 53 71 6c 69 74 65 53 74 61 6e 64 61 72  UseSqliteStandar
3180: 64 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  d Condition="'$(
3190: 55 73 65 53 71 6c 69 74 65 53 74 61 6e 64 61 72  UseSqliteStandar
31a0: 64 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65  d)' == ''">false
31b0: 3c 2f 55 73 65 53 71 6c 69 74 65 53 74 61 6e 64  </UseSqliteStand
31c0: 61 72 64 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  ard>....    <!--
31d0: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
31e0: 49 73 20 74 68 65 20 70 72 6f 6a 65 63 74 20 62  Is the project b
31f0: 65 69 6e 67 20 62 75 69 6c 74 20 74 6f 20 73 75  eing built to su
3200: 70 70 6f 72 74 20 74 68 65 20 2e 4e 45 54 20 43  pport the .NET C
3210: 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b  ompact Framework
3220: 3f 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ?..    -->..    
3230: 3c 49 73 43 6f 6d 70 61 63 74 46 72 61 6d 65 77  <IsCompactFramew
3240: 6f 72 6b 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  ork Condition="'
3250: 24 28 49 73 43 6f 6d 70 61 63 74 46 72 61 6d 65  $(IsCompactFrame
3260: 77 6f 72 6b 29 27 20 3d 3d 20 27 27 22 3e 66 61  work)' == ''">fa
3270: 6c 73 65 3c 2f 49 73 43 6f 6d 70 61 63 74 46 72  lse</IsCompactFr
3280: 61 6d 65 77 6f 72 6b 3e 0d 0a 0d 0a 20 20 20 20  amework>....    
3290: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
32a0: 54 45 3a 20 45 6d 69 74 20 61 6e 20 41 73 73 65  TE: Emit an Asse
32b0: 6d 62 6c 79 46 6c 61 67 73 20 61 74 74 72 69 62  mblyFlags attrib
32c0: 75 74 65 20 74 68 61 74 20 69 6e 63 6c 75 64 65  ute that include
32d0: 73 20 74 68 65 20 52 65 74 61 72 67 65 74 61 62  s the Retargetab
32e0: 6c 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  le..            
32f0: 20 20 66 6c 61 67 20 66 72 6f 6d 20 74 68 65 20    flag from the 
3300: 41 73 73 65 6d 62 6c 79 4e 61 6d 65 46 6c 61 67  AssemblyNameFlag
3310: 73 20 65 6e 75 6d 65 72 61 74 69 6f 6e 3f 0d 0a  s enumeration?..
3320: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 73      -->..    <Is
3330: 52 65 74 61 72 67 65 74 61 62 6c 65 20 43 6f 6e  Retargetable Con
3340: 64 69 74 69 6f 6e 3d 22 27 24 28 49 73 52 65 74  dition="'$(IsRet
3350: 61 72 67 65 74 61 62 6c 65 29 27 20 3d 3d 20 27  argetable)' == '
3360: 27 22 3e 66 61 6c 73 65 3c 2f 49 73 52 65 74 61  '">false</IsReta
3370: 72 67 65 74 61 62 6c 65 3e 0d 0a 0d 0a 20 20 20  rgetable>....   
3380: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
3390: 4f 54 45 3a 20 54 68 72 6f 77 20 61 6e 20 65 78  OTE: Throw an ex
33a0: 63 65 70 74 69 6f 6e 20 69 66 20 61 6e 20 6f 62  ception if an ob
33b0: 6a 65 63 74 20 68 61 73 20 61 6c 72 65 61 64 79  ject has already
33c0: 20 62 65 65 6e 20 64 69 73 70 6f 73 65 64 3f 20   been disposed? 
33d0: 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20   By..           
33e0: 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73     default, this
33f0: 20 69 73 20 65 6e 61 62 6c 65 64 2e 20 20 49 66   is enabled.  If
3400: 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65   this is disable
3410: 64 2c 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20  d, an exception 
3420: 77 69 6c 6c 0d 0a 20 20 20 20 20 20 20 20 20 20  will..          
3430: 20 20 20 20 6e 6f 74 20 62 65 20 74 68 72 6f 77      not be throw
3440: 6e 20 77 68 65 6e 20 61 20 53 51 4c 69 74 65 20  n when a SQLite 
3450: 6f 62 6a 65 63 74 20 77 68 69 63 68 20 68 61 73  object which has
3460: 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 64 69   already been di
3470: 73 70 6f 73 65 64 0d 0a 20 20 20 20 20 20 20 20  sposed..        
3480: 20 20 20 20 20 20 69 73 20 61 63 63 65 73 73 65        is accesse
3490: 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20  d...    -->..   
34a0: 20 3c 54 68 72 6f 77 4f 6e 44 69 73 70 6f 73 65   <ThrowOnDispose
34b0: 64 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  d Condition="'$(
34c0: 54 68 72 6f 77 4f 6e 44 69 73 70 6f 73 65 64 29  ThrowOnDisposed)
34d0: 27 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c 2f 54  ' == ''">true</T
34e0: 68 72 6f 77 4f 6e 44 69 73 70 6f 73 65 64 3e 0d  hrowOnDisposed>.
34f0: 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  ...    <!--..   
3500: 20 20 20 20 20 4e 4f 54 45 3a 20 2a 45 58 50 45       NOTE: *EXPE
3510: 52 49 4d 45 4e 54 41 4c 2a 20 41 74 74 65 6d 70  RIMENTAL* Attemp
3520: 74 20 74 6f 20 70 72 65 2d 6c 6f 61 64 20 74 68  t to pre-load th
3530: 65 20 6e 61 74 69 76 65 20 53 51 4c 69 74 65 20  e native SQLite 
3540: 6c 69 62 72 61 72 79 3f 20 20 42 79 0d 0a 20 20  library?  By..  
3550: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61              defa
3560: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65 6e 61  ult, this is ena
3570: 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69  bled.  If this i
3580: 73 20 64 69 73 61 62 6c 65 64 2c 20 6e 6f 20 61  s disabled, no a
3590: 74 74 65 6d 70 74 20 77 69 6c 6c 20 62 65 0d 0a  ttempt will be..
35a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61                ma
35b0: 64 65 20 74 6f 20 70 72 65 2d 6c 6f 61 64 20 74  de to pre-load t
35c0: 68 65 20 6e 61 74 69 76 65 20 53 51 4c 69 74 65  he native SQLite
35d0: 20 6c 69 62 72 61 72 79 20 61 70 70 72 6f 70 72   library appropr
35e0: 69 61 74 65 20 74 6f 20 74 68 65 0d 0a 20 20 20  iate to the..   
35f0: 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 65             proce
3600: 73 73 6f 72 20 61 72 63 68 69 74 65 63 74 75 72  ssor architectur
3610: 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74  e of the current
3620: 6c 79 20 72 75 6e 6e 69 6e 67 20 70 72 6f 63 65  ly running proce
3630: 73 73 20 75 70 6f 6e 20 75 73 69 6e 67 0d 0a 20  ss upon using.. 
3640: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65               the
3650: 20 63 6f 6d 70 6f 6e 65 6e 74 2e 20 20 54 68 69   component.  Thi
3660: 73 20 66 65 61 74 75 72 65 20 69 73 20 65 78 70  s feature is exp
3670: 65 72 69 6d 65 6e 74 61 6c 20 61 6e 64 20 6d 61  erimental and ma
3680: 79 20 62 65 20 6d 6f 64 69 66 69 65 64 0d 0a 20  y be modified.. 
3690: 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20               or 
36a0: 72 65 6d 6f 76 65 64 20 69 6e 20 61 20 66 75 74  removed in a fut
36b0: 75 72 65 20 72 65 6c 65 61 73 65 2e 0d 0a 20 20  ure release...  
36c0: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 50 72 65 4c    -->..    <PreL
36d0: 6f 61 64 4e 61 74 69 76 65 4c 69 62 72 61 72 79  oadNativeLibrary
36e0: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 50   Condition="'$(P
36f0: 72 65 4c 6f 61 64 4e 61 74 69 76 65 4c 69 62 72  reLoadNativeLibr
3700: 61 72 79 29 27 20 3d 3d 20 27 27 22 3e 74 72 75  ary)' == ''">tru
3710: 65 3c 2f 50 72 65 4c 6f 61 64 4e 61 74 69 76 65  e</PreLoadNative
3720: 4c 69 62 72 61 72 79 3e 0d 0a 0d 0a 20 20 20 20  Library>....    
3730: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
3740: 54 45 3a 20 45 6e 61 62 6c 65 20 75 73 69 6e 67  TE: Enable using
3750: 20 74 68 65 20 22 77 65 6c 6c 2d 6b 6e 6f 77 6e   the "well-known
3760: 22 20 65 78 74 65 6e 73 69 6f 6e 20 66 75 6e 63  " extension func
3770: 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65 20 63  tions from the c
3780: 75 73 74 6f 6d 0d 0a 20 20 20 20 20 20 20 20 20  ustom..         
3790: 20 20 20 20 20 62 75 69 6c 74 20 69 6e 74 65 72       built inter
37a0: 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 20 22 53 51  op DLL (i.e. "SQ
37b0: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c  Lite.Interop.dll
37c0: 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c  ")?  By default,
37d0: 20 74 68 69 73 0d 0a 20 20 20 20 20 20 20 20 20   this..         
37e0: 20 20 20 20 20 69 73 20 65 6e 61 62 6c 65 64 2e       is enabled.
37f0: 20 20 49 66 20 74 68 69 73 20 69 73 20 64 69 73    If this is dis
3800: 61 62 6c 65 64 2c 20 74 68 65 20 22 77 65 6c 6c  abled, the "well
3810: 2d 6b 6e 6f 77 6e 22 20 65 78 74 65 6e 73 69 6f  -known" extensio
3820: 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  n..             
3830: 20 66 75 6e 63 74 69 6f 6e 73 20 77 69 6c 6c 20   functions will 
3840: 62 65 20 75 6e 61 76 61 69 6c 61 62 6c 65 2e 20  be unavailable. 
3850: 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62   If this is enab
3860: 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73  led, it must als
3870: 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  o..             
3880: 20 62 65 20 65 6e 61 62 6c 65 64 20 76 69 61 20   be enabled via 
3890: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45 58 54  the "INTEROP_EXT
38a0: 45 4e 53 49 4f 4e 5f 46 55 4e 43 54 49 4f 4e 53  ENSION_FUNCTIONS
38b0: 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72  =1" preprocessor
38c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
38d0: 64 65 66 69 6e 65 20 62 65 69 6e 67 20 70 72 65  define being pre
38e0: 73 65 6e 74 20 69 6e 20 74 68 65 20 22 49 4e 54  sent in the "INT
38f0: 45 52 4f 50 5f 45 58 54 52 41 5f 44 45 46 49 4e  EROP_EXTRA_DEFIN
3900: 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65  ES" macro in the
3910: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3920: 62 75 69 6c 64 20 70 72 6f 70 65 72 74 69 65 73  build properties
3930: 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20   file:....      
3940: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
3950: 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70  ite.Interop\prop
3960: 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70  s\SQLite.Interop
3970: 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22  .20YY.[vs]props"
3980: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
3990: 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73    for the corres
39a0: 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 28  ponding version(
39b0: 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74 75  s) of Visual Stu
39c0: 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  dio...    -->.. 
39d0: 20 20 20 3c 49 6e 74 65 72 6f 70 45 78 74 65 6e     <InteropExten
39e0: 73 69 6f 6e 46 75 6e 63 74 69 6f 6e 73 20 43 6f  sionFunctions Co
39f0: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65  ndition="'$(Inte
3a00: 72 6f 70 45 78 74 65 6e 73 69 6f 6e 46 75 6e 63  ropExtensionFunc
3a10: 74 69 6f 6e 73 29 27 20 3d 3d 20 27 27 22 3e 74  tions)' == ''">t
3a20: 72 75 65 3c 2f 49 6e 74 65 72 6f 70 45 78 74 65  rue</InteropExte
3a30: 6e 73 69 6f 6e 46 75 6e 63 74 69 6f 6e 73 3e 0d  nsionFunctions>.
3a40: 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  ...    <!--..   
3a50: 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c       NOTE: Enabl
3a60: 65 20 74 68 65 20 74 65 73 74 20 65 78 74 65 6e  e the test exten
3a70: 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 63 75  sion from the cu
3a80: 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65 72  stom built inter
3a90: 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 0d 0a 20 20  op DLL (i.e...  
3aa0: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
3ab0: 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22  ite.Interop.dll"
3ac0: 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20  )?  By default, 
3ad0: 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 20  this is enabled 
3ae0: 6f 6e 6c 79 20 69 6e 20 74 68 65 0d 0a 20 20 20  only in the..   
3af0: 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67             Debug
3b00: 20 62 75 69 6c 64 20 63 6f 6e 66 69 67 75 72 61   build configura
3b10: 74 69 6f 6e 2e 20 20 49 66 20 74 68 69 73 20 69  tion.  If this i
3b20: 73 20 64 69 73 61 62 6c 65 64 2c 20 74 68 65 20  s disabled, the 
3b30: 74 65 73 74 0d 0a 20 20 20 20 20 20 20 20 20 20  test..          
3b40: 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 20 77 69      extension wi
3b50: 6c 6c 20 62 65 20 75 6e 61 76 61 69 6c 61 62 6c  ll be unavailabl
3b60: 65 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 65  e.  If this is e
3b70: 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20  nabled, it must 
3b80: 61 6c 73 6f 0d 0a 20 20 20 20 20 20 20 20 20 20  also..          
3b90: 20 20 20 20 62 65 20 65 6e 61 62 6c 65 64 20 76      be enabled v
3ba0: 69 61 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f  ia the "INTEROP_
3bb0: 54 45 53 54 5f 45 58 54 45 4e 53 49 4f 4e 3d 31  TEST_EXTENSION=1
3bc0: 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64  " preprocessor d
3bd0: 65 66 69 6e 65 0d 0a 20 20 20 20 20 20 20 20 20  efine..         
3be0: 20 20 20 20 20 62 65 69 6e 67 20 70 72 65 73 65       being prese
3bf0: 6e 74 20 69 6e 20 74 68 65 20 22 49 4e 54 45 52  nt in the "INTER
3c00: 4f 50 5f 44 45 42 55 47 5f 44 45 46 49 4e 45 53  OP_DEBUG_DEFINES
3c10: 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62  " macro in the b
3c20: 75 69 6c 64 0d 0a 20 20 20 20 20 20 20 20 20 20  uild..          
3c30: 20 20 20 20 70 72 6f 70 65 72 74 69 65 73 20 66      properties f
3c40: 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ile:....        
3c50: 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74            "SQLit
3c60: 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c  e.Interop\props\
3c70: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32  SQLite.Interop.2
3c80: 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a  0YY.[vs]props"..
3c90: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3ca0: 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f  for the correspo
3cb0: 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 28 73 29  nding version(s)
3cc0: 20 6f 66 20 56 69 73 75 61 6c 20 53 74 75 64 69   of Visual Studi
3cd0: 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20  o...    -->..   
3ce0: 20 3c 49 6e 74 65 72 6f 70 54 65 73 74 45 78 74   <InteropTestExt
3cf0: 65 6e 73 69 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e  ension Condition
3d00: 3d 22 27 24 28 49 6e 74 65 72 6f 70 54 65 73 74  ="'$(InteropTest
3d10: 45 78 74 65 6e 73 69 6f 6e 29 27 20 3d 3d 20 27  Extension)' == '
3d20: 27 20 41 6e 64 20 27 24 28 43 6f 6e 66 69 67 75  ' And '$(Configu
3d30: 72 61 74 69 6f 6e 29 27 20 3d 3d 20 27 44 65 62  ration)' == 'Deb
3d40: 75 67 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65 72  ug'">true</Inter
3d50: 6f 70 54 65 73 74 45 78 74 65 6e 73 69 6f 6e 3e  opTestExtension>
3d60: 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 54 65  ..    <InteropTe
3d70: 73 74 45 78 74 65 6e 73 69 6f 6e 20 43 6f 6e 64  stExtension Cond
3d80: 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f  ition="'$(Intero
3d90: 70 54 65 73 74 45 78 74 65 6e 73 69 6f 6e 29 27  pTestExtension)'
3da0: 20 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 43 6f   == '' And '$(Co
3db0: 6e 66 69 67 75 72 61 74 69 6f 6e 29 27 20 21 3d  nfiguration)' !=
3dc0: 20 27 44 65 62 75 67 27 22 3e 66 61 6c 73 65 3c   'Debug'">false<
3dd0: 2f 49 6e 74 65 72 6f 70 54 65 73 74 45 78 74 65  /InteropTestExte
3de0: 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21  nsion>....    <!
3df0: 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45  --..        NOTE
3e00: 3a 20 45 6e 61 62 6c 65 20 65 78 70 6f 73 69 6e  : Enable exposin
3e10: 67 20 74 68 65 20 43 72 79 70 74 6f 41 50 49 20  g the CryptoAPI 
3e20: 62 61 73 65 64 20 63 6f 64 65 63 20 66 72 6f 6d  based codec from
3e30: 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75 69 6c   the custom buil
3e40: 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  t..             
3e50: 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28 69 2e   interop DLL (i.
3e60: 65 2e 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72  e. "SQLite.Inter
3e70: 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65  op.dll")?  By de
3e80: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 0d 0a  fault, this is..
3e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e                en
3ea0: 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20  abled.  If this 
3eb0: 69 73 20 64 69 73 61 62 6c 65 64 2c 20 73 75 70  is disabled, sup
3ec0: 70 6f 72 74 20 66 6f 72 20 65 6e 63 72 79 70 74  port for encrypt
3ed0: 65 64 20 64 61 74 61 62 61 73 65 73 0d 0a 20 20  ed databases..  
3ee0: 20 20 20 20 20 20 20 20 20 20 20 20 77 69 6c 6c              will
3ef0: 20 62 65 20 75 6e 61 76 61 69 6c 61 62 6c 65 2e   be unavailable.
3f00: 20 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61    If this is ena
3f10: 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c  bled, it must al
3f20: 73 6f 20 62 65 20 65 6e 61 62 6c 65 64 0d 0a 20  so be enabled.. 
3f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 69 61               via
3f40: 20 74 68 65 20 22 53 51 4c 49 54 45 5f 48 41 53   the "SQLITE_HAS
3f50: 5f 43 4f 44 45 43 3d 31 22 20 70 72 65 70 72 6f  _CODEC=1" prepro
3f60: 63 65 73 73 6f 72 20 64 65 66 69 6e 65 20 62 65  cessor define be
3f70: 69 6e 67 20 70 72 65 73 65 6e 74 20 69 6e 0d 0a  ing present in..
3f80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68                th
3f90: 65 20 22 53 51 4c 49 54 45 5f 45 58 54 52 41 5f  e "SQLITE_EXTRA_
3fa0: 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69  DEFINES" macro i
3fb0: 6e 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f 70  n the build prop
3fc0: 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a  erties file:....
3fd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3fe0: 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f    "SQLite.Intero
3ff0: 70 5c 70 72 6f 70 73 5c 73 71 6c 69 74 65 33 2e  p\props\sqlite3.
4000: 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20  [vs]props"....  
4010: 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20              AND 
4020: 76 69 61 20 74 68 65 20 22 49 4e 54 45 52 4f 50  via the "INTEROP
4030: 5f 43 4f 44 45 43 3d 31 22 20 70 72 65 70 72 6f  _CODEC=1" prepro
4040: 63 65 73 73 6f 72 20 64 65 66 69 6e 65 20 62 65  cessor define be
4050: 69 6e 67 20 70 72 65 73 65 6e 74 20 69 6e 0d 0a  ing present in..
4060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68                th
4070: 65 20 22 49 4e 54 45 52 4f 50 5f 45 58 54 52 41  e "INTEROP_EXTRA
4080: 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20  _DEFINES" macro 
4090: 69 6e 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f  in the build pro
40a0: 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d  perties file:...
40b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
40c0: 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72     "SQLite.Inter
40d0: 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e  op\props\SQLite.
40e0: 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73  Interop.20YY.[vs
40f0: 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20  ]props"....     
4100: 20 20 20 20 20 20 20 20 20 62 6f 74 68 20 66 6f           both fo
4110: 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64  r the correspond
4120: 69 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f  ing version(s) o
4130: 66 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  f Visual Studio.
4140: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
4150: 49 6e 74 65 72 6f 70 43 6f 64 65 63 20 43 6f 6e  InteropCodec Con
4160: 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72  dition="'$(Inter
4170: 6f 70 43 6f 64 65 63 29 27 20 3d 3d 20 27 27 22  opCodec)' == ''"
4180: 3e 74 72 75 65 3c 2f 49 6e 74 65 72 6f 70 43 6f  >true</InteropCo
4190: 64 65 63 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  dec>....    <!--
41a0: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
41b0: 45 6e 61 62 6c 65 20 65 78 74 72 61 20 64 69 61  Enable extra dia
41c0: 67 6e 6f 73 74 69 63 73 20 66 72 6f 6d 20 74 68  gnostics from th
41d0: 65 20 63 75 73 74 6f 6d 20 62 75 69 6c 74 20 69  e custom built i
41e0: 6e 74 65 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e  nterop DLL (i.e.
41f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
4200: 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e  "SQLite.Interop.
4210: 64 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61 75  dll")?  By defau
4220: 6c 74 2c 20 74 68 69 73 20 69 73 20 65 6e 61 62  lt, this is enab
4230: 6c 65 64 20 69 6e 20 74 68 65 20 44 65 62 75 67  led in the Debug
4240: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
4250: 62 75 69 6c 64 20 63 6f 6e 66 69 67 75 72 61 74  build configurat
4260: 69 6f 6e 2e 20 20 49 66 20 74 68 69 73 20 69 73  ion.  If this is
4270: 20 64 69 73 61 62 6c 65 64 2c 20 6e 6f 20 65 78   disabled, no ex
4280: 74 72 61 20 64 69 61 67 6e 6f 73 74 69 63 73 0d  tra diagnostics.
4290: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77  .              w
42a0: 69 6c 6c 20 62 65 20 65 6d 69 74 74 65 64 2e 20  ill be emitted. 
42b0: 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62   If this is enab
42c0: 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73  led, it must als
42d0: 6f 20 62 65 20 65 6e 61 62 6c 65 64 20 76 69 61  o be enabled via
42e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
42f0: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 44 45 42  the "INTEROP_DEB
4300: 55 47 3d 58 58 22 20 70 72 65 70 72 6f 63 65 73  UG=XX" preproces
4310: 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67  sor define being
4320: 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 0d   present in the.
4330: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22  .              "
4340: 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 44 45  INTEROP_DEBUG_DE
4350: 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20  FINES" macro in 
4360: 74 68 65 20 62 75 69 6c 64 20 70 72 6f 70 65 72  the build proper
4370: 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20  ties file:....  
4380: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4390: 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c  "SQLite.Interop\
43a0: 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74  props\SQLite.Int
43b0: 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72  erop.20YY.[vs]pr
43c0: 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ops"....        
43d0: 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 63 6f        for the co
43e0: 72 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73  rresponding vers
43f0: 69 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c  ion(s) of Visual
4400: 20 53 74 75 64 69 6f 20 77 68 65 72 65 20 74 68   Studio where th
4410: 65 20 58 58 20 69 73 0d 0a 20 20 20 20 20 20 20  e XX is..       
4420: 20 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65         an intege
4430: 72 20 76 61 6c 75 65 20 74 68 61 74 20 72 65 70  r value that rep
4440: 72 65 73 65 6e 74 73 20 61 20 63 6f 6d 62 69 6e  resents a combin
4450: 61 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 6f 72 20  ation of one or 
4460: 6d 6f 72 65 20 6f 66 0d 0a 20 20 20 20 20 20 20  more of..       
4470: 20 20 20 20 20 20 20 74 68 65 20 66 6f 6c 6c 6f         the follo
4480: 77 69 6e 67 20 62 69 74 20 66 6c 61 67 73 20 76  wing bit flags v
4490: 61 6c 75 65 73 20 28 69 2e 65 2e 20 74 6f 20 65  alues (i.e. to e
44a0: 6e 61 62 6c 65 20 65 78 74 72 61 20 64 69 61 67  nable extra diag
44b0: 6e 6f 73 74 69 63 73 0d 0a 20 20 20 20 20 20 20  nostics..       
44c0: 20 20 20 20 20 20 20 66 6f 72 20 61 20 70 61 72         for a par
44d0: 74 69 63 75 6c 61 72 20 6e 61 74 69 76 65 20 66  ticular native f
44e0: 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 29 3a 0d 0a  unction call):..
44f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
4500: 20 20 20 20 49 4e 54 45 52 4f 50 5f 44 45 42 55      INTEROP_DEBU
4510: 47 5f 43 4c 4f 53 45 20 20 20 20 20 20 20 20 20  G_CLOSE         
4520: 20 28 30 78 30 30 30 31 29 0d 0a 20 20 20 20 20   (0x0001)..     
4530: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 4e 54               INT
4540: 45 52 4f 50 5f 44 45 42 55 47 5f 46 49 4e 41 4c  EROP_DEBUG_FINAL
4550: 49 5a 45 20 20 20 20 20 20 20 28 30 78 30 30 30  IZE       (0x000
4560: 32 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  2)..            
4570: 20 20 20 20 20 20 49 4e 54 45 52 4f 50 5f 44 45        INTEROP_DE
4580: 42 55 47 5f 42 41 43 4b 55 50 5f 46 49 4e 49 53  BUG_BACKUP_FINIS
4590: 48 20 20 28 30 78 30 30 30 34 29 0d 0a 20 20 20  H  (0x0004)..   
45a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49                 I
45b0: 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 4f 50 45  NTEROP_DEBUG_OPE
45c0: 4e 20 20 20 20 20 20 20 20 20 20 20 28 30 78 30  N           (0x0
45d0: 30 30 38 29 0d 0a 20 20 20 20 20 20 20 20 20 20  008)..          
45e0: 20 20 20 20 20 20 20 20 49 4e 54 45 52 4f 50 5f          INTEROP_
45f0: 44 45 42 55 47 5f 4f 50 45 4e 31 36 20 20 20 20  DEBUG_OPEN16    
4600: 20 20 20 20 20 28 30 78 30 30 31 30 29 0d 0a 20       (0x0010).. 
4610: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4620: 20 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 50   INTEROP_DEBUG_P
4630: 52 45 50 41 52 45 20 20 20 20 20 20 20 20 28 30  REPARE        (0
4640: 78 30 30 32 30 29 0d 0a 20 20 20 20 20 20 20 20  x0020)..        
4650: 20 20 20 20 20 20 20 20 20 20 49 4e 54 45 52 4f            INTERO
4660: 50 5f 44 45 42 55 47 5f 50 52 45 50 41 52 45 31  P_DEBUG_PREPARE1
4670: 36 20 20 20 20 20 20 28 30 78 30 30 34 30 29 0d  6      (0x0040).
4680: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
4690: 20 20 20 49 4e 54 45 52 4f 50 5f 44 45 42 55 47     INTEROP_DEBUG
46a0: 5f 52 45 53 45 54 20 20 20 20 20 20 20 20 20 20  _RESET          
46b0: 28 30 78 30 30 38 30 29 0d 0a 20 20 20 20 20 20  (0x0080)..      
46c0: 20 20 20 20 20 20 20 20 20 20 20 20 49 4e 54 45              INTE
46d0: 52 4f 50 5f 44 45 42 55 47 5f 43 48 41 4e 47 45  ROP_DEBUG_CHANGE
46e0: 53 20 20 20 20 20 20 20 20 28 30 78 30 31 30 30  S        (0x0100
46f0: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  )..             
4700: 20 20 20 20 20 49 4e 54 45 52 4f 50 5f 44 45 42       INTEROP_DEB
4710: 55 47 5f 42 52 45 41 4b 20 20 20 20 20 20 20 20  UG_BREAK        
4720: 20 20 28 30 78 30 32 30 30 29 0d 0a 20 20 20 20    (0x0200)..    
4730: 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f  -->..    <Intero
4740: 70 44 65 62 75 67 20 43 6f 6e 64 69 74 69 6f 6e  pDebug Condition
4750: 3d 22 27 24 28 49 6e 74 65 72 6f 70 44 65 62 75  ="'$(InteropDebu
4760: 67 29 27 20 3d 3d 20 27 27 20 41 6e 64 20 27 24  g)' == '' And '$
4770: 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 27  (Configuration)'
4780: 20 3d 3d 20 27 44 65 62 75 67 27 22 3e 74 72 75   == 'Debug'">tru
4790: 65 3c 2f 49 6e 74 65 72 6f 70 44 65 62 75 67 3e  e</InteropDebug>
47a0: 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 44 65  ..    <InteropDe
47b0: 62 75 67 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  bug Condition="'
47c0: 24 28 49 6e 74 65 72 6f 70 44 65 62 75 67 29 27  $(InteropDebug)'
47d0: 20 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 43 6f   == '' And '$(Co
47e0: 6e 66 69 67 75 72 61 74 69 6f 6e 29 27 20 21 3d  nfiguration)' !=
47f0: 20 27 44 65 62 75 67 27 22 3e 66 61 6c 73 65 3c   'Debug'">false<
4800: 2f 49 6e 74 65 72 6f 70 44 65 62 75 67 3e 0d 0a  /InteropDebug>..
4810: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
4820: 20 20 20 20 4e 4f 54 45 3a 20 44 69 73 61 62 6c      NOTE: Disabl
4830: 65 20 61 6c 6c 20 75 73 65 20 6f 66 20 74 68 65  e all use of the
4840: 20 73 71 6c 69 74 65 33 5f 63 6c 6f 73 65 5f 76   sqlite3_close_v
4850: 32 28 29 20 6e 61 74 69 76 65 20 41 50 49 20 61  2() native API a
4860: 6e 64 20 75 73 65 20 74 68 65 0d 0a 20 20 20 20  nd use the..    
4870: 20 20 20 20 20 20 20 20 20 20 6c 65 67 61 63 79            legacy
4880: 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c   System.Data.SQL
4890: 69 74 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63  ite connection c
48a0: 6c 6f 73 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d  losing algorithm
48b0: 20 69 6e 73 74 65 61 64 2e 0d 0a 20 20 20 20 20   instead...     
48c0: 20 20 20 20 20 20 20 20 20 42 79 20 64 65 66 61           By defa
48d0: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
48e0: 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20  abled.  If this 
48f0: 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d  is enabled, it m
4900: 75 73 74 20 61 6c 73 6f 0d 0a 20 20 20 20 20 20  ust also..      
4910: 20 20 20 20 20 20 20 20 62 65 20 65 6e 61 62 6c          be enabl
4920: 65 64 20 76 69 61 20 74 68 65 20 22 49 4e 54 45  ed via the "INTE
4930: 52 4f 50 5f 4c 45 47 41 43 59 5f 43 4c 4f 53 45  ROP_LEGACY_CLOSE
4940: 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72  =1" preprocessor
4950: 20 64 65 66 69 6e 65 0d 0a 20 20 20 20 20 20 20   define..       
4960: 20 20 20 20 20 20 20 62 65 69 6e 67 20 70 72 65         being pre
4970: 73 65 6e 74 20 69 6e 20 74 68 65 20 22 49 4e 54  sent in the "INT
4980: 45 52 4f 50 5f 45 58 54 52 41 5f 44 45 46 49 4e  EROP_EXTRA_DEFIN
4990: 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65  ES" macro in the
49a0: 20 62 75 69 6c 64 0d 0a 20 20 20 20 20 20 20 20   build..        
49b0: 20 20 20 20 20 20 70 72 6f 70 65 72 74 69 65 73        properties
49c0: 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20   file:....      
49d0: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
49e0: 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70  ite.Interop\prop
49f0: 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70  s\SQLite.Interop
4a00: 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22  .20YY.[vs]props"
4a10: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
4a20: 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73    for the corres
4a30: 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 28  ponding version(
4a40: 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74 75  s) of Visual Stu
4a50: 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  dio...    -->.. 
4a60: 20 20 20 3c 49 6e 74 65 72 6f 70 4c 65 67 61 63     <InteropLegac
4a70: 79 43 6c 6f 73 65 20 43 6f 6e 64 69 74 69 6f 6e  yClose Condition
4a80: 3d 22 27 24 28 49 6e 74 65 72 6f 70 4c 65 67 61  ="'$(InteropLega
4a90: 63 79 43 6c 6f 73 65 29 27 20 3d 3d 20 27 27 22  cyClose)' == ''"
4aa0: 3e 66 61 6c 73 65 3c 2f 49 6e 74 65 72 6f 70 4c  >false</InteropL
4ab0: 65 67 61 63 79 43 6c 6f 73 65 3e 0d 0a 0d 0a 20  egacyClose>.... 
4ac0: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
4ad0: 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 68   NOTE: Enable th
4ae0: 65 20 6c 6f 67 67 69 6e 67 20 63 61 6c 6c 62 61  e logging callba
4af0: 63 6b 20 69 6e 20 74 68 65 20 63 75 73 74 6f 6d  ck in the custom
4b00: 20 62 75 69 6c 74 20 69 6e 74 65 72 6f 70 20 44   built interop D
4b10: 4c 4c 20 28 69 2e 65 2e 0d 0a 20 20 20 20 20 20  LL (i.e...      
4b20: 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e          "SQLite.
4b30: 49 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20  Interop.dll")?  
4b40: 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73  By default, this
4b50: 20 69 73 20 65 6e 61 62 6c 65 64 20 69 6e 20 74   is enabled in t
4b60: 68 65 20 44 65 62 75 67 0d 0a 20 20 20 20 20 20  he Debug..      
4b70: 20 20 20 20 20 20 20 20 62 75 69 6c 64 20 63 6f          build co
4b80: 6e 66 69 67 75 72 61 74 69 6f 6e 2e 20 20 49 66  nfiguration.  If
4b90: 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65   this is disable
4ba0: 64 2c 20 74 68 65 20 6c 6f 67 67 69 6e 67 20 63  d, the logging c
4bb0: 61 6c 6c 62 61 63 6b 0d 0a 20 20 20 20 20 20 20  allback..       
4bc0: 20 20 20 20 20 20 20 77 69 6c 6c 20 62 65 20 75         will be u
4bd0: 6e 61 76 61 69 6c 61 62 6c 65 20 61 6e 64 20 64  navailable and d
4be0: 69 61 67 6e 6f 73 74 69 63 20 6d 65 73 73 61 67  iagnostic messag
4bf0: 65 73 20 6d 61 79 20 6e 6f 74 20 62 65 20 73 65  es may not be se
4c00: 65 6e 20 69 66 0d 0a 20 20 20 20 20 20 20 20 20  en if..         
4c10: 20 20 20 20 20 61 6e 6f 74 68 65 72 20 6e 61 74       another nat
4c20: 69 76 65 20 6c 6f 67 67 69 6e 67 20 63 61 6c 6c  ive logging call
4c30: 62 61 63 6b 20 69 73 20 6e 6f 74 20 63 6f 6e 66  back is not conf
4c40: 69 67 75 72 65 64 2e 20 20 49 66 20 74 68 69 73  igured.  If this
4c50: 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20   is..           
4c60: 20 20 20 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d     enabled, it m
4c70: 75 73 74 20 61 6c 73 6f 20 62 65 20 65 6e 61 62  ust also be enab
4c80: 6c 65 64 20 76 69 61 20 74 68 65 20 22 49 4e 54  led via the "INT
4c90: 45 52 4f 50 5f 4c 4f 47 3d 31 22 0d 0a 20 20 20  EROP_LOG=1"..   
4ca0: 20 20 20 20 20 20 20 20 20 20 20 70 72 65 70 72             prepr
4cb0: 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65 20 62  ocessor define b
4cc0: 65 69 6e 67 20 70 72 65 73 65 6e 74 20 69 6e 20  eing present in 
4cd0: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 44 45 42  the "INTEROP_DEB
4ce0: 55 47 5f 44 45 46 49 4e 45 53 22 0d 0a 20 20 20  UG_DEFINES"..   
4cf0: 20 20 20 20 20 20 20 20 20 20 20 6d 61 63 72 6f             macro
4d00: 20 69 6e 20 74 68 65 20 62 75 69 6c 64 20 70 72   in the build pr
4d10: 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a  operties file:..
4d20: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
4d30: 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65      "SQLite.Inte
4d40: 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65  rop\props\SQLite
4d50: 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76  .Interop.20YY.[v
4d60: 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20  s]props"....    
4d70: 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68            for th
4d80: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  e corresponding 
4d90: 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56 69  version(s) of Vi
4da0: 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a 20 20  sual Studio...  
4db0: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74 65    -->..    <Inte
4dc0: 72 6f 70 4c 6f 67 20 43 6f 6e 64 69 74 69 6f 6e  ropLog Condition
4dd0: 3d 22 27 24 28 49 6e 74 65 72 6f 70 4c 6f 67 29  ="'$(InteropLog)
4de0: 27 20 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 43  ' == '' And '$(C
4df0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 27 20 3d  onfiguration)' =
4e00: 3d 20 27 44 65 62 75 67 27 22 3e 74 72 75 65 3c  = 'Debug'">true<
4e10: 2f 49 6e 74 65 72 6f 70 4c 6f 67 3e 0d 0a 20 20  /InteropLog>..  
4e20: 20 20 3c 49 6e 74 65 72 6f 70 4c 6f 67 20 43 6f    <InteropLog Co
4e30: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65  ndition="'$(Inte
4e40: 72 6f 70 4c 6f 67 29 27 20 3d 3d 20 27 27 20 41  ropLog)' == '' A
4e50: 6e 64 20 27 24 28 43 6f 6e 66 69 67 75 72 61 74  nd '$(Configurat
4e60: 69 6f 6e 29 27 20 21 3d 20 27 44 65 62 75 67 27  ion)' != 'Debug'
4e70: 22 3e 66 61 6c 73 65 3c 2f 49 6e 74 65 72 6f 70  ">false</Interop
4e80: 4c 6f 67 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  Log>....    <!--
4e90: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
4ea0: 45 6e 61 62 6c 65 20 69 6e 63 6c 75 64 69 6e 67  Enable including
4eb0: 20 74 68 65 20 76 74 73 68 69 6d 20 6d 6f 64 75   the vtshim modu
4ec0: 6c 65 20 61 73 20 61 20 73 74 61 74 69 63 61 6c  le as a statical
4ed0: 6c 79 20 61 76 61 69 6c 61 62 6c 65 0d 0a 20 20  ly available..  
4ee0: 20 20 20 20 20 20 20 20 20 20 20 20 65 78 74 65              exte
4ef0: 6e 73 69 6f 6e 3f 20 20 54 68 69 73 20 77 69 6c  nsion?  This wil
4f00: 6c 20 61 6c 6c 6f 77 20 76 69 72 74 75 61 6c 20  l allow virtual 
4f10: 74 61 62 6c 65 73 20 74 6f 20 62 65 20 69 6d 70  tables to be imp
4f20: 6c 65 6d 65 6e 74 65 64 20 69 6e 0d 0a 20 20 20  lemented in..   
4f30: 20 20 20 20 20 20 20 20 20 20 20 6d 61 6e 61 67             manag
4f40: 65 64 20 63 6f 64 65 2e 20 20 42 79 20 64 65 66  ed code.  By def
4f50: 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65 6e  ault, this is en
4f60: 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20  abled.  If this 
4f70: 69 73 20 64 69 73 61 62 6c 65 64 2c 0d 0a 20 20  is disabled,..  
4f80: 20 20 20 20 20 20 20 20 20 20 20 20 73 75 70 70              supp
4f90: 6f 72 74 20 66 6f 72 20 69 6d 70 6c 65 6d 65 6e  ort for implemen
4fa0: 74 69 6e 67 20 76 69 72 74 75 61 6c 20 74 61 62  ting virtual tab
4fb0: 6c 65 73 20 69 6e 20 6d 61 6e 61 67 65 64 20 63  les in managed c
4fc0: 6f 64 65 20 77 69 6c 6c 20 62 65 0d 0a 20 20 20  ode will be..   
4fd0: 20 20 20 20 20 20 20 20 20 20 20 75 6e 61 76 61             unava
4fe0: 69 6c 61 62 6c 65 2e 20 20 49 66 20 74 68 69 73  ilable.  If this
4ff0: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20   is enabled, it 
5000: 6d 75 73 74 20 61 6c 73 6f 20 62 65 20 65 6e 61  must also be ena
5010: 62 6c 65 64 20 76 69 61 0d 0a 20 20 20 20 20 20  bled via..      
5020: 20 20 20 20 20 20 20 20 74 68 65 20 22 49 4e 54          the "INT
5030: 45 52 4f 50 5f 56 49 52 54 55 41 4c 5f 54 41 42  EROP_VIRTUAL_TAB
5040: 4c 45 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73  LE=1" preprocess
5050: 6f 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67 20  or define being 
5060: 70 72 65 73 65 6e 74 0d 0a 20 20 20 20 20 20 20  present..       
5070: 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 22 49         in the "I
5080: 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f 44 45 46  NTEROP_EXTRA_DEF
5090: 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74  INES" macro in t
50a0: 68 65 20 62 75 69 6c 64 20 70 72 6f 70 65 72 74  he build propert
50b0: 69 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ies..           
50c0: 20 20 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20     file:....    
50d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
50e0: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72  QLite.Interop\pr
50f0: 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72  ops\SQLite.Inter
5100: 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70  op.20YY.[vs]prop
5110: 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  s"....          
5120: 20 20 20 20 62 6f 74 68 20 66 6f 72 20 74 68 65      both for the
5130: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 76   corresponding v
5140: 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56 69 73  ersion(s) of Vis
5150: 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20  ual Studio...   
5160: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72   -->..    <Inter
5170: 6f 70 56 69 72 74 75 61 6c 54 61 62 6c 65 20 43  opVirtualTable C
5180: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74  ondition="'$(Int
5190: 65 72 6f 70 56 69 72 74 75 61 6c 54 61 62 6c 65  eropVirtualTable
51a0: 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c 2f  )' == ''">true</
51b0: 49 6e 74 65 72 6f 70 56 69 72 74 75 61 6c 54 61  InteropVirtualTa
51c0: 62 6c 65 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  ble>....    <!--
51d0: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
51e0: 45 6e 61 62 6c 65 20 74 68 65 20 75 73 65 20 6f  Enable the use o
51f0: 66 20 6e 61 74 69 76 65 20 57 69 6e 64 6f 77 73  f native Windows
5200: 20 41 50 49 73 2c 20 77 68 65 6e 20 61 76 61 69   APIs, when avai
5210: 6c 61 62 6c 65 3f 20 20 42 79 0d 0a 20 20 20 20  lable?  By..    
5220: 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c            defaul
5230: 74 2c 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c  t, this is enabl
5240: 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 20  ed.  If this is 
5250: 64 69 73 61 62 6c 65 64 2c 20 61 6c 6c 20 66 65  disabled, all fe
5260: 61 74 75 72 65 73 0d 0a 20 20 20 20 20 20 20 20  atures..        
5270: 20 20 20 20 20 20 74 68 61 74 20 72 65 71 75 69        that requi
5280: 72 65 20 74 68 65 20 75 73 65 20 6f 66 20 6e 61  re the use of na
5290: 74 69 76 65 20 57 69 6e 64 6f 77 73 20 41 50 49  tive Windows API
52a0: 73 20 77 69 6c 6c 20 62 65 20 75 6e 61 76 61 69  s will be unavai
52b0: 6c 61 62 6c 65 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  lable...    -->.
52c0: 0a 20 20 20 20 3c 55 73 65 57 69 6e 64 6f 77 73  .    <UseWindows
52d0: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 55   Condition="'$(U
52e0: 73 65 57 69 6e 64 6f 77 73 29 27 20 3d 3d 20 27  seWindows)' == '
52f0: 27 22 3e 74 72 75 65 3c 2f 55 73 65 57 69 6e 64  '">true</UseWind
5300: 6f 77 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  ows>....    <!--
5310: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
5320: 46 6f 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 20  For interaction 
5330: 77 69 74 68 20 74 68 65 20 45 6e 74 69 74 79 20  with the Entity 
5340: 46 72 61 6d 65 77 6f 72 6b 2c 20 61 73 73 75 6d  Framework, assum
5350: 65 20 76 65 72 73 69 6f 6e 20 36 20 6f 72 0d 0a  e version 6 or..
5360: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 69                hi
5370: 67 68 65 72 3f 20 20 42 79 20 64 65 66 61 75 6c  gher?  By defaul
5380: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
5390: 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73  led.  If this is
53a0: 20 65 6e 61 62 6c 65 64 2c 20 74 68 65 0d 0a 20   enabled, the.. 
53b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 79               "Sy
53c0: 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65  stem.Data.SQLite
53d0: 2e 4c 69 6e 71 22 20 61 73 73 65 6d 62 6c 79 20  .Linq" assembly 
53e0: 77 69 6c 6c 20 6e 6f 74 20 77 6f 72 6b 20 77 69  will not work wi
53f0: 74 68 20 61 6e 79 20 45 6e 74 69 74 79 0d 0a 20  th any Entity.. 
5400: 20 20 20 20 20 20 20 20 20 20 20 20 20 46 72 61               Fra
5410: 6d 65 77 6f 72 6b 20 70 72 69 6f 72 20 74 6f 20  mework prior to 
5420: 76 65 72 73 69 6f 6e 20 36 2e 0d 0a 20 20 20 20  version 6...    
5430: 2d 2d 3e 0d 0a 20 20 20 20 3c 55 73 65 45 6e 74  -->..    <UseEnt
5440: 69 74 79 46 72 61 6d 65 77 6f 72 6b 36 20 43 6f  ityFramework6 Co
5450: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 55 73 65 45  ndition="'$(UseE
5460: 6e 74 69 74 79 46 72 61 6d 65 77 6f 72 6b 36 29  ntityFramework6)
5470: 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f  ' == ''">false</
5480: 55 73 65 45 6e 74 69 74 79 46 72 61 6d 65 77 6f  UseEntityFramewo
5490: 72 6b 36 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72  rk6>..  </Proper
54a0: 74 79 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21  tyGroup>....  <!
54b0: 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  --..  **********
54c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
54d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
54e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
54f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5500: 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20  ****..  **      
5510: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5520: 20 20 20 20 20 20 20 54 72 61 63 65 20 50 72 6f         Trace Pro
5530: 70 65 72 74 69 65 73 20 20 20 20 20 20 20 20 20  perties         
5540: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5550: 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a      **..  ******
5560: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5570: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5580: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5590: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
55a0: 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d  ********..  -->.
55b0: 0a 0d 0a 20 20 3c 50 72 6f 70 65 72 74 79 47 72  ...  <PropertyGr
55c0: 6f 75 70 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  oup>..    <!--..
55d0: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e          NOTE: En
55e0: 61 62 6c 65 20 74 72 61 63 69 6e 67 20 6f 66 20  able tracing of 
55f0: 65 76 65 6e 74 73 20 72 65 6c 61 74 65 64 20 74  events related t
5600: 6f 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e  o connection han
5610: 64 6c 69 6e 67 3f 20 20 42 79 0d 0a 20 20 20 20  dling?  By..    
5620: 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c            defaul
5630: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
5640: 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  led...    -->.. 
5650: 20 20 20 3c 54 72 61 63 65 43 6f 6e 6e 65 63 74     <TraceConnect
5660: 69 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  ion Condition="'
5670: 24 28 54 72 61 63 65 43 6f 6e 6e 65 63 74 69 6f  $(TraceConnectio
5680: 6e 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65  n)' == ''">false
5690: 3c 2f 54 72 61 63 65 43 6f 6e 6e 65 63 74 69 6f  </TraceConnectio
56a0: 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  n>....    <!--..
56b0: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e          NOTE: En
56c0: 61 62 6c 65 20 74 72 61 63 69 6e 67 20 6f 66 20  able tracing of 
56d0: 65 76 65 6e 74 73 20 72 65 6c 61 74 65 64 20 74  events related t
56e0: 6f 20 61 75 74 6f 6d 61 74 69 63 20 64 65 74 65  o automatic dete
56f0: 63 74 69 6f 6e 20 6f 66 20 74 68 65 0d 0a 20 20  ction of the..  
5700: 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 74 69              nati
5710: 76 65 20 6c 69 62 72 61 72 79 20 64 69 72 65 63  ve library direc
5720: 74 6f 72 79 20 77 69 74 68 69 6e 20 74 68 65 20  tory within the 
5730: 6e 61 74 69 76 65 20 6c 69 62 72 61 72 79 20 70  native library p
5740: 72 65 2d 6c 6f 61 64 69 6e 67 0d 0a 20 20 20 20  re-loading..    
5750: 20 20 20 20 20 20 20 20 20 20 63 6f 64 65 3f 20            code? 
5760: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
5770: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a  s is disabled...
5780: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72      -->..    <Tr
5790: 61 63 65 44 65 74 65 63 74 69 6f 6e 20 43 6f 6e  aceDetection Con
57a0: 64 69 74 69 6f 6e 3d 22 27 24 28 54 72 61 63 65  dition="'$(Trace
57b0: 44 65 74 65 63 74 69 6f 6e 29 27 20 3d 3d 20 27  Detection)' == '
57c0: 27 22 3e 66 61 6c 73 65 3c 2f 54 72 61 63 65 44  '">false</TraceD
57d0: 65 74 65 63 74 69 6f 6e 3e 0d 0a 0d 0a 20 20 20  etection>....   
57e0: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
57f0: 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 72 61 63  OTE: Enable trac
5800: 69 6e 67 20 6f 66 20 65 76 65 6e 74 73 20 72 65  ing of events re
5810: 6c 61 74 65 64 20 74 6f 20 43 72 69 74 69 63 61  lated to Critica
5820: 6c 48 61 6e 64 6c 65 20 68 61 6e 64 6c 69 6e 67  lHandle handling
5830: 3f 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20  ?  By..         
5840: 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68       default, th
5850: 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d  is is disabled..
5860: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54  .    -->..    <T
5870: 72 61 63 65 48 61 6e 64 6c 65 20 43 6f 6e 64 69  raceHandle Condi
5880: 74 69 6f 6e 3d 22 27 24 28 54 72 61 63 65 48 61  tion="'$(TraceHa
5890: 6e 64 6c 65 29 27 20 3d 3d 20 27 27 22 3e 66 61  ndle)' == ''">fa
58a0: 6c 73 65 3c 2f 54 72 61 63 65 48 61 6e 64 6c 65  lse</TraceHandle
58b0: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
58c0: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61         NOTE: Ena
58d0: 62 6c 65 20 74 72 61 63 69 6e 67 20 6f 66 20 65  ble tracing of e
58e0: 76 65 6e 74 73 20 72 65 6c 61 74 65 64 20 74 6f  vents related to
58f0: 20 74 68 65 20 6e 61 74 69 76 65 20 6c 69 62 72   the native libr
5900: 61 72 79 20 70 72 65 2d 6c 6f 61 64 69 6e 67 0d  ary pre-loading.
5910: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63  .              c
5920: 6f 64 65 3f 20 20 42 79 20 64 65 66 61 75 6c 74  ode?  By default
5930: 2c 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65  , this is enable
5940: 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20  d...    -->..   
5950: 20 3c 54 72 61 63 65 50 72 65 4c 6f 61 64 20 43   <TracePreLoad C
5960: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 54 72 61  ondition="'$(Tra
5970: 63 65 50 72 65 4c 6f 61 64 29 27 20 3d 3d 20 27  cePreLoad)' == '
5980: 27 22 3e 74 72 75 65 3c 2f 54 72 61 63 65 50 72  '">true</TracePr
5990: 65 4c 6f 61 64 3e 0d 0a 0d 0a 20 20 20 20 3c 21  eLoad>....    <!
59a0: 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45  --..        NOTE
59b0: 3a 20 45 6e 61 62 6c 65 20 74 72 61 63 69 6e 67  : Enable tracing
59c0: 20 6f 66 20 65 76 65 6e 74 73 20 72 65 6c 61 74   of events relat
59d0: 65 64 20 74 6f 20 74 68 65 20 73 68 61 72 65 64  ed to the shared
59e0: 20 6e 61 74 69 76 65 20 6c 69 62 72 61 72 79 0d   native library.
59f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70  .              p
5a00: 72 65 2d 6c 6f 61 64 69 6e 67 20 63 6f 64 65 3f  re-loading code?
5a10: 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68    By default, th
5a20: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2e 0d 0a  is is enabled...
5a30: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72      -->..    <Tr
5a40: 61 63 65 53 68 61 72 65 64 20 43 6f 6e 64 69 74  aceShared Condit
5a50: 69 6f 6e 3d 22 27 24 28 54 72 61 63 65 53 68 61  ion="'$(TraceSha
5a60: 72 65 64 29 27 20 3d 3d 20 27 27 22 3e 74 72 75  red)' == ''">tru
5a70: 65 3c 2f 54 72 61 63 65 53 68 61 72 65 64 3e 0d  e</TraceShared>.
5a80: 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  ...    <!--..   
5a90: 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c       NOTE: Enabl
5aa0: 65 20 74 72 61 63 69 6e 67 20 6f 66 20 65 76 65  e tracing of eve
5ab0: 6e 74 73 20 72 65 6c 61 74 65 64 20 74 6f 20 74  nts related to t
5ac0: 68 65 20 70 72 65 70 61 72 65 64 20 73 74 61 74  he prepared stat
5ad0: 65 6d 65 6e 74 73 3f 20 20 42 79 0d 0a 20 20 20  ements?  By..   
5ae0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75             defau
5af0: 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61  lt, this is disa
5b00: 62 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  bled...    -->..
5b10: 20 20 20 20 3c 54 72 61 63 65 53 74 61 74 65 6d      <TraceStatem
5b20: 65 6e 74 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  ent Condition="'
5b30: 24 28 54 72 61 63 65 53 74 61 74 65 6d 65 6e 74  $(TraceStatement
5b40: 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c  )' == ''">false<
5b50: 2f 54 72 61 63 65 53 74 61 74 65 6d 65 6e 74 3e  /TraceStatement>
5b60: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
5b70: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
5b80: 6c 65 20 74 72 61 63 69 6e 67 20 6f 66 20 70 6f  le tracing of po
5b90: 74 65 6e 74 69 61 6c 6c 79 20 69 6d 70 6f 72 74  tentially import
5ba0: 61 6e 74 2c 20 62 75 74 20 6e 6f 6e 2d 66 61 74  ant, but non-fat
5bb0: 61 6c 20 65 72 72 6f 72 0d 0a 20 20 20 20 20 20  al error..      
5bc0: 20 20 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f          conditio
5bd0: 6e 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62  ns that cannot b
5be0: 65 20 72 65 70 6f 72 74 65 64 20 61 6e 6f 74 68  e reported anoth
5bf0: 65 72 20 77 61 79 3f 20 20 42 79 20 64 65 66 61  er way?  By defa
5c00: 75 6c 74 2c 20 74 68 69 73 0d 0a 20 20 20 20 20  ult, this..     
5c10: 20 20 20 20 20 20 20 20 20 69 73 20 65 6e 61 62           is enab
5c20: 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  led...    -->.. 
5c30: 20 20 20 3c 54 72 61 63 65 57 61 72 6e 69 6e 67     <TraceWarning
5c40: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 54   Condition="'$(T
5c50: 72 61 63 65 57 61 72 6e 69 6e 67 29 27 20 3d 3d  raceWarning)' ==
5c60: 20 27 27 22 3e 74 72 75 65 3c 2f 54 72 61 63 65   ''">true</Trace
5c70: 57 61 72 6e 69 6e 67 3e 0d 0a 20 20 3c 2f 50 72  Warning>..  </Pr
5c80: 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 0d 0a  opertyGroup>....
5c90: 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a    <!--..  ******
5ca0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5cb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5cc0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5cd0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5ce0: 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20  ********..  **  
5cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5d00: 20 20 20 20 20 20 20 20 20 20 57 61 72 6e 69 6e            Warnin
5d10: 67 20 50 72 6f 70 65 72 74 69 65 73 20 20 20 20  g Properties    
5d20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5d30: 20 20 20 20 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a          **..  **
5d40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5d50: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5d60: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5d70: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
5d80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20  ************..  
5d90: 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72 6f 70 65 72  -->....  <Proper
5da0: 74 79 47 72 6f 75 70 20 43 6f 6e 64 69 74 69 6f  tyGroup Conditio
5db0: 6e 3d 22 27 24 28 43 6f 6e 66 69 67 75 72 61 74  n="'$(Configurat
5dc0: 69 6f 6e 29 27 20 3d 3d 20 27 44 65 62 75 67 27  ion)' == 'Debug'
5dd0: 22 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ">..    <!--..  
5de0: 20 20 20 20 20 20 4e 4f 54 45 3a 20 44 65 62 75        NOTE: Debu
5df0: 67 20 62 75 69 6c 64 2e 20 20 53 65 74 20 74 68  g build.  Set th
5e00: 65 20 77 61 72 6e 69 6e 67 20 6c 65 76 65 6c 20  e warning level 
5e10: 74 6f 20 6d 61 78 69 6d 75 6d 2e 20 20 41 6c 73  to maximum.  Als
5e20: 6f 2c 20 64 69 73 61 62 6c 65 0d 0a 20 20 20 20  o, disable..    
5e30: 20 20 20 20 20 20 20 20 20 20 77 61 72 6e 69 6e            warnin
5e40: 67 73 20 74 68 61 74 20 74 65 6e 64 20 74 6f 20  gs that tend to 
5e50: 63 61 75 73 65 20 74 6f 6f 20 6d 75 63 68 20 6e  cause too much n
5e60: 6f 69 73 65 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  oise...    -->..
5e70: 20 20 20 20 3c 57 61 72 6e 69 6e 67 4c 65 76 65      <WarningLeve
5e80: 6c 3e 34 3c 2f 57 61 72 6e 69 6e 67 4c 65 76 65  l>4</WarningLeve
5e90: 6c 3e 0d 0a 20 20 20 20 3c 4e 6f 57 61 72 6e 3e  l>..    <NoWarn>
5ea0: 36 31 38 2c 31 35 39 31 3b 33 30 30 31 3c 2f 4e  618,1591;3001</N
5eb0: 6f 57 61 72 6e 3e 0d 0a 20 20 3c 2f 50 72 6f 70  oWarn>..  </Prop
5ec0: 65 72 74 79 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20  ertyGroup>....  
5ed0: 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70 20 43  <PropertyGroup C
5ee0: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 43 6f 6e  ondition="'$(Con
5ef0: 66 69 67 75 72 61 74 69 6f 6e 29 27 20 3d 3d 20  figuration)' == 
5f00: 27 52 65 6c 65 61 73 65 27 22 3e 0d 0a 20 20 20  'Release'">..   
5f10: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
5f20: 4f 54 45 3a 20 52 65 6c 65 61 73 65 20 62 75 69  OTE: Release bui
5f30: 6c 64 2e 20 20 53 65 74 20 74 68 65 20 77 61 72  ld.  Set the war
5f40: 6e 69 6e 67 20 6c 65 76 65 6c 20 74 6f 20 6d 61  ning level to ma
5f50: 78 69 6d 75 6d 2e 20 20 41 6c 73 6f 2c 20 64 69  ximum.  Also, di
5f60: 73 61 62 6c 65 0d 0a 20 20 20 20 20 20 20 20 20  sable..         
5f70: 20 20 20 20 20 77 61 72 6e 69 6e 67 73 20 74 68       warnings th
5f80: 61 74 20 74 65 6e 64 20 74 6f 20 63 61 75 73 65  at tend to cause
5f90: 20 74 6f 6f 20 6d 75 63 68 20 6e 6f 69 73 65 2e   too much noise.
5fa0: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
5fb0: 57 61 72 6e 69 6e 67 4c 65 76 65 6c 3e 34 3c 2f  WarningLevel>4</
5fc0: 57 61 72 6e 69 6e 67 4c 65 76 65 6c 3e 0d 0a 20  WarningLevel>.. 
5fd0: 20 20 20 3c 4e 6f 57 61 72 6e 3e 36 31 38 2c 31     <NoWarn>618,1
5fe0: 35 39 31 3b 33 30 30 31 3c 2f 4e 6f 57 61 72 6e  591;3001</NoWarn
5ff0: 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79 47  >..  </PropertyG
6000: 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d  roup>....  <!--.
6010: 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .  *************
6020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6040: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6050: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6060: 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20  *..  **         
6070: 20 20 20 20 20 20 20 20 20 20 20 20 20 42 75 69               Bui
6080: 6c 64 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e  ld Configuration
6090: 20 50 72 6f 70 65 72 74 69 65 73 20 20 20 20 20   Properties     
60a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
60b0: 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a   **..  *********
60c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
60d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
60e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
60f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6100: 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a  *****..  -->....
6110: 20 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70    <PropertyGroup
6120: 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  >..    <!--..   
6130: 20 20 20 20 20 4e 4f 54 45 3a 20 54 68 65 20 73       NOTE: The s
6140: 75 66 66 69 78 20 66 6f 72 20 74 68 65 20 6e 61  uffix for the na
6150: 6d 65 20 6f 66 20 74 68 65 20 62 75 69 6c 64 20  me of the build 
6160: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 64 69  configuration di
6170: 72 65 63 74 6f 72 79 20 2e 20 20 42 79 0d 0a 20  rectory .  By.. 
6180: 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66               def
6190: 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 61 6e  ault, this is an
61a0: 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 0d 0a   empty string...
61b0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 43 6f      -->..    <Co
61c0: 6e 66 69 67 75 72 61 74 69 6f 6e 53 75 66 66 69  nfigurationSuffi
61d0: 78 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  x Condition="'$(
61e0: 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 53 75 66  ConfigurationSuf
61f0: 66 69 78 29 27 20 3d 3d 20 27 27 22 3e 3c 2f 43  fix)' == ''"></C
6200: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 53 75 66 66  onfigurationSuff
6210: 69 78 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74  ix>..  </Propert
6220: 79 47 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d  yGroup>....  <!-
6230: 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  -..  ***********
6240: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6250: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6280: 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20  ***..  **       
6290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
62a0: 20 20 52 65 6c 61 74 69 76 65 20 50 61 74 68 20    Relative Path 
62b0: 50 72 6f 70 65 72 74 69 65 73 20 20 20 20 20 20  Properties      
62c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
62d0: 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a     **..  *******
62e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
62f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6300: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6310: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6320: 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a  *******..  -->..
6330: 0d 0a 20 20 3c 50 72 6f 70 65 72 74 79 47 72 6f  ..  <PropertyGro
6340: 75 70 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  up Condition="'$
6350: 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 27 20  (SQLiteNetDir)' 
6360: 21 3d 20 27 27 22 3e 0d 0a 20 20 20 20 3c 21 2d  != ''">..    <!-
6370: 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a  -..        NOTE:
6380: 20 4b 65 65 70 20 61 6c 6c 20 74 68 65 20 69 6e   Keep all the in
6390: 74 65 72 6d 65 64 69 61 74 65 20 66 69 6c 65 73  termediate files
63a0: 20 69 6e 20 6f 6e 65 20 70 6c 61 63 65 2e 20 20   in one place.  
63b0: 54 68 65 20 56 69 73 75 61 6c 20 53 74 75 64 69  The Visual Studi
63c0: 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  o..             
63d0: 20 49 44 45 20 73 65 65 6d 73 20 74 6f 20 68 61   IDE seems to ha
63e0: 76 65 20 61 20 6e 61 73 74 79 20 68 61 62 69 74  ve a nasty habit
63f0: 20 6f 66 20 69 67 6e 6f 72 69 6e 67 20 74 68 69   of ignoring thi
6400: 73 20 73 65 74 74 69 6e 67 2e 20 20 54 68 65 0d  s setting.  The.
6410: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56  .              V
6420: 69 73 75 61 6c 20 53 74 75 64 69 6f 20 49 44 45  isual Studio IDE
6430: 20 74 68 65 6e 20 66 61 69 6c 73 20 74 6f 20 62   then fails to b
6440: 75 69 6c 64 20 74 68 65 20 70 72 6f 6a 65 63 74  uild the project
6450: 28 73 29 20 70 72 6f 70 65 72 6c 79 20 77 68 65  (s) properly whe
6460: 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  n..             
6470: 20 74 68 65 20 6f 75 74 70 75 74 20 64 6f 65 73   the output does
6480: 20 6e 6f 74 20 65 6e 64 20 75 70 20 77 68 65 72   not end up wher
6490: 65 20 69 74 20 65 78 70 65 63 74 73 20 74 68 65  e it expects the
64a0: 20 6f 75 74 70 75 74 20 74 6f 20 62 65 2e 20 20   output to be.  
64b0: 54 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  The..           
64c0: 20 20 20 76 61 6c 75 65 20 6f 66 20 74 68 69 73     value of this
64d0: 20 70 72 6f 70 65 72 74 79 20 6d 75 73 74 20 68   property must h
64e0: 61 76 65 20 61 20 74 72 61 69 6c 69 6e 67 20 62  ave a trailing b
64f0: 61 63 6b 73 6c 61 73 68 2e 0d 0a 20 20 20 20 2d  ackslash...    -
6500: 2d 3e 0d 0a 20 20 20 20 3c 42 61 73 65 49 6e 74  ->..    <BaseInt
6510: 65 72 6d 65 64 69 61 74 65 4f 75 74 70 75 74 50  ermediateOutputP
6520: 61 74 68 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  ath Condition="'
6530: 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 53  $(ConfigurationS
6540: 75 66 66 69 78 29 27 20 3d 3d 20 27 27 22 3e 24  uffix)' == ''">$
6550: 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 6f  (SQLiteNetDir)\o
6560: 62 6a 5c 24 28 43 6f 6e 66 69 67 75 72 61 74 69  bj\$(Configurati
6570: 6f 6e 59 65 61 72 29 5c 3c 2f 42 61 73 65 49 6e  onYear)\</BaseIn
6580: 74 65 72 6d 65 64 69 61 74 65 4f 75 74 70 75 74  termediateOutput
6590: 50 61 74 68 3e 0d 0a 20 20 20 20 3c 42 61 73 65  Path>..    <Base
65a0: 49 6e 74 65 72 6d 65 64 69 61 74 65 4f 75 74 70  IntermediateOutp
65b0: 75 74 50 61 74 68 20 43 6f 6e 64 69 74 69 6f 6e  utPath Condition
65c0: 3d 22 27 24 28 43 6f 6e 66 69 67 75 72 61 74 69  ="'$(Configurati
65d0: 6f 6e 53 75 66 66 69 78 29 27 20 21 3d 20 27 27  onSuffix)' != ''
65e0: 22 3e 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72  ">$(SQLiteNetDir
65f0: 29 5c 6f 62 6a 5c 24 28 43 6f 6e 66 69 67 75 72  )\obj\$(Configur
6600: 61 74 69 6f 6e 59 65 61 72 29 5c 24 28 43 6f 6e  ationYear)\$(Con
6610: 66 69 67 75 72 61 74 69 6f 6e 53 75 66 66 69 78  figurationSuffix
6620: 29 5c 3c 2f 42 61 73 65 49 6e 74 65 72 6d 65 64  )\</BaseIntermed
6630: 69 61 74 65 4f 75 74 70 75 74 50 61 74 68 3e 0d  iateOutputPath>.
6640: 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f  .  </PropertyGro
6650: 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20  up>....  <!--.. 
6660: 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ***************
6670: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6680: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6690: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
66a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d  ***************.
66b0: 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20 20 20  .  **           
66c0: 20 20 20 20 20 50 65 72 2d 43 6f 6e 66 69 67 75       Per-Configu
66d0: 72 61 74 69 6f 6e 20 52 65 6c 61 74 69 76 65 20  ration Relative 
66e0: 50 61 74 68 20 50 72 6f 70 65 72 74 69 65 73 20  Path Properties 
66f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
6700: 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  *..  ***********
6710: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6720: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6730: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6740: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6750: 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20  ***..  -->....  
6760: 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70 20 43  <PropertyGroup C
6770: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 53 51 4c  ondition="'$(SQL
6780: 69 74 65 4e 65 74 44 69 72 29 27 20 21 3d 20 27  iteNetDir)' != '
6790: 27 20 41 6e 64 20 27 24 28 43 6f 6e 66 69 67 75  ' And '$(Configu
67a0: 72 61 74 69 6f 6e 29 27 20 21 3d 20 27 27 22 3e  ration)' != ''">
67b0: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
67c0: 20 20 20 20 4e 4f 54 45 3a 20 54 68 65 20 66 69      NOTE: The fi
67d0: 6e 61 6c 20 6f 75 74 70 75 74 20 66 69 6c 65 73  nal output files
67e0: 20 6e 65 65 64 20 74 6f 20 65 6e 64 20 75 70 20   need to end up 
67f0: 69 6e 20 6f 6e 65 20 70 6c 61 63 65 2e 20 20 54  in one place.  T
6800: 68 65 20 76 61 6c 75 65 20 6f 66 0d 0a 20 20 20  he value of..   
6810: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 20             this 
6820: 70 72 6f 70 65 72 74 79 20 6d 75 73 74 20 68 61  property must ha
6830: 76 65 20 61 20 74 72 61 69 6c 69 6e 67 20 62 61  ve a trailing ba
6840: 63 6b 73 6c 61 73 68 2e 0d 0a 20 20 20 20 2d 2d  ckslash...    --
6850: 3e 0d 0a 20 20 20 20 3c 42 69 6e 61 72 79 4f 75  >..    <BinaryOu
6860: 74 70 75 74 50 61 74 68 20 43 6f 6e 64 69 74 69  tputPath Conditi
6870: 6f 6e 3d 22 27 24 28 42 69 6e 61 72 79 4f 75 74  on="'$(BinaryOut
6880: 70 75 74 50 61 74 68 29 27 20 3d 3d 20 27 27 22  putPath)' == ''"
6890: 3e 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29  >$(SQLiteNetDir)
68a0: 5c 62 69 6e 5c 24 28 43 6f 6e 66 69 67 75 72 61  \bin\$(Configura
68b0: 74 69 6f 6e 59 65 61 72 29 5c 24 28 43 6f 6e 66  tionYear)\$(Conf
68c0: 69 67 75 72 61 74 69 6f 6e 29 24 28 43 6f 6e 66  iguration)$(Conf
68d0: 69 67 75 72 61 74 69 6f 6e 53 75 66 66 69 78 29  igurationSuffix)
68e0: 5c 62 69 6e 5c 3c 2f 42 69 6e 61 72 79 4f 75 74  \bin\</BinaryOut
68f0: 70 75 74 50 61 74 68 3e 0d 0a 20 20 3c 2f 50 72  putPath>..  </Pr
6900: 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 0d 0a  opertyGroup>....
6910: 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a    <!--..  ******
6920: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6930: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6940: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6950: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6960: 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20  ********..  **  
6970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6980: 20 20 20 20 53 74 72 6f 6e 67 20 4e 61 6d 65 20      Strong Name 
6990: 53 69 67 6e 69 6e 67 20 50 72 6f 70 65 72 74 69  Signing Properti
69a0: 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20  es              
69b0: 20 20 20 20 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a          **..  **
69c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
69d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
69e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
69f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
6a00: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20  ************..  
6a10: 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72 6f 70 65 72  -->....  <Proper
6a20: 74 79 47 72 6f 75 70 20 43 6f 6e 64 69 74 69 6f  tyGroup Conditio
6a30: 6e 3d 22 27 24 28 53 51 4c 69 74 65 4e 65 74 44  n="'$(SQLiteNetD
6a40: 69 72 29 27 20 21 3d 20 27 27 20 41 6e 64 0d 0a  ir)' != '' And..
6a50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6a60: 20 20 20 20 20 20 20 20 20 20 20 20 21 48 61 73              !Has
6a70: 54 72 61 69 6c 69 6e 67 53 6c 61 73 68 28 27 24  TrailingSlash('$
6a80: 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 27 29  (SQLiteNetDir)')
6a90: 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20   And..          
6aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6ab0: 20 20 28 28 27 24 28 49 73 43 6f 6d 70 61 63 74    (('$(IsCompact
6ac0: 46 72 61 6d 65 77 6f 72 6b 29 27 20 3d 3d 20 27  Framework)' == '
6ad0: 66 61 6c 73 65 27 20 41 6e 64 20 45 78 69 73 74  false' And Exist
6ae0: 73 28 27 24 28 53 51 4c 69 74 65 4e 65 74 44 69  s('$(SQLiteNetDi
6af0: 72 29 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  r)\System.Data.S
6b00: 51 4c 69 74 65 5c 53 79 73 74 65 6d 2e 44 61 74  QLite\System.Dat
6b10: 61 2e 53 51 4c 69 74 65 2e 73 6e 6b 27 29 29 20  a.SQLite.snk')) 
6b20: 4f 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  Or..            
6b30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
6b40: 20 28 27 24 28 49 73 43 6f 6d 70 61 63 74 46 72   ('$(IsCompactFr
6b50: 61 6d 65 77 6f 72 6b 29 27 20 21 3d 20 27 66 61  amework)' != 'fa
6b60: 6c 73 65 27 20 41 6e 64 20 45 78 69 73 74 73 28  lse' And Exists(
6b70: 27 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29  '$(SQLiteNetDir)
6b80: 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c  \System.Data.SQL
6b90: 69 74 65 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e  ite\System.Data.
6ba0: 53 51 4c 69 74 65 2e 43 46 2e 73 6e 6b 27 29 29  SQLite.CF.snk'))
6bb0: 29 22 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  )">..    <!--.. 
6bc0: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 53 69 67         NOTE: Sig
6bd0: 6e 20 74 68 65 20 61 73 73 65 6d 62 6c 79 3f 20  n the assembly? 
6be0: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
6bf0: 73 20 69 73 20 65 6e 61 62 6c 65 64 2e 0d 0a 20  s is enabled... 
6c00: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 53 69 67     -->..    <Sig
6c10: 6e 41 73 73 65 6d 62 6c 79 20 43 6f 6e 64 69 74  nAssembly Condit
6c20: 69 6f 6e 3d 22 27 24 28 53 69 67 6e 41 73 73 65  ion="'$(SignAsse
6c30: 6d 62 6c 79 29 27 20 3d 3d 20 27 27 22 3e 74 72  mbly)' == ''">tr
6c40: 75 65 3c 2f 53 69 67 6e 41 73 73 65 6d 62 6c 79  ue</SignAssembly
6c50: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
6c60: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 55 73 65         NOTE: Use
6c70: 20 64 65 6c 61 79 20 73 69 67 6e 69 6e 67 3f 20   delay signing? 
6c80: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
6c90: 73 20 69 73 20 64 69 73 61 62 6c 65 64 20 62 65  s is disabled be
6ca0: 63 61 75 73 65 20 74 68 65 0d 0a 20 20 20 20 20  cause the..     
6cb0: 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74           default
6cc0: 20 73 74 72 6f 6e 67 20 6e 61 6d 65 20 6b 65 79   strong name key
6cd0: 20 70 61 69 72 20 69 73 20 69 6e 63 6c 75 64 65   pair is include
6ce0: 64 20 77 69 74 68 20 74 68 65 20 73 6f 75 72 63  d with the sourc
6cf0: 65 20 63 6f 64 65 2e 0d 0a 20 20 20 20 2d 2d 3e  e code...    -->
6d00: 0d 0a 20 20 20 20 3c 44 65 6c 61 79 53 69 67 6e  ..    <DelaySign
6d10: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 44   Condition="'$(D
6d20: 65 6c 61 79 53 69 67 6e 29 27 20 3d 3d 20 27 27  elaySign)' == ''
6d30: 22 3e 66 61 6c 73 65 3c 2f 44 65 6c 61 79 53 69  ">false</DelaySi
6d40: 67 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d  gn>....    <!--.
6d50: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 54  .        NOTE: T
6d60: 68 65 20 66 75 6c 6c 20 70 61 74 68 20 61 6e 64  he full path and
6d70: 20 66 69 6c 65 20 6e 61 6d 65 20 66 6f 72 20 74   file name for t
6d80: 68 65 20 73 74 72 6f 6e 67 20 6e 61 6d 65 20 6b  he strong name k
6d90: 65 79 20 70 61 69 72 20 74 6f 20 75 73 65 2e 0d  ey pair to use..
6da0: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 41  .    -->..    <A
6db0: 73 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f  ssemblyOriginato
6dc0: 72 4b 65 79 46 69 6c 65 20 43 6f 6e 64 69 74 69  rKeyFile Conditi
6dd0: 6f 6e 3d 22 27 24 28 41 73 73 65 6d 62 6c 79 4f  on="'$(AssemblyO
6de0: 72 69 67 69 6e 61 74 6f 72 4b 65 79 46 69 6c 65  riginatorKeyFile
6df0: 29 27 20 3d 3d 20 27 27 20 41 6e 64 20 27 24 28  )' == '' And '$(
6e00: 49 73 43 6f 6d 70 61 63 74 46 72 61 6d 65 77 6f  IsCompactFramewo
6e10: 72 6b 29 27 20 3d 3d 20 27 66 61 6c 73 65 27 22  rk)' == 'false'"
6e20: 3e 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29  >$(SQLiteNetDir)
6e30: 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c  \System.Data.SQL
6e40: 69 74 65 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e  ite\System.Data.
6e50: 53 51 4c 69 74 65 2e 73 6e 6b 3c 2f 41 73 73 65  SQLite.snk</Asse
6e60: 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72 4b 65  mblyOriginatorKe
6e70: 79 46 69 6c 65 3e 0d 0a 20 20 20 20 3c 41 73 73  yFile>..    <Ass
6e80: 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72 4b  emblyOriginatorK
6e90: 65 79 46 69 6c 65 20 43 6f 6e 64 69 74 69 6f 6e  eyFile Condition
6ea0: 3d 22 27 24 28 41 73 73 65 6d 62 6c 79 4f 72 69  ="'$(AssemblyOri
6eb0: 67 69 6e 61 74 6f 72 4b 65 79 46 69 6c 65 29 27  ginatorKeyFile)'
6ec0: 20 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 49 73   == '' And '$(Is
6ed0: 43 6f 6d 70 61 63 74 46 72 61 6d 65 77 6f 72 6b  CompactFramework
6ee0: 29 27 20 21 3d 20 27 66 61 6c 73 65 27 22 3e 24  )' != 'false'">$
6ef0: 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 53  (SQLiteNetDir)\S
6f00: 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74  ystem.Data.SQLit
6f10: 65 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51  e\System.Data.SQ
6f20: 4c 69 74 65 2e 43 46 2e 73 6e 6b 3c 2f 41 73 73  Lite.CF.snk</Ass
6f30: 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72 4b  emblyOriginatorK
6f40: 65 79 46 69 6c 65 3e 0d 0a 20 20 3c 2f 50 72 6f  eyFile>..  </Pro
6f50: 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 3c 2f 50  pertyGroup>..</P
6f60: 72 6f 6a 65 63 74 3e 0d 0a                       roject>..