System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact c88afa3783d8863e8a643e9065382a461c581bc3:


0000: 3c 21 2d 2d 0d 0a 20 2a 0d 0a 20 2a 20 53 51 4c  <!--.. *.. * SQL
0010: 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73  ite.NET.Settings
0020: 2e 74 61 72 67 65 74 73 20 2d 0d 0a 20 2a 0d 0a  .targets -.. *..
0030: 20 2a 20 57 72 69 74 74 65 6e 20 62 79 20 4a 6f   * Written by Jo
0040: 65 20 4d 69 73 74 61 63 68 6b 69 6e 2e 0d 0a 20  e Mistachkin... 
0050: 2a 20 52 65 6c 65 61 73 65 64 20 74 6f 20 74 68  * Released to th
0060: 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2c  e public domain,
0070: 20 75 73 65 20 61 74 20 79 6f 75 72 20 6f 77 6e   use at your own
0080: 20 72 69 73 6b 21 0d 0a 20 2a 0d 0a 2d 2d 3e 0d   risk!.. *..-->.
0090: 0a 3c 50 72 6f 6a 65 63 74 20 78 6d 6c 6e 73 3d  .<Project xmlns=
00a0: 22 68 74 74 70 3a 2f 2f 73 63 68 65 6d 61 73 2e  "http://schemas.
00b0: 6d 69 63 72 6f 73 6f 66 74 2e 63 6f 6d 2f 64 65  microsoft.com/de
00c0: 76 65 6c 6f 70 65 72 2f 6d 73 62 75 69 6c 64 2f  veloper/msbuild/
00d0: 32 30 30 33 22 3e 0d 0a 20 20 3c 21 2d 2d 0d 0a  2003">..  <!--..
00e0: 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a    **************
00f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0100: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0110: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0120: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0130: 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20 20  ..  **          
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 4c 6f 61 64 20 50 65 72 2d 55 73 65 72 20 53 65  Load Per-User Se
0160: 74 74 69 6e 67 73 20 20 20 20 20 20 20 20 20 20  ttings          
0170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0180: 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  **..  **********
0190: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
01a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
01b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
01c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
01d0: 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20  ****..  -->.... 
01e0: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 4e 4f 54   <!--..      NOT
01f0: 45 3a 20 49 66 20 74 68 65 20 70 65 72 2d 75 73  E: If the per-us
0200: 65 72 20 73 65 74 74 69 6e 67 73 20 66 69 6c 65  er settings file
0210: 20 65 78 69 73 74 73 2c 20 69 6d 70 6f 72 74 20   exists, import 
0220: 69 74 20 6e 6f 77 2e 20 20 54 68 65 20 63 6f 6e  it now.  The con
0230: 74 61 69 6e 65 64 0d 0a 20 20 20 20 20 20 20 20  tained..        
0240: 20 20 20 20 73 65 74 74 69 6e 67 73 2c 20 69 66      settings, if
0250: 20 61 6e 79 2c 20 77 69 6c 6c 20 6f 76 65 72 72   any, will overr
0260: 69 64 65 20 74 68 65 20 64 65 66 61 75 6c 74 20  ide the default 
0270: 6f 6e 65 73 20 70 72 6f 76 69 64 65 64 20 62 65  ones provided be
0280: 6c 6f 77 2e 0d 0a 20 20 2d 2d 3e 0d 0a 20 20 3c  low...  -->..  <
0290: 49 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d 22  Import Project="
02a0: 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c  $(SQLiteNetDir)\
02b0: 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e  Targets\SQLite.N
02c0: 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67  ET.Settings.targ
02d0: 65 74 73 2e 75 73 65 72 22 0d 0a 20 20 20 20 20  ets.user"..     
02e0: 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22       Condition="
02f0: 45 78 69 73 74 73 28 27 24 28 53 51 4c 69 74 65  Exists('$(SQLite
0300: 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c  NetDir)\Targets\
0310: 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69  SQLite.NET.Setti
0320: 6e 67 73 2e 74 61 72 67 65 74 73 2e 75 73 65 72  ngs.targets.user
0330: 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d  ')" />....  <!--
0340: 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ..  ************
0350: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0360: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0370: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0380: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0390: 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20  **..  **        
03a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
03b0: 20 20 20 4c 6f 61 64 20 45 78 74 72 61 20 53 65     Load Extra Se
03c0: 74 74 69 6e 67 73 20 20 20 20 20 20 20 20 20 20  ttings          
03d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
03e0: 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a    **..  ********
03f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0400: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0410: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0420: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0430: 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d  ******..  -->...
0440: 0a 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 4e  .  <!--..      N
0450: 4f 54 45 3a 20 49 66 20 74 68 65 20 22 65 78 74  OTE: If the "ext
0460: 72 61 22 20 73 65 74 74 69 6e 67 73 20 66 69 6c  ra" settings fil
0470: 65 20 65 78 69 73 74 73 2c 20 69 6d 70 6f 72 74  e exists, import
0480: 20 69 74 20 6e 6f 77 2e 20 20 54 68 65 20 63 6f   it now.  The co
0490: 6e 74 61 69 6e 65 64 0d 0a 20 20 20 20 20 20 20  ntained..       
04a0: 20 20 20 20 20 73 65 74 74 69 6e 67 73 2c 20 69       settings, i
04b0: 66 20 61 6e 79 2c 20 77 69 6c 6c 20 6f 76 65 72  f any, will over
04c0: 72 69 64 65 20 74 68 65 20 64 65 66 61 75 6c 74  ride the default
04d0: 20 6f 6e 65 73 20 70 72 6f 76 69 64 65 64 20 62   ones provided b
04e0: 65 6c 6f 77 2e 0d 0a 20 20 2d 2d 3e 0d 0a 20 20  elow...  -->..  
04f0: 3c 49 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d  <Import Project=
0500: 22 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29  "$(SQLiteNetDir)
0510: 5c 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e  \Targets\SQLite.
0520: 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72  NET.Settings.tar
0530: 67 65 74 73 2e 65 78 74 72 61 22 0d 0a 20 20 20  gets.extra"..   
0540: 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e         Condition
0550: 3d 22 45 78 69 73 74 73 28 27 24 28 53 51 4c 69  ="Exists('$(SQLi
0560: 74 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74  teNetDir)\Target
0570: 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74  s\SQLite.NET.Set
0580: 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 65 78  tings.targets.ex
0590: 74 72 61 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c  tra')" />....  <
05a0: 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a  !--..  *********
05b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
05c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
05d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
05e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
05f0: 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20 20 20  *****..  **     
0600: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0610: 20 20 20 4c 6f 61 64 20 50 65 72 2d 46 72 61 6d     Load Per-Fram
0620: 65 77 6f 72 6b 20 53 65 74 74 69 6e 67 73 20 20  ework Settings  
0630: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0640: 20 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a       **..  *****
0650: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0660: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0670: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0680: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0690: 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e  *********..  -->
06a0: 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ....  <!--..    
06b0: 20 20 4e 4f 54 45 3a 20 49 66 20 74 68 65 20 70    NOTE: If the p
06c0: 65 72 2d 66 72 61 6d 65 77 6f 72 6b 20 73 65 74  er-framework set
06d0: 74 69 6e 67 73 20 66 69 6c 65 73 20 65 78 69 73  tings files exis
06e0: 74 2c 20 69 6d 70 6f 72 74 20 74 68 65 6d 20 6e  t, import them n
06f0: 6f 77 2e 20 20 54 68 65 0d 0a 20 20 20 20 20 20  ow.  The..      
0700: 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 65 64 20        contained 
0710: 73 65 74 74 69 6e 67 73 2c 20 69 66 20 61 6e 79  settings, if any
0720: 2c 20 77 69 6c 6c 20 6f 76 65 72 72 69 64 65 20  , will override 
0730: 74 68 65 20 64 65 66 61 75 6c 74 20 6f 6e 65 73  the default ones
0740: 20 70 72 6f 76 69 64 65 64 0d 0a 20 20 20 20 20   provided..     
0750: 20 20 20 20 20 20 20 62 65 6c 6f 77 2e 0d 0a 20         below... 
0760: 20 2d 2d 3e 0d 0a 20 20 3c 49 6d 70 6f 72 74 20   -->..  <Import 
0770: 50 72 6f 6a 65 63 74 3d 22 24 28 53 51 4c 69 74  Project="$(SQLit
0780: 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74 73  eNetDir)\Targets
0790: 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74  \SQLite.NET.Sett
07a0: 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74  ings.targets.net
07b0: 46 78 32 30 22 0d 0a 20 20 20 20 20 20 20 20 20  Fx20"..         
07c0: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e   Condition="'$(N
07d0: 65 74 46 78 32 30 29 27 20 21 3d 20 27 27 20 41  etFx20)' != '' A
07e0: 6e 64 20 27 24 28 4e 65 74 46 78 32 30 29 27 20  nd '$(NetFx20)' 
07f0: 21 3d 20 27 66 61 6c 73 65 27 20 41 6e 64 0d 0a  != 'false' And..
0800: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0810: 20 20 20 20 20 28 27 24 28 4e 65 74 46 78 32 30       ('$(NetFx20
0820: 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20 27 27  Settings)' == ''
0830: 20 4f 72 20 27 24 28 4e 65 74 46 78 32 30 53 65   Or '$(NetFx20Se
0840: 74 74 69 6e 67 73 29 27 20 21 3d 20 27 66 61 6c  ttings)' != 'fal
0850: 73 65 27 29 20 41 6e 64 0d 0a 20 20 20 20 20 20  se') And..      
0860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45                 E
0870: 78 69 73 74 73 28 27 24 28 53 51 4c 69 74 65 4e  xists('$(SQLiteN
0880: 65 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53  etDir)\Targets\S
0890: 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e  QLite.NET.Settin
08a0: 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78  gs.targets.netFx
08b0: 32 30 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49  20')" />....  <I
08c0: 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d 22 24  mport Project="$
08d0: 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54  (SQLiteNetDir)\T
08e0: 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45  argets\SQLite.NE
08f0: 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65  T.Settings.targe
0900: 74 73 2e 6e 65 74 46 78 33 35 22 0d 0a 20 20 20  ts.netFx35"..   
0910: 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e         Condition
0920: 3d 22 27 24 28 4e 65 74 46 78 33 35 29 27 20 21  ="'$(NetFx35)' !
0930: 3d 20 27 27 20 41 6e 64 20 27 24 28 4e 65 74 46  = '' And '$(NetF
0940: 78 33 35 29 27 20 21 3d 20 27 66 61 6c 73 65 27  x35)' != 'false'
0950: 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20   And..          
0960: 20 20 20 20 20 20 20 20 20 20 20 28 27 24 28 4e             ('$(N
0970: 65 74 46 78 33 35 53 65 74 74 69 6e 67 73 29 27  etFx35Settings)'
0980: 20 3d 3d 20 27 27 20 4f 72 20 27 24 28 4e 65 74   == '' Or '$(Net
0990: 46 78 33 35 53 65 74 74 69 6e 67 73 29 27 20 21  Fx35Settings)' !
09a0: 3d 20 27 66 61 6c 73 65 27 29 20 41 6e 64 0d 0a  = 'false') And..
09b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
09c0: 20 20 20 20 20 45 78 69 73 74 73 28 27 24 28 53       Exists('$(S
09d0: 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54 61 72  QLiteNetDir)\Tar
09e0: 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e  gets\SQLite.NET.
09f0: 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73  Settings.targets
0a00: 2e 6e 65 74 46 78 33 35 27 29 22 20 2f 3e 0d 0a  .netFx35')" />..
0a10: 0d 0a 20 20 3c 49 6d 70 6f 72 74 20 50 72 6f 6a  ..  <Import Proj
0a20: 65 63 74 3d 22 24 28 53 51 4c 69 74 65 4e 65 74  ect="$(SQLiteNet
0a30: 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53 51 4c  Dir)\Targets\SQL
0a40: 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73  ite.NET.Settings
0a50: 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34 30  .targets.netFx40
0a60: 22 0d 0a 20 20 20 20 20 20 20 20 20 20 43 6f 6e  "..          Con
0a70: 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78  dition="'$(NetFx
0a80: 34 30 29 27 20 21 3d 20 27 27 20 41 6e 64 20 27  40)' != '' And '
0a90: 24 28 4e 65 74 46 78 34 30 29 27 20 21 3d 20 27  $(NetFx40)' != '
0aa0: 66 61 6c 73 65 27 20 41 6e 64 0d 0a 20 20 20 20  false' And..    
0ab0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0ac0: 20 28 27 24 28 4e 65 74 46 78 34 30 53 65 74 74   ('$(NetFx40Sett
0ad0: 69 6e 67 73 29 27 20 3d 3d 20 27 27 20 4f 72 20  ings)' == '' Or 
0ae0: 27 24 28 4e 65 74 46 78 34 30 53 65 74 74 69 6e  '$(NetFx40Settin
0af0: 67 73 29 27 20 21 3d 20 27 66 61 6c 73 65 27 29  gs)' != 'false')
0b00: 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20   And..          
0b10: 20 20 20 20 20 20 20 20 20 20 20 45 78 69 73 74             Exist
0b20: 73 28 27 24 28 53 51 4c 69 74 65 4e 65 74 44 69  s('$(SQLiteNetDi
0b30: 72 29 5c 54 61 72 67 65 74 73 5c 53 51 4c 69 74  r)\Targets\SQLit
0b40: 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74  e.NET.Settings.t
0b50: 61 72 67 65 74 73 2e 6e 65 74 46 78 34 30 27 29  argets.netFx40')
0b60: 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70 6f 72  " />....  <Impor
0b70: 74 20 50 72 6f 6a 65 63 74 3d 22 24 28 53 51 4c  t Project="$(SQL
0b80: 69 74 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65  iteNetDir)\Targe
0b90: 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65  ts\SQLite.NET.Se
0ba0: 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e  ttings.targets.n
0bb0: 65 74 46 78 34 35 22 0d 0a 20 20 20 20 20 20 20  etFx45"..       
0bc0: 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24     Condition="'$
0bd0: 28 4e 65 74 46 78 34 35 29 27 20 21 3d 20 27 27  (NetFx45)' != ''
0be0: 20 41 6e 64 20 27 24 28 4e 65 74 46 78 34 35 29   And '$(NetFx45)
0bf0: 27 20 21 3d 20 27 66 61 6c 73 65 27 20 41 6e 64  ' != 'false' And
0c00: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
0c10: 20 20 20 20 20 20 20 28 27 24 28 4e 65 74 46 78         ('$(NetFx
0c20: 34 35 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20  45Settings)' == 
0c30: 27 27 20 4f 72 20 27 24 28 4e 65 74 46 78 34 35  '' Or '$(NetFx45
0c40: 53 65 74 74 69 6e 67 73 29 27 20 21 3d 20 27 66  Settings)' != 'f
0c50: 61 6c 73 65 27 29 20 41 6e 64 0d 0a 20 20 20 20  alse') And..    
0c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0c70: 20 45 78 69 73 74 73 28 27 24 28 53 51 4c 69 74   Exists('$(SQLit
0c80: 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74 73  eNetDir)\Targets
0c90: 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74  \SQLite.NET.Sett
0ca0: 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74  ings.targets.net
0cb0: 46 78 34 35 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20  Fx45')" />....  
0cc0: 3c 49 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d  <Import Project=
0cd0: 22 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29  "$(SQLiteNetDir)
0ce0: 5c 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e  \Targets\SQLite.
0cf0: 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72  NET.Settings.tar
0d00: 67 65 74 73 2e 6e 65 74 46 78 34 35 31 22 0d 0a  gets.netFx451"..
0d10: 20 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74            Condit
0d20: 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 35 31  ion="'$(NetFx451
0d30: 29 27 20 21 3d 20 27 27 20 41 6e 64 20 27 24 28  )' != '' And '$(
0d40: 4e 65 74 46 78 34 35 31 29 27 20 21 3d 20 27 66  NetFx451)' != 'f
0d50: 61 6c 73 65 27 20 41 6e 64 0d 0a 20 20 20 20 20  alse' And..     
0d60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0d70: 28 27 24 28 4e 65 74 46 78 34 35 31 53 65 74 74  ('$(NetFx451Sett
0d80: 69 6e 67 73 29 27 20 3d 3d 20 27 27 20 4f 72 20  ings)' == '' Or 
0d90: 27 24 28 4e 65 74 46 78 34 35 31 53 65 74 74 69  '$(NetFx451Setti
0da0: 6e 67 73 29 27 20 21 3d 20 27 66 61 6c 73 65 27  ngs)' != 'false'
0db0: 29 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20  ) And..         
0dc0: 20 20 20 20 20 20 20 20 20 20 20 20 45 78 69 73              Exis
0dd0: 74 73 28 27 24 28 53 51 4c 69 74 65 4e 65 74 44  ts('$(SQLiteNetD
0de0: 69 72 29 5c 54 61 72 67 65 74 73 5c 53 51 4c 69  ir)\Targets\SQLi
0df0: 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e  te.NET.Settings.
0e00: 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34 35 31  targets.netFx451
0e10: 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70  ')" />....  <Imp
0e20: 6f 72 74 20 50 72 6f 6a 65 63 74 3d 22 24 28 53  ort Project="$(S
0e30: 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54 61 72  QLiteNetDir)\Tar
0e40: 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e  gets\SQLite.NET.
0e50: 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73  Settings.targets
0e60: 2e 6e 65 74 46 78 34 35 32 22 0d 0a 20 20 20 20  .netFx452"..    
0e70: 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d        Condition=
0e80: 22 27 24 28 4e 65 74 46 78 34 35 32 29 27 20 21  "'$(NetFx452)' !
0e90: 3d 20 27 27 20 41 6e 64 20 27 24 28 4e 65 74 46  = '' And '$(NetF
0ea0: 78 34 35 32 29 27 20 21 3d 20 27 66 61 6c 73 65  x452)' != 'false
0eb0: 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20  ' And..         
0ec0: 20 20 20 20 20 20 20 20 20 20 20 20 28 27 24 28              ('$(
0ed0: 4e 65 74 46 78 34 35 32 53 65 74 74 69 6e 67 73  NetFx452Settings
0ee0: 29 27 20 3d 3d 20 27 27 20 4f 72 20 27 24 28 4e  )' == '' Or '$(N
0ef0: 65 74 46 78 34 35 32 53 65 74 74 69 6e 67 73 29  etFx452Settings)
0f00: 27 20 21 3d 20 27 66 61 6c 73 65 27 29 20 41 6e  ' != 'false') An
0f10: 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  d..             
0f20: 20 20 20 20 20 20 20 20 45 78 69 73 74 73 28 27          Exists('
0f30: 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c  $(SQLiteNetDir)\
0f40: 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e  Targets\SQLite.N
0f50: 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67  ET.Settings.targ
0f60: 65 74 73 2e 6e 65 74 46 78 34 35 32 27 29 22 20  ets.netFx452')" 
0f70: 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70 6f 72 74 20  />....  <Import 
0f80: 50 72 6f 6a 65 63 74 3d 22 24 28 53 51 4c 69 74  Project="$(SQLit
0f90: 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74 73  eNetDir)\Targets
0fa0: 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74  \SQLite.NET.Sett
0fb0: 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74  ings.targets.net
0fc0: 46 78 34 36 22 0d 0a 20 20 20 20 20 20 20 20 20  Fx46"..         
0fd0: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e   Condition="'$(N
0fe0: 65 74 46 78 34 36 29 27 20 21 3d 20 27 27 20 41  etFx46)' != '' A
0ff0: 6e 64 20 27 24 28 4e 65 74 46 78 34 36 29 27 20  nd '$(NetFx46)' 
1000: 21 3d 20 27 66 61 6c 73 65 27 20 41 6e 64 0d 0a  != 'false' And..
1010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1020: 20 20 20 20 20 28 27 24 28 4e 65 74 46 78 34 36       ('$(NetFx46
1030: 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20 27 27  Settings)' == ''
1040: 20 4f 72 20 27 24 28 4e 65 74 46 78 34 36 53 65   Or '$(NetFx46Se
1050: 74 74 69 6e 67 73 29 27 20 21 3d 20 27 66 61 6c  ttings)' != 'fal
1060: 73 65 27 29 20 41 6e 64 0d 0a 20 20 20 20 20 20  se') And..      
1070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45                 E
1080: 78 69 73 74 73 28 27 24 28 53 51 4c 69 74 65 4e  xists('$(SQLiteN
1090: 65 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53  etDir)\Targets\S
10a0: 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e  QLite.NET.Settin
10b0: 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78  gs.targets.netFx
10c0: 34 36 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49  46')" />....  <I
10d0: 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d 22 24  mport Project="$
10e0: 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54  (SQLiteNetDir)\T
10f0: 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45  argets\SQLite.NE
1100: 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65  T.Settings.targe
1110: 74 73 2e 6e 65 74 46 78 34 36 31 22 0d 0a 20 20  ts.netFx461"..  
1120: 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f          Conditio
1130: 6e 3d 22 27 24 28 4e 65 74 46 78 34 36 31 29 27  n="'$(NetFx461)'
1140: 20 21 3d 20 27 27 20 41 6e 64 20 27 24 28 4e 65   != '' And '$(Ne
1150: 74 46 78 34 36 31 29 27 20 21 3d 20 27 66 61 6c  tFx461)' != 'fal
1160: 73 65 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 20  se' And..       
1170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 27                ('
1180: 24 28 4e 65 74 46 78 34 36 31 53 65 74 74 69 6e  $(NetFx461Settin
1190: 67 73 29 27 20 3d 3d 20 27 27 20 4f 72 20 27 24  gs)' == '' Or '$
11a0: 28 4e 65 74 46 78 34 36 31 53 65 74 74 69 6e 67  (NetFx461Setting
11b0: 73 29 27 20 21 3d 20 27 66 61 6c 73 65 27 29 20  s)' != 'false') 
11c0: 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20  And..           
11d0: 20 20 20 20 20 20 20 20 20 20 45 78 69 73 74 73            Exists
11e0: 28 27 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72  ('$(SQLiteNetDir
11f0: 29 5c 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65  )\Targets\SQLite
1200: 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61  .NET.Settings.ta
1210: 72 67 65 74 73 2e 6e 65 74 46 78 34 36 31 27 29  rgets.netFx461')
1220: 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70 6f 72  " />....  <Impor
1230: 74 20 50 72 6f 6a 65 63 74 3d 22 24 28 53 51 4c  t Project="$(SQL
1240: 69 74 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65  iteNetDir)\Targe
1250: 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65  ts\SQLite.NET.Se
1260: 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e  ttings.targets.n
1270: 65 74 46 78 34 36 32 22 0d 0a 20 20 20 20 20 20  etFx462"..      
1280: 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27      Condition="'
1290: 24 28 4e 65 74 46 78 34 36 32 29 27 20 21 3d 20  $(NetFx462)' != 
12a0: 27 27 20 41 6e 64 20 27 24 28 4e 65 74 46 78 34  '' And '$(NetFx4
12b0: 36 32 29 27 20 21 3d 20 27 66 61 6c 73 65 27 20  62)' != 'false' 
12c0: 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20  And..           
12d0: 20 20 20 20 20 20 20 20 20 20 28 27 24 28 4e 65            ('$(Ne
12e0: 74 46 78 34 36 32 53 65 74 74 69 6e 67 73 29 27  tFx462Settings)'
12f0: 20 3d 3d 20 27 27 20 4f 72 20 27 24 28 4e 65 74   == '' Or '$(Net
1300: 46 78 34 36 32 53 65 74 74 69 6e 67 73 29 27 20  Fx462Settings)' 
1310: 21 3d 20 27 66 61 6c 73 65 27 29 20 41 6e 64 0d  != 'false') And.
1320: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
1330: 20 20 20 20 20 20 45 78 69 73 74 73 28 27 24 28        Exists('$(
1340: 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54 61  SQLiteNetDir)\Ta
1350: 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54  rgets\SQLite.NET
1360: 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74  .Settings.target
1370: 73 2e 6e 65 74 46 78 34 36 32 27 29 22 20 2f 3e  s.netFx462')" />
1380: 0d 0a 0d 0a 20 20 3c 49 6d 70 6f 72 74 20 50 72  ....  <Import Pr
1390: 6f 6a 65 63 74 3d 22 24 28 53 51 4c 69 74 65 4e  oject="$(SQLiteN
13a0: 65 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53  etDir)\Targets\S
13b0: 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e  QLite.NET.Settin
13c0: 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78  gs.targets.netFx
13d0: 34 37 22 0d 0a 20 20 20 20 20 20 20 20 20 20 43  47"..          C
13e0: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74  ondition="'$(Net
13f0: 46 78 34 37 29 27 20 21 3d 20 27 27 20 41 6e 64  Fx47)' != '' And
1400: 20 27 24 28 4e 65 74 46 78 34 37 29 27 20 21 3d   '$(NetFx47)' !=
1410: 20 27 66 61 6c 73 65 27 20 41 6e 64 0d 0a 20 20   'false' And..  
1420: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1430: 20 20 20 28 27 24 28 4e 65 74 46 78 34 37 53 65     ('$(NetFx47Se
1440: 74 74 69 6e 67 73 29 27 20 3d 3d 20 27 27 20 4f  ttings)' == '' O
1450: 72 20 27 24 28 4e 65 74 46 78 34 37 53 65 74 74  r '$(NetFx47Sett
1460: 69 6e 67 73 29 27 20 21 3d 20 27 66 61 6c 73 65  ings)' != 'false
1470: 27 29 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20  ') And..        
1480: 20 20 20 20 20 20 20 20 20 20 20 20 20 45 78 69               Exi
1490: 73 74 73 28 27 24 28 53 51 4c 69 74 65 4e 65 74  sts('$(SQLiteNet
14a0: 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53 51 4c  Dir)\Targets\SQL
14b0: 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73  ite.NET.Settings
14c0: 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34 37  .targets.netFx47
14d0: 27 29 22 20 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70  ')" />....  <Imp
14e0: 6f 72 74 20 50 72 6f 6a 65 63 74 3d 22 24 28 53  ort Project="$(S
14f0: 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 54 61 72  QLiteNetDir)\Tar
1500: 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e  gets\SQLite.NET.
1510: 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73  Settings.targets
1520: 2e 6e 65 74 46 78 34 37 31 22 0d 0a 20 20 20 20  .netFx471"..    
1530: 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d        Condition=
1540: 22 27 24 28 4e 65 74 46 78 34 37 31 29 27 20 21  "'$(NetFx471)' !
1550: 3d 20 27 27 20 41 6e 64 20 27 24 28 4e 65 74 46  = '' And '$(NetF
1560: 78 34 37 31 29 27 20 21 3d 20 27 66 61 6c 73 65  x471)' != 'false
1570: 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20  ' And..         
1580: 20 20 20 20 20 20 20 20 20 20 20 20 28 27 24 28              ('$(
1590: 4e 65 74 46 78 34 37 31 53 65 74 74 69 6e 67 73  NetFx471Settings
15a0: 29 27 20 3d 3d 20 27 27 20 4f 72 20 27 24 28 4e  )' == '' Or '$(N
15b0: 65 74 46 78 34 37 31 53 65 74 74 69 6e 67 73 29  etFx471Settings)
15c0: 27 20 21 3d 20 27 66 61 6c 73 65 27 29 20 41 6e  ' != 'false') An
15d0: 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  d..             
15e0: 20 20 20 20 20 20 20 20 45 78 69 73 74 73 28 27          Exists('
15f0: 24 28 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c  $(SQLiteNetDir)\
1600: 54 61 72 67 65 74 73 5c 53 51 4c 69 74 65 2e 4e  Targets\SQLite.N
1610: 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67  ET.Settings.targ
1620: 65 74 73 2e 6e 65 74 46 78 34 37 31 27 29 22 20  ets.netFx471')" 
1630: 2f 3e 0d 0a 0d 0a 20 20 3c 49 6d 70 6f 72 74 20  />....  <Import 
1640: 50 72 6f 6a 65 63 74 3d 22 24 28 53 51 4c 69 74  Project="$(SQLit
1650: 65 4e 65 74 44 69 72 29 5c 54 61 72 67 65 74 73  eNetDir)\Targets
1660: 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74  \SQLite.NET.Sett
1670: 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74  ings.targets.net
1680: 46 78 34 37 32 22 0d 0a 20 20 20 20 20 20 20 20  Fx472"..        
1690: 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28    Condition="'$(
16a0: 4e 65 74 46 78 34 37 32 29 27 20 21 3d 20 27 27  NetFx472)' != ''
16b0: 20 41 6e 64 20 27 24 28 4e 65 74 46 78 34 37 32   And '$(NetFx472
16c0: 29 27 20 21 3d 20 27 66 61 6c 73 65 27 20 41 6e  )' != 'false' An
16d0: 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  d..             
16e0: 20 20 20 20 20 20 20 20 28 27 24 28 4e 65 74 46          ('$(NetF
16f0: 78 34 37 32 53 65 74 74 69 6e 67 73 29 27 20 3d  x472Settings)' =
1700: 3d 20 27 27 20 4f 72 20 27 24 28 4e 65 74 46 78  = '' Or '$(NetFx
1710: 34 37 32 53 65 74 74 69 6e 67 73 29 27 20 21 3d  472Settings)' !=
1720: 20 27 66 61 6c 73 65 27 29 20 41 6e 64 0d 0a 20   'false') And.. 
1730: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1740: 20 20 20 20 45 78 69 73 74 73 28 27 24 28 53 51      Exists('$(SQ
1750: 4c 69 74 65 4e 65 74 44 69 72 29 5c 54 61 72 67  LiteNetDir)\Targ
1760: 65 74 73 5c 53 51 4c 69 74 65 2e 4e 45 54 2e 53  ets\SQLite.NET.S
1770: 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e  ettings.targets.
1780: 6e 65 74 46 78 34 37 32 27 29 22 20 2f 3e 0d 0a  netFx472')" />..
1790: 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a  ..  <!--..  ****
17a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
17b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
17c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
17d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
17e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a  **********..  **
17f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1800: 20 20 20 20 20 20 20 5b 46 61 69 72 6c 79 5d 20         [Fairly] 
1810: 47 65 6e 65 72 69 63 20 50 72 6f 70 65 72 74 69  Generic Properti
1820: 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20  es              
1830: 20 20 20 20 20 20 20 20 20 20 2a 2a 0d 0a 20 20            **..  
1840: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1850: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1860: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1870: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1880: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a  **************..
1890: 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72 6f 70    -->....  <Prop
18a0: 65 72 74 79 47 72 6f 75 70 3e 0d 0a 20 20 20 20  ertyGroup>..    
18b0: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
18c0: 54 45 3a 20 2a 55 4e 43 4f 4e 44 49 54 49 4f 4e  TE: *UNCONDITION
18d0: 41 4c 2a 20 57 65 20 6e 65 76 65 72 20 77 61 6e  AL* We never wan
18e0: 74 20 74 6f 20 75 73 65 20 74 68 65 20 68 6f 73  t to use the hos
18f0: 74 69 6e 67 20 70 72 6f 63 65 73 73 20 66 6f 72  ting process for
1900: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1910: 64 65 62 75 67 67 69 6e 67 2e 20 20 49 74 20 63  debugging.  It c
1920: 61 75 73 65 73 20 70 72 6f 62 6c 65 6d 73 2e 0d  auses problems..
1930: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 55  .    -->..    <U
1940: 73 65 56 53 48 6f 73 74 69 6e 67 50 72 6f 63 65  seVSHostingProce
1950: 73 73 3e 66 61 6c 73 65 3c 2f 55 73 65 56 53 48  ss>false</UseVSH
1960: 6f 73 74 69 6e 67 50 72 6f 63 65 73 73 3e 0d 0a  ostingProcess>..
1970: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
1980: 20 20 20 20 4e 4f 54 45 3a 20 2a 55 4e 43 4f 4e      NOTE: *UNCON
1990: 44 49 54 49 4f 4e 41 4c 2a 20 57 65 20 6e 65 76  DITIONAL* We nev
19a0: 65 72 20 77 61 6e 74 20 74 6f 20 75 73 65 20 74  er want to use t
19b0: 68 65 20 66 61 73 74 20 75 70 2d 74 6f 2d 64 61  he fast up-to-da
19c0: 74 65 20 63 68 65 63 6b 0d 0a 20 20 20 20 20 20  te check..      
19d0: 20 20 20 20 20 20 20 20 74 68 61 74 20 56 69 73          that Vis
19e0: 75 61 6c 20 53 74 75 64 69 6f 20 70 72 6f 76 69  ual Studio provi
19f0: 64 65 73 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  des...    -->.. 
1a00: 20 20 20 3c 44 69 73 61 62 6c 65 46 61 73 74 55     <DisableFastU
1a10: 70 54 6f 44 61 74 65 43 68 65 63 6b 3e 74 72 75  pToDateCheck>tru
1a20: 65 3c 2f 44 69 73 61 62 6c 65 46 61 73 74 55 70  e</DisableFastUp
1a30: 54 6f 44 61 74 65 43 68 65 63 6b 3e 0d 0a 0d 0a  ToDateCheck>....
1a40: 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20      <!--..      
1a50: 20 20 48 41 43 4b 3a 20 2a 55 4e 43 4f 4e 44 49    HACK: *UNCONDI
1a60: 54 49 4f 4e 41 4c 2a 20 54 68 65 20 56 69 73 75  TIONAL* The Visu
1a70: 61 6c 20 53 74 75 64 69 6f 20 49 44 45 20 69 67  al Studio IDE ig
1a80: 6e 6f 72 65 73 20 74 68 65 0d 0a 20 20 20 20 20  nores the..     
1a90: 20 20 20 20 20 20 20 20 20 42 61 73 65 49 6e 74           BaseInt
1aa0: 65 72 6d 65 64 69 61 74 65 4f 75 74 70 75 74 50  ermediateOutputP
1ab0: 61 74 68 20 70 72 6f 70 65 72 74 79 20 61 6e 64  ath property and
1ac0: 20 63 72 65 61 74 65 73 20 65 6d 70 74 79 20 22   creates empty "
1ad0: 62 69 6e 22 20 61 6e 64 0d 0a 20 20 20 20 20 20  bin" and..      
1ae0: 20 20 20 20 20 20 20 20 22 6f 62 6a 22 20 64 69          "obj" di
1af0: 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 65 76  rectories for ev
1b00: 65 72 79 20 70 72 6f 6a 65 63 74 20 77 68 65 6e  ery project when
1b10: 65 76 65 72 20 74 68 65 20 70 72 6f 6a 65 63 74  ever the project
1b20: 20 69 73 20 6f 70 65 6e 65 64 0d 0a 20 20 20 20   is opened..    
1b30: 20 20 20 20 20 20 20 20 20 20 6f 72 20 62 75 69            or bui
1b40: 6c 74 2e 20 20 41 6c 73 6f 2c 20 74 68 65 20 56  lt.  Also, the V
1b50: 69 73 75 61 6c 20 53 74 75 64 69 6f 20 49 44 45  isual Studio IDE
1b60: 20 77 69 6c 6c 20 6f 63 63 61 73 69 6f 6e 61 6c   will occasional
1b70: 6c 79 20 66 61 69 6c 20 74 6f 0d 0a 20 20 20 20  ly fail to..    
1b80: 20 20 20 20 20 20 20 20 20 20 72 65 62 75 69 6c            rebuil
1b90: 64 20 74 68 65 20 70 72 6f 6a 65 63 74 20 64 75  d the project du
1ba0: 65 20 74 6f 20 74 68 69 73 20 63 6f 6e 66 75 73  e to this confus
1bb0: 69 6f 6e 2e 20 20 54 68 65 20 73 69 74 75 61 74  ion.  The situat
1bc0: 69 6f 6e 20 61 70 70 65 61 72 73 0d 0a 20 20 20  ion appears..   
1bd0: 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 69 6d             to im
1be0: 70 72 6f 76 65 20 73 6f 6d 65 77 68 61 74 20 77  prove somewhat w
1bf0: 68 65 6e 20 74 68 69 73 20 69 73 20 73 65 74 20  hen this is set 
1c00: 74 6f 20 66 61 6c 73 65 2e 20 20 50 6c 65 61 73  to false.  Pleas
1c10: 65 20 6e 6f 74 65 20 74 68 61 74 0d 0a 20 20 20  e note that..   
1c20: 20 20 20 20 20 20 20 20 20 20 20 65 76 65 6e 20             even 
1c30: 69 66 20 74 68 69 73 20 69 73 20 73 65 74 20 74  if this is set t
1c40: 6f 20 66 61 6c 73 65 2c 20 74 68 69 6e 67 73 20  o false, things 
1c50: 73 74 69 6c 6c 20 64 6f 20 6e 6f 74 20 77 6f 72  still do not wor
1c60: 6b 20 31 30 30 25 0d 0a 20 20 20 20 20 20 20 20  k 100%..        
1c70: 20 20 20 20 20 20 63 6f 72 72 65 63 74 6c 79 3b        correctly;
1c80: 20 68 6f 77 65 76 65 72 2c 20 61 74 20 6c 65 61   however, at lea
1c90: 73 74 20 74 68 65 72 65 20 61 70 70 65 61 72 73  st there appears
1ca0: 20 74 6f 20 62 65 20 6c 65 73 73 20 62 75 69 6c   to be less buil
1cb0: 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  d..             
1cc0: 20 66 61 69 6c 75 72 65 73 2e 0d 0a 0d 0a 20 20   failures.....  
1cd0: 20 20 20 20 20 20 20 20 20 20 20 20 50 6c 65 61              Plea
1ce0: 73 65 20 73 65 65 20 4d 69 63 72 6f 73 6f 66 74  se see Microsoft
1cf0: 20 43 6f 6e 6e 65 63 74 20 46 65 65 64 62 61 63   Connect Feedbac
1d00: 6b 49 44 20 31 30 35 38 35 34 20 66 6f 72 20 74  kID 105854 for t
1d10: 68 65 69 72 20 6f 66 66 69 63 69 61 6c 0d 0a 20  heir official.. 
1d20: 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73               lis
1d30: 74 20 6f 66 20 65 78 63 75 73 65 73 2c 20 6f 6e  t of excuses, on
1d40: 20 74 68 69 73 20 6e 6f 77 20 6d 6f 72 65 20 74   this now more t
1d50: 68 61 6e 20 33 20 79 65 61 72 20 6f 6c 64 20 62  han 3 year old b
1d60: 75 67 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  ug...    -->..  
1d70: 20 20 3c 55 73 65 48 6f 73 74 43 6f 6d 70 69 6c    <UseHostCompil
1d80: 65 72 49 66 41 76 61 69 6c 61 62 6c 65 3e 66 61  erIfAvailable>fa
1d90: 6c 73 65 3c 2f 55 73 65 48 6f 73 74 43 6f 6d 70  lse</UseHostComp
1da0: 69 6c 65 72 49 66 41 76 61 69 6c 61 62 6c 65 3e  ilerIfAvailable>
1db0: 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72  ..  </PropertyGr
1dc0: 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a  oup>....  <!--..
1dd0: 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a    **************
1de0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1df0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1e00: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1e10: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1e20: 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20 20  ..  **          
1e30: 20 20 20 20 20 20 20 20 20 20 20 20 20 46 72 61               Fra
1e40: 6d 65 77 6f 72 6b 20 56 65 72 73 69 6f 6e 20 50  mework Version P
1e50: 72 6f 70 65 72 74 69 65 73 20 20 20 20 20 20 20  roperties       
1e60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1e70: 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  **..  **********
1e80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1e90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1ea0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1eb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
1ec0: 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20  ****..  -->.... 
1ed0: 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e   <PropertyGroup>
1ee0: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
1ef0: 20 20 20 20 4e 4f 54 45 3a 20 4f 6e 6c 79 20 75      NOTE: Only u
1f00: 73 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79  se functionality
1f10: 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68   available in th
1f20: 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b  e .NET Framework
1f30: 20 32 2e 30 3f 20 20 42 79 0d 0a 20 20 20 20 20   2.0?  By..     
1f40: 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74           default
1f50: 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c  , this is disabl
1f60: 65 64 2e 20 20 54 68 69 73 20 6d 75 73 74 20 62  ed.  This must b
1f70: 65 20 65 6e 61 62 6c 65 64 20 74 6f 20 73 75 63  e enabled to suc
1f80: 63 65 73 73 66 75 6c 6c 79 0d 0a 20 20 20 20 20  cessfully..     
1f90: 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 20 74           build t
1fa0: 68 65 20 70 72 6f 6a 65 63 74 20 75 73 69 6e 67  he project using
1fb0: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32   Visual Studio 2
1fc0: 30 30 35 20 61 6e 64 2f 6f 72 20 74 68 65 20 2e  005 and/or the .
1fd0: 4e 45 54 0d 0a 20 20 20 20 20 20 20 20 20 20 20  NET..           
1fe0: 20 20 20 46 72 61 6d 65 77 6f 72 6b 20 32 2e 30     Framework 2.0
1ff0: 20 28 69 66 20 6e 65 63 65 73 73 61 72 79 2c 20   (if necessary, 
2000: 69 74 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c  it will typicall
2010: 79 20 62 65 20 65 6e 61 62 6c 65 64 20 66 72 6f  y be enabled fro
2020: 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  m..             
2030: 20 77 69 74 68 69 6e 20 74 68 65 20 70 72 6f 6a   within the proj
2040: 65 63 74 20 66 69 6c 65 20 69 74 73 65 6c 66 29  ect file itself)
2050: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
2060: 3c 4e 65 74 46 78 32 30 20 43 6f 6e 64 69 74 69  <NetFx20 Conditi
2070: 6f 6e 3d 22 27 24 28 4e 65 74 46 78 32 30 29 27  on="'$(NetFx20)'
2080: 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e   == ''">false</N
2090: 65 74 46 78 32 30 3e 0d 0a 0d 0a 20 20 20 20 3c  etFx20>....    <
20a0: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
20b0: 45 3a 20 4f 6e 6c 79 20 75 73 65 20 66 75 6e 63  E: Only use func
20c0: 74 69 6f 6e 61 6c 69 74 79 20 61 76 61 69 6c 61  tionality availa
20d0: 62 6c 65 20 69 6e 20 74 68 65 20 2e 4e 45 54 20  ble in the .NET 
20e0: 46 72 61 6d 65 77 6f 72 6b 20 33 2e 35 3f 20 20  Framework 3.5?  
20f0: 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  By..            
2100: 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20    default, this 
2110: 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20 54 68  is disabled.  Th
2120: 69 73 20 6d 75 73 74 20 62 65 20 65 6e 61 62 6c  is must be enabl
2130: 65 64 20 74 6f 20 73 75 63 63 65 73 73 66 75 6c  ed to successful
2140: 6c 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ly..            
2150: 20 20 62 75 69 6c 64 20 74 68 65 20 70 72 6f 6a    build the proj
2160: 65 63 74 20 75 73 69 6e 67 20 56 69 73 75 61 6c  ect using Visual
2170: 20 53 74 75 64 69 6f 20 32 30 30 38 20 61 6e 64   Studio 2008 and
2180: 2f 6f 72 20 74 68 65 20 2e 4e 45 54 0d 0a 20 20  /or the .NET..  
2190: 20 20 20 20 20 20 20 20 20 20 20 20 46 72 61 6d              Fram
21a0: 65 77 6f 72 6b 20 33 2e 35 20 28 69 66 20 6e 65  ework 3.5 (if ne
21b0: 63 65 73 73 61 72 79 2c 20 69 74 20 77 69 6c 6c  cessary, it will
21c0: 20 74 79 70 69 63 61 6c 6c 79 20 62 65 20 65 6e   typically be en
21d0: 61 62 6c 65 64 20 66 72 6f 6d 0d 0a 20 20 20 20  abled from..    
21e0: 20 20 20 20 20 20 20 20 20 20 77 69 74 68 69 6e            within
21f0: 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69 6c   the project fil
2200: 65 20 69 74 73 65 6c 66 29 2e 0d 0a 20 20 20 20  e itself)...    
2210: 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 33  -->..    <NetFx3
2220: 35 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  5 Condition="'$(
2230: 4e 65 74 46 78 33 35 29 27 20 3d 3d 20 27 27 22  NetFx35)' == ''"
2240: 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78 33 35 3e  >false</NetFx35>
2250: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
2260: 20 20 20 20 20 20 4e 4f 54 45 3a 20 4f 6e 6c 79        NOTE: Only
2270: 20 75 73 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69   use functionali
2280: 74 79 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20  ty available in 
2290: 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f  the .NET Framewo
22a0: 72 6b 20 34 2e 30 3f 20 20 42 79 0d 0a 20 20 20  rk 4.0?  By..   
22b0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75             defau
22c0: 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61  lt, this is disa
22d0: 62 6c 65 64 2e 20 20 54 68 69 73 20 6d 75 73 74  bled.  This must
22e0: 20 62 65 20 65 6e 61 62 6c 65 64 20 74 6f 20 73   be enabled to s
22f0: 75 63 63 65 73 73 66 75 6c 6c 79 0d 0a 20 20 20  uccessfully..   
2300: 20 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64             build
2310: 20 74 68 65 20 70 72 6f 6a 65 63 74 20 75 73 69   the project usi
2320: 6e 67 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  ng Visual Studio
2330: 20 32 30 31 30 20 61 6e 64 2f 6f 72 20 74 68 65   2010 and/or the
2340: 20 2e 4e 45 54 0d 0a 20 20 20 20 20 20 20 20 20   .NET..         
2350: 20 20 20 20 20 46 72 61 6d 65 77 6f 72 6b 20 34       Framework 4
2360: 2e 30 20 28 69 66 20 6e 65 63 65 73 73 61 72 79  .0 (if necessary
2370: 2c 20 69 74 20 77 69 6c 6c 20 74 79 70 69 63 61  , it will typica
2380: 6c 6c 79 20 62 65 20 65 6e 61 62 6c 65 64 20 66  lly be enabled f
2390: 72 6f 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20  rom..           
23a0: 20 20 20 77 69 74 68 69 6e 20 74 68 65 20 70 72     within the pr
23b0: 6f 6a 65 63 74 20 66 69 6c 65 20 69 74 73 65 6c  oject file itsel
23c0: 66 29 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  f)...    -->..  
23d0: 20 20 3c 4e 65 74 46 78 34 30 20 43 6f 6e 64 69    <NetFx40 Condi
23e0: 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 30  tion="'$(NetFx40
23f0: 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c  )' == ''">false<
2400: 2f 4e 65 74 46 78 34 30 3e 0d 0a 0d 0a 20 20 20  /NetFx40>....   
2410: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
2420: 4f 54 45 3a 20 4f 6e 6c 79 20 75 73 65 20 66 75  OTE: Only use fu
2430: 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 76 61 69  nctionality avai
2440: 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 2e 4e 45  lable in the .NE
2450: 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35 3f  T Framework 4.5?
2460: 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20    By..          
2470: 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69      default, thi
2480: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20  s is disabled.  
2490: 54 68 69 73 20 6d 75 73 74 20 62 65 20 65 6e 61  This must be ena
24a0: 62 6c 65 64 20 74 6f 20 73 75 63 63 65 73 73 66  bled to successf
24b0: 75 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20 20 20  ully..          
24c0: 20 20 20 20 62 75 69 6c 64 20 74 68 65 20 70 72      build the pr
24d0: 6f 6a 65 63 74 20 75 73 69 6e 67 20 56 69 73 75  oject using Visu
24e0: 61 6c 20 53 74 75 64 69 6f 20 32 30 31 32 20 61  al Studio 2012 a
24f0: 6e 64 2f 6f 72 20 74 68 65 20 2e 4e 45 54 0d 0a  nd/or the .NET..
2500: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 72                Fr
2510: 61 6d 65 77 6f 72 6b 20 34 2e 35 20 28 69 66 20  amework 4.5 (if 
2520: 6e 65 63 65 73 73 61 72 79 2c 20 69 74 20 77 69  necessary, it wi
2530: 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 62 65 20  ll typically be 
2540: 65 6e 61 62 6c 65 64 20 66 72 6f 6d 0d 0a 20 20  enabled from..  
2550: 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68              with
2560: 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66  in the project f
2570: 69 6c 65 20 69 74 73 65 6c 66 29 2e 0d 0a 20 20  ile itself)...  
2580: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46    -->..    <NetF
2590: 78 34 35 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  x45 Condition="'
25a0: 24 28 4e 65 74 46 78 34 35 29 27 20 3d 3d 20 27  $(NetFx45)' == '
25b0: 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78 34  '">false</NetFx4
25c0: 35 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  5>....    <!--..
25d0: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4f 6e          NOTE: On
25e0: 6c 79 20 75 73 65 20 66 75 6e 63 74 69 6f 6e 61  ly use functiona
25f0: 6c 69 74 79 20 61 76 61 69 6c 61 62 6c 65 20 69  lity available i
2600: 6e 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65  n the .NET Frame
2610: 77 6f 72 6b 20 34 2e 35 2e 31 3f 20 20 42 79 0d  work 4.5.1?  By.
2620: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64  .              d
2630: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
2640: 64 69 73 61 62 6c 65 64 2e 20 20 54 68 69 73 20  disabled.  This 
2650: 6d 75 73 74 20 62 65 20 65 6e 61 62 6c 65 64 20  must be enabled 
2660: 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c 79 0d  to successfully.
2670: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62  .              b
2680: 75 69 6c 64 20 74 68 65 20 70 72 6f 6a 65 63 74  uild the project
2690: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 53 74   using Visual St
26a0: 75 64 69 6f 20 32 30 31 33 20 61 6e 64 2f 6f 72  udio 2013 and/or
26b0: 20 74 68 65 20 2e 4e 45 54 0d 0a 20 20 20 20 20   the .NET..     
26c0: 20 20 20 20 20 20 20 20 20 46 72 61 6d 65 77 6f           Framewo
26d0: 72 6b 20 34 2e 35 2e 31 20 28 69 66 20 6e 65 63  rk 4.5.1 (if nec
26e0: 65 73 73 61 72 79 2c 20 69 74 20 77 69 6c 6c 20  essary, it will 
26f0: 74 79 70 69 63 61 6c 6c 79 20 62 65 20 65 6e 61  typically be ena
2700: 62 6c 65 64 20 66 72 6f 6d 0d 0a 20 20 20 20 20  bled from..     
2710: 20 20 20 20 20 20 20 20 20 77 69 74 68 69 6e 20           within 
2720: 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69 6c 65  the project file
2730: 20 69 74 73 65 6c 66 29 2e 0d 0a 20 20 20 20 2d   itself)...    -
2740: 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 34 35  ->..    <NetFx45
2750: 31 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  1 Condition="'$(
2760: 4e 65 74 46 78 34 35 31 29 27 20 3d 3d 20 27 27  NetFx451)' == ''
2770: 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78 34 35  ">false</NetFx45
2780: 31 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  1>....    <!--..
2790: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4f 6e          NOTE: On
27a0: 6c 79 20 75 73 65 20 66 75 6e 63 74 69 6f 6e 61  ly use functiona
27b0: 6c 69 74 79 20 61 76 61 69 6c 61 62 6c 65 20 69  lity available i
27c0: 6e 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65  n the .NET Frame
27d0: 77 6f 72 6b 20 34 2e 35 2e 32 3f 20 20 42 79 0d  work 4.5.2?  By.
27e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64  .              d
27f0: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
2800: 64 69 73 61 62 6c 65 64 2e 20 20 54 68 69 73 20  disabled.  This 
2810: 6d 75 73 74 20 62 65 20 65 6e 61 62 6c 65 64 20  must be enabled 
2820: 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c 79 0d  to successfully.
2830: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62  .              b
2840: 75 69 6c 64 20 74 68 65 20 70 72 6f 6a 65 63 74  uild the project
2850: 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20 53 74   using Visual St
2860: 75 64 69 6f 20 32 30 31 33 20 61 6e 64 2f 6f 72  udio 2013 and/or
2870: 20 74 68 65 20 2e 4e 45 54 0d 0a 20 20 20 20 20   the .NET..     
2880: 20 20 20 20 20 20 20 20 20 46 72 61 6d 65 77 6f           Framewo
2890: 72 6b 20 34 2e 35 2e 32 20 28 69 66 20 6e 65 63  rk 4.5.2 (if nec
28a0: 65 73 73 61 72 79 2c 20 69 74 20 77 69 6c 6c 20  essary, it will 
28b0: 74 79 70 69 63 61 6c 6c 79 20 62 65 20 65 6e 61  typically be ena
28c0: 62 6c 65 64 20 66 72 6f 6d 0d 0a 20 20 20 20 20  bled from..     
28d0: 20 20 20 20 20 20 20 20 20 77 69 74 68 69 6e 20           within 
28e0: 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69 6c 65  the project file
28f0: 20 69 74 73 65 6c 66 29 2e 0d 0a 20 20 20 20 2d   itself)...    -
2900: 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 34 35  ->..    <NetFx45
2910: 32 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  2 Condition="'$(
2920: 4e 65 74 46 78 34 35 32 29 27 20 3d 3d 20 27 27  NetFx452)' == ''
2930: 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78 34 35  ">false</NetFx45
2940: 32 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  2>....    <!--..
2950: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4f 6e          NOTE: On
2960: 6c 79 20 75 73 65 20 66 75 6e 63 74 69 6f 6e 61  ly use functiona
2970: 6c 69 74 79 20 61 76 61 69 6c 61 62 6c 65 20 69  lity available i
2980: 6e 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65  n the .NET Frame
2990: 77 6f 72 6b 20 34 2e 36 3f 20 20 42 79 0d 0a 20  work 4.6?  By.. 
29a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66               def
29b0: 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69  ault, this is di
29c0: 73 61 62 6c 65 64 2e 20 20 54 68 69 73 20 6d 75  sabled.  This mu
29d0: 73 74 20 62 65 20 65 6e 61 62 6c 65 64 20 74 6f  st be enabled to
29e0: 20 73 75 63 63 65 73 73 66 75 6c 6c 79 0d 0a 20   successfully.. 
29f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 69               bui
2a00: 6c 64 20 74 68 65 20 70 72 6f 6a 65 63 74 20 75  ld the project u
2a10: 73 69 6e 67 20 56 69 73 75 61 6c 20 53 74 75 64  sing Visual Stud
2a20: 69 6f 20 32 30 31 35 20 61 6e 64 2f 6f 72 20 74  io 2015 and/or t
2a30: 68 65 20 2e 4e 45 54 0d 0a 20 20 20 20 20 20 20  he .NET..       
2a40: 20 20 20 20 20 20 20 46 72 61 6d 65 77 6f 72 6b         Framework
2a50: 20 34 2e 36 20 28 69 66 20 6e 65 63 65 73 73 61   4.6 (if necessa
2a60: 72 79 2c 20 69 74 20 77 69 6c 6c 20 74 79 70 69  ry, it will typi
2a70: 63 61 6c 6c 79 20 62 65 20 65 6e 61 62 6c 65 64  cally be enabled
2a80: 20 66 72 6f 6d 0d 0a 20 20 20 20 20 20 20 20 20   from..         
2a90: 20 20 20 20 20 77 69 74 68 69 6e 20 74 68 65 20       within the 
2aa0: 70 72 6f 6a 65 63 74 20 66 69 6c 65 20 69 74 73  project file its
2ab0: 65 6c 66 29 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  elf)...    -->..
2ac0: 20 20 20 20 3c 4e 65 74 46 78 34 36 20 43 6f 6e      <NetFx46 Con
2ad0: 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78  dition="'$(NetFx
2ae0: 34 36 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73  46)' == ''">fals
2af0: 65 3c 2f 4e 65 74 46 78 34 36 3e 0d 0a 0d 0a 20  e</NetFx46>.... 
2b00: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
2b10: 20 4e 4f 54 45 3a 20 4f 6e 6c 79 20 75 73 65 20   NOTE: Only use 
2b20: 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 76  functionality av
2b30: 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 2e  ailable in the .
2b40: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e  NET Framework 4.
2b50: 36 2e 31 3f 20 20 42 79 0d 0a 20 20 20 20 20 20  6.1?  By..      
2b60: 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c          default,
2b70: 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65   this is disable
2b80: 64 2e 20 20 54 68 69 73 20 6d 75 73 74 20 62 65  d.  This must be
2b90: 20 65 6e 61 62 6c 65 64 20 74 6f 20 73 75 63 63   enabled to succ
2ba0: 65 73 73 66 75 6c 6c 79 0d 0a 20 20 20 20 20 20  essfully..      
2bb0: 20 20 20 20 20 20 20 20 62 75 69 6c 64 20 74 68          build th
2bc0: 65 20 70 72 6f 6a 65 63 74 20 75 73 69 6e 67 20  e project using 
2bd0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30  Visual Studio 20
2be0: 31 35 20 61 6e 64 2f 6f 72 20 74 68 65 20 2e 4e  15 and/or the .N
2bf0: 45 54 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ET..            
2c00: 20 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 36 2e    Framework 4.6.
2c10: 31 20 28 69 66 20 6e 65 63 65 73 73 61 72 79 2c  1 (if necessary,
2c20: 20 69 74 20 77 69 6c 6c 20 74 79 70 69 63 61 6c   it will typical
2c30: 6c 79 20 62 65 20 65 6e 61 62 6c 65 64 20 66 72  ly be enabled fr
2c40: 6f 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  om..            
2c50: 20 20 77 69 74 68 69 6e 20 74 68 65 20 70 72 6f    within the pro
2c60: 6a 65 63 74 20 66 69 6c 65 20 69 74 73 65 6c 66  ject file itself
2c70: 29 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20  )...    -->..   
2c80: 20 3c 4e 65 74 46 78 34 36 31 20 43 6f 6e 64 69   <NetFx461 Condi
2c90: 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 36  tion="'$(NetFx46
2ca0: 31 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65  1)' == ''">false
2cb0: 3c 2f 4e 65 74 46 78 34 36 31 3e 0d 0a 0d 0a 20  </NetFx461>.... 
2cc0: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
2cd0: 20 4e 4f 54 45 3a 20 4f 6e 6c 79 20 75 73 65 20   NOTE: Only use 
2ce0: 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 76  functionality av
2cf0: 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 2e  ailable in the .
2d00: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e  NET Framework 4.
2d10: 36 2e 32 3f 20 20 42 79 0d 0a 20 20 20 20 20 20  6.2?  By..      
2d20: 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c          default,
2d30: 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65   this is disable
2d40: 64 2e 20 20 54 68 69 73 20 6d 75 73 74 20 62 65  d.  This must be
2d50: 20 65 6e 61 62 6c 65 64 20 74 6f 20 73 75 63 63   enabled to succ
2d60: 65 73 73 66 75 6c 6c 79 0d 0a 20 20 20 20 20 20  essfully..      
2d70: 20 20 20 20 20 20 20 20 62 75 69 6c 64 20 74 68          build th
2d80: 65 20 70 72 6f 6a 65 63 74 20 75 73 69 6e 67 20  e project using 
2d90: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30  Visual Studio 20
2da0: 31 35 20 61 6e 64 2f 6f 72 20 74 68 65 20 2e 4e  15 and/or the .N
2db0: 45 54 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ET..            
2dc0: 20 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 36 2e    Framework 4.6.
2dd0: 32 20 28 69 66 20 6e 65 63 65 73 73 61 72 79 2c  2 (if necessary,
2de0: 20 69 74 20 77 69 6c 6c 20 74 79 70 69 63 61 6c   it will typical
2df0: 6c 79 20 62 65 20 65 6e 61 62 6c 65 64 20 66 72  ly be enabled fr
2e00: 6f 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  om..            
2e10: 20 20 77 69 74 68 69 6e 20 74 68 65 20 70 72 6f    within the pro
2e20: 6a 65 63 74 20 66 69 6c 65 20 69 74 73 65 6c 66  ject file itself
2e30: 29 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20  )...    -->..   
2e40: 20 3c 4e 65 74 46 78 34 36 32 20 43 6f 6e 64 69   <NetFx462 Condi
2e50: 74 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 36  tion="'$(NetFx46
2e60: 32 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65  2)' == ''">false
2e70: 3c 2f 4e 65 74 46 78 34 36 32 3e 0d 0a 0d 0a 20  </NetFx462>.... 
2e80: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
2e90: 20 4e 4f 54 45 3a 20 4f 6e 6c 79 20 75 73 65 20   NOTE: Only use 
2ea0: 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 76  functionality av
2eb0: 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 2e  ailable in the .
2ec0: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e  NET Framework 4.
2ed0: 37 3f 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20  7?  By..        
2ee0: 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74        default, t
2ef0: 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2e  his is disabled.
2f00: 20 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 65    This must be e
2f10: 6e 61 62 6c 65 64 20 74 6f 20 73 75 63 63 65 73  nabled to succes
2f20: 73 66 75 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20  sfully..        
2f30: 20 20 20 20 20 20 62 75 69 6c 64 20 74 68 65 20        build the 
2f40: 70 72 6f 6a 65 63 74 20 75 73 69 6e 67 20 56 69  project using Vi
2f50: 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30 31 37  sual Studio 2017
2f60: 20 61 6e 64 2f 6f 72 20 74 68 65 20 2e 4e 45 54   and/or the .NET
2f70: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
2f80: 46 72 61 6d 65 77 6f 72 6b 20 34 2e 37 20 28 69  Framework 4.7 (i
2f90: 66 20 6e 65 63 65 73 73 61 72 79 2c 20 69 74 20  f necessary, it 
2fa0: 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 62  will typically b
2fb0: 65 20 65 6e 61 62 6c 65 64 20 66 72 6f 6d 0d 0a  e enabled from..
2fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69                wi
2fd0: 74 68 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74  thin the project
2fe0: 20 66 69 6c 65 20 69 74 73 65 6c 66 29 2e 0d 0a   file itself)...
2ff0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65      -->..    <Ne
3000: 74 46 78 34 37 20 43 6f 6e 64 69 74 69 6f 6e 3d  tFx47 Condition=
3010: 22 27 24 28 4e 65 74 46 78 34 37 29 27 20 3d 3d  "'$(NetFx47)' ==
3020: 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46   ''">false</NetF
3030: 78 34 37 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  x47>....    <!--
3040: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
3050: 4f 6e 6c 79 20 75 73 65 20 66 75 6e 63 74 69 6f  Only use functio
3060: 6e 61 6c 69 74 79 20 61 76 61 69 6c 61 62 6c 65  nality available
3070: 20 69 6e 20 74 68 65 20 2e 4e 45 54 20 46 72 61   in the .NET Fra
3080: 6d 65 77 6f 72 6b 20 34 2e 37 2e 31 3f 20 20 42  mework 4.7.1?  B
3090: 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  y..             
30a0: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
30b0: 73 20 64 69 73 61 62 6c 65 64 2e 20 20 54 68 69  s disabled.  Thi
30c0: 73 20 6d 75 73 74 20 62 65 20 65 6e 61 62 6c 65  s must be enable
30d0: 64 20 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c  d to successfull
30e0: 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  y..             
30f0: 20 62 75 69 6c 64 20 74 68 65 20 70 72 6f 6a 65   build the proje
3100: 63 74 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20  ct using Visual 
3110: 53 74 75 64 69 6f 20 32 30 31 37 20 61 6e 64 2f  Studio 2017 and/
3120: 6f 72 20 74 68 65 20 2e 4e 45 54 0d 0a 20 20 20  or the .NET..   
3130: 20 20 20 20 20 20 20 20 20 20 20 46 72 61 6d 65             Frame
3140: 77 6f 72 6b 20 34 2e 37 2e 31 20 28 69 66 20 6e  work 4.7.1 (if n
3150: 65 63 65 73 73 61 72 79 2c 20 69 74 20 77 69 6c  ecessary, it wil
3160: 6c 20 74 79 70 69 63 61 6c 6c 79 20 62 65 20 65  l typically be e
3170: 6e 61 62 6c 65 64 20 66 72 6f 6d 0d 0a 20 20 20  nabled from..   
3180: 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 69             withi
3190: 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69  n the project fi
31a0: 6c 65 20 69 74 73 65 6c 66 29 2e 0d 0a 20 20 20  le itself)...   
31b0: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78   -->..    <NetFx
31c0: 34 37 31 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  471 Condition="'
31d0: 24 28 4e 65 74 46 78 34 37 31 29 27 20 3d 3d 20  $(NetFx471)' == 
31e0: 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78  ''">false</NetFx
31f0: 34 37 31 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  471>....    <!--
3200: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
3210: 4f 6e 6c 79 20 75 73 65 20 66 75 6e 63 74 69 6f  Only use functio
3220: 6e 61 6c 69 74 79 20 61 76 61 69 6c 61 62 6c 65  nality available
3230: 20 69 6e 20 74 68 65 20 2e 4e 45 54 20 46 72 61   in the .NET Fra
3240: 6d 65 77 6f 72 6b 20 34 2e 37 2e 32 3f 20 20 42  mework 4.7.2?  B
3250: 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  y..             
3260: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
3270: 73 20 64 69 73 61 62 6c 65 64 2e 20 20 54 68 69  s disabled.  Thi
3280: 73 20 6d 75 73 74 20 62 65 20 65 6e 61 62 6c 65  s must be enable
3290: 64 20 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c  d to successfull
32a0: 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  y..             
32b0: 20 62 75 69 6c 64 20 74 68 65 20 70 72 6f 6a 65   build the proje
32c0: 63 74 20 75 73 69 6e 67 20 56 69 73 75 61 6c 20  ct using Visual 
32d0: 53 74 75 64 69 6f 20 32 30 31 37 20 61 6e 64 2f  Studio 2017 and/
32e0: 6f 72 20 74 68 65 20 2e 4e 45 54 0d 0a 20 20 20  or the .NET..   
32f0: 20 20 20 20 20 20 20 20 20 20 20 46 72 61 6d 65             Frame
3300: 77 6f 72 6b 20 34 2e 37 2e 32 20 28 69 66 20 6e  work 4.7.2 (if n
3310: 65 63 65 73 73 61 72 79 2c 20 69 74 20 77 69 6c  ecessary, it wil
3320: 6c 20 74 79 70 69 63 61 6c 6c 79 20 62 65 20 65  l typically be e
3330: 6e 61 62 6c 65 64 20 66 72 6f 6d 0d 0a 20 20 20  nabled from..   
3340: 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 69             withi
3350: 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66 69  n the project fi
3360: 6c 65 20 69 74 73 65 6c 66 29 2e 0d 0a 20 20 20  le itself)...   
3370: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78   -->..    <NetFx
3380: 34 37 32 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  472 Condition="'
3390: 24 28 4e 65 74 46 78 34 37 32 29 27 20 3d 3d 20  $(NetFx472)' == 
33a0: 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78  ''">false</NetFx
33b0: 34 37 32 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  472>....    <!--
33c0: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
33d0: 4c 6f 61 64 20 74 68 65 20 76 65 72 73 69 6f 6e  Load the version
33e0: 2d 73 70 65 63 69 66 69 63 20 73 65 74 74 69 6e  -specific settin
33f0: 67 73 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20  gs for the .NET 
3400: 46 72 61 6d 65 77 6f 72 6b 20 32 2e 30 3f 0d 0a  Framework 2.0?..
3410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 79                By
3420: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
3430: 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20  s disabled.  If 
3440: 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 20  this is enabled 
3450: 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0d 0a  when compiling..
3460: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f                fo
3470: 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65  r the .NET Frame
3480: 77 6f 72 6b 20 32 2e 30 2c 20 74 68 65 20 76 65  work 2.0, the ve
3490: 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73  rsion-specific s
34a0: 65 74 74 69 6e 67 73 20 66 69 6c 65 0d 0a 20 20  ettings file..  
34b0: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
34c0: 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73  ite.NET.Settings
34d0: 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78 32 30  .targets.netFx20
34e0: 22 20 77 69 6c 6c 20 62 65 20 6c 6f 61 64 65 64  " will be loaded
34f0: 20 69 66 20 69 74 20 69 73 0d 0a 20 20 20 20 20   if it is..     
3500: 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 6c           actuall
3510: 79 20 70 72 65 73 65 6e 74 2c 20 62 65 66 6f 72  y present, befor
3520: 65 20 61 6e 79 20 6f 74 68 65 72 20 73 65 74 74  e any other sett
3530: 69 6e 67 73 20 69 6e 20 74 68 69 73 20 66 69 6c  ings in this fil
3540: 65 20 61 72 65 0d 0a 20 20 20 20 20 20 20 20 20  e are..         
3550: 20 20 20 20 20 70 72 6f 63 65 73 73 65 64 2e 0d       processed..
3560: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e  .    -->..    <N
3570: 65 74 46 78 32 30 53 65 74 74 69 6e 67 73 20 43  etFx20Settings C
3580: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74  ondition="'$(Net
3590: 46 78 32 30 53 65 74 74 69 6e 67 73 29 27 20 3d  Fx20Settings)' =
35a0: 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65 74  = ''">false</Net
35b0: 46 78 32 30 53 65 74 74 69 6e 67 73 3e 0d 0a 0d  Fx20Settings>...
35c0: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
35d0: 20 20 20 4e 4f 54 45 3a 20 4c 6f 61 64 20 74 68     NOTE: Load th
35e0: 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66  e version-specif
35f0: 69 63 20 73 65 74 74 69 6e 67 73 20 66 6f 72 20  ic settings for 
3600: 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f  the .NET Framewo
3610: 72 6b 20 33 2e 35 3f 0d 0a 20 20 20 20 20 20 20  rk 3.5?..       
3620: 20 20 20 20 20 20 20 42 79 20 64 65 66 61 75 6c         By defaul
3630: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
3640: 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73  led.  If this is
3650: 20 65 6e 61 62 6c 65 64 20 77 68 65 6e 20 63 6f   enabled when co
3660: 6d 70 69 6c 69 6e 67 0d 0a 20 20 20 20 20 20 20  mpiling..       
3670: 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 2e         for the .
3680: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 33 2e  NET Framework 3.
3690: 35 2c 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73  5, the version-s
36a0: 70 65 63 69 66 69 63 20 73 65 74 74 69 6e 67 73  pecific settings
36b0: 20 66 69 6c 65 0d 0a 20 20 20 20 20 20 20 20 20   file..         
36c0: 20 20 20 20 20 22 53 51 4c 69 74 65 2e 4e 45 54       "SQLite.NET
36d0: 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74  .Settings.target
36e0: 73 2e 6e 65 74 46 78 33 35 22 20 77 69 6c 6c 20  s.netFx35" will 
36f0: 62 65 20 6c 6f 61 64 65 64 20 69 66 20 69 74 20  be loaded if it 
3700: 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  is..            
3710: 20 20 61 63 74 75 61 6c 6c 79 20 70 72 65 73 65    actually prese
3720: 6e 74 2c 20 62 65 66 6f 72 65 20 61 6e 79 20 6f  nt, before any o
3730: 74 68 65 72 20 73 65 74 74 69 6e 67 73 20 69 6e  ther settings in
3740: 20 74 68 69 73 20 66 69 6c 65 20 61 72 65 0d 0a   this file are..
3750: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
3760: 6f 63 65 73 73 65 64 2e 0d 0a 20 20 20 20 2d 2d  ocessed...    --
3770: 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 33 35 53  >..    <NetFx35S
3780: 65 74 74 69 6e 67 73 20 43 6f 6e 64 69 74 69 6f  ettings Conditio
3790: 6e 3d 22 27 24 28 4e 65 74 46 78 33 35 53 65 74  n="'$(NetFx35Set
37a0: 74 69 6e 67 73 29 27 20 3d 3d 20 27 27 22 3e 66  tings)' == ''">f
37b0: 61 6c 73 65 3c 2f 4e 65 74 46 78 33 35 53 65 74  alse</NetFx35Set
37c0: 74 69 6e 67 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21  tings>....    <!
37d0: 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45  --..        NOTE
37e0: 3a 20 4c 6f 61 64 20 74 68 65 20 76 65 72 73 69  : Load the versi
37f0: 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65 74 74  on-specific sett
3800: 69 6e 67 73 20 66 6f 72 20 74 68 65 20 2e 4e 45  ings for the .NE
3810: 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 30 3f  T Framework 4.0?
3820: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3830: 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73  By default, this
3840: 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49   is disabled.  I
3850: 66 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65  f this is enable
3860: 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  d when compiling
3870: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3880: 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61  for the .NET Fra
3890: 6d 65 77 6f 72 6b 20 34 2e 30 2c 20 74 68 65 20  mework 4.0, the 
38a0: 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63  version-specific
38b0: 20 73 65 74 74 69 6e 67 73 20 66 69 6c 65 0d 0a   settings file..
38c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
38d0: 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e  QLite.NET.Settin
38e0: 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78  gs.targets.netFx
38f0: 34 30 22 20 77 69 6c 6c 20 62 65 20 6c 6f 61 64  40" will be load
3900: 65 64 20 69 66 20 69 74 20 69 73 0d 0a 20 20 20  ed if it is..   
3910: 20 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61             actua
3920: 6c 6c 79 20 70 72 65 73 65 6e 74 2c 20 62 65 66  lly present, bef
3930: 6f 72 65 20 61 6e 79 20 6f 74 68 65 72 20 73 65  ore any other se
3940: 74 74 69 6e 67 73 20 69 6e 20 74 68 69 73 20 66  ttings in this f
3950: 69 6c 65 20 61 72 65 0d 0a 20 20 20 20 20 20 20  ile are..       
3960: 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 65 64         processed
3970: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
3980: 3c 4e 65 74 46 78 34 30 53 65 74 74 69 6e 67 73  <NetFx40Settings
3990: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e   Condition="'$(N
39a0: 65 74 46 78 34 30 53 65 74 74 69 6e 67 73 29 27  etFx40Settings)'
39b0: 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e   == ''">false</N
39c0: 65 74 46 78 34 30 53 65 74 74 69 6e 67 73 3e 0d  etFx40Settings>.
39d0: 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  ...    <!--..   
39e0: 20 20 20 20 20 4e 4f 54 45 3a 20 4c 6f 61 64 20       NOTE: Load 
39f0: 74 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63  the version-spec
3a00: 69 66 69 63 20 73 65 74 74 69 6e 67 73 20 66 6f  ific settings fo
3a10: 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65  r the .NET Frame
3a20: 77 6f 72 6b 20 34 2e 35 3f 0d 0a 20 20 20 20 20  work 4.5?..     
3a30: 20 20 20 20 20 20 20 20 20 42 79 20 64 65 66 61           By defa
3a40: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
3a50: 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20  abled.  If this 
3a60: 69 73 20 65 6e 61 62 6c 65 64 20 77 68 65 6e 20  is enabled when 
3a70: 63 6f 6d 70 69 6c 69 6e 67 0d 0a 20 20 20 20 20  compiling..     
3a80: 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65           for the
3a90: 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20   .NET Framework 
3aa0: 34 2e 35 2c 20 74 68 65 20 76 65 72 73 69 6f 6e  4.5, the version
3ab0: 2d 73 70 65 63 69 66 69 63 20 73 65 74 74 69 6e  -specific settin
3ac0: 67 73 20 66 69 6c 65 0d 0a 20 20 20 20 20 20 20  gs file..       
3ad0: 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 4e         "SQLite.N
3ae0: 45 54 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67  ET.Settings.targ
3af0: 65 74 73 2e 6e 65 74 46 78 34 35 22 20 77 69 6c  ets.netFx45" wil
3b00: 6c 20 62 65 20 6c 6f 61 64 65 64 20 69 66 20 69  l be loaded if i
3b10: 74 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20  t is..          
3b20: 20 20 20 20 61 63 74 75 61 6c 6c 79 20 70 72 65      actually pre
3b30: 73 65 6e 74 2c 20 62 65 66 6f 72 65 20 61 6e 79  sent, before any
3b40: 20 6f 74 68 65 72 20 73 65 74 74 69 6e 67 73 20   other settings 
3b50: 69 6e 20 74 68 69 73 20 66 69 6c 65 20 61 72 65  in this file are
3b60: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3b70: 70 72 6f 63 65 73 73 65 64 2e 0d 0a 20 20 20 20  processed...    
3b80: 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 34  -->..    <NetFx4
3b90: 35 53 65 74 74 69 6e 67 73 20 43 6f 6e 64 69 74  5Settings Condit
3ba0: 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 35 53  ion="'$(NetFx45S
3bb0: 65 74 74 69 6e 67 73 29 27 20 3d 3d 20 27 27 22  ettings)' == ''"
3bc0: 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78 34 35 53  >false</NetFx45S
3bd0: 65 74 74 69 6e 67 73 3e 0d 0a 0d 0a 20 20 20 20  ettings>....    
3be0: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
3bf0: 54 45 3a 20 4c 6f 61 64 20 74 68 65 20 76 65 72  TE: Load the ver
3c00: 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65  sion-specific se
3c10: 74 74 69 6e 67 73 20 66 6f 72 20 74 68 65 20 2e  ttings for the .
3c20: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e  NET Framework 4.
3c30: 35 2e 31 3f 0d 0a 20 20 20 20 20 20 20 20 20 20  5.1?..          
3c40: 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20      By default, 
3c50: 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64  this is disabled
3c60: 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 65 6e  .  If this is en
3c70: 61 62 6c 65 64 20 77 68 65 6e 20 63 6f 6d 70 69  abled when compi
3c80: 6c 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20  ling..          
3c90: 20 20 20 20 66 6f 72 20 74 68 65 20 2e 4e 45 54      for the .NET
3ca0: 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35 2e 31   Framework 4.5.1
3cb0: 2c 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73 70  , the version-sp
3cc0: 65 63 69 66 69 63 20 73 65 74 74 69 6e 67 73 20  ecific settings 
3cd0: 66 69 6c 65 0d 0a 20 20 20 20 20 20 20 20 20 20  file..          
3ce0: 20 20 20 20 22 53 51 4c 69 74 65 2e 4e 45 54 2e      "SQLite.NET.
3cf0: 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73  Settings.targets
3d00: 2e 6e 65 74 46 78 34 35 31 22 20 77 69 6c 6c 20  .netFx451" will 
3d10: 62 65 20 6c 6f 61 64 65 64 20 69 66 20 69 74 20  be loaded if it 
3d20: 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  is..            
3d30: 20 20 61 63 74 75 61 6c 6c 79 20 70 72 65 73 65    actually prese
3d40: 6e 74 2c 20 62 65 66 6f 72 65 20 61 6e 79 20 6f  nt, before any o
3d50: 74 68 65 72 20 73 65 74 74 69 6e 67 73 20 69 6e  ther settings in
3d60: 20 74 68 69 73 20 66 69 6c 65 20 61 72 65 0d 0a   this file are..
3d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
3d80: 6f 63 65 73 73 65 64 2e 0d 0a 20 20 20 20 2d 2d  ocessed...    --
3d90: 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 34 35 31  >..    <NetFx451
3da0: 53 65 74 74 69 6e 67 73 20 43 6f 6e 64 69 74 69  Settings Conditi
3db0: 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 35 31 53  on="'$(NetFx451S
3dc0: 65 74 74 69 6e 67 73 29 27 20 3d 3d 20 27 27 22  ettings)' == ''"
3dd0: 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78 34 35 31  >false</NetFx451
3de0: 53 65 74 74 69 6e 67 73 3e 0d 0a 0d 0a 20 20 20  Settings>....   
3df0: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
3e00: 4f 54 45 3a 20 4c 6f 61 64 20 74 68 65 20 76 65  OTE: Load the ve
3e10: 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73  rsion-specific s
3e20: 65 74 74 69 6e 67 73 20 66 6f 72 20 74 68 65 20  ettings for the 
3e30: 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20 34  .NET Framework 4
3e40: 2e 35 2e 32 3f 0d 0a 20 20 20 20 20 20 20 20 20  .5.2?..         
3e50: 20 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c       By default,
3e60: 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65   this is disable
3e70: 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 65  d.  If this is e
3e80: 6e 61 62 6c 65 64 20 77 68 65 6e 20 63 6f 6d 70  nabled when comp
3e90: 69 6c 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20  iling..         
3ea0: 20 20 20 20 20 66 6f 72 20 74 68 65 20 2e 4e 45       for the .NE
3eb0: 54 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 35 2e  T Framework 4.5.
3ec0: 32 2c 20 74 68 65 20 76 65 72 73 69 6f 6e 2d 73  2, the version-s
3ed0: 70 65 63 69 66 69 63 20 73 65 74 74 69 6e 67 73  pecific settings
3ee0: 20 66 69 6c 65 0d 0a 20 20 20 20 20 20 20 20 20   file..         
3ef0: 20 20 20 20 20 22 53 51 4c 69 74 65 2e 4e 45 54       "SQLite.NET
3f00: 2e 53 65 74 74 69 6e 67 73 2e 74 61 72 67 65 74  .Settings.target
3f10: 73 2e 6e 65 74 46 78 34 35 32 22 20 77 69 6c 6c  s.netFx452" will
3f20: 20 62 65 20 6c 6f 61 64 65 64 20 69 66 20 69 74   be loaded if it
3f30: 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20   is..           
3f40: 20 20 20 61 63 74 75 61 6c 6c 79 20 70 72 65 73     actually pres
3f50: 65 6e 74 2c 20 62 65 66 6f 72 65 20 61 6e 79 20  ent, before any 
3f60: 6f 74 68 65 72 20 73 65 74 74 69 6e 67 73 20 69  other settings i
3f70: 6e 20 74 68 69 73 20 66 69 6c 65 20 61 72 65 0d  n this file are.
3f80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70  .              p
3f90: 72 6f 63 65 73 73 65 64 2e 0d 0a 20 20 20 20 2d  rocessed...    -
3fa0: 2d 3e 0d 0a 20 20 20 20 3c 4e 65 74 46 78 34 35  ->..    <NetFx45
3fb0: 32 53 65 74 74 69 6e 67 73 20 43 6f 6e 64 69 74  2Settings Condit
3fc0: 69 6f 6e 3d 22 27 24 28 4e 65 74 46 78 34 35 32  ion="'$(NetFx452
3fd0: 53 65 74 74 69 6e 67 73 29 27 20 3d 3d 20 27 27  Settings)' == ''
3fe0: 22 3e 66 61 6c 73 65 3c 2f 4e 65 74 46 78 34 35  ">false</NetFx45
3ff0: 32 53 65 74 74 69 6e 67 73 3e 0d 0a 0d 0a 20 20  2Settings>....  
4000: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
4010: 4e 4f 54 45 3a 20 4c 6f 61 64 20 74 68 65 20 76  NOTE: Load the v
4020: 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20  ersion-specific 
4030: 73 65 74 74 69 6e 67 73 20 66 6f 72 20 74 68 65  settings for the
4040: 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 20   .NET Framework 
4050: 34 2e 36 3f 0d 0a 20 20 20 20 20 20 20 20 20 20  4.6?..          
4060: 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20      By default, 
4070: 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64  this is disabled
4080: 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 65 6e  .  If this is en
4090: 61 62 6c 65 64 20 77 68 65 6e 20 63 6f 6d 70 69  abled when compi
40a0: 6c 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20  ling..          
40b0: 20 20 20 20 66 6f 72 20 74 68 65 20 2e 4e 45 54      for the .NET
40c0: 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 36 2c 20   Framework 4.6, 
40d0: 74 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63  the version-spec
40e0: 69 66 69 63 20 73 65 74 74 69 6e 67 73 20 66 69  ific settings fi
40f0: 6c 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  le..            
4100: 20 20 22 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65    "SQLite.NET.Se
4110: 74 74 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e  ttings.targets.n
4120: 65 74 46 78 34 36 22 20 77 69 6c 6c 20 62 65 20  etFx46" will be 
4130: 6c 6f 61 64 65 64 20 69 66 20 69 74 20 69 73 0d  loaded if it is.
4140: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61  .              a
4150: 63 74 75 61 6c 6c 79 20 70 72 65 73 65 6e 74 2c  ctually present,
4160: 20 62 65 66 6f 72 65 20 61 6e 79 20 6f 74 68 65   before any othe
4170: 72 20 73 65 74 74 69 6e 67 73 20 69 6e 20 74 68  r settings in th
4180: 69 73 20 66 69 6c 65 20 61 72 65 0d 0a 20 20 20  is file are..   
4190: 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 65             proce
41a0: 73 73 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  ssed...    -->..
41b0: 20 20 20 20 3c 4e 65 74 46 78 34 36 53 65 74 74      <NetFx46Sett
41c0: 69 6e 67 73 20 43 6f 6e 64 69 74 69 6f 6e 3d 22  ings Condition="
41d0: 27 24 28 4e 65 74 46 78 34 36 53 65 74 74 69 6e  '$(NetFx46Settin
41e0: 67 73 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73  gs)' == ''">fals
41f0: 65 3c 2f 4e 65 74 46 78 34 36 53 65 74 74 69 6e  e</NetFx46Settin
4200: 67 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d  gs>....    <!--.
4210: 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4c  .        NOTE: L
4220: 6f 61 64 20 74 68 65 20 76 65 72 73 69 6f 6e 2d  oad the version-
4230: 73 70 65 63 69 66 69 63 20 73 65 74 74 69 6e 67  specific setting
4240: 73 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46  s for the .NET F
4250: 72 61 6d 65 77 6f 72 6b 20 34 2e 36 2e 31 3f 0d  ramework 4.6.1?.
4260: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42  .              B
4270: 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20  y default, this 
4280: 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49 66  is disabled.  If
4290: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
42a0: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0d   when compiling.
42b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66  .              f
42c0: 6f 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d  or the .NET Fram
42d0: 65 77 6f 72 6b 20 34 2e 36 2e 31 2c 20 74 68 65  ework 4.6.1, the
42e0: 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69   version-specifi
42f0: 63 20 73 65 74 74 69 6e 67 73 20 66 69 6c 65 0d  c settings file.
4300: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22  .              "
4310: 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69  SQLite.NET.Setti
4320: 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46  ngs.targets.netF
4330: 78 34 36 31 22 20 77 69 6c 6c 20 62 65 20 6c 6f  x461" will be lo
4340: 61 64 65 64 20 69 66 20 69 74 20 69 73 0d 0a 20  aded if it is.. 
4350: 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74               act
4360: 75 61 6c 6c 79 20 70 72 65 73 65 6e 74 2c 20 62  ually present, b
4370: 65 66 6f 72 65 20 61 6e 79 20 6f 74 68 65 72 20  efore any other 
4380: 73 65 74 74 69 6e 67 73 20 69 6e 20 74 68 69 73  settings in this
4390: 20 66 69 6c 65 20 61 72 65 0d 0a 20 20 20 20 20   file are..     
43a0: 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73           process
43b0: 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  ed...    -->..  
43c0: 20 20 3c 4e 65 74 46 78 34 36 31 53 65 74 74 69    <NetFx461Setti
43d0: 6e 67 73 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  ngs Condition="'
43e0: 24 28 4e 65 74 46 78 34 36 31 53 65 74 74 69 6e  $(NetFx461Settin
43f0: 67 73 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73  gs)' == ''">fals
4400: 65 3c 2f 4e 65 74 46 78 34 36 31 53 65 74 74 69  e</NetFx461Setti
4410: 6e 67 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  ngs>....    <!--
4420: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
4430: 4c 6f 61 64 20 74 68 65 20 76 65 72 73 69 6f 6e  Load the version
4440: 2d 73 70 65 63 69 66 69 63 20 73 65 74 74 69 6e  -specific settin
4450: 67 73 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20  gs for the .NET 
4460: 46 72 61 6d 65 77 6f 72 6b 20 34 2e 36 2e 32 3f  Framework 4.6.2?
4470: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
4480: 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73  By default, this
4490: 20 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49   is disabled.  I
44a0: 66 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65  f this is enable
44b0: 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  d when compiling
44c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
44d0: 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61  for the .NET Fra
44e0: 6d 65 77 6f 72 6b 20 34 2e 36 2e 32 2c 20 74 68  mework 4.6.2, th
44f0: 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66  e version-specif
4500: 69 63 20 73 65 74 74 69 6e 67 73 20 66 69 6c 65  ic settings file
4510: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
4520: 22 53 51 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74  "SQLite.NET.Sett
4530: 69 6e 67 73 2e 74 61 72 67 65 74 73 2e 6e 65 74  ings.targets.net
4540: 46 78 34 36 32 22 20 77 69 6c 6c 20 62 65 20 6c  Fx462" will be l
4550: 6f 61 64 65 64 20 69 66 20 69 74 20 69 73 0d 0a  oaded if it is..
4560: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63                ac
4570: 74 75 61 6c 6c 79 20 70 72 65 73 65 6e 74 2c 20  tually present, 
4580: 62 65 66 6f 72 65 20 61 6e 79 20 6f 74 68 65 72  before any other
4590: 20 73 65 74 74 69 6e 67 73 20 69 6e 20 74 68 69   settings in thi
45a0: 73 20 66 69 6c 65 20 61 72 65 0d 0a 20 20 20 20  s file are..    
45b0: 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73            proces
45c0: 73 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  sed...    -->.. 
45d0: 20 20 20 3c 4e 65 74 46 78 34 36 32 53 65 74 74     <NetFx462Sett
45e0: 69 6e 67 73 20 43 6f 6e 64 69 74 69 6f 6e 3d 22  ings Condition="
45f0: 27 24 28 4e 65 74 46 78 34 36 32 53 65 74 74 69  '$(NetFx462Setti
4600: 6e 67 73 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c  ngs)' == ''">fal
4610: 73 65 3c 2f 4e 65 74 46 78 34 36 32 53 65 74 74  se</NetFx462Sett
4620: 69 6e 67 73 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d  ings>....    <!-
4630: 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a  -..        NOTE:
4640: 20 4c 6f 61 64 20 74 68 65 20 76 65 72 73 69 6f   Load the versio
4650: 6e 2d 73 70 65 63 69 66 69 63 20 73 65 74 74 69  n-specific setti
4660: 6e 67 73 20 66 6f 72 20 74 68 65 20 2e 4e 45 54  ngs for the .NET
4670: 20 46 72 61 6d 65 77 6f 72 6b 20 34 2e 37 3f 0d   Framework 4.7?.
4680: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42  .              B
4690: 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20  y default, this 
46a0: 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49 66  is disabled.  If
46b0: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
46c0: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0d   when compiling.
46d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66  .              f
46e0: 6f 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d  or the .NET Fram
46f0: 65 77 6f 72 6b 20 34 2e 37 2c 20 74 68 65 20 76  ework 4.7, the v
4700: 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20  ersion-specific 
4710: 73 65 74 74 69 6e 67 73 20 66 69 6c 65 0d 0a 20  settings file.. 
4720: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51               "SQ
4730: 4c 69 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67  Lite.NET.Setting
4740: 73 2e 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34  s.targets.netFx4
4750: 37 22 20 77 69 6c 6c 20 62 65 20 6c 6f 61 64 65  7" will be loade
4760: 64 20 69 66 20 69 74 20 69 73 0d 0a 20 20 20 20  d if it is..    
4770: 20 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c            actual
4780: 6c 79 20 70 72 65 73 65 6e 74 2c 20 62 65 66 6f  ly present, befo
4790: 72 65 20 61 6e 79 20 6f 74 68 65 72 20 73 65 74  re any other set
47a0: 74 69 6e 67 73 20 69 6e 20 74 68 69 73 20 66 69  tings in this fi
47b0: 6c 65 20 61 72 65 0d 0a 20 20 20 20 20 20 20 20  le are..        
47c0: 20 20 20 20 20 20 70 72 6f 63 65 73 73 65 64 2e        processed.
47d0: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
47e0: 4e 65 74 46 78 34 37 53 65 74 74 69 6e 67 73 20  NetFx47Settings 
47f0: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65  Condition="'$(Ne
4800: 74 46 78 34 37 53 65 74 74 69 6e 67 73 29 27 20  tFx47Settings)' 
4810: 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65  == ''">false</Ne
4820: 74 46 78 34 37 53 65 74 74 69 6e 67 73 3e 0d 0a  tFx47Settings>..
4830: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
4840: 20 20 20 20 4e 4f 54 45 3a 20 4c 6f 61 64 20 74      NOTE: Load t
4850: 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69  he version-speci
4860: 66 69 63 20 73 65 74 74 69 6e 67 73 20 66 6f 72  fic settings for
4870: 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77   the .NET Framew
4880: 6f 72 6b 20 34 2e 37 2e 31 3f 0d 0a 20 20 20 20  ork 4.7.1?..    
4890: 20 20 20 20 20 20 20 20 20 20 42 79 20 64 65 66            By def
48a0: 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69  ault, this is di
48b0: 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73  sabled.  If this
48c0: 20 69 73 20 65 6e 61 62 6c 65 64 20 77 68 65 6e   is enabled when
48d0: 20 63 6f 6d 70 69 6c 69 6e 67 0d 0a 20 20 20 20   compiling..    
48e0: 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68            for th
48f0: 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b  e .NET Framework
4900: 20 34 2e 37 2e 31 2c 20 74 68 65 20 76 65 72 73   4.7.1, the vers
4910: 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65 74  ion-specific set
4920: 74 69 6e 67 73 20 66 69 6c 65 0d 0a 20 20 20 20  tings file..    
4930: 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74            "SQLit
4940: 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e 74  e.NET.Settings.t
4950: 61 72 67 65 74 73 2e 6e 65 74 46 78 34 37 31 22  argets.netFx471"
4960: 20 77 69 6c 6c 20 62 65 20 6c 6f 61 64 65 64 20   will be loaded 
4970: 69 66 20 69 74 20 69 73 0d 0a 20 20 20 20 20 20  if it is..      
4980: 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79          actually
4990: 20 70 72 65 73 65 6e 74 2c 20 62 65 66 6f 72 65   present, before
49a0: 20 61 6e 79 20 6f 74 68 65 72 20 73 65 74 74 69   any other setti
49b0: 6e 67 73 20 69 6e 20 74 68 69 73 20 66 69 6c 65  ngs in this file
49c0: 20 61 72 65 0d 0a 20 20 20 20 20 20 20 20 20 20   are..          
49d0: 20 20 20 20 70 72 6f 63 65 73 73 65 64 2e 0d 0a      processed...
49e0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e 65      -->..    <Ne
49f0: 74 46 78 34 37 31 53 65 74 74 69 6e 67 73 20 43  tFx471Settings C
4a00: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65 74  ondition="'$(Net
4a10: 46 78 34 37 31 53 65 74 74 69 6e 67 73 29 27 20  Fx471Settings)' 
4a20: 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e 65  == ''">false</Ne
4a30: 74 46 78 34 37 31 53 65 74 74 69 6e 67 73 3e 0d  tFx471Settings>.
4a40: 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  ...    <!--..   
4a50: 20 20 20 20 20 4e 4f 54 45 3a 20 4c 6f 61 64 20       NOTE: Load 
4a60: 74 68 65 20 76 65 72 73 69 6f 6e 2d 73 70 65 63  the version-spec
4a70: 69 66 69 63 20 73 65 74 74 69 6e 67 73 20 66 6f  ific settings fo
4a80: 72 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65  r the .NET Frame
4a90: 77 6f 72 6b 20 34 2e 37 2e 32 3f 0d 0a 20 20 20  work 4.7.2?..   
4aa0: 20 20 20 20 20 20 20 20 20 20 20 42 79 20 64 65             By de
4ab0: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64  fault, this is d
4ac0: 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69  isabled.  If thi
4ad0: 73 20 69 73 20 65 6e 61 62 6c 65 64 20 77 68 65  s is enabled whe
4ae0: 6e 20 63 6f 6d 70 69 6c 69 6e 67 0d 0a 20 20 20  n compiling..   
4af0: 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74             for t
4b00: 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f 72  he .NET Framewor
4b10: 6b 20 34 2e 37 2e 32 2c 20 74 68 65 20 76 65 72  k 4.7.2, the ver
4b20: 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 73 65  sion-specific se
4b30: 74 74 69 6e 67 73 20 66 69 6c 65 0d 0a 20 20 20  ttings file..   
4b40: 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69             "SQLi
4b50: 74 65 2e 4e 45 54 2e 53 65 74 74 69 6e 67 73 2e  te.NET.Settings.
4b60: 74 61 72 67 65 74 73 2e 6e 65 74 46 78 34 37 32  targets.netFx472
4b70: 22 20 77 69 6c 6c 20 62 65 20 6c 6f 61 64 65 64  " will be loaded
4b80: 20 69 66 20 69 74 20 69 73 0d 0a 20 20 20 20 20   if it is..     
4b90: 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 6c           actuall
4ba0: 79 20 70 72 65 73 65 6e 74 2c 20 62 65 66 6f 72  y present, befor
4bb0: 65 20 61 6e 79 20 6f 74 68 65 72 20 73 65 74 74  e any other sett
4bc0: 69 6e 67 73 20 69 6e 20 74 68 69 73 20 66 69 6c  ings in this fil
4bd0: 65 20 61 72 65 0d 0a 20 20 20 20 20 20 20 20 20  e are..         
4be0: 20 20 20 20 20 70 72 6f 63 65 73 73 65 64 2e 0d       processed..
4bf0: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 4e  .    -->..    <N
4c00: 65 74 46 78 34 37 32 53 65 74 74 69 6e 67 73 20  etFx472Settings 
4c10: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4e 65  Condition="'$(Ne
4c20: 74 46 78 34 37 32 53 65 74 74 69 6e 67 73 29 27  tFx472Settings)'
4c30: 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 4e   == ''">false</N
4c40: 65 74 46 78 34 37 32 53 65 74 74 69 6e 67 73 3e  etFx472Settings>
4c50: 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72  ..  </PropertyGr
4c60: 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a  oup>....  <!--..
4c70: 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a    **************
4c80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
4c90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
4ca0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
4cb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
4cc0: 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20 20  ..  **          
4cd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4ce0: 20 20 46 65 61 74 75 72 65 20 50 72 6f 70 65 72    Feature Proper
4cf0: 74 69 65 73 20 20 20 20 20 20 20 20 20 20 20 20  ties            
4d00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4d10: 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  **..  **********
4d20: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
4d30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
4d40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
4d50: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
4d60: 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20  ****..  -->.... 
4d70: 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e   <PropertyGroup>
4d80: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
4d90: 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65      NOTE: Enable
4da0: 20 65 78 74 72 61 20 69 6e 74 65 72 6e 61 6c 20   extra internal 
4db0: 73 74 61 74 65 20 63 68 65 63 6b 69 6e 67 20 66  state checking f
4dc0: 6f 72 20 74 68 65 20 70 75 62 6c 69 63 20 6d 65  or the public me
4dd0: 6d 62 65 72 73 20 6f 66 0d 0a 20 20 20 20 20 20  mbers of..      
4de0: 20 20 20 20 20 20 20 20 73 65 76 65 72 61 6c 20          several 
4df0: 6b 65 79 20 63 6c 61 73 73 65 73 20 74 68 61 74  key classes that
4e00: 20 75 73 65 20 61 20 63 6f 6e 6e 65 63 74 69 6f   use a connectio
4e10: 6e 2e 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20  n.  By default, 
4e20: 74 68 69 73 20 69 73 0d 0a 20 20 20 20 20 20 20  this is..       
4e30: 20 20 20 20 20 20 20 64 69 73 61 62 6c 65 64 2e         disabled.
4e40: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
4e50: 43 68 65 63 6b 53 74 61 74 65 20 43 6f 6e 64 69  CheckState Condi
4e60: 74 69 6f 6e 3d 22 27 24 28 43 68 65 63 6b 53 74  tion="'$(CheckSt
4e70: 61 74 65 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c  ate)' == ''">fal
4e80: 73 65 3c 2f 43 68 65 63 6b 53 74 61 74 65 3e 0d  se</CheckState>.
4e90: 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  ...    <!--..   
4ea0: 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c       NOTE: Enabl
4eb0: 65 20 63 6f 75 6e 74 69 6e 67 20 6f 66 20 61 6c  e counting of al
4ec0: 6c 20 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63  l object instanc
4ed0: 65 73 20 66 6f 72 20 74 68 65 20 43 72 69 74 69  es for the Criti
4ee0: 63 61 6c 48 61 6e 64 6c 65 0d 0a 20 20 20 20 20  calHandle..     
4ef0: 20 20 20 20 20 20 20 20 20 64 65 72 69 76 65 64           derived
4f00: 20 63 6c 61 73 73 65 73 3f 20 20 42 79 20 64 65   classes?  By de
4f10: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64  fault, this is d
4f20: 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69  isabled.  If thi
4f30: 73 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20  s is..          
4f40: 20 20 20 20 65 6e 61 62 6c 65 64 2c 20 74 68 69      enabled, thi
4f50: 73 20 6c 69 62 72 61 72 79 20 77 69 6c 6c 20 6b  s library will k
4f60: 65 65 70 20 63 6f 75 6e 74 20 6f 66 20 61 6c 6c  eep count of all
4f70: 20 6e 6f 6e 2d 64 69 73 70 6f 73 65 64 20 6f 62   non-disposed ob
4f80: 6a 65 63 74 0d 0a 20 20 20 20 20 20 20 20 20 20  ject..          
4f90: 20 20 20 20 69 6e 73 74 61 6e 63 65 73 20 66 6f      instances fo
4fa0: 72 20 61 6c 6c 20 74 68 65 20 43 72 69 74 69 63  r all the Critic
4fb0: 61 6c 48 61 6e 64 6c 65 20 64 65 72 69 76 65 64  alHandle derived
4fc0: 20 63 6c 61 73 73 65 73 2e 20 20 45 61 63 68 0d   classes.  Each.
4fd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63  .              c
4fe0: 6f 75 6e 74 65 72 20 77 69 6c 6c 20 62 65 20 69  ounter will be i
4ff0: 6e 63 72 65 6d 65 6e 74 65 64 20 77 68 65 6e 20  ncremented when 
5000: 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 74  an instance of t
5010: 68 65 20 61 73 73 6f 63 69 61 74 65 64 0d 0a 20  he associated.. 
5020: 20 20 20 20 20 20 20 20 20 20 20 20 20 63 72 69               cri
5030: 74 69 63 61 6c 20 68 61 6e 64 6c 65 20 63 6c 61  tical handle cla
5040: 73 73 20 69 73 20 63 6f 6e 73 74 72 75 63 74 65  ss is constructe
5050: 64 20 61 6e 64 20 64 65 63 72 65 6d 65 6e 74 65  d and decremente
5060: 64 20 77 68 65 6e 20 74 68 65 0d 0a 20 20 20 20  d when the..    
5070: 20 20 20 20 20 20 20 20 20 20 52 65 6c 65 61 73            Releas
5080: 65 48 61 6e 64 6c 65 20 6d 65 74 68 6f 64 20 69  eHandle method i
5090: 73 20 63 6f 6d 70 6c 65 74 65 64 20 73 75 63 63  s completed succ
50a0: 65 73 73 66 75 6c 6c 79 20 6f 6e 20 61 6e 20 69  essfully on an i
50b0: 6e 73 74 61 6e 63 65 2e 0d 0a 20 20 20 20 20 20  nstance...      
50c0: 20 20 20 20 20 20 20 20 54 68 65 73 65 20 63 6f          These co
50d0: 75 6e 74 73 20 61 72 65 20 69 6e 74 65 6e 64 65  unts are intende
50e0: 64 20 74 6f 20 62 65 20 75 73 65 64 20 62 79 20  d to be used by 
50f0: 74 68 65 20 74 65 73 74 20 73 75 69 74 65 20 74  the test suite t
5100: 6f 20 64 65 74 65 63 74 0d 0a 20 20 20 20 20 20  o detect..      
5110: 20 20 20 20 20 20 20 20 70 6f 73 73 69 62 6c 65          possible
5120: 20 72 65 73 6f 75 72 63 65 20 6c 65 61 6b 73 2e   resource leaks.
5130: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
5140: 43 6f 75 6e 74 48 61 6e 64 6c 65 20 43 6f 6e 64  CountHandle Cond
5150: 69 74 69 6f 6e 3d 22 27 24 28 43 6f 75 6e 74 48  ition="'$(CountH
5160: 61 6e 64 6c 65 29 27 20 3d 3d 20 27 27 22 3e 66  andle)' == ''">f
5170: 61 6c 73 65 3c 2f 43 6f 75 6e 74 48 61 6e 64 6c  alse</CountHandl
5180: 65 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  e>....    <!--..
5190: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e          NOTE: En
51a0: 61 62 6c 65 20 74 72 61 63 6b 69 6e 67 20 6f 66  able tracking of
51b0: 20 61 6c 6c 20 6f 75 74 73 74 61 6e 64 69 6e 67   all outstanding
51c0: 20 62 79 74 65 73 20 61 6c 6c 6f 63 61 74 65 64   bytes allocated
51d0: 20 62 79 20 74 68 65 0d 0a 20 20 20 20 20 20 20   by the..       
51e0: 20 20 20 20 20 20 20 53 51 4c 69 74 65 4d 65 6d         SQLiteMem
51f0: 6f 72 79 20 63 6c 61 73 73 2e 20 20 42 79 20 64  ory class.  By d
5200: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
5210: 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68  disabled.  If th
5220: 69 73 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20  is is..         
5230: 20 20 20 20 20 65 6e 61 62 6c 65 64 2c 20 74 68       enabled, th
5240: 69 73 20 6c 69 62 72 61 72 79 20 77 69 6c 6c 20  is library will 
5250: 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 61 6c  keep track of al
5260: 6c 20 6f 75 74 73 74 61 6e 64 69 6e 67 20 62 79  l outstanding by
5270: 74 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20  tes..           
5280: 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 62 79 20     allocated by 
5290: 74 68 65 20 53 51 4c 69 74 65 4d 65 6d 6f 72 79  the SQLiteMemory
52a0: 20 63 6c 61 73 73 2e 20 20 54 68 69 73 20 68 61   class.  This ha
52b0: 73 20 74 68 65 20 70 6f 74 65 6e 74 69 61 6c 20  s the potential 
52c0: 74 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  to..            
52d0: 20 20 73 6c 6f 77 20 64 6f 77 6e 20 74 68 65 20    slow down the 
52e0: 6c 69 62 72 61 72 79 20 61 20 62 69 74 2e 0d 0a  library a bit...
52f0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72      -->..    <Tr
5300: 61 63 6b 4d 65 6d 6f 72 79 42 79 74 65 73 20 43  ackMemoryBytes C
5310: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 54 72 61  ondition="'$(Tra
5320: 63 6b 4d 65 6d 6f 72 79 42 79 74 65 73 29 27 20  ckMemoryBytes)' 
5330: 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 54 72  == ''">false</Tr
5340: 61 63 6b 4d 65 6d 6f 72 79 42 79 74 65 73 3e 0d  ackMemoryBytes>.
5350: 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20  ...    <!--..   
5360: 20 20 20 20 20 4e 4f 54 45 3a 20 46 6f 72 20 69       NOTE: For i
5370: 6e 74 65 72 61 63 74 69 6f 6e 20 77 69 74 68 20  nteraction with 
5380: 74 68 65 20 6e 61 74 69 76 65 20 53 51 4c 69 74  the native SQLit
5390: 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  e implementation
53a0: 2c 20 75 73 65 20 74 68 65 0d 0a 20 20 20 20 20  , use the..     
53b0: 20 20 20 20 20 20 20 20 20 63 75 73 74 6f 6d 20           custom 
53c0: 62 75 69 6c 74 20 69 6e 74 65 72 6f 70 20 44 4c  built interop DL
53d0: 4c 20 28 69 2e 65 2e 20 22 53 51 4c 69 74 65 2e  L (i.e. "SQLite.
53e0: 49 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20  Interop.dll")?  
53f0: 42 79 20 64 65 66 61 75 6c 74 2c 0d 0a 20 20 20  By default,..   
5400: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 20             this 
5410: 69 73 20 65 6e 61 62 6c 65 64 2e 20 20 54 68 69  is enabled.  Thi
5420: 73 20 70 72 6f 70 65 72 74 79 20 69 73 20 6d 75  s property is mu
5430: 74 75 61 6c 6c 79 20 65 78 63 6c 75 73 69 76 65  tually exclusive
5440: 20 77 69 74 68 20 74 68 65 0d 0a 20 20 20 20 20   with the..     
5450: 20 20 20 20 20 20 20 20 20 22 55 73 65 53 71 6c           "UseSql
5460: 69 74 65 53 74 61 6e 64 61 72 64 22 20 6f 6e 65  iteStandard" one
5470: 2c 20 62 65 6c 6f 77 2e 20 20 54 68 69 73 20 73  , below.  This s
5480: 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20  hould always be 
5490: 64 69 73 61 62 6c 65 64 20 69 6e 0d 0a 20 20 20  disabled in..   
54a0: 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 70             the p
54b0: 72 6f 6a 65 63 74 20 66 69 6c 65 20 74 68 61 74  roject file that
54c0: 20 62 75 69 6c 64 73 20 74 68 65 20 4e 65 74 4d   builds the NetM
54d0: 6f 64 75 6c 65 20 74 61 72 67 65 74 2e 0d 0a 20  odule target... 
54e0: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 55 73 65     -->..    <Use
54f0: 49 6e 74 65 72 6f 70 44 6c 6c 20 43 6f 6e 64 69  InteropDll Condi
5500: 74 69 6f 6e 3d 22 27 24 28 55 73 65 49 6e 74 65  tion="'$(UseInte
5510: 72 6f 70 44 6c 6c 29 27 20 3d 3d 20 27 27 22 3e  ropDll)' == ''">
5520: 74 72 75 65 3c 2f 55 73 65 49 6e 74 65 72 6f 70  true</UseInterop
5530: 44 6c 6c 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d  Dll>....    <!--
5540: 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20  ..        NOTE: 
5550: 46 6f 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 20  For interaction 
5560: 77 69 74 68 20 74 68 65 20 6e 61 74 69 76 65 20  with the native 
5570: 53 51 4c 69 74 65 20 69 6d 70 6c 65 6d 65 6e 74  SQLite implement
5580: 61 74 69 6f 6e 2c 20 75 73 65 20 74 68 65 0d 0a  ation, use the..
5590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 71                sq
55a0: 6c 69 74 65 33 5f 70 72 65 70 61 72 65 5f 76 32  lite3_prepare_v2
55b0: 28 29 20 66 75 6e 63 74 69 6f 6e 20 77 68 65 6e  () function when
55c0: 20 70 72 65 70 61 72 69 6e 67 20 71 75 65 72 69   preparing queri
55d0: 65 73 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c  es?  By default,
55e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
55f0: 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2e  this is enabled.
5600: 20 20 57 68 65 6e 20 75 73 69 6e 67 20 61 20 6e    When using a n
5610: 61 74 69 76 65 20 53 51 4c 69 74 65 20 69 6d 70  ative SQLite imp
5620: 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 70 72 69 6f  lementation prio
5630: 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  r..             
5640: 20 74 6f 20 76 65 72 73 69 6f 6e 20 33 2e 33 2e   to version 3.3.
5650: 39 2c 20 74 68 69 73 20 6d 75 73 74 20 62 65 20  9, this must be 
5660: 64 69 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20 2d  disabled...    -
5670: 2d 3e 0d 0a 20 20 20 20 3c 55 73 65 50 72 65 70  ->..    <UsePrep
5680: 61 72 65 56 32 20 43 6f 6e 64 69 74 69 6f 6e 3d  areV2 Condition=
5690: 22 27 24 28 55 73 65 50 72 65 70 61 72 65 56 32  "'$(UsePrepareV2
56a0: 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c 2f  )' == ''">true</
56b0: 55 73 65 50 72 65 70 61 72 65 56 32 3e 0d 0a 0d  UsePrepareV2>...
56c0: 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20  .    <!--..     
56d0: 20 20 20 4e 4f 54 45 3a 20 46 6f 72 20 69 6e 74     NOTE: For int
56e0: 65 72 61 63 74 69 6f 6e 20 77 69 74 68 20 74 68  eraction with th
56f0: 65 20 6e 61 74 69 76 65 20 53 51 4c 69 74 65 20  e native SQLite 
5700: 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c 20  implementation, 
5710: 75 73 65 20 74 68 65 0d 0a 20 20 20 20 20 20 20  use the..       
5720: 20 20 20 20 20 20 20 73 74 61 6e 64 61 72 64 20         standard 
5730: 44 4c 4c 20 28 69 2e 65 2e 20 22 73 71 6c 69 74  DLL (i.e. "sqlit
5740: 65 33 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65  e3.dll")?  By de
5750: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64  fault, this is d
5760: 69 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20 20 20  isabled...      
5770: 20 20 20 20 20 20 20 20 54 68 69 73 20 70 72 6f          This pro
5780: 70 65 72 74 79 20 69 73 20 6d 75 74 75 61 6c 6c  perty is mutuall
5790: 79 20 65 78 63 6c 75 73 69 76 65 20 77 69 74 68  y exclusive with
57a0: 20 74 68 65 20 22 55 73 65 49 6e 74 65 72 6f 70   the "UseInterop
57b0: 44 6c 6c 22 20 6f 6e 65 2c 0d 0a 20 20 20 20 20  Dll" one,..     
57c0: 20 20 20 20 20 20 20 20 20 61 62 6f 76 65 2e 20           above. 
57d0: 20 54 68 69 73 20 73 68 6f 75 6c 64 20 61 6c 77   This should alw
57e0: 61 79 73 20 62 65 20 64 69 73 61 62 6c 65 64 20  ays be disabled 
57f0: 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66  in the project f
5800: 69 6c 65 20 74 68 61 74 0d 0a 20 20 20 20 20 20  ile that..      
5810: 20 20 20 20 20 20 20 20 62 75 69 6c 64 73 20 74          builds t
5820: 68 65 20 4e 65 74 4d 6f 64 75 6c 65 20 74 61 72  he NetModule tar
5830: 67 65 74 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  get...    -->.. 
5840: 20 20 20 3c 55 73 65 53 71 6c 69 74 65 53 74 61     <UseSqliteSta
5850: 6e 64 61 72 64 20 43 6f 6e 64 69 74 69 6f 6e 3d  ndard Condition=
5860: 22 27 24 28 55 73 65 53 71 6c 69 74 65 53 74 61  "'$(UseSqliteSta
5870: 6e 64 61 72 64 29 27 20 3d 3d 20 27 27 22 3e 66  ndard)' == ''">f
5880: 61 6c 73 65 3c 2f 55 73 65 53 71 6c 69 74 65 53  alse</UseSqliteS
5890: 74 61 6e 64 61 72 64 3e 0d 0a 0d 0a 20 20 20 20  tandard>....    
58a0: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
58b0: 54 45 3a 20 49 73 20 74 68 65 20 70 72 6f 6a 65  TE: Is the proje
58c0: 63 74 20 62 65 69 6e 67 20 62 75 69 6c 74 20 74  ct being built t
58d0: 6f 20 73 75 70 70 6f 72 74 20 74 68 65 20 2e 4e  o support the .N
58e0: 45 54 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65  ET Compact Frame
58f0: 77 6f 72 6b 3f 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  work?..    -->..
5900: 20 20 20 20 3c 49 73 43 6f 6d 70 61 63 74 46 72      <IsCompactFr
5910: 61 6d 65 77 6f 72 6b 20 43 6f 6e 64 69 74 69 6f  amework Conditio
5920: 6e 3d 22 27 24 28 49 73 43 6f 6d 70 61 63 74 46  n="'$(IsCompactF
5930: 72 61 6d 65 77 6f 72 6b 29 27 20 3d 3d 20 27 27  ramework)' == ''
5940: 22 3e 66 61 6c 73 65 3c 2f 49 73 43 6f 6d 70 61  ">false</IsCompa
5950: 63 74 46 72 61 6d 65 77 6f 72 6b 3e 0d 0a 0d 0a  ctFramework>....
5960: 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20      <!--..      
5970: 20 20 4e 4f 54 45 3a 20 49 73 20 74 68 65 20 70    NOTE: Is the p
5980: 72 6f 6a 65 63 74 20 62 65 69 6e 67 20 62 75 69  roject being bui
5990: 6c 74 20 74 6f 20 73 75 70 70 6f 72 74 20 2e 4e  lt to support .N
59a0: 45 54 20 53 74 61 6e 64 61 72 64 20 32 2e 30 3f  ET Standard 2.0?
59b0: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
59c0: 49 73 44 6f 74 4e 65 74 53 74 61 6e 64 61 72 64  IsDotNetStandard
59d0: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49   Condition="'$(I
59e0: 73 44 6f 74 4e 65 74 53 74 61 6e 64 61 72 64 29  sDotNetStandard)
59f0: 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f  ' == ''">false</
5a00: 49 73 44 6f 74 4e 65 74 53 74 61 6e 64 61 72 64  IsDotNetStandard
5a10: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
5a20: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6d 69         NOTE: Emi
5a30: 74 20 61 6e 20 41 73 73 65 6d 62 6c 79 46 6c 61  t an AssemblyFla
5a40: 67 73 20 61 74 74 72 69 62 75 74 65 20 74 68 61  gs attribute tha
5a50: 74 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 52  t includes the R
5a60: 65 74 61 72 67 65 74 61 62 6c 65 0d 0a 20 20 20  etargetable..   
5a70: 20 20 20 20 20 20 20 20 20 20 20 66 6c 61 67 20             flag 
5a80: 66 72 6f 6d 20 74 68 65 20 41 73 73 65 6d 62 6c  from the Assembl
5a90: 79 4e 61 6d 65 46 6c 61 67 73 20 65 6e 75 6d 65  yNameFlags enume
5aa0: 72 61 74 69 6f 6e 3f 0d 0a 20 20 20 20 2d 2d 3e  ration?..    -->
5ab0: 0d 0a 20 20 20 20 3c 49 73 52 65 74 61 72 67 65  ..    <IsRetarge
5ac0: 74 61 62 6c 65 20 43 6f 6e 64 69 74 69 6f 6e 3d  table Condition=
5ad0: 22 27 24 28 49 73 52 65 74 61 72 67 65 74 61 62  "'$(IsRetargetab
5ae0: 6c 65 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73  le)' == ''">fals
5af0: 65 3c 2f 49 73 52 65 74 61 72 67 65 74 61 62 6c  e</IsRetargetabl
5b00: 65 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  e>....    <!--..
5b10: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 54 68          NOTE: Th
5b20: 72 6f 77 20 61 6e 20 65 78 63 65 70 74 69 6f 6e  row an exception
5b30: 20 69 66 20 61 6e 20 6f 62 6a 65 63 74 20 68 61   if an object ha
5b40: 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 64  s already been d
5b50: 69 73 70 6f 73 65 64 3f 20 20 42 79 0d 0a 20 20  isposed?  By..  
5b60: 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61              defa
5b70: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65 6e 61  ult, this is ena
5b80: 62 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69  bled.  If this i
5b90: 73 20 64 69 73 61 62 6c 65 64 2c 20 61 6e 20 65  s disabled, an e
5ba0: 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 0d 0a 20  xception will.. 
5bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 74               not
5bc0: 20 62 65 20 74 68 72 6f 77 6e 20 77 68 65 6e 20   be thrown when 
5bd0: 61 20 53 51 4c 69 74 65 20 6f 62 6a 65 63 74 20  a SQLite object 
5be0: 77 68 69 63 68 20 68 61 73 20 61 6c 72 65 61 64  which has alread
5bf0: 79 20 62 65 65 6e 20 64 69 73 70 6f 73 65 64 0d  y been disposed.
5c00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69  .              i
5c10: 73 20 61 63 63 65 73 73 65 64 2e 0d 0a 20 20 20  s accessed...   
5c20: 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 68 72 6f 77   -->..    <Throw
5c30: 4f 6e 44 69 73 70 6f 73 65 64 20 43 6f 6e 64 69  OnDisposed Condi
5c40: 74 69 6f 6e 3d 22 27 24 28 54 68 72 6f 77 4f 6e  tion="'$(ThrowOn
5c50: 44 69 73 70 6f 73 65 64 29 27 20 3d 3d 20 27 27  Disposed)' == ''
5c60: 22 3e 74 72 75 65 3c 2f 54 68 72 6f 77 4f 6e 44  ">true</ThrowOnD
5c70: 69 73 70 6f 73 65 64 3e 0d 0a 0d 0a 20 20 20 20  isposed>....    
5c80: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
5c90: 54 45 3a 20 2a 45 58 50 45 52 49 4d 45 4e 54 41  TE: *EXPERIMENTA
5ca0: 4c 2a 20 41 74 74 65 6d 70 74 20 74 6f 20 70 72  L* Attempt to pr
5cb0: 65 2d 6c 6f 61 64 20 74 68 65 20 6e 61 74 69 76  e-load the nativ
5cc0: 65 20 53 51 4c 69 74 65 20 6c 69 62 72 61 72 79  e SQLite library
5cd0: 3f 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20  ?  By..         
5ce0: 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68       default, th
5cf0: 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2e 20 20  is is enabled.  
5d00: 49 66 20 74 68 69 73 20 69 73 20 64 69 73 61 62  If this is disab
5d10: 6c 65 64 2c 20 6e 6f 20 61 74 74 65 6d 70 74 20  led, no attempt 
5d20: 77 69 6c 6c 20 62 65 0d 0a 20 20 20 20 20 20 20  will be..       
5d30: 20 20 20 20 20 20 20 6d 61 64 65 20 74 6f 20 70         made to p
5d40: 72 65 2d 6c 6f 61 64 20 74 68 65 20 6e 61 74 69  re-load the nati
5d50: 76 65 20 53 51 4c 69 74 65 20 6c 69 62 72 61 72  ve SQLite librar
5d60: 79 20 61 70 70 72 6f 70 72 69 61 74 65 20 74 6f  y appropriate to
5d70: 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20   the..          
5d80: 20 20 20 20 70 72 6f 63 65 73 73 6f 72 20 61 72      processor ar
5d90: 63 68 69 74 65 63 74 75 72 65 20 6f 66 20 74 68  chitecture of th
5da0: 65 20 63 75 72 72 65 6e 74 6c 79 20 72 75 6e 6e  e currently runn
5db0: 69 6e 67 20 70 72 6f 63 65 73 73 20 75 70 6f 6e  ing process upon
5dc0: 20 75 73 69 6e 67 0d 0a 20 20 20 20 20 20 20 20   using..        
5dd0: 20 20 20 20 20 20 74 68 65 20 63 6f 6d 70 6f 6e        the compon
5de0: 65 6e 74 2e 20 20 54 68 69 73 20 66 65 61 74 75  ent.  This featu
5df0: 72 65 20 69 73 20 65 78 70 65 72 69 6d 65 6e 74  re is experiment
5e00: 61 6c 20 61 6e 64 20 6d 61 79 20 62 65 20 6d 6f  al and may be mo
5e10: 64 69 66 69 65 64 0d 0a 20 20 20 20 20 20 20 20  dified..        
5e20: 20 20 20 20 20 20 6f 72 20 72 65 6d 6f 76 65 64        or removed
5e30: 20 69 6e 20 61 20 66 75 74 75 72 65 20 72 65 6c   in a future rel
5e40: 65 61 73 65 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  ease...    -->..
5e50: 20 20 20 20 3c 50 72 65 4c 6f 61 64 4e 61 74 69      <PreLoadNati
5e60: 76 65 4c 69 62 72 61 72 79 20 43 6f 6e 64 69 74  veLibrary Condit
5e70: 69 6f 6e 3d 22 27 24 28 50 72 65 4c 6f 61 64 4e  ion="'$(PreLoadN
5e80: 61 74 69 76 65 4c 69 62 72 61 72 79 29 27 20 3d  ativeLibrary)' =
5e90: 3d 20 27 27 22 3e 74 72 75 65 3c 2f 50 72 65 4c  = ''">true</PreL
5ea0: 6f 61 64 4e 61 74 69 76 65 4c 69 62 72 61 72 79  oadNativeLibrary
5eb0: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
5ec0: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61         NOTE: Ena
5ed0: 62 6c 65 20 75 73 69 6e 67 20 74 68 65 20 22 77  ble using the "w
5ee0: 65 6c 6c 2d 6b 6e 6f 77 6e 22 20 65 78 74 65 6e  ell-known" exten
5ef0: 73 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 20 66  sion functions f
5f00: 72 6f 6d 20 74 68 65 20 63 75 73 74 6f 6d 0d 0a  rom the custom..
5f10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75                bu
5f20: 69 6c 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20  ilt interop DLL 
5f30: 28 69 2e 65 2e 20 22 53 51 4c 69 74 65 2e 49 6e  (i.e. "SQLite.In
5f40: 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79  terop.dll")?  By
5f50: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 0d 0a   default, this..
5f60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73                is
5f70: 20 65 6e 61 62 6c 65 64 2e 20 20 49 66 20 74 68   enabled.  If th
5f80: 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20  is is disabled, 
5f90: 74 68 65 20 22 77 65 6c 6c 2d 6b 6e 6f 77 6e 22  the "well-known"
5fa0: 20 65 78 74 65 6e 73 69 6f 6e 0d 0a 20 20 20 20   extension..    
5fb0: 20 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69            functi
5fc0: 6f 6e 73 20 77 69 6c 6c 20 62 65 20 75 6e 61 76  ons will be unav
5fd0: 61 69 6c 61 62 6c 65 2e 20 20 49 66 20 74 68 69  ailable.  If thi
5fe0: 73 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74  s is enabled, it
5ff0: 20 6d 75 73 74 20 61 6c 73 6f 0d 0a 20 20 20 20   must also..    
6000: 20 20 20 20 20 20 20 20 20 20 62 65 20 65 6e 61            be ena
6010: 62 6c 65 64 20 76 69 61 20 74 68 65 20 22 49 4e  bled via the "IN
6020: 54 45 52 4f 50 5f 45 58 54 45 4e 53 49 4f 4e 5f  TEROP_EXTENSION_
6030: 46 55 4e 43 54 49 4f 4e 53 3d 31 22 20 70 72 65  FUNCTIONS=1" pre
6040: 70 72 6f 63 65 73 73 6f 72 0d 0a 20 20 20 20 20  processor..     
6050: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 20           define 
6060: 62 65 69 6e 67 20 70 72 65 73 65 6e 74 20 69 6e  being present in
6070: 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45 58   the "INTEROP_EX
6080: 54 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63  TRA_DEFINES" mac
6090: 72 6f 20 69 6e 20 74 68 65 0d 0a 20 20 20 20 20  ro in the..     
60a0: 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 20 70           build p
60b0: 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d  roperties file:.
60c0: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
60d0: 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74       "SQLite.Int
60e0: 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74  erop\props\SQLit
60f0: 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b  e.Interop.20YY.[
6100: 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20  vs]props"....   
6110: 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74             for t
6120: 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67  he corresponding
6130: 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56   version(s) of V
6140: 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a 20  isual Studio... 
6150: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74     -->..    <Int
6160: 65 72 6f 70 45 78 74 65 6e 73 69 6f 6e 46 75 6e  eropExtensionFun
6170: 63 74 69 6f 6e 73 20 43 6f 6e 64 69 74 69 6f 6e  ctions Condition
6180: 3d 22 27 24 28 49 6e 74 65 72 6f 70 45 78 74 65  ="'$(InteropExte
6190: 6e 73 69 6f 6e 46 75 6e 63 74 69 6f 6e 73 29 27  nsionFunctions)'
61a0: 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c 2f 49 6e   == ''">true</In
61b0: 74 65 72 6f 70 45 78 74 65 6e 73 69 6f 6e 46 75  teropExtensionFu
61c0: 6e 63 74 69 6f 6e 73 3e 0d 0a 0d 0a 20 20 20 20  nctions>....    
61d0: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
61e0: 54 45 3a 20 45 6e 61 62 6c 65 20 74 68 65 20 46  TE: Enable the F
61f0: 54 53 35 20 65 78 74 65 6e 73 69 6f 6e 20 66 72  TS5 extension fr
6200: 6f 6d 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75  om the custom bu
6210: 69 6c 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c 0d  ilt interop DLL.
6220: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  .              (
6230: 69 2e 65 2e 20 22 53 51 4c 69 74 65 2e 49 6e 74  i.e. "SQLite.Int
6240: 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20  erop.dll")?  By 
6250: 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73  default, this is
6260: 20 65 6e 61 62 6c 65 64 2e 20 20 49 66 0d 0a 20   enabled.  If.. 
6270: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69               thi
6280: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 74  s is disabled, t
6290: 68 65 20 46 54 53 35 20 65 78 74 65 6e 73 69 6f  he FTS5 extensio
62a0: 6e 20 77 69 6c 6c 20 62 65 20 75 6e 61 76 61 69  n will be unavai
62b0: 6c 61 62 6c 65 2e 20 20 49 66 0d 0a 20 20 20 20  lable.  If..    
62c0: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 20 69            this i
62d0: 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75  s enabled, it mu
62e0: 73 74 20 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c  st also be enabl
62f0: 65 64 20 76 69 61 20 74 68 65 0d 0a 20 20 20 20  ed via the..    
6300: 20 20 20 20 20 20 20 20 20 20 22 49 4e 54 45 52            "INTER
6310: 4f 50 5f 46 54 53 35 5f 45 58 54 45 4e 53 49 4f  OP_FTS5_EXTENSIO
6320: 4e 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f  N=1" preprocesso
6330: 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67 0d 0a  r define being..
6340: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
6350: 65 73 65 6e 74 20 69 6e 20 74 68 65 20 22 49 4e  esent in the "IN
6360: 54 45 52 4f 50 5f 45 58 54 52 41 5f 44 45 46 49  TEROP_EXTRA_DEFI
6370: 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68  NES" macro in th
6380: 65 20 62 75 69 6c 64 0d 0a 20 20 20 20 20 20 20  e build..       
6390: 20 20 20 20 20 20 20 70 72 6f 70 65 72 74 69 65         propertie
63a0: 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20  s file:....     
63b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51               "SQ
63c0: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f  Lite.Interop\pro
63d0: 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f  ps\SQLite.Intero
63e0: 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73  p.20YY.[vs]props
63f0: 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  "....           
6400: 20 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65     for the corre
6410: 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e  sponding version
6420: 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74  (s) of Visual St
6430: 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  udio...    -->..
6440: 20 20 20 20 3c 49 6e 74 65 72 6f 70 46 74 73 35      <InteropFts5
6450: 45 78 74 65 6e 73 69 6f 6e 20 43 6f 6e 64 69 74  Extension Condit
6460: 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 46  ion="'$(InteropF
6470: 74 73 35 45 78 74 65 6e 73 69 6f 6e 29 27 20 3d  ts5Extension)' =
6480: 3d 20 27 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65  = ''">true</Inte
6490: 72 6f 70 46 74 73 35 45 78 74 65 6e 73 69 6f 6e  ropFts5Extension
64a0: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
64b0: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61         NOTE: Ena
64c0: 62 6c 65 20 74 68 65 20 4a 53 4f 4e 20 65 78 74  ble the JSON ext
64d0: 65 6e 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20  ension from the 
64e0: 63 75 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74  custom built int
64f0: 65 72 6f 70 20 44 4c 4c 0d 0a 20 20 20 20 20 20  erop DLL..      
6500: 20 20 20 20 20 20 20 20 28 69 2e 65 2e 20 22 53          (i.e. "S
6510: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c  QLite.Interop.dl
6520: 6c 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74  l")?  By default
6530: 2c 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65  , this is enable
6540: 64 2e 20 20 49 66 0d 0a 20 20 20 20 20 20 20 20  d.  If..        
6550: 20 20 20 20 20 20 74 68 69 73 20 69 73 20 64 69        this is di
6560: 73 61 62 6c 65 64 2c 20 74 68 65 20 4a 53 4f 4e  sabled, the JSON
6570: 20 65 78 74 65 6e 73 69 6f 6e 20 77 69 6c 6c 20   extension will 
6580: 62 65 20 75 6e 61 76 61 69 6c 61 62 6c 65 2e 20  be unavailable. 
6590: 20 49 66 0d 0a 20 20 20 20 20 20 20 20 20 20 20   If..           
65a0: 20 20 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c     this is enabl
65b0: 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73 6f  ed, it must also
65c0: 20 62 65 20 65 6e 61 62 6c 65 64 20 76 69 61 20   be enabled via 
65d0: 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  the..           
65e0: 20 20 20 22 49 4e 54 45 52 4f 50 5f 4a 53 4f 4e     "INTEROP_JSON
65f0: 31 5f 45 58 54 45 4e 53 49 4f 4e 3d 31 22 20 70  1_EXTENSION=1" p
6600: 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69  reprocessor defi
6610: 6e 65 20 62 65 69 6e 67 0d 0a 20 20 20 20 20 20  ne being..      
6620: 20 20 20 20 20 20 20 20 70 72 65 73 65 6e 74 20          present 
6630: 69 6e 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f  in the "INTEROP_
6640: 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22 20 6d  EXTRA_DEFINES" m
6650: 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69 6c  acro in the buil
6660: 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  d..             
6670: 20 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65   properties file
6680: 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  :....           
6690: 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49         "SQLite.I
66a0: 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c  nterop\props\SQL
66b0: 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59  ite.Interop.20YY
66c0: 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20  .[vs]props".... 
66d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72               for
66e0: 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69   the correspondi
66f0: 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66  ng version(s) of
6700: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d   Visual Studio..
6710: 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49  .    -->..    <I
6720: 6e 74 65 72 6f 70 4a 73 6f 6e 31 45 78 74 65 6e  nteropJson1Exten
6730: 73 69 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d 22  sion Condition="
6740: 27 24 28 49 6e 74 65 72 6f 70 4a 73 6f 6e 31 45  '$(InteropJson1E
6750: 78 74 65 6e 73 69 6f 6e 29 27 20 3d 3d 20 27 27  xtension)' == ''
6760: 22 3e 74 72 75 65 3c 2f 49 6e 74 65 72 6f 70 4a  ">true</InteropJ
6770: 73 6f 6e 31 45 78 74 65 6e 73 69 6f 6e 3e 0d 0a  son1Extension>..
6780: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
6790: 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65      NOTE: Enable
67a0: 20 74 68 65 20 70 65 72 63 65 6e 74 69 6c 65 20   the percentile 
67b0: 65 78 74 65 6e 73 69 6f 6e 20 66 72 6f 6d 20 74  extension from t
67c0: 68 65 20 63 75 73 74 6f 6d 20 62 75 69 6c 74 20  he custom built 
67d0: 69 6e 74 65 72 6f 70 20 44 4c 4c 0d 0a 20 20 20  interop DLL..   
67e0: 20 20 20 20 20 20 20 20 20 20 20 28 69 2e 65 2e             (i.e.
67f0: 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70   "SQLite.Interop
6800: 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61  .dll")?  By defa
6810: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65 6e 61  ult, this is ena
6820: 62 6c 65 64 2e 20 20 49 66 0d 0a 20 20 20 20 20  bled.  If..     
6830: 20 20 20 20 20 20 20 20 20 74 68 69 73 20 69 73           this is
6840: 20 64 69 73 61 62 6c 65 64 2c 20 74 68 65 20 70   disabled, the p
6850: 65 72 63 65 6e 74 69 6c 65 20 65 78 74 65 6e 73  ercentile extens
6860: 69 6f 6e 20 77 69 6c 6c 20 62 65 20 75 6e 61 76  ion will be unav
6870: 61 69 6c 61 62 6c 65 2e 0d 0a 20 20 20 20 20 20  ailable...      
6880: 20 20 20 20 20 20 20 20 49 66 20 74 68 69 73 20          If this 
6890: 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d  is enabled, it m
68a0: 75 73 74 20 61 6c 73 6f 20 62 65 20 65 6e 61 62  ust also be enab
68b0: 6c 65 64 20 76 69 61 20 74 68 65 0d 0a 20 20 20  led via the..   
68c0: 20 20 20 20 20 20 20 20 20 20 20 22 49 4e 54 45             "INTE
68d0: 52 4f 50 5f 50 45 52 43 45 4e 54 49 4c 45 5f 45  ROP_PERCENTILE_E
68e0: 58 54 45 4e 53 49 4f 4e 3d 31 22 20 70 72 65 70  XTENSION=1" prep
68f0: 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65 20  rocessor define 
6900: 62 65 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20  being..         
6910: 20 20 20 20 20 70 72 65 73 65 6e 74 20 69 6e 20       present in 
6920: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45 58 54  the "INTEROP_EXT
6930: 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72  RA_DEFINES" macr
6940: 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64 0d 0a  o in the build..
6950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
6960: 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a  operties file:..
6970: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
6980: 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65      "SQLite.Inte
6990: 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65  rop\props\SQLite
69a0: 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76  .Interop.20YY.[v
69b0: 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20  s]props"....    
69c0: 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68            for th
69d0: 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  e corresponding 
69e0: 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56 69  version(s) of Vi
69f0: 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a 20 20  sual Studio...  
6a00: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e 74 65    -->..    <Inte
6a10: 72 6f 70 50 65 72 63 65 6e 74 69 6c 65 45 78 74  ropPercentileExt
6a20: 65 6e 73 69 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e  ension Condition
6a30: 3d 22 27 24 28 49 6e 74 65 72 6f 70 50 65 72 63  ="'$(InteropPerc
6a40: 65 6e 74 69 6c 65 45 78 74 65 6e 73 69 6f 6e 29  entileExtension)
6a50: 27 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c 2f 49  ' == ''">true</I
6a60: 6e 74 65 72 6f 70 50 65 72 63 65 6e 74 69 6c 65  nteropPercentile
6a70: 45 78 74 65 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20  Extension>....  
6a80: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
6a90: 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 68 65  NOTE: Enable the
6aa0: 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73   regular express
6ab0: 69 6f 6e 20 65 78 74 65 6e 73 69 6f 6e 20 66 72  ion extension fr
6ac0: 6f 6d 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75  om the custom bu
6ad0: 69 6c 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ilt..           
6ae0: 20 20 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28     interop DLL (
6af0: 69 2e 65 2e 20 22 53 51 4c 69 74 65 2e 49 6e 74  i.e. "SQLite.Int
6b00: 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20  erop.dll")?  By 
6b10: 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73  default, this is
6b20: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
6b30: 65 6e 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69  enabled.  If thi
6b40: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 74  s is disabled, t
6b50: 68 65 20 72 65 67 75 6c 61 72 20 65 78 70 72 65  he regular expre
6b60: 73 73 69 6f 6e 20 65 78 74 65 6e 73 69 6f 6e 0d  ssion extension.
6b70: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77  .              w
6b80: 69 6c 6c 20 62 65 20 75 6e 61 76 61 69 6c 61 62  ill be unavailab
6b90: 6c 65 2e 20 20 49 66 20 74 68 69 73 20 69 73 20  le.  If this is 
6ba0: 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74  enabled, it must
6bb0: 20 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64   also be enabled
6bc0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
6bd0: 76 69 61 20 74 68 65 20 22 49 4e 54 45 52 4f 50  via the "INTEROP
6be0: 5f 52 45 47 45 58 50 5f 45 58 54 45 4e 53 49 4f  _REGEXP_EXTENSIO
6bf0: 4e 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f  N=1" preprocesso
6c00: 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67 0d 0a  r define being..
6c10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
6c20: 65 73 65 6e 74 20 69 6e 20 74 68 65 20 22 49 4e  esent in the "IN
6c30: 54 45 52 4f 50 5f 45 58 54 52 41 5f 44 45 46 49  TEROP_EXTRA_DEFI
6c40: 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68  NES" macro in th
6c50: 65 20 62 75 69 6c 64 0d 0a 20 20 20 20 20 20 20  e build..       
6c60: 20 20 20 20 20 20 20 70 72 6f 70 65 72 74 69 65         propertie
6c70: 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20  s file:....     
6c80: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51               "SQ
6c90: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f  Lite.Interop\pro
6ca0: 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f  ps\SQLite.Intero
6cb0: 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73  p.20YY.[vs]props
6cc0: 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  "....           
6cd0: 20 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65     for the corre
6ce0: 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e  sponding version
6cf0: 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74  (s) of Visual St
6d00: 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a  udio...    -->..
6d10: 20 20 20 20 3c 49 6e 74 65 72 6f 70 52 65 67 45      <InteropRegE
6d20: 78 70 45 78 74 65 6e 73 69 6f 6e 20 43 6f 6e 64  xpExtension Cond
6d30: 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f  ition="'$(Intero
6d40: 70 52 65 67 45 78 70 45 78 74 65 6e 73 69 6f 6e  pRegExpExtension
6d50: 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c 2f  )' == ''">true</
6d60: 49 6e 74 65 72 6f 70 52 65 67 45 78 70 45 78 74  InteropRegExpExt
6d70: 65 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20 20 20 3c  ension>....    <
6d80: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
6d90: 45 3a 20 45 6e 61 62 6c 65 20 74 68 65 20 53 48  E: Enable the SH
6da0: 41 31 20 65 78 74 65 6e 73 69 6f 6e 20 66 72 6f  A1 extension fro
6db0: 6d 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75 69  m the custom bui
6dc0: 6c 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c 0d 0a  lt interop DLL..
6dd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69                (i
6de0: 2e 65 2e 20 22 53 51 4c 69 74 65 2e 49 6e 74 65  .e. "SQLite.Inte
6df0: 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64  rop.dll")?  By d
6e00: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
6e10: 65 6e 61 62 6c 65 64 2e 20 20 49 66 0d 0a 20 20  enabled.  If..  
6e20: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
6e30: 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 74 68   is disabled, th
6e40: 65 20 53 48 41 31 20 65 78 74 65 6e 73 69 6f 6e  e SHA1 extension
6e50: 20 77 69 6c 6c 20 62 65 20 75 6e 61 76 61 69 6c   will be unavail
6e60: 61 62 6c 65 2e 20 20 49 66 0d 0a 20 20 20 20 20  able.  If..     
6e70: 20 20 20 20 20 20 20 20 20 74 68 69 73 20 69 73           this is
6e80: 20 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73   enabled, it mus
6e90: 74 20 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65  t also be enable
6ea0: 64 20 76 69 61 20 74 68 65 0d 0a 20 20 20 20 20  d via the..     
6eb0: 20 20 20 20 20 20 20 20 20 22 49 4e 54 45 52 4f           "INTERO
6ec0: 50 5f 53 48 41 31 5f 45 58 54 45 4e 53 49 4f 4e  P_SHA1_EXTENSION
6ed0: 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72  =1" preprocessor
6ee0: 20 64 65 66 69 6e 65 20 62 65 69 6e 67 0d 0a 20   define being.. 
6ef0: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65               pre
6f00: 73 65 6e 74 20 69 6e 20 74 68 65 20 22 49 4e 54  sent in the "INT
6f10: 45 52 4f 50 5f 45 58 54 52 41 5f 44 45 46 49 4e  EROP_EXTRA_DEFIN
6f20: 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65  ES" macro in the
6f30: 20 62 75 69 6c 64 0d 0a 20 20 20 20 20 20 20 20   build..        
6f40: 20 20 20 20 20 20 70 72 6f 70 65 72 74 69 65 73        properties
6f50: 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20   file:....      
6f60: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
6f70: 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70  ite.Interop\prop
6f80: 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70  s\SQLite.Interop
6f90: 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22  .20YY.[vs]props"
6fa0: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
6fb0: 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73    for the corres
6fc0: 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 28  ponding version(
6fd0: 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74 75  s) of Visual Stu
6fe0: 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  dio...    -->.. 
6ff0: 20 20 20 3c 49 6e 74 65 72 6f 70 53 68 61 31 45     <InteropSha1E
7000: 78 74 65 6e 73 69 6f 6e 20 43 6f 6e 64 69 74 69  xtension Conditi
7010: 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 53 68  on="'$(InteropSh
7020: 61 31 45 78 74 65 6e 73 69 6f 6e 29 27 20 3d 3d  a1Extension)' ==
7030: 20 27 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65 72   ''">true</Inter
7040: 6f 70 53 68 61 31 45 78 74 65 6e 73 69 6f 6e 3e  opSha1Extension>
7050: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
7060: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
7070: 6c 65 20 74 68 65 20 74 65 73 74 20 65 78 74 65  le the test exte
7080: 6e 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 63  nsion from the c
7090: 75 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65  ustom built inte
70a0: 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 0d 0a 20  rop DLL (i.e... 
70b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51               "SQ
70c0: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c  Lite.Interop.dll
70d0: 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c  ")?  By default,
70e0: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
70f0: 20 6f 6e 6c 79 20 69 6e 20 74 68 65 0d 0a 20 20   only in the..  
7100: 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75              Debu
7110: 67 20 62 75 69 6c 64 20 63 6f 6e 66 69 67 75 72  g build configur
7120: 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 69 73 20  ation.  If this 
7130: 69 73 20 64 69 73 61 62 6c 65 64 2c 20 74 68 65  is disabled, the
7140: 20 74 65 73 74 0d 0a 20 20 20 20 20 20 20 20 20   test..         
7150: 20 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 20 77       extension w
7160: 69 6c 6c 20 62 65 20 75 6e 61 76 61 69 6c 61 62  ill be unavailab
7170: 6c 65 2e 20 20 49 66 20 74 68 69 73 20 69 73 20  le.  If this is 
7180: 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74  enabled, it must
7190: 20 61 6c 73 6f 0d 0a 20 20 20 20 20 20 20 20 20   also..         
71a0: 20 20 20 20 20 62 65 20 65 6e 61 62 6c 65 64 20       be enabled 
71b0: 76 69 61 20 74 68 65 20 22 49 4e 54 45 52 4f 50  via the "INTEROP
71c0: 5f 54 45 53 54 5f 45 58 54 45 4e 53 49 4f 4e 3d  _TEST_EXTENSION=
71d0: 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20  1" preprocessor 
71e0: 64 65 66 69 6e 65 0d 0a 20 20 20 20 20 20 20 20  define..        
71f0: 20 20 20 20 20 20 62 65 69 6e 67 20 70 72 65 73        being pres
7200: 65 6e 74 20 69 6e 20 74 68 65 20 22 49 4e 54 45  ent in the "INTE
7210: 52 4f 50 5f 44 45 42 55 47 5f 44 45 46 49 4e 45  ROP_DEBUG_DEFINE
7220: 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20  S" macro in the 
7230: 62 75 69 6c 64 0d 0a 20 20 20 20 20 20 20 20 20  build..         
7240: 20 20 20 20 20 70 72 6f 70 65 72 74 69 65 73 20       properties 
7250: 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20  file:....       
7260: 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69             "SQLi
7270: 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73  te.Interop\props
7280: 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e  \SQLite.Interop.
7290: 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d  20YY.[vs]props".
72a0: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ...             
72b0: 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70   for the corresp
72c0: 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 28 73  onding version(s
72d0: 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74 75 64  ) of Visual Stud
72e0: 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20  io...    -->..  
72f0: 20 20 3c 49 6e 74 65 72 6f 70 54 65 73 74 45 78    <InteropTestEx
7300: 74 65 6e 73 69 6f 6e 20 43 6f 6e 64 69 74 69 6f  tension Conditio
7310: 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 54 65 73  n="'$(InteropTes
7320: 74 45 78 74 65 6e 73 69 6f 6e 29 27 20 3d 3d 20  tExtension)' == 
7330: 27 27 20 41 6e 64 20 27 24 28 43 6f 6e 66 69 67  '' And '$(Config
7340: 75 72 61 74 69 6f 6e 29 27 20 3d 3d 20 27 44 65  uration)' == 'De
7350: 62 75 67 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65  bug'">true</Inte
7360: 72 6f 70 54 65 73 74 45 78 74 65 6e 73 69 6f 6e  ropTestExtension
7370: 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 54  >..    <InteropT
7380: 65 73 74 45 78 74 65 6e 73 69 6f 6e 20 43 6f 6e  estExtension Con
7390: 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72  dition="'$(Inter
73a0: 6f 70 54 65 73 74 45 78 74 65 6e 73 69 6f 6e 29  opTestExtension)
73b0: 27 20 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 43  ' == '' And '$(C
73c0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 27 20 21  onfiguration)' !
73d0: 3d 20 27 44 65 62 75 67 27 22 3e 66 61 6c 73 65  = 'Debug'">false
73e0: 3c 2f 49 6e 74 65 72 6f 70 54 65 73 74 45 78 74  </InteropTestExt
73f0: 65 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20 20 20 3c  ension>....    <
7400: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
7410: 45 3a 20 45 6e 61 62 6c 65 20 74 68 65 20 6e 75  E: Enable the nu
7420: 6d 65 72 69 63 20 74 79 70 65 20 63 68 65 63 6b  meric type check
7430: 69 6e 67 20 65 78 74 65 6e 73 69 6f 6e 20 66 72  ing extension fr
7440: 6f 6d 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75  om the custom bu
7450: 69 6c 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ilt..           
7460: 20 20 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28     interop DLL (
7470: 69 2e 65 2e 20 22 53 51 4c 69 74 65 2e 49 6e 74  i.e. "SQLite.Int
7480: 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20  erop.dll")?  By 
7490: 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73  default, this is
74a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
74b0: 65 6e 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69  enabled.  If thi
74c0: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 74  s is disabled, t
74d0: 68 65 20 6e 75 6d 65 72 69 63 20 74 79 70 65 20  he numeric type 
74e0: 63 68 65 63 6b 69 6e 67 0d 0a 20 20 20 20 20 20  checking..      
74f0: 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 69 6f          extensio
7500: 6e 20 77 69 6c 6c 20 62 65 20 75 6e 61 76 61 69  n will be unavai
7510: 6c 61 62 6c 65 2e 20 20 49 66 20 74 68 69 73 20  lable.  If this 
7520: 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d  is enabled, it m
7530: 75 73 74 20 61 6c 73 6f 0d 0a 20 20 20 20 20 20  ust also..      
7540: 20 20 20 20 20 20 20 20 62 65 20 65 6e 61 62 6c          be enabl
7550: 65 64 20 76 69 61 20 74 68 65 20 22 49 4e 54 45  ed via the "INTE
7560: 52 4f 50 5f 54 4f 54 59 50 45 5f 45 58 54 45 4e  ROP_TOTYPE_EXTEN
7570: 53 49 4f 4e 3d 31 22 20 70 72 65 70 72 6f 63 65  SION=1" preproce
7580: 73 73 6f 72 0d 0a 20 20 20 20 20 20 20 20 20 20  ssor..          
7590: 20 20 20 20 64 65 66 69 6e 65 20 62 65 69 6e 67      define being
75a0: 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20   present in the 
75b0: 22 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f 44  "INTEROP_EXTRA_D
75c0: 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e  EFINES" macro in
75d0: 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20   the..          
75e0: 20 20 20 20 62 75 69 6c 64 20 70 72 6f 70 65 72      build proper
75f0: 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20  ties file:....  
7600: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7610: 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c  "SQLite.Interop\
7620: 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74  props\SQLite.Int
7630: 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72  erop.20YY.[vs]pr
7640: 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ops"....        
7650: 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 63 6f        for the co
7660: 72 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73  rresponding vers
7670: 69 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c  ion(s) of Visual
7680: 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d   Studio...    --
7690: 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 54  >..    <InteropT
76a0: 6f 54 79 70 65 45 78 74 65 6e 73 69 6f 6e 20 43  oTypeExtension C
76b0: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74  ondition="'$(Int
76c0: 65 72 6f 70 54 6f 54 79 70 65 45 78 74 65 6e 73  eropToTypeExtens
76d0: 69 6f 6e 29 27 20 3d 3d 20 27 27 22 3e 74 72 75  ion)' == ''">tru
76e0: 65 3c 2f 49 6e 74 65 72 6f 70 54 6f 54 79 70 65  e</InteropToType
76f0: 45 78 74 65 6e 73 69 6f 6e 3e 0d 0a 0d 0a 20 20  Extension>....  
7700: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
7710: 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 65 78 70  NOTE: Enable exp
7720: 6f 73 69 6e 67 20 74 68 65 20 43 72 79 70 74 6f  osing the Crypto
7730: 41 50 49 20 62 61 73 65 64 20 63 6f 64 65 63 20  API based codec 
7740: 66 72 6f 6d 20 74 68 65 20 63 75 73 74 6f 6d 20  from the custom 
7750: 62 75 69 6c 74 0d 0a 20 20 20 20 20 20 20 20 20  built..         
7760: 20 20 20 20 20 69 6e 74 65 72 6f 70 20 44 4c 4c       interop DLL
7770: 20 28 69 2e 65 2e 20 22 53 51 4c 69 74 65 2e 49   (i.e. "SQLite.I
7780: 6e 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42  nterop.dll")?  B
7790: 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20  y default, this 
77a0: 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  is..            
77b0: 20 20 65 6e 61 62 6c 65 64 2e 20 20 49 66 20 74    enabled.  If t
77c0: 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c  his is disabled,
77d0: 20 73 75 70 70 6f 72 74 20 66 6f 72 20 64 61 74   support for dat
77e0: 61 62 61 73 65 73 20 65 6e 63 72 79 70 74 65 64  abases encrypted
77f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
7800: 75 73 69 6e 67 20 74 68 65 20 43 72 79 70 74 6f  using the Crypto
7810: 41 50 49 20 77 69 6c 6c 20 62 65 20 75 6e 61 76  API will be unav
7820: 61 69 6c 61 62 6c 65 2e 20 20 49 66 20 74 68 69  ailable.  If thi
7830: 73 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74  s is enabled, it
7840: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
7850: 6d 75 73 74 20 61 6c 73 6f 20 62 65 20 65 6e 61  must also be ena
7860: 62 6c 65 64 20 76 69 61 20 74 68 65 20 22 53 51  bled via the "SQ
7870: 4c 49 54 45 5f 48 41 53 5f 43 4f 44 45 43 3d 31  LITE_HAS_CODEC=1
7880: 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 0d 0a  " preprocessor..
7890: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65                de
78a0: 66 69 6e 65 20 62 65 69 6e 67 20 70 72 65 73 65  fine being prese
78b0: 6e 74 20 69 6e 20 74 68 65 20 22 53 51 4c 49 54  nt in the "SQLIT
78c0: 45 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22  E_EXTRA_DEFINES"
78d0: 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 0d 0a 20   macro in the.. 
78e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 69               bui
78f0: 6c 64 20 70 72 6f 70 65 72 74 69 65 73 20 66 69  ld properties fi
7900: 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20  le:....         
7910: 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65           "SQLite
7920: 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 73  .Interop\props\s
7930: 71 6c 69 74 65 33 2e 5b 76 73 5d 70 72 6f 70 73  qlite3.[vs]props
7940: 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  "....           
7950: 20 20 20 41 4e 44 20 76 69 61 20 74 68 65 20 22     AND via the "
7960: 49 4e 54 45 52 4f 50 5f 43 4f 44 45 43 3d 31 22  INTEROP_CODEC=1"
7970: 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65   preprocessor de
7980: 66 69 6e 65 20 62 65 69 6e 67 20 70 72 65 73 65  fine being prese
7990: 6e 74 20 69 6e 0d 0a 20 20 20 20 20 20 20 20 20  nt in..         
79a0: 20 20 20 20 20 74 68 65 20 22 49 4e 54 45 52 4f       the "INTERO
79b0: 50 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22  P_EXTRA_DEFINES"
79c0: 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75   macro in the bu
79d0: 69 6c 64 20 70 72 6f 70 65 72 74 69 65 73 20 66  ild properties f
79e0: 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ile:....        
79f0: 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74            "SQLit
7a00: 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c  e.Interop\props\
7a10: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32  SQLite.Interop.2
7a20: 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a  0YY.[vs]props"..
7a30: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
7a40: 62 6f 74 68 20 66 6f 72 20 74 68 65 20 63 6f 72  both for the cor
7a50: 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69  responding versi
7a60: 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20  on(s) of Visual 
7a70: 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e  Studio...    -->
7a80: 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 43 6f  ..    <InteropCo
7a90: 64 65 63 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27  dec Condition="'
7aa0: 24 28 49 6e 74 65 72 6f 70 43 6f 64 65 63 29 27  $(InteropCodec)'
7ab0: 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c 2f 49 6e   == ''">true</In
7ac0: 74 65 72 6f 70 43 6f 64 65 63 3e 0d 0a 0d 0a 20  teropCodec>.... 
7ad0: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
7ae0: 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 69 6e   NOTE: Enable in
7af0: 63 6c 75 64 69 6e 67 20 53 45 45 20 77 69 74 68  cluding SEE with
7b00: 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75 69 6c   the custom buil
7b10: 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28 69  t interop DLL (i
7b20: 2e 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20  .e...           
7b30: 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72     "SQLite.Inter
7b40: 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64 65  op.dll")?  By de
7b50: 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64  fault, this is d
7b60: 69 73 61 62 6c 65 64 2e 20 20 49 66 20 74 68 69  isabled.  If thi
7b70: 73 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20  s is..          
7b80: 20 20 20 20 65 6e 61 62 6c 65 64 2c 20 74 68 65      enabled, the
7b90: 20 22 73 65 65 2e 63 22 20 66 69 6c 65 20 77 69   "see.c" file wi
7ba0: 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 66  ll be included f
7bb0: 72 6f 6d 20 74 68 65 20 65 78 74 65 6e 73 69 6f  rom the extensio
7bc0: 6e 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ns..            
7bd0: 20 20 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66    directory.  If
7be0: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
7bf0: 2c 20 69 74 20 6d 75 73 74 20 61 6c 73 6f 20 62  , it must also b
7c00: 65 20 65 6e 61 62 6c 65 64 20 76 69 61 20 74 68  e enabled via th
7c10: 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  e..             
7c20: 20 22 53 51 4c 49 54 45 5f 48 41 53 5f 43 4f 44   "SQLITE_HAS_COD
7c30: 45 43 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73  EC=1" preprocess
7c40: 6f 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67 20  or define being 
7c50: 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 0d 0a  present in the..
7c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
7c70: 51 4c 49 54 45 5f 45 58 54 52 41 5f 44 45 46 49  QLITE_EXTRA_DEFI
7c80: 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68  NES" macro in th
7c90: 65 20 62 75 69 6c 64 20 70 72 6f 70 65 72 74 69  e build properti
7ca0: 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20  es file:....    
7cb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
7cc0: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72  QLite.Interop\pr
7cd0: 6f 70 73 5c 73 71 6c 69 74 65 33 2e 5b 76 73 5d  ops\sqlite3.[vs]
7ce0: 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20  props"....      
7cf0: 20 20 20 20 20 20 20 20 41 4e 44 20 76 69 61 20          AND via 
7d00: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 49 4e 43  the "INTEROP_INC
7d10: 4c 55 44 45 5f 53 45 45 3d 31 22 20 70 72 65 70  LUDE_SEE=1" prep
7d20: 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65 20  rocessor define 
7d30: 62 65 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20  being..         
7d40: 20 20 20 20 20 70 72 65 73 65 6e 74 20 69 6e 20       present in 
7d50: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45 58 54  the "INTEROP_EXT
7d60: 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72  RA_DEFINES" macr
7d70: 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64 0d 0a  o in the build..
7d80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
7d90: 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a  operties file:..
7da0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
7db0: 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65      "SQLite.Inte
7dc0: 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65  rop\props\SQLite
7dd0: 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76  .Interop.20YY.[v
7de0: 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20  s]props"....    
7df0: 20 20 20 20 20 20 20 20 20 20 62 6f 74 68 20 66            both f
7e00: 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  or the correspon
7e10: 64 69 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20  ding version(s) 
7e20: 6f 66 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  of Visual Studio
7e30: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
7e40: 3c 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64 65 53  <InteropIncludeS
7e50: 65 65 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  ee Condition="'$
7e60: 28 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64 65 53  (InteropIncludeS
7e70: 65 65 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73  ee)' == ''">fals
7e80: 65 3c 2f 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64  e</InteropInclud
7e90: 65 53 65 65 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d  eSee>....    <!-
7ea0: 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54 45 3a  -..        NOTE:
7eb0: 20 45 6e 61 62 6c 65 20 69 6e 63 6c 75 64 69 6e   Enable includin
7ec0: 67 20 43 45 52 4f 44 20 77 69 74 68 20 74 68 65  g CEROD with the
7ed0: 20 63 75 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e   custom built in
7ee0: 74 65 72 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 0d  terop DLL (i.e..
7ef0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22  .              "
7f00: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64  SQLite.Interop.d
7f10: 6c 6c 22 29 3f 20 20 42 79 20 64 65 66 61 75 6c  ll")?  By defaul
7f20: 74 2c 20 74 68 69 73 20 69 73 20 64 69 73 61 62  t, this is disab
7f30: 6c 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73  led.  If this is
7f40: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
7f50: 65 6e 61 62 6c 65 64 2c 20 74 68 65 20 22 63 65  enabled, the "ce
7f60: 72 6f 64 2e 63 22 20 66 69 6c 65 20 77 69 6c 6c  rod.c" file will
7f70: 20 62 65 20 69 6e 63 6c 75 64 65 64 20 66 72 6f   be included fro
7f80: 6d 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 73  m the extensions
7f90: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
7fa0: 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20 74  directory.  If t
7fb0: 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2c 20  his is enabled, 
7fc0: 69 74 20 6d 75 73 74 20 61 6c 73 6f 20 62 65 20  it must also be 
7fd0: 65 6e 61 62 6c 65 64 20 76 69 61 20 74 68 65 0d  enabled via the.
7fe0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22  .              "
7ff0: 53 51 4c 49 54 45 5f 48 41 53 5f 43 4f 44 45 43  SQLITE_HAS_CODEC
8000: 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72  =1" preprocessor
8010: 20 64 65 66 69 6e 65 20 62 65 69 6e 67 20 70 72   define being pr
8020: 65 73 65 6e 74 20 69 6e 20 74 68 65 0d 0a 20 20  esent in the..  
8030: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
8040: 49 54 45 5f 45 58 54 52 41 5f 44 45 46 49 4e 45  ITE_EXTRA_DEFINE
8050: 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20  S" macro in the 
8060: 62 75 69 6c 64 20 70 72 6f 70 65 72 74 69 65 73  build properties
8070: 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20   file:....      
8080: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
8090: 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70  ite.Interop\prop
80a0: 73 5c 73 71 6c 69 74 65 33 2e 5b 76 73 5d 70 72  s\sqlite3.[vs]pr
80b0: 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ops"....        
80c0: 20 20 20 20 20 20 41 4e 44 20 76 69 61 20 74 68        AND via th
80d0: 65 20 22 49 4e 54 45 52 4f 50 5f 49 4e 43 4c 55  e "INTEROP_INCLU
80e0: 44 45 5f 43 45 52 4f 44 3d 31 22 20 70 72 65 70  DE_CEROD=1" prep
80f0: 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65 20  rocessor define 
8100: 62 65 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20  being..         
8110: 20 20 20 20 20 70 72 65 73 65 6e 74 20 69 6e 20       present in 
8120: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 45 58 54  the "INTEROP_EXT
8130: 52 41 5f 44 45 46 49 4e 45 53 22 20 6d 61 63 72  RA_DEFINES" macr
8140: 6f 20 69 6e 20 74 68 65 20 62 75 69 6c 64 0d 0a  o in the build..
8150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72                pr
8160: 6f 70 65 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a  operties file:..
8170: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
8180: 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65      "SQLite.Inte
8190: 72 6f 70 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65  rop\props\SQLite
81a0: 2e 49 6e 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76  .Interop.20YY.[v
81b0: 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20  s]props"....    
81c0: 20 20 20 20 20 20 20 20 20 20 62 6f 74 68 20 66            both f
81d0: 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e  or the correspon
81e0: 64 69 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20  ding version(s) 
81f0: 6f 66 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  of Visual Studio
8200: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
8210: 3c 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64 65 43  <InteropIncludeC
8220: 65 72 6f 64 20 43 6f 6e 64 69 74 69 6f 6e 3d 22  erod Condition="
8230: 27 24 28 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64  '$(InteropInclud
8240: 65 43 65 72 6f 64 29 27 20 3d 3d 20 27 27 22 3e  eCerod)' == ''">
8250: 66 61 6c 73 65 3c 2f 49 6e 74 65 72 6f 70 49 6e  false</InteropIn
8260: 63 6c 75 64 65 43 65 72 6f 64 3e 0d 0a 0d 0a 20  cludeCerod>.... 
8270: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
8280: 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 69 6e   NOTE: Enable in
8290: 63 6c 75 64 69 6e 67 20 5a 69 70 56 46 53 20 77  cluding ZipVFS w
82a0: 69 74 68 20 74 68 65 20 63 75 73 74 6f 6d 20 62  ith the custom b
82b0: 75 69 6c 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c  uilt interop DLL
82c0: 20 28 69 2e 65 2e 0d 0a 20 20 20 20 20 20 20 20   (i.e...        
82d0: 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e        "SQLite.In
82e0: 74 65 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79  terop.dll")?  By
82f0: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
8300: 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49 66 20  s disabled.  If 
8310: 74 68 69 73 20 69 73 0d 0a 20 20 20 20 20 20 20  this is..       
8320: 20 20 20 20 20 20 20 65 6e 61 62 6c 65 64 2c 20         enabled, 
8330: 74 68 65 20 22 7a 69 70 76 66 73 2e 63 22 20 66  the "zipvfs.c" f
8340: 69 6c 65 20 77 69 6c 6c 20 62 65 20 69 6e 63 6c  ile will be incl
8350: 75 64 65 64 20 66 72 6f 6d 20 74 68 65 20 65 78  uded from the ex
8360: 74 65 6e 73 69 6f 6e 73 0d 0a 20 20 20 20 20 20  tensions..      
8370: 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72          director
8380: 79 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 65  y.  If this is e
8390: 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20  nabled, it must 
83a0: 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64 20  also be enabled 
83b0: 76 69 61 20 74 68 65 0d 0a 20 20 20 20 20 20 20  via the..       
83c0: 20 20 20 20 20 20 20 22 53 51 4c 49 54 45 5f 45         "SQLITE_E
83d0: 4e 41 42 4c 45 5f 5a 49 50 56 46 53 3d 31 22 20  NABLE_ZIPVFS=1" 
83e0: 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66  preprocessor def
83f0: 69 6e 65 20 62 65 69 6e 67 20 70 72 65 73 65 6e  ine being presen
8400: 74 20 69 6e 20 74 68 65 0d 0a 20 20 20 20 20 20  t in the..      
8410: 20 20 20 20 20 20 20 20 22 53 51 4c 49 54 45 5f          "SQLITE_
8420: 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22 20 6d  EXTRA_DEFINES" m
8430: 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69 6c  acro in the buil
8440: 64 20 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c  d properties fil
8450: 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  e:....          
8460: 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e          "SQLite.
8470: 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 73 71  Interop\props\sq
8480: 6c 69 74 65 33 2e 5b 76 73 5d 70 72 6f 70 73 22  lite3.[vs]props"
8490: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
84a0: 20 20 41 4e 44 20 76 69 61 20 74 68 65 20 22 49    AND via the "I
84b0: 4e 54 45 52 4f 50 5f 49 4e 43 4c 55 44 45 5f 5a  NTEROP_INCLUDE_Z
84c0: 49 50 56 46 53 3d 31 22 20 70 72 65 70 72 6f 63  IPVFS=1" preproc
84d0: 65 73 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69  essor define bei
84e0: 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ng..            
84f0: 20 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65    present in the
8500: 20 22 49 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f   "INTEROP_EXTRA_
8510: 44 45 46 49 4e 45 53 22 20 6d 61 63 72 6f 20 69  DEFINES" macro i
8520: 6e 20 74 68 65 20 62 75 69 6c 64 0d 0a 20 20 20  n the build..   
8530: 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 70 65             prope
8540: 72 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20  rties file:.... 
8550: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8560: 20 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70   "SQLite.Interop
8570: 5c 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e  \props\SQLite.In
8580: 74 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70  terop.20YY.[vs]p
8590: 72 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20  rops"....       
85a0: 20 20 20 20 20 20 20 62 6f 74 68 20 66 6f 72 20         both for 
85b0: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
85c0: 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20  g version(s) of 
85d0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e 0d 0a  Visual Studio...
85e0: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 49 6e      -->..    <In
85f0: 74 65 72 6f 70 49 6e 63 6c 75 64 65 5a 69 70 56  teropIncludeZipV
8600: 66 73 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  fs Condition="'$
8610: 28 49 6e 74 65 72 6f 70 49 6e 63 6c 75 64 65 5a  (InteropIncludeZ
8620: 69 70 56 66 73 29 27 20 3d 3d 20 27 27 22 3e 66  ipVfs)' == ''">f
8630: 61 6c 73 65 3c 2f 49 6e 74 65 72 6f 70 49 6e 63  alse</InteropInc
8640: 6c 75 64 65 5a 69 70 56 66 73 3e 0d 0a 0d 0a 20  ludeZipVfs>.... 
8650: 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20     <!--..       
8660: 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 69 6e   NOTE: Enable in
8670: 63 6c 75 64 69 6e 67 20 22 65 78 74 72 61 22 20  cluding "extra" 
8680: 63 6f 64 65 20 77 69 74 68 20 74 68 65 20 63 75  code with the cu
8690: 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65 72  stom built inter
86a0: 6f 70 20 44 4c 4c 0d 0a 20 20 20 20 20 20 20 20  op DLL..        
86b0: 20 20 20 20 20 20 28 69 2e 65 2e 20 22 53 51 4c        (i.e. "SQL
86c0: 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22  ite.Interop.dll"
86d0: 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20  )?  By default, 
86e0: 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64  this is disabled
86f0: 2e 20 20 49 66 0d 0a 20 20 20 20 20 20 20 20 20  .  If..         
8700: 20 20 20 20 20 74 68 69 73 20 69 73 20 65 6e 61       this is ena
8710: 62 6c 65 64 2c 20 74 68 65 20 22 65 78 74 72 61  bled, the "extra
8720: 2e 63 22 20 66 69 6c 65 20 77 69 6c 6c 20 62 65  .c" file will be
8730: 20 69 6e 63 6c 75 64 65 64 20 66 72 6f 6d 20 74   included from t
8740: 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  he..            
8750: 20 20 65 78 74 65 6e 73 69 6f 6e 73 20 64 69 72    extensions dir
8760: 65 63 74 6f 72 79 2e 20 20 49 66 20 74 68 69 73  ectory.  If this
8770: 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 69 74 20   is enabled, it 
8780: 6d 75 73 74 20 61 6c 73 6f 20 62 65 0d 0a 20 20  must also be..  
8790: 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 61 62              enab
87a0: 6c 65 64 20 76 69 61 20 74 68 65 20 22 49 4e 54  led via the "INT
87b0: 45 52 4f 50 5f 49 4e 43 4c 55 44 45 5f 45 58 54  EROP_INCLUDE_EXT
87c0: 52 41 3d 31 22 20 70 72 65 70 72 6f 63 65 73 73  RA=1" preprocess
87d0: 6f 72 20 64 65 66 69 6e 65 0d 0a 20 20 20 20 20  or define..     
87e0: 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20 70           being p
87f0: 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 22 49  resent in the "I
8800: 4e 54 45 52 4f 50 5f 45 58 54 52 41 5f 44 45 46  NTEROP_EXTRA_DEF
8810: 49 4e 45 53 22 20 6d 61 63 72 6f 20 69 6e 20 74  INES" macro in t
8820: 68 65 20 62 75 69 6c 64 0d 0a 20 20 20 20 20 20  he build..      
8830: 20 20 20 20 20 20 20 20 70 72 6f 70 65 72 74 69          properti
8840: 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20  es file:....    
8850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53                "S
8860: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72  QLite.Interop\pr
8870: 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72  ops\SQLite.Inter
8880: 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70  op.20YY.[vs]prop
8890: 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  s"....          
88a0: 20 20 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72      for the corr
88b0: 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f  esponding versio
88c0: 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53  n(s) of Visual S
88d0: 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  tudio...    -->.
88e0: 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 49 6e 63  .    <InteropInc
88f0: 6c 75 64 65 45 78 74 72 61 20 43 6f 6e 64 69 74  ludeExtra Condit
8900: 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 49  ion="'$(InteropI
8910: 6e 63 6c 75 64 65 45 78 74 72 61 29 27 20 3d 3d  ncludeExtra)' ==
8920: 20 27 27 22 3e 66 61 6c 73 65 3c 2f 49 6e 74 65   ''">false</Inte
8930: 72 6f 70 49 6e 63 6c 75 64 65 45 78 74 72 61 3e  ropIncludeExtra>
8940: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
8950: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
8960: 6c 65 20 65 78 74 72 61 20 64 69 61 67 6e 6f 73  le extra diagnos
8970: 74 69 63 73 20 66 72 6f 6d 20 74 68 65 20 63 75  tics from the cu
8980: 73 74 6f 6d 20 62 75 69 6c 74 20 69 6e 74 65 72  stom built inter
8990: 6f 70 20 44 4c 4c 20 28 69 2e 65 2e 0d 0a 20 20  op DLL (i.e...  
89a0: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
89b0: 69 74 65 2e 49 6e 74 65 72 6f 70 2e 64 6c 6c 22  ite.Interop.dll"
89c0: 29 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20  )?  By default, 
89d0: 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 20  this is enabled 
89e0: 69 6e 20 74 68 65 20 44 65 62 75 67 0d 0a 20 20  in the Debug..  
89f0: 20 20 20 20 20 20 20 20 20 20 20 20 62 75 69 6c              buil
8a00: 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e  d configuration.
8a10: 20 20 49 66 20 74 68 69 73 20 69 73 20 64 69 73    If this is dis
8a20: 61 62 6c 65 64 2c 20 6e 6f 20 65 78 74 72 61 20  abled, no extra 
8a30: 64 69 61 67 6e 6f 73 74 69 63 73 0d 0a 20 20 20  diagnostics..   
8a40: 20 20 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20             will 
8a50: 62 65 20 65 6d 69 74 74 65 64 2e 20 20 49 66 20  be emitted.  If 
8a60: 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64 2c  this is enabled,
8a70: 20 69 74 20 6d 75 73 74 20 61 6c 73 6f 20 62 65   it must also be
8a80: 20 65 6e 61 62 6c 65 64 20 76 69 61 0d 0a 20 20   enabled via..  
8a90: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20              the 
8aa0: 22 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 3d 58  "INTEROP_DEBUG=X
8ab0: 58 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20  X" preprocessor 
8ac0: 64 65 66 69 6e 65 20 62 65 69 6e 67 20 70 72 65  define being pre
8ad0: 73 65 6e 74 20 69 6e 20 74 68 65 0d 0a 20 20 20  sent in the..   
8ae0: 20 20 20 20 20 20 20 20 20 20 20 22 49 4e 54 45             "INTE
8af0: 52 4f 50 5f 44 45 42 55 47 5f 44 45 46 49 4e 45  ROP_DEBUG_DEFINE
8b00: 53 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20  S" macro in the 
8b10: 62 75 69 6c 64 20 70 72 6f 70 65 72 74 69 65 73  build properties
8b20: 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20   file:....      
8b30: 20 20 20 20 20 20 20 20 20 20 20 20 22 53 51 4c              "SQL
8b40: 69 74 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70  ite.Interop\prop
8b50: 73 5c 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70  s\SQLite.Interop
8b60: 2e 32 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22  .20YY.[vs]props"
8b70: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ....            
8b80: 20 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73    for the corres
8b90: 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 28  ponding version(
8ba0: 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53 74 75  s) of Visual Stu
8bb0: 64 69 6f 20 77 68 65 72 65 20 74 68 65 20 58 58  dio where the XX
8bc0: 20 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20   is..           
8bd0: 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61     an integer va
8be0: 6c 75 65 20 74 68 61 74 20 72 65 70 72 65 73 65  lue that represe
8bf0: 6e 74 73 20 61 20 63 6f 6d 62 69 6e 61 74 69 6f  nts a combinatio
8c00: 6e 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65  n of one or more
8c10: 20 6f 66 0d 0a 20 20 20 20 20 20 20 20 20 20 20   of..           
8c20: 20 20 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67     the following
8c30: 20 62 69 74 20 66 6c 61 67 73 20 76 61 6c 75 65   bit flags value
8c40: 73 20 28 69 2e 65 2e 20 74 6f 20 65 6e 61 62 6c  s (i.e. to enabl
8c50: 65 20 65 78 74 72 61 20 64 69 61 67 6e 6f 73 74  e extra diagnost
8c60: 69 63 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ics..           
8c70: 20 20 20 66 6f 72 20 61 20 70 61 72 74 69 63 75     for a particu
8c80: 6c 61 72 20 6e 61 74 69 76 65 20 66 75 6e 63 74  lar native funct
8c90: 69 6f 6e 20 63 61 6c 6c 29 3a 0d 0a 0d 0a 20 20  ion call):....  
8ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8cb0: 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 43 4c  INTEROP_DEBUG_CL
8cc0: 4f 53 45 20 20 20 20 20 20 20 20 20 20 28 30 78  OSE          (0x
8cd0: 30 30 30 31 29 0d 0a 20 20 20 20 20 20 20 20 20  0001)..         
8ce0: 20 20 20 20 20 20 20 20 20 49 4e 54 45 52 4f 50           INTEROP
8cf0: 5f 44 45 42 55 47 5f 46 49 4e 41 4c 49 5a 45 20  _DEBUG_FINALIZE 
8d00: 20 20 20 20 20 20 28 30 78 30 30 30 32 29 0d 0a        (0x0002)..
8d10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8d20: 20 20 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f    INTEROP_DEBUG_
8d30: 42 41 43 4b 55 50 5f 46 49 4e 49 53 48 20 20 28  BACKUP_FINISH  (
8d40: 30 78 30 30 30 34 29 0d 0a 20 20 20 20 20 20 20  0x0004)..       
8d50: 20 20 20 20 20 20 20 20 20 20 20 49 4e 54 45 52             INTER
8d60: 4f 50 5f 44 45 42 55 47 5f 4f 50 45 4e 20 20 20  OP_DEBUG_OPEN   
8d70: 20 20 20 20 20 20 20 20 28 30 78 30 30 30 38 29          (0x0008)
8d80: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
8d90: 20 20 20 20 49 4e 54 45 52 4f 50 5f 44 45 42 55      INTEROP_DEBU
8da0: 47 5f 4f 50 45 4e 31 36 20 20 20 20 20 20 20 20  G_OPEN16        
8db0: 20 28 30 78 30 30 31 30 29 0d 0a 20 20 20 20 20   (0x0010)..     
8dc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 4e 54               INT
8dd0: 45 52 4f 50 5f 44 45 42 55 47 5f 50 52 45 50 41  EROP_DEBUG_PREPA
8de0: 52 45 20 20 20 20 20 20 20 20 28 30 78 30 30 32  RE        (0x002
8df0: 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  0)..            
8e00: 20 20 20 20 20 20 49 4e 54 45 52 4f 50 5f 44 45        INTEROP_DE
8e10: 42 55 47 5f 50 52 45 50 41 52 45 31 36 20 20 20  BUG_PREPARE16   
8e20: 20 20 20 28 30 78 30 30 34 30 29 0d 0a 20 20 20     (0x0040)..   
8e30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49                 I
8e40: 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 52 45 53  NTEROP_DEBUG_RES
8e50: 45 54 20 20 20 20 20 20 20 20 20 20 28 30 78 30  ET          (0x0
8e60: 30 38 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20  080)..          
8e70: 20 20 20 20 20 20 20 20 49 4e 54 45 52 4f 50 5f          INTEROP_
8e80: 44 45 42 55 47 5f 43 48 41 4e 47 45 53 20 20 20  DEBUG_CHANGES   
8e90: 20 20 20 20 20 28 30 78 30 31 30 30 29 0d 0a 20       (0x0100).. 
8ea0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8eb0: 20 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 42   INTEROP_DEBUG_B
8ec0: 52 45 41 4b 20 20 20 20 20 20 20 20 20 20 28 30  REAK          (0
8ed0: 78 30 32 30 30 29 0d 0a 20 20 20 20 2d 2d 3e 0d  x0200)..    -->.
8ee0: 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 44 65 62  .    <InteropDeb
8ef0: 75 67 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  ug Condition="'$
8f00: 28 49 6e 74 65 72 6f 70 44 65 62 75 67 29 27 20  (InteropDebug)' 
8f10: 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 43 6f 6e  == '' And '$(Con
8f20: 66 69 67 75 72 61 74 69 6f 6e 29 27 20 3d 3d 20  figuration)' == 
8f30: 27 44 65 62 75 67 27 22 3e 74 72 75 65 3c 2f 49  'Debug'">true</I
8f40: 6e 74 65 72 6f 70 44 65 62 75 67 3e 0d 0a 20 20  nteropDebug>..  
8f50: 20 20 3c 49 6e 74 65 72 6f 70 44 65 62 75 67 20    <InteropDebug 
8f60: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e  Condition="'$(In
8f70: 74 65 72 6f 70 44 65 62 75 67 29 27 20 3d 3d 20  teropDebug)' == 
8f80: 27 27 20 41 6e 64 20 27 24 28 43 6f 6e 66 69 67  '' And '$(Config
8f90: 75 72 61 74 69 6f 6e 29 27 20 21 3d 20 27 44 65  uration)' != 'De
8fa0: 62 75 67 27 22 3e 66 61 6c 73 65 3c 2f 49 6e 74  bug'">false</Int
8fb0: 65 72 6f 70 44 65 62 75 67 3e 0d 0a 0d 0a 20 20  eropDebug>....  
8fc0: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
8fd0: 4e 4f 54 45 3a 20 44 69 73 61 62 6c 65 20 61 6c  NOTE: Disable al
8fe0: 6c 20 75 73 65 20 6f 66 20 74 68 65 20 73 71 6c  l use of the sql
8ff0: 69 74 65 33 5f 63 6c 6f 73 65 5f 76 32 28 29 20  ite3_close_v2() 
9000: 6e 61 74 69 76 65 20 41 50 49 20 61 6e 64 20 75  native API and u
9010: 73 65 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20  se the..        
9020: 20 20 20 20 20 20 6c 65 67 61 63 79 20 53 79 73        legacy Sys
9030: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 20  tem.Data.SQLite 
9040: 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6c 6f 73 69  connection closi
9050: 6e 67 20 61 6c 67 6f 72 69 74 68 6d 20 69 6e 73  ng algorithm ins
9060: 74 65 61 64 2e 0d 0a 20 20 20 20 20 20 20 20 20  tead...         
9070: 20 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c       By default,
9080: 20 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65   this is disable
9090: 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 65  d.  If this is e
90a0: 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20  nabled, it must 
90b0: 61 6c 73 6f 0d 0a 20 20 20 20 20 20 20 20 20 20  also..          
90c0: 20 20 20 20 62 65 20 65 6e 61 62 6c 65 64 20 76      be enabled v
90d0: 69 61 20 74 68 65 20 22 49 4e 54 45 52 4f 50 5f  ia the "INTEROP_
90e0: 4c 45 47 41 43 59 5f 43 4c 4f 53 45 3d 31 22 20  LEGACY_CLOSE=1" 
90f0: 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66  preprocessor def
9100: 69 6e 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ine..           
9110: 20 20 20 62 65 69 6e 67 20 70 72 65 73 65 6e 74     being present
9120: 20 69 6e 20 74 68 65 20 22 49 4e 54 45 52 4f 50   in the "INTEROP
9130: 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53 22 20  _EXTRA_DEFINES" 
9140: 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62 75 69  macro in the bui
9150: 6c 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ld..            
9160: 20 20 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c    properties fil
9170: 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  e:....          
9180: 20 20 20 20 20 20 20 20 22 53 51 4c 69 74 65 2e          "SQLite.
9190: 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c 53 51  Interop\props\SQ
91a0: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30 59  Lite.Interop.20Y
91b0: 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a 0d 0a  Y.[vs]props"....
91c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f                fo
91d0: 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64  r the correspond
91e0: 69 6e 67 20 76 65 72 73 69 6f 6e 28 73 29 20 6f  ing version(s) o
91f0: 66 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  f Visual Studio.
9200: 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c  ..    -->..    <
9210: 49 6e 74 65 72 6f 70 4c 65 67 61 63 79 43 6c 6f  InteropLegacyClo
9220: 73 65 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  se Condition="'$
9230: 28 49 6e 74 65 72 6f 70 4c 65 67 61 63 79 43 6c  (InteropLegacyCl
9240: 6f 73 65 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c  ose)' == ''">fal
9250: 73 65 3c 2f 49 6e 74 65 72 6f 70 4c 65 67 61 63  se</InteropLegac
9260: 79 43 6c 6f 73 65 3e 0d 0a 0d 0a 20 20 20 20 3c  yClose>....    <
9270: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
9280: 45 3a 20 45 6e 61 62 6c 65 20 74 68 65 20 6c 6f  E: Enable the lo
9290: 67 67 69 6e 67 20 63 61 6c 6c 62 61 63 6b 20 69  gging callback i
92a0: 6e 20 74 68 65 20 63 75 73 74 6f 6d 20 62 75 69  n the custom bui
92b0: 6c 74 20 69 6e 74 65 72 6f 70 20 44 4c 4c 20 28  lt interop DLL (
92c0: 69 2e 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20  i.e...          
92d0: 20 20 20 20 22 53 51 4c 69 74 65 2e 49 6e 74 65      "SQLite.Inte
92e0: 72 6f 70 2e 64 6c 6c 22 29 3f 20 20 42 79 20 64  rop.dll")?  By d
92f0: 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20  efault, this is 
9300: 65 6e 61 62 6c 65 64 20 69 6e 20 74 68 65 20 44  enabled in the D
9310: 65 62 75 67 0d 0a 20 20 20 20 20 20 20 20 20 20  ebug..          
9320: 20 20 20 20 62 75 69 6c 64 20 63 6f 6e 66 69 67      build config
9330: 75 72 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 69  uration.  If thi
9340: 73 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 74  s is disabled, t
9350: 68 65 20 6c 6f 67 67 69 6e 67 20 63 61 6c 6c 62  he logging callb
9360: 61 63 6b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ack..           
9370: 20 20 20 77 69 6c 6c 20 62 65 20 75 6e 61 76 61     will be unava
9380: 69 6c 61 62 6c 65 20 61 6e 64 20 64 69 61 67 6e  ilable and diagn
9390: 6f 73 74 69 63 20 6d 65 73 73 61 67 65 73 20 6d  ostic messages m
93a0: 61 79 20 6e 6f 74 20 62 65 20 73 65 65 6e 20 69  ay not be seen i
93b0: 66 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  f..             
93c0: 20 61 6e 6f 74 68 65 72 20 6e 61 74 69 76 65 20   another native 
93d0: 6c 6f 67 67 69 6e 67 20 63 61 6c 6c 62 61 63 6b  logging callback
93e0: 20 69 73 20 6e 6f 74 20 63 6f 6e 66 69 67 75 72   is not configur
93f0: 65 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 0d  ed.  If this is.
9400: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65  .              e
9410: 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74 20  nabled, it must 
9420: 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64 20  also be enabled 
9430: 76 69 61 20 74 68 65 20 22 49 4e 54 45 52 4f 50  via the "INTEROP
9440: 5f 4c 4f 47 3d 31 22 0d 0a 20 20 20 20 20 20 20  _LOG=1"..       
9450: 20 20 20 20 20 20 20 70 72 65 70 72 6f 63 65 73         preproces
9460: 73 6f 72 20 64 65 66 69 6e 65 20 62 65 69 6e 67  sor define being
9470: 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20   present in the 
9480: 22 49 4e 54 45 52 4f 50 5f 44 45 42 55 47 5f 44  "INTEROP_DEBUG_D
9490: 45 46 49 4e 45 53 22 0d 0a 20 20 20 20 20 20 20  EFINES"..       
94a0: 20 20 20 20 20 20 20 6d 61 63 72 6f 20 69 6e 20         macro in 
94b0: 74 68 65 20 62 75 69 6c 64 20 70 72 6f 70 65 72  the build proper
94c0: 74 69 65 73 20 66 69 6c 65 3a 0d 0a 0d 0a 20 20  ties file:....  
94d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
94e0: 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 5c  "SQLite.Interop\
94f0: 70 72 6f 70 73 5c 53 51 4c 69 74 65 2e 49 6e 74  props\SQLite.Int
9500: 65 72 6f 70 2e 32 30 59 59 2e 5b 76 73 5d 70 72  erop.20YY.[vs]pr
9510: 6f 70 73 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ops"....        
9520: 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 63 6f        for the co
9530: 72 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73  rresponding vers
9540: 69 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c  ion(s) of Visual
9550: 20 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d   Studio...    --
9560: 3e 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 4c  >..    <InteropL
9570: 6f 67 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  og Condition="'$
9580: 28 49 6e 74 65 72 6f 70 4c 6f 67 29 27 20 3d 3d  (InteropLog)' ==
9590: 20 27 27 20 41 6e 64 20 27 24 28 43 6f 6e 66 69   '' And '$(Confi
95a0: 67 75 72 61 74 69 6f 6e 29 27 20 3d 3d 20 27 44  guration)' == 'D
95b0: 65 62 75 67 27 22 3e 74 72 75 65 3c 2f 49 6e 74  ebug'">true</Int
95c0: 65 72 6f 70 4c 6f 67 3e 0d 0a 20 20 20 20 3c 49  eropLog>..    <I
95d0: 6e 74 65 72 6f 70 4c 6f 67 20 43 6f 6e 64 69 74  nteropLog Condit
95e0: 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70 4c  ion="'$(InteropL
95f0: 6f 67 29 27 20 3d 3d 20 27 27 20 41 6e 64 20 27  og)' == '' And '
9600: 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29  $(Configuration)
9610: 27 20 21 3d 20 27 44 65 62 75 67 27 22 3e 66 61  ' != 'Debug'">fa
9620: 6c 73 65 3c 2f 49 6e 74 65 72 6f 70 4c 6f 67 3e  lse</InteropLog>
9630: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
9640: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
9650: 6c 65 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65  le including the
9660: 20 76 74 73 68 69 6d 20 6d 6f 64 75 6c 65 20 61   vtshim module a
9670: 73 20 61 20 73 74 61 74 69 63 61 6c 6c 79 20 61  s a statically a
9680: 76 61 69 6c 61 62 6c 65 0d 0a 20 20 20 20 20 20  vailable..      
9690: 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 69 6f          extensio
96a0: 6e 3f 20 20 54 68 69 73 20 77 69 6c 6c 20 61 6c  n?  This will al
96b0: 6c 6f 77 20 76 69 72 74 75 61 6c 20 74 61 62 6c  low virtual tabl
96c0: 65 73 20 74 6f 20 62 65 20 69 6d 70 6c 65 6d 65  es to be impleme
96d0: 6e 74 65 64 20 69 6e 0d 0a 20 20 20 20 20 20 20  nted in..       
96e0: 20 20 20 20 20 20 20 6d 61 6e 61 67 65 64 20 63         managed c
96f0: 6f 64 65 2e 20 20 42 79 20 64 65 66 61 75 6c 74  ode.  By default
9700: 2c 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65  , this is enable
9710: 64 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 64  d.  If this is d
9720: 69 73 61 62 6c 65 64 2c 0d 0a 20 20 20 20 20 20  isabled,..      
9730: 20 20 20 20 20 20 20 20 73 75 70 70 6f 72 74 20          support 
9740: 66 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67  for implementing
9750: 20 76 69 72 74 75 61 6c 20 74 61 62 6c 65 73 20   virtual tables 
9760: 69 6e 20 6d 61 6e 61 67 65 64 20 63 6f 64 65 20  in managed code 
9770: 77 69 6c 6c 20 62 65 0d 0a 20 20 20 20 20 20 20  will be..       
9780: 20 20 20 20 20 20 20 75 6e 61 76 61 69 6c 61 62         unavailab
9790: 6c 65 2e 20 20 49 66 20 74 68 69 73 20 69 73 20  le.  If this is 
97a0: 65 6e 61 62 6c 65 64 2c 20 69 74 20 6d 75 73 74  enabled, it must
97b0: 20 61 6c 73 6f 20 62 65 20 65 6e 61 62 6c 65 64   also be enabled
97c0: 20 76 69 61 0d 0a 20 20 20 20 20 20 20 20 20 20   via..          
97d0: 20 20 20 20 74 68 65 20 22 49 4e 54 45 52 4f 50      the "INTEROP
97e0: 5f 56 49 52 54 55 41 4c 5f 54 41 42 4c 45 3d 31  _VIRTUAL_TABLE=1
97f0: 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64  " preprocessor d
9800: 65 66 69 6e 65 20 62 65 69 6e 67 20 70 72 65 73  efine being pres
9810: 65 6e 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ent..           
9820: 20 20 20 69 6e 20 74 68 65 20 22 49 4e 54 45 52     in the "INTER
9830: 4f 50 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53  OP_EXTRA_DEFINES
9840: 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62  " macro in the b
9850: 75 69 6c 64 20 70 72 6f 70 65 72 74 69 65 73 0d  uild properties.
9860: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66  .              f
9870: 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ile:....        
9880: 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74            "SQLit
9890: 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c  e.Interop\props\
98a0: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32  SQLite.Interop.2
98b0: 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a  0YY.[vs]props"..
98c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
98d0: 62 6f 74 68 20 66 6f 72 20 74 68 65 20 63 6f 72  both for the cor
98e0: 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69  responding versi
98f0: 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20  on(s) of Visual 
9900: 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e  Studio...    -->
9910: 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 56 69  ..    <InteropVi
9920: 72 74 75 61 6c 54 61 62 6c 65 20 43 6f 6e 64 69  rtualTable Condi
9930: 74 69 6f 6e 3d 22 27 24 28 49 6e 74 65 72 6f 70  tion="'$(Interop
9940: 56 69 72 74 75 61 6c 54 61 62 6c 65 29 27 20 3d  VirtualTable)' =
9950: 3d 20 27 27 22 3e 74 72 75 65 3c 2f 49 6e 74 65  = ''">true</Inte
9960: 72 6f 70 56 69 72 74 75 61 6c 54 61 62 6c 65 3e  ropVirtualTable>
9970: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
9980: 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62        NOTE: Enab
9990: 6c 65 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65  le including the
99a0: 20 73 65 73 73 69 6f 6e 20 6d 6f 64 75 6c 65 20   session module 
99b0: 61 73 20 61 20 73 74 61 74 69 63 61 6c 6c 79 20  as a statically 
99c0: 61 76 61 69 6c 61 62 6c 65 0d 0a 20 20 20 20 20  available..     
99d0: 20 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 69           extensi
99e0: 6f 6e 3f 20 20 42 79 20 64 65 66 61 75 6c 74 2c  on?  By default,
99f0: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
9a00: 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 64 69  .  If this is di
9a10: 73 61 62 6c 65 64 2c 0d 0a 20 20 20 20 20 20 20  sabled,..       
9a20: 20 20 20 20 20 20 20 73 75 70 70 6f 72 74 20 66         support f
9a30: 6f 72 20 75 73 69 6e 67 20 74 68 65 20 73 65 73  or using the ses
9a40: 73 69 6f 6e 20 6d 6f 64 75 6c 65 20 69 6e 20 6d  sion module in m
9a50: 61 6e 61 67 65 64 20 63 6f 64 65 20 77 69 6c 6c  anaged code will
9a60: 20 62 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20   be..           
9a70: 20 20 20 75 6e 61 76 61 69 6c 61 62 6c 65 2e 20     unavailable. 
9a80: 20 49 66 20 74 68 69 73 20 69 73 20 65 6e 61 62   If this is enab
9a90: 6c 65 64 2c 20 69 74 20 6d 75 73 74 20 61 6c 73  led, it must als
9aa0: 6f 20 62 65 20 65 6e 61 62 6c 65 64 20 76 69 61  o be enabled via
9ab0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
9ac0: 74 68 65 20 22 49 4e 54 45 52 4f 50 5f 53 45 53  the "INTEROP_SES
9ad0: 53 49 4f 4e 5f 45 58 54 45 4e 53 49 4f 4e 3d 31  SION_EXTENSION=1
9ae0: 22 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64  " preprocessor d
9af0: 65 66 69 6e 65 20 62 65 69 6e 67 0d 0a 20 20 20  efine being..   
9b00: 20 20 20 20 20 20 20 20 20 20 20 70 72 65 73 65             prese
9b10: 6e 74 20 69 6e 20 74 68 65 20 22 49 4e 54 45 52  nt in the "INTER
9b20: 4f 50 5f 45 58 54 52 41 5f 44 45 46 49 4e 45 53  OP_EXTRA_DEFINES
9b30: 22 20 6d 61 63 72 6f 20 69 6e 20 74 68 65 20 62  " macro in the b
9b40: 75 69 6c 64 0d 0a 20 20 20 20 20 20 20 20 20 20  uild..          
9b50: 20 20 20 20 70 72 6f 70 65 72 74 69 65 73 20 66      properties f
9b60: 69 6c 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ile:....        
9b70: 20 20 20 20 20 20 20 20 20 20 22 53 51 4c 69 74            "SQLit
9b80: 65 2e 49 6e 74 65 72 6f 70 5c 70 72 6f 70 73 5c  e.Interop\props\
9b90: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32  SQLite.Interop.2
9ba0: 30 59 59 2e 5b 76 73 5d 70 72 6f 70 73 22 0d 0a  0YY.[vs]props"..
9bb0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
9bc0: 62 6f 74 68 20 66 6f 72 20 74 68 65 20 63 6f 72  both for the cor
9bd0: 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69  responding versi
9be0: 6f 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20  on(s) of Visual 
9bf0: 53 74 75 64 69 6f 2e 0d 0a 20 20 20 20 2d 2d 3e  Studio...    -->
9c00: 0d 0a 20 20 20 20 3c 49 6e 74 65 72 6f 70 53 65  ..    <InteropSe
9c10: 73 73 69 6f 6e 45 78 74 65 6e 73 69 6f 6e 20 43  ssionExtension C
9c20: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 49 6e 74  ondition="'$(Int
9c30: 65 72 6f 70 53 65 73 73 69 6f 6e 45 78 74 65 6e  eropSessionExten
9c40: 73 69 6f 6e 29 27 20 3d 3d 20 27 27 22 3e 74 72  sion)' == ''">tr
9c50: 75 65 3c 2f 49 6e 74 65 72 6f 70 53 65 73 73 69  ue</InteropSessi
9c60: 6f 6e 45 78 74 65 6e 73 69 6f 6e 3e 0d 0a 0d 0a  onExtension>....
9c70: 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20      <!--..      
9c80: 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74    NOTE: Enable t
9c90: 68 65 20 75 73 65 20 6f 66 20 6e 61 74 69 76 65  he use of native
9ca0: 20 57 69 6e 64 6f 77 73 20 41 50 49 73 2c 20 77   Windows APIs, w
9cb0: 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 3f 20 20  hen available?  
9cc0: 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  By..            
9cd0: 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20    default, this 
9ce0: 69 73 20 65 6e 61 62 6c 65 64 2e 20 20 49 66 20  is enabled.  If 
9cf0: 74 68 69 73 20 69 73 20 64 69 73 61 62 6c 65 64  this is disabled
9d00: 2c 20 61 6c 6c 20 66 65 61 74 75 72 65 73 0d 0a  , all features..
9d10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68                th
9d20: 61 74 20 72 65 71 75 69 72 65 20 74 68 65 20 75  at require the u
9d30: 73 65 20 6f 66 20 6e 61 74 69 76 65 20 57 69 6e  se of native Win
9d40: 64 6f 77 73 20 41 50 49 73 20 77 69 6c 6c 20 62  dows APIs will b
9d50: 65 20 75 6e 61 76 61 69 6c 61 62 6c 65 2e 0d 0a  e unavailable...
9d60: 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 55 73      -->..    <Us
9d70: 65 57 69 6e 64 6f 77 73 20 43 6f 6e 64 69 74 69  eWindows Conditi
9d80: 6f 6e 3d 22 27 24 28 55 73 65 57 69 6e 64 6f 77  on="'$(UseWindow
9d90: 73 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c  s)' == ''">true<
9da0: 2f 55 73 65 57 69 6e 64 6f 77 73 3e 0d 0a 0d 0a  /UseWindows>....
9db0: 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20      <!--..      
9dc0: 20 20 4e 4f 54 45 3a 20 46 6f 72 20 69 6e 74 65    NOTE: For inte
9dd0: 72 61 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65  raction with the
9de0: 20 45 6e 74 69 74 79 20 46 72 61 6d 65 77 6f 72   Entity Framewor
9df0: 6b 2c 20 61 73 73 75 6d 65 20 76 65 72 73 69 6f  k, assume versio
9e00: 6e 20 36 20 6f 72 0d 0a 20 20 20 20 20 20 20 20  n 6 or..        
9e10: 20 20 20 20 20 20 68 69 67 68 65 72 3f 20 20 42        higher?  B
9e20: 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20  y default, this 
9e30: 69 73 20 64 69 73 61 62 6c 65 64 2e 20 20 49 66  is disabled.  If
9e40: 20 74 68 69 73 20 69 73 20 65 6e 61 62 6c 65 64   this is enabled
9e50: 2c 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20  , the..         
9e60: 20 20 20 20 20 22 53 79 73 74 65 6d 2e 44 61 74       "System.Dat
9e70: 61 2e 53 51 4c 69 74 65 2e 4c 69 6e 71 22 20 61  a.SQLite.Linq" a
9e80: 73 73 65 6d 62 6c 79 20 77 69 6c 6c 20 6e 6f 74  ssembly will not
9e90: 20 77 6f 72 6b 20 77 69 74 68 20 61 6e 79 20 45   work with any E
9ea0: 6e 74 69 74 79 0d 0a 20 20 20 20 20 20 20 20 20  ntity..         
9eb0: 20 20 20 20 20 46 72 61 6d 65 77 6f 72 6b 20 70       Framework p
9ec0: 72 69 6f 72 20 74 6f 20 76 65 72 73 69 6f 6e 20  rior to version 
9ed0: 36 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20  6...    -->..   
9ee0: 20 3c 55 73 65 45 6e 74 69 74 79 46 72 61 6d 65   <UseEntityFrame
9ef0: 77 6f 72 6b 36 20 43 6f 6e 64 69 74 69 6f 6e 3d  work6 Condition=
9f00: 22 27 24 28 55 73 65 45 6e 74 69 74 79 46 72 61  "'$(UseEntityFra
9f10: 6d 65 77 6f 72 6b 36 29 27 20 3d 3d 20 27 27 22  mework6)' == ''"
9f20: 3e 66 61 6c 73 65 3c 2f 55 73 65 45 6e 74 69 74  >false</UseEntit
9f30: 79 46 72 61 6d 65 77 6f 72 6b 36 3e 0d 0a 20 20  yFramework6>..  
9f40: 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e  </PropertyGroup>
9f50: 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a  ....  <!--..  **
9f60: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9f70: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9f80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9f90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
9fa0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20  ************..  
9fb0: 2a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  **              
9fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54                 T
9fd0: 72 61 63 65 20 50 72 6f 70 65 72 74 69 65 73 20  race Properties 
9fe0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9ff0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 2a 0d 0a              **..
a000: 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a    **************
a010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a040: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a050: 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72  ..  -->....  <Pr
a060: 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 20 20  opertyGroup>..  
a070: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
a080: 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 72 61  NOTE: Enable tra
a090: 63 69 6e 67 20 6f 66 20 65 76 65 6e 74 73 20 72  cing of events r
a0a0: 65 6c 61 74 65 64 20 74 6f 20 63 6f 6e 6e 65 63  elated to connec
a0b0: 74 69 6f 6e 20 68 61 6e 64 6c 69 6e 67 3f 20 20  tion handling?  
a0c0: 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  By..            
a0d0: 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20    default, this 
a0e0: 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20 20  is disabled...  
a0f0: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61 63    -->..    <Trac
a100: 65 43 6f 6e 6e 65 63 74 69 6f 6e 20 43 6f 6e 64  eConnection Cond
a110: 69 74 69 6f 6e 3d 22 27 24 28 54 72 61 63 65 43  ition="'$(TraceC
a120: 6f 6e 6e 65 63 74 69 6f 6e 29 27 20 3d 3d 20 27  onnection)' == '
a130: 27 22 3e 66 61 6c 73 65 3c 2f 54 72 61 63 65 43  '">false</TraceC
a140: 6f 6e 6e 65 63 74 69 6f 6e 3e 0d 0a 0d 0a 20 20  onnection>....  
a150: 20 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20    <!--..        
a160: 4e 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 72 61  NOTE: Enable tra
a170: 63 69 6e 67 20 6f 66 20 65 76 65 6e 74 73 20 72  cing of events r
a180: 65 6c 61 74 65 64 20 74 6f 20 61 75 74 6f 6d 61  elated to automa
a190: 74 69 63 20 64 65 74 65 63 74 69 6f 6e 20 6f 66  tic detection of
a1a0: 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20   the..          
a1b0: 20 20 20 20 6e 61 74 69 76 65 20 6c 69 62 72 61      native libra
a1c0: 72 79 20 64 69 72 65 63 74 6f 72 79 20 77 69 74  ry directory wit
a1d0: 68 69 6e 20 74 68 65 20 6e 61 74 69 76 65 20 6c  hin the native l
a1e0: 69 62 72 61 72 79 20 70 72 65 2d 6c 6f 61 64 69  ibrary pre-loadi
a1f0: 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ng..            
a200: 20 20 63 6f 64 65 3f 20 20 42 79 20 64 65 66 61    code?  By defa
a210: 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69 73  ult, this is dis
a220: 61 62 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  abled...    -->.
a230: 0a 20 20 20 20 3c 54 72 61 63 65 44 65 74 65 63  .    <TraceDetec
a240: 74 69 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d 22  tion Condition="
a250: 27 24 28 54 72 61 63 65 44 65 74 65 63 74 69 6f  '$(TraceDetectio
a260: 6e 29 27 20 3d 3d 20 27 27 22 3e 66 61 6c 73 65  n)' == ''">false
a270: 3c 2f 54 72 61 63 65 44 65 74 65 63 74 69 6f 6e  </TraceDetection
a280: 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  >....    <!--.. 
a290: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61         NOTE: Ena
a2a0: 62 6c 65 20 74 72 61 63 69 6e 67 20 6f 66 20 65  ble tracing of e
a2b0: 76 65 6e 74 73 20 72 65 6c 61 74 65 64 20 74 6f  vents related to
a2c0: 20 43 72 69 74 69 63 61 6c 48 61 6e 64 6c 65 20   CriticalHandle 
a2d0: 68 61 6e 64 6c 69 6e 67 3f 20 20 42 79 0d 0a 20  handling?  By.. 
a2e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66               def
a2f0: 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 64 69  ault, this is di
a300: 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e  sabled...    -->
a310: 0d 0a 20 20 20 20 3c 54 72 61 63 65 48 61 6e 64  ..    <TraceHand
a320: 6c 65 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24  le Condition="'$
a330: 28 54 72 61 63 65 48 61 6e 64 6c 65 29 27 20 3d  (TraceHandle)' =
a340: 3d 20 27 27 22 3e 66 61 6c 73 65 3c 2f 54 72 61  = ''">false</Tra
a350: 63 65 48 61 6e 64 6c 65 3e 0d 0a 0d 0a 20 20 20  ceHandle>....   
a360: 20 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e   <!--..        N
a370: 4f 54 45 3a 20 45 6e 61 62 6c 65 20 74 72 61 63  OTE: Enable trac
a380: 69 6e 67 20 6f 66 20 65 76 65 6e 74 73 20 72 65  ing of events re
a390: 6c 61 74 65 64 20 74 6f 20 74 68 65 20 6e 61 74  lated to the nat
a3a0: 69 76 65 20 6c 69 62 72 61 72 79 20 70 72 65 2d  ive library pre-
a3b0: 6c 6f 61 64 69 6e 67 0d 0a 20 20 20 20 20 20 20  loading..       
a3c0: 20 20 20 20 20 20 20 63 6f 64 65 3f 20 20 42 79         code?  By
a3d0: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
a3e0: 73 20 65 6e 61 62 6c 65 64 2e 0d 0a 20 20 20 20  s enabled...    
a3f0: 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61 63 65 50  -->..    <TraceP
a400: 72 65 4c 6f 61 64 20 43 6f 6e 64 69 74 69 6f 6e  reLoad Condition
a410: 3d 22 27 24 28 54 72 61 63 65 50 72 65 4c 6f 61  ="'$(TracePreLoa
a420: 64 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c  d)' == ''">true<
a430: 2f 54 72 61 63 65 50 72 65 4c 6f 61 64 3e 0d 0a  /TracePreLoad>..
a440: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
a450: 20 20 20 20 4e 4f 54 45 3a 20 45 6e 61 62 6c 65      NOTE: Enable
a460: 20 74 72 61 63 69 6e 67 20 6f 66 20 65 76 65 6e   tracing of even
a470: 74 73 20 72 65 6c 61 74 65 64 20 74 6f 20 74 68  ts related to th
a480: 65 20 73 68 61 72 65 64 20 6e 61 74 69 76 65 20  e shared native 
a490: 6c 69 62 72 61 72 79 0d 0a 20 20 20 20 20 20 20  library..       
a4a0: 20 20 20 20 20 20 20 70 72 65 2d 6c 6f 61 64 69         pre-loadi
a4b0: 6e 67 20 63 6f 64 65 3f 20 20 42 79 20 64 65 66  ng code?  By def
a4c0: 61 75 6c 74 2c 20 74 68 69 73 20 69 73 20 65 6e  ault, this is en
a4d0: 61 62 6c 65 64 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  abled...    -->.
a4e0: 0a 20 20 20 20 3c 54 72 61 63 65 53 68 61 72 65  .    <TraceShare
a4f0: 64 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  d Condition="'$(
a500: 54 72 61 63 65 53 68 61 72 65 64 29 27 20 3d 3d  TraceShared)' ==
a510: 20 27 27 22 3e 74 72 75 65 3c 2f 54 72 61 63 65   ''">true</Trace
a520: 53 68 61 72 65 64 3e 0d 0a 0d 0a 20 20 20 20 3c  Shared>....    <
a530: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
a540: 45 3a 20 45 6e 61 62 6c 65 20 74 72 61 63 69 6e  E: Enable tracin
a550: 67 20 6f 66 20 65 76 65 6e 74 73 20 72 65 6c 61  g of events rela
a560: 74 65 64 20 74 6f 20 74 68 65 20 70 72 65 70 61  ted to the prepa
a570: 72 65 64 20 73 74 61 74 65 6d 65 6e 74 73 3f 20  red statements? 
a580: 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20   By..           
a590: 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73     default, this
a5a0: 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20   is disabled... 
a5b0: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61     -->..    <Tra
a5c0: 63 65 53 74 61 74 65 6d 65 6e 74 20 43 6f 6e 64  ceStatement Cond
a5d0: 69 74 69 6f 6e 3d 22 27 24 28 54 72 61 63 65 53  ition="'$(TraceS
a5e0: 74 61 74 65 6d 65 6e 74 29 27 20 3d 3d 20 27 27  tatement)' == ''
a5f0: 22 3e 66 61 6c 73 65 3c 2f 54 72 61 63 65 53 74  ">false</TraceSt
a600: 61 74 65 6d 65 6e 74 3e 0d 0a 0d 0a 20 20 20 20  atement>....    
a610: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
a620: 54 45 3a 20 45 6e 61 62 6c 65 20 74 72 61 63 69  TE: Enable traci
a630: 6e 67 20 6f 66 20 70 6f 74 65 6e 74 69 61 6c 6c  ng of potentiall
a640: 79 20 69 6d 70 6f 72 74 61 6e 74 2c 20 62 75 74  y important, but
a650: 20 6e 6f 6e 2d 66 61 74 61 6c 20 65 72 72 6f 72   non-fatal error
a660: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
a670: 63 6f 6e 64 69 74 69 6f 6e 73 20 74 68 61 74 20  conditions that 
a680: 63 61 6e 6e 6f 74 20 62 65 20 72 65 70 6f 72 74  cannot be report
a690: 65 64 20 61 6e 6f 74 68 65 72 20 77 61 79 3f 20  ed another way? 
a6a0: 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69   By default, thi
a6b0: 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  s..             
a6c0: 20 69 73 20 65 6e 61 62 6c 65 64 2e 0d 0a 20 20   is enabled...  
a6d0: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 54 72 61 63    -->..    <Trac
a6e0: 65 57 61 72 6e 69 6e 67 20 43 6f 6e 64 69 74 69  eWarning Conditi
a6f0: 6f 6e 3d 22 27 24 28 54 72 61 63 65 57 61 72 6e  on="'$(TraceWarn
a700: 69 6e 67 29 27 20 3d 3d 20 27 27 22 3e 74 72 75  ing)' == ''">tru
a710: 65 3c 2f 54 72 61 63 65 57 61 72 6e 69 6e 67 3e  e</TraceWarning>
a720: 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72  ..  </PropertyGr
a730: 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a  oup>....  <!--..
a740: 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a    **************
a750: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a760: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a770: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a780: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a790: 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20 20  ..  **          
a7a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a7b0: 20 20 57 61 72 6e 69 6e 67 20 50 72 6f 70 65 72    Warning Proper
a7c0: 74 69 65 73 20 20 20 20 20 20 20 20 20 20 20 20  ties            
a7d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a7e0: 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  **..  **********
a7f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a800: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a810: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a820: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
a830: 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20  ****..  -->.... 
a840: 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70 20   <PropertyGroup 
a850: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 43 6f  Condition="'$(Co
a860: 6e 66 69 67 75 72 61 74 69 6f 6e 29 27 20 3d 3d  nfiguration)' ==
a870: 20 27 44 65 62 75 67 27 22 3e 0d 0a 20 20 20 20   'Debug'">..    
a880: 3c 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f  <!--..        NO
a890: 54 45 3a 20 44 65 62 75 67 20 62 75 69 6c 64 2e  TE: Debug build.
a8a0: 20 20 53 65 74 20 74 68 65 20 77 61 72 6e 69 6e    Set the warnin
a8b0: 67 20 6c 65 76 65 6c 20 74 6f 20 6d 61 78 69 6d  g level to maxim
a8c0: 75 6d 2e 20 20 41 6c 73 6f 2c 20 64 69 73 61 62  um.  Also, disab
a8d0: 6c 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  le..            
a8e0: 20 20 77 61 72 6e 69 6e 67 73 20 74 68 61 74 20    warnings that 
a8f0: 74 65 6e 64 20 74 6f 20 63 61 75 73 65 20 74 6f  tend to cause to
a900: 6f 20 6d 75 63 68 20 6e 6f 69 73 65 2e 0d 0a 20  o much noise... 
a910: 20 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 57 61 72     -->..    <War
a920: 6e 69 6e 67 4c 65 76 65 6c 3e 34 3c 2f 57 61 72  ningLevel>4</War
a930: 6e 69 6e 67 4c 65 76 65 6c 3e 0d 0a 20 20 20 20  ningLevel>..    
a940: 3c 4e 6f 57 61 72 6e 3e 36 31 38 2c 31 35 39 31  <NoWarn>618,1591
a950: 3b 33 30 30 31 3c 2f 4e 6f 57 61 72 6e 3e 0d 0a  ;3001</NoWarn>..
a960: 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f 75    </PropertyGrou
a970: 70 3e 0d 0a 0d 0a 20 20 3c 50 72 6f 70 65 72 74  p>....  <Propert
a980: 79 47 72 6f 75 70 20 43 6f 6e 64 69 74 69 6f 6e  yGroup Condition
a990: 3d 22 27 24 28 43 6f 6e 66 69 67 75 72 61 74 69  ="'$(Configurati
a9a0: 6f 6e 29 27 20 3d 3d 20 27 52 65 6c 65 61 73 65  on)' == 'Release
a9b0: 27 22 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20  '">..    <!--.. 
a9c0: 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 52 65 6c         NOTE: Rel
a9d0: 65 61 73 65 20 62 75 69 6c 64 2e 20 20 53 65 74  ease build.  Set
a9e0: 20 74 68 65 20 77 61 72 6e 69 6e 67 20 6c 65 76   the warning lev
a9f0: 65 6c 20 74 6f 20 6d 61 78 69 6d 75 6d 2e 20 20  el to maximum.  
aa00: 41 6c 73 6f 2c 20 64 69 73 61 62 6c 65 0d 0a 20  Also, disable.. 
aa10: 20 20 20 20 20 20 20 20 20 20 20 20 20 77 61 72               war
aa20: 6e 69 6e 67 73 20 74 68 61 74 20 74 65 6e 64 20  nings that tend 
aa30: 74 6f 20 63 61 75 73 65 20 74 6f 6f 20 6d 75 63  to cause too muc
aa40: 68 20 6e 6f 69 73 65 2e 0d 0a 20 20 20 20 2d 2d  h noise...    --
aa50: 3e 0d 0a 20 20 20 20 3c 57 61 72 6e 69 6e 67 4c  >..    <WarningL
aa60: 65 76 65 6c 3e 34 3c 2f 57 61 72 6e 69 6e 67 4c  evel>4</WarningL
aa70: 65 76 65 6c 3e 0d 0a 20 20 20 20 3c 4e 6f 57 61  evel>..    <NoWa
aa80: 72 6e 3e 36 31 38 2c 31 35 39 31 3b 33 30 30 31  rn>618,1591;3001
aa90: 3c 2f 4e 6f 57 61 72 6e 3e 0d 0a 20 20 3c 2f 50  </NoWarn>..  </P
aaa0: 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 0d  ropertyGroup>...
aab0: 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a  .  <!--..  *****
aac0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
aad0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
aae0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
aaf0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
ab00: 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20  *********..  ** 
ab10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ab20: 20 20 20 20 20 42 75 69 6c 64 20 43 6f 6e 66 69       Build Confi
ab30: 67 75 72 61 74 69 6f 6e 20 50 72 6f 70 65 72 74  guration Propert
ab40: 69 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20  ies             
ab50: 20 20 20 20 20 20 20 20 20 2a 2a 0d 0a 20 20 2a           **..  *
ab60: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
ab70: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
ab80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
ab90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
aba0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20  *************.. 
abb0: 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72 6f 70 65   -->....  <Prope
abc0: 72 74 79 47 72 6f 75 70 3e 0d 0a 20 20 20 20 3c  rtyGroup>..    <
abd0: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
abe0: 45 3a 20 54 68 65 20 73 75 66 66 69 78 20 66 6f  E: The suffix fo
abf0: 72 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68  r the name of th
ac00: 65 20 62 75 69 6c 64 20 63 6f 6e 66 69 67 75 72  e build configur
ac10: 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 20  ation directory 
ac20: 2e 20 20 42 79 0d 0a 20 20 20 20 20 20 20 20 20  .  By..         
ac30: 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 74 68       default, th
ac40: 69 73 20 69 73 20 61 6e 20 65 6d 70 74 79 20 73  is is an empty s
ac50: 74 72 69 6e 67 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  tring...    -->.
ac60: 0a 20 20 20 20 3c 43 6f 6e 66 69 67 75 72 61 74  .    <Configurat
ac70: 69 6f 6e 53 75 66 66 69 78 20 43 6f 6e 64 69 74  ionSuffix Condit
ac80: 69 6f 6e 3d 22 27 24 28 43 6f 6e 66 69 67 75 72  ion="'$(Configur
ac90: 61 74 69 6f 6e 53 75 66 66 69 78 29 27 20 3d 3d  ationSuffix)' ==
aca0: 20 27 27 22 3e 3c 2f 43 6f 6e 66 69 67 75 72 61   ''"></Configura
acb0: 74 69 6f 6e 53 75 66 66 69 78 3e 0d 0a 20 20 3c  tionSuffix>..  <
acc0: 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d  /PropertyGroup>.
acd0: 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a  ...  <!--..  ***
ace0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
acf0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
ad00: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
ad10: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
ad20: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2a  ***********..  *
ad30: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  *               
ad40: 20 20 20 20 20 20 20 20 20 20 52 65 6c 61 74 69            Relati
ad50: 76 65 20 50 61 74 68 20 50 72 6f 70 65 72 74 69  ve Path Properti
ad60: 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20  es              
ad70: 20 20 20 20 20 20 20 20 20 20 20 2a 2a 0d 0a 20             **.. 
ad80: 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ***************
ad90: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
ada0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
adb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
adc0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d  ***************.
add0: 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72 6f  .  -->....  <Pro
ade0: 70 65 72 74 79 47 72 6f 75 70 20 43 6f 6e 64 69  pertyGroup Condi
adf0: 74 69 6f 6e 3d 22 27 24 28 53 51 4c 69 74 65 4e  tion="'$(SQLiteN
ae00: 65 74 44 69 72 29 27 20 21 3d 20 27 27 20 41 6e  etDir)' != '' An
ae10: 64 20 27 24 28 49 73 44 6f 74 4e 65 74 53 74 61  d '$(IsDotNetSta
ae20: 6e 64 61 72 64 29 27 20 3d 3d 20 27 66 61 6c 73  ndard)' == 'fals
ae30: 65 27 22 3e 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a  e'">..    <!--..
ae40: 20 20 20 20 20 20 20 20 4e 4f 54 45 3a 20 4b 65          NOTE: Ke
ae50: 65 70 20 61 6c 6c 20 74 68 65 20 69 6e 74 65 72  ep all the inter
ae60: 6d 65 64 69 61 74 65 20 66 69 6c 65 73 20 69 6e  mediate files in
ae70: 20 6f 6e 65 20 70 6c 61 63 65 2e 20 20 54 68 65   one place.  The
ae80: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 0d 0a   Visual Studio..
ae90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 44                ID
aea0: 45 20 73 65 65 6d 73 20 74 6f 20 68 61 76 65 20  E seems to have 
aeb0: 61 20 6e 61 73 74 79 20 68 61 62 69 74 20 6f 66  a nasty habit of
aec0: 20 69 67 6e 6f 72 69 6e 67 20 74 68 69 73 20 73   ignoring this s
aed0: 65 74 74 69 6e 67 2e 20 20 54 68 65 0d 0a 20 20  etting.  The..  
aee0: 20 20 20 20 20 20 20 20 20 20 20 20 56 69 73 75              Visu
aef0: 61 6c 20 53 74 75 64 69 6f 20 49 44 45 20 74 68  al Studio IDE th
af00: 65 6e 20 66 61 69 6c 73 20 74 6f 20 62 75 69 6c  en fails to buil
af10: 64 20 74 68 65 20 70 72 6f 6a 65 63 74 28 73 29  d the project(s)
af20: 20 70 72 6f 70 65 72 6c 79 20 77 68 65 6e 0d 0a   properly when..
af30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68                th
af40: 65 20 6f 75 74 70 75 74 20 64 6f 65 73 20 6e 6f  e output does no
af50: 74 20 65 6e 64 20 75 70 20 77 68 65 72 65 20 69  t end up where i
af60: 74 20 65 78 70 65 63 74 73 20 74 68 65 20 6f 75  t expects the ou
af70: 74 70 75 74 20 74 6f 20 62 65 2e 20 20 54 68 65  tput to be.  The
af80: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
af90: 76 61 6c 75 65 20 6f 66 20 74 68 69 73 20 70 72  value of this pr
afa0: 6f 70 65 72 74 79 20 6d 75 73 74 20 68 61 76 65  operty must have
afb0: 20 61 20 74 72 61 69 6c 69 6e 67 20 62 61 63 6b   a trailing back
afc0: 73 6c 61 73 68 2e 0d 0a 20 20 20 20 2d 2d 3e 0d  slash...    -->.
afd0: 0a 20 20 20 20 3c 42 61 73 65 49 6e 74 65 72 6d  .    <BaseInterm
afe0: 65 64 69 61 74 65 4f 75 74 70 75 74 50 61 74 68  ediateOutputPath
aff0: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 43   Condition="'$(C
b000: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 53 75 66 66  onfigurationSuff
b010: 69 78 29 27 20 3d 3d 20 27 27 22 3e 24 28 53 51  ix)' == ''">$(SQ
b020: 4c 69 74 65 4e 65 74 44 69 72 29 5c 6f 62 6a 5c  LiteNetDir)\obj\
b030: 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 59  $(ConfigurationY
b040: 65 61 72 29 5c 24 28 4d 53 42 75 69 6c 64 50 72  ear)\$(MSBuildPr
b050: 6f 6a 65 63 74 4e 61 6d 65 29 5c 3c 2f 42 61 73  ojectName)\</Bas
b060: 65 49 6e 74 65 72 6d 65 64 69 61 74 65 4f 75 74  eIntermediateOut
b070: 70 75 74 50 61 74 68 3e 0d 0a 20 20 20 20 3c 42  putPath>..    <B
b080: 61 73 65 49 6e 74 65 72 6d 65 64 69 61 74 65 4f  aseIntermediateO
b090: 75 74 70 75 74 50 61 74 68 20 43 6f 6e 64 69 74  utputPath Condit
b0a0: 69 6f 6e 3d 22 27 24 28 43 6f 6e 66 69 67 75 72  ion="'$(Configur
b0b0: 61 74 69 6f 6e 53 75 66 66 69 78 29 27 20 21 3d  ationSuffix)' !=
b0c0: 20 27 27 22 3e 24 28 53 51 4c 69 74 65 4e 65 74   ''">$(SQLiteNet
b0d0: 44 69 72 29 5c 6f 62 6a 5c 24 28 43 6f 6e 66 69  Dir)\obj\$(Confi
b0e0: 67 75 72 61 74 69 6f 6e 59 65 61 72 29 5c 24 28  gurationYear)\$(
b0f0: 4d 53 42 75 69 6c 64 50 72 6f 6a 65 63 74 4e 61  MSBuildProjectNa
b100: 6d 65 29 5c 24 28 43 6f 6e 66 69 67 75 72 61 74  me)\$(Configurat
b110: 69 6f 6e 53 75 66 66 69 78 29 5c 3c 2f 42 61 73  ionSuffix)\</Bas
b120: 65 49 6e 74 65 72 6d 65 64 69 61 74 65 4f 75 74  eIntermediateOut
b130: 70 75 74 50 61 74 68 3e 0d 0a 20 20 3c 2f 50 72  putPath>..  </Pr
b140: 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 0d 0a  opertyGroup>....
b150: 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a    <!--..  ******
b160: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b170: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b180: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b190: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b1a0: 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20  ********..  **  
b1b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 65                Pe
b1c0: 72 2d 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20  r-Configuration 
b1d0: 52 65 6c 61 74 69 76 65 20 50 61 74 68 20 50 72  Relative Path Pr
b1e0: 6f 70 65 72 74 69 65 73 20 20 20 20 20 20 20 20  operties        
b1f0: 20 20 20 20 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a          **..  **
b200: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b210: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b220: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b230: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b240: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20  ************..  
b250: 2d 2d 3e 0d 0a 0d 0a 20 20 3c 50 72 6f 70 65 72  -->....  <Proper
b260: 74 79 47 72 6f 75 70 20 43 6f 6e 64 69 74 69 6f  tyGroup Conditio
b270: 6e 3d 22 27 24 28 53 51 4c 69 74 65 4e 65 74 44  n="'$(SQLiteNetD
b280: 69 72 29 27 20 21 3d 20 27 27 20 41 6e 64 20 27  ir)' != '' And '
b290: 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29  $(Configuration)
b2a0: 27 20 21 3d 20 27 27 22 3e 0d 0a 20 20 20 20 3c  ' != ''">..    <
b2b0: 21 2d 2d 0d 0a 20 20 20 20 20 20 20 20 4e 4f 54  !--..        NOT
b2c0: 45 3a 20 54 68 65 20 66 69 6e 61 6c 20 6f 75 74  E: The final out
b2d0: 70 75 74 20 66 69 6c 65 73 20 6e 65 65 64 20 74  put files need t
b2e0: 6f 20 65 6e 64 20 75 70 20 69 6e 20 6f 6e 65 20  o end up in one 
b2f0: 70 6c 61 63 65 2e 20 20 54 68 65 20 76 61 6c 75  place.  The valu
b300: 65 20 6f 66 0d 0a 20 20 20 20 20 20 20 20 20 20  e of..          
b310: 20 20 20 20 74 68 69 73 20 70 72 6f 70 65 72 74      this propert
b320: 79 20 6d 75 73 74 20 68 61 76 65 20 61 20 74 72  y must have a tr
b330: 61 69 6c 69 6e 67 20 62 61 63 6b 73 6c 61 73 68  ailing backslash
b340: 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20 20 20 20  ...    -->..    
b350: 3c 42 69 6e 61 72 79 4f 75 74 70 75 74 50 61 74  <BinaryOutputPat
b360: 68 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28  h Condition="'$(
b370: 42 69 6e 61 72 79 4f 75 74 70 75 74 50 61 74 68  BinaryOutputPath
b380: 29 27 20 3d 3d 20 27 27 22 3e 24 28 53 51 4c 69  )' == ''">$(SQLi
b390: 74 65 4e 65 74 44 69 72 29 5c 62 69 6e 5c 24 28  teNetDir)\bin\$(
b3a0: 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 59 65 61  ConfigurationYea
b3b0: 72 29 5c 24 28 43 6f 6e 66 69 67 75 72 61 74 69  r)\$(Configurati
b3c0: 6f 6e 29 24 28 43 6f 6e 66 69 67 75 72 61 74 69  on)$(Configurati
b3d0: 6f 6e 53 75 66 66 69 78 29 5c 62 69 6e 5c 3c 2f  onSuffix)\bin\</
b3e0: 42 69 6e 61 72 79 4f 75 74 70 75 74 50 61 74 68  BinaryOutputPath
b3f0: 3e 0d 0a 20 20 3c 2f 50 72 6f 70 65 72 74 79 47  >..  </PropertyG
b400: 72 6f 75 70 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d  roup>....  <!--.
b410: 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .  *************
b420: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b430: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b440: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b450: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b460: 2a 0d 0a 20 20 2a 2a 20 20 20 20 20 20 20 20 20  *..  **         
b470: 20 20 20 20 20 20 20 20 20 20 20 20 20 53 74 72               Str
b480: 6f 6e 67 20 4e 61 6d 65 20 53 69 67 6e 69 6e 67  ong Name Signing
b490: 20 50 72 6f 70 65 72 74 69 65 73 20 20 20 20 20   Properties     
b4a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
b4b0: 20 2a 2a 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a   **..  *********
b4c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b4d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b4e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b4f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
b500: 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a  *****..  -->....
b510: 20 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70    <PropertyGroup
b520: 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 53   Condition="'$(S
b530: 51 4c 69 74 65 4e 65 74 44 69 72 29 27 20 21 3d  QLiteNetDir)' !=
b540: 20 27 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 20   '' And..       
b550: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
b560: 20 20 20 20 20 21 48 61 73 54 72 61 69 6c 69 6e       !HasTrailin
b570: 67 53 6c 61 73 68 28 27 24 28 53 51 4c 69 74 65  gSlash('$(SQLite
b580: 4e 65 74 44 69 72 29 27 29 20 41 6e 64 0d 0a 20  NetDir)') And.. 
b590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
b5a0: 20 20 20 20 20 20 20 20 20 20 20 28 28 27 24 28             (('$(
b5b0: 49 73 43 6f 6d 70 61 63 74 46 72 61 6d 65 77 6f  IsCompactFramewo
b5c0: 72 6b 29 27 20 3d 3d 20 27 66 61 6c 73 65 27 20  rk)' == 'false' 
b5d0: 41 6e 64 20 45 78 69 73 74 73 28 27 24 28 53 51  And Exists('$(SQ
b5e0: 4c 69 74 65 4e 65 74 44 69 72 29 5c 4b 65 79 73  LiteNetDir)\Keys
b5f0: 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c  \System.Data.SQL
b600: 69 74 65 2e 73 6e 6b 27 29 29 20 4f 72 0d 0a 20  ite.snk')) Or.. 
b610: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
b620: 20 20 20 20 20 20 20 20 20 20 20 20 28 27 24 28              ('$(
b630: 49 73 43 6f 6d 70 61 63 74 46 72 61 6d 65 77 6f  IsCompactFramewo
b640: 72 6b 29 27 20 21 3d 20 27 66 61 6c 73 65 27 20  rk)' != 'false' 
b650: 41 6e 64 20 45 78 69 73 74 73 28 27 24 28 53 51  And Exists('$(SQ
b660: 4c 69 74 65 4e 65 74 44 69 72 29 5c 4b 65 79 73  LiteNetDir)\Keys
b670: 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c  \System.Data.SQL
b680: 69 74 65 2e 43 46 2e 73 6e 6b 27 29 29 29 22 3e  ite.CF.snk')))">
b690: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
b6a0: 20 20 20 20 4e 4f 54 45 3a 20 53 69 67 6e 20 74      NOTE: Sign t
b6b0: 68 65 20 61 73 73 65 6d 62 6c 79 3f 20 20 42 79  he assembly?  By
b6c0: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
b6d0: 73 20 65 6e 61 62 6c 65 64 2e 0d 0a 20 20 20 20  s enabled...    
b6e0: 2d 2d 3e 0d 0a 20 20 20 20 3c 53 69 67 6e 41 73  -->..    <SignAs
b6f0: 73 65 6d 62 6c 79 20 43 6f 6e 64 69 74 69 6f 6e  sembly Condition
b700: 3d 22 27 24 28 53 69 67 6e 41 73 73 65 6d 62 6c  ="'$(SignAssembl
b710: 79 29 27 20 3d 3d 20 27 27 22 3e 74 72 75 65 3c  y)' == ''">true<
b720: 2f 53 69 67 6e 41 73 73 65 6d 62 6c 79 3e 0d 0a  /SignAssembly>..
b730: 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20 20 20  ..    <!--..    
b740: 20 20 20 20 4e 4f 54 45 3a 20 55 73 65 20 64 65      NOTE: Use de
b750: 6c 61 79 20 73 69 67 6e 69 6e 67 3f 20 20 42 79  lay signing?  By
b760: 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 69   default, this i
b770: 73 20 64 69 73 61 62 6c 65 64 20 62 65 63 61 75  s disabled becau
b780: 73 65 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20  se the..        
b790: 20 20 20 20 20 20 64 65 66 61 75 6c 74 20 73 74        default st
b7a0: 72 6f 6e 67 20 6e 61 6d 65 20 6b 65 79 20 70 61  rong name key pa
b7b0: 69 72 20 69 73 20 69 6e 63 6c 75 64 65 64 20 77  ir is included w
b7c0: 69 74 68 20 74 68 65 20 73 6f 75 72 63 65 20 63  ith the source c
b7d0: 6f 64 65 2e 0d 0a 20 20 20 20 2d 2d 3e 0d 0a 20  ode...    -->.. 
b7e0: 20 20 20 3c 44 65 6c 61 79 53 69 67 6e 20 43 6f     <DelaySign Co
b7f0: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 44 65 6c 61  ndition="'$(Dela
b800: 79 53 69 67 6e 29 27 20 3d 3d 20 27 27 22 3e 66  ySign)' == ''">f
b810: 61 6c 73 65 3c 2f 44 65 6c 61 79 53 69 67 6e 3e  alse</DelaySign>
b820: 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 0d 0a 20 20  ....    <!--..  
b830: 20 20 20 20 20 20 4e 4f 54 45 3a 20 54 68 65 20        NOTE: The 
b840: 66 75 6c 6c 20 70 61 74 68 20 61 6e 64 20 66 69  full path and fi
b850: 6c 65 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 20  le name for the 
b860: 73 74 72 6f 6e 67 20 6e 61 6d 65 20 6b 65 79 20  strong name key 
b870: 70 61 69 72 20 74 6f 20 75 73 65 2e 0d 0a 20 20  pair to use...  
b880: 20 20 2d 2d 3e 0d 0a 20 20 20 20 3c 41 73 73 65    -->..    <Asse
b890: 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72 4b 65  mblyOriginatorKe
b8a0: 79 46 69 6c 65 20 43 6f 6e 64 69 74 69 6f 6e 3d  yFile Condition=
b8b0: 22 27 24 28 41 73 73 65 6d 62 6c 79 4f 72 69 67  "'$(AssemblyOrig
b8c0: 69 6e 61 74 6f 72 4b 65 79 46 69 6c 65 29 27 20  inatorKeyFile)' 
b8d0: 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 49 73 43  == '' And '$(IsC
b8e0: 6f 6d 70 61 63 74 46 72 61 6d 65 77 6f 72 6b 29  ompactFramework)
b8f0: 27 20 3d 3d 20 27 66 61 6c 73 65 27 22 3e 24 28  ' == 'false'">$(
b900: 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 4b 65  SQLiteNetDir)\Ke
b910: 79 73 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  ys\System.Data.S
b920: 51 4c 69 74 65 2e 73 6e 6b 3c 2f 41 73 73 65 6d  QLite.snk</Assem
b930: 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72 4b 65 79  blyOriginatorKey
b940: 46 69 6c 65 3e 0d 0a 20 20 20 20 3c 41 73 73 65  File>..    <Asse
b950: 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72 4b 65  mblyOriginatorKe
b960: 79 46 69 6c 65 20 43 6f 6e 64 69 74 69 6f 6e 3d  yFile Condition=
b970: 22 27 24 28 41 73 73 65 6d 62 6c 79 4f 72 69 67  "'$(AssemblyOrig
b980: 69 6e 61 74 6f 72 4b 65 79 46 69 6c 65 29 27 20  inatorKeyFile)' 
b990: 3d 3d 20 27 27 20 41 6e 64 20 27 24 28 49 73 43  == '' And '$(IsC
b9a0: 6f 6d 70 61 63 74 46 72 61 6d 65 77 6f 72 6b 29  ompactFramework)
b9b0: 27 20 21 3d 20 27 66 61 6c 73 65 27 22 3e 24 28  ' != 'false'">$(
b9c0: 53 51 4c 69 74 65 4e 65 74 44 69 72 29 5c 4b 65  SQLiteNetDir)\Ke
b9d0: 79 73 5c 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  ys\System.Data.S
b9e0: 51 4c 69 74 65 2e 43 46 2e 73 6e 6b 3c 2f 41 73  QLite.CF.snk</As
b9f0: 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72  semblyOriginator
ba00: 4b 65 79 46 69 6c 65 3e 0d 0a 20 20 3c 2f 50 72  KeyFile>..  </Pr
ba10: 6f 70 65 72 74 79 47 72 6f 75 70 3e 0d 0a 3c 2f  opertyGroup>..</
ba20: 50 72 6f 6a 65 63 74 3e 0d 0a                    Project>..