System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact a5165a33be7edf74ff0a6ea83eefbc9be242177d:


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