Artifact
bafc25f5fe9efad0bbcb9bd35e566f5a0a0c7234:
- File
Targets/SQLite.NET.targets
— part of check-in
[76b4cc2889]
at
2016-01-25 22:17:18
on branch trunk
— Enhance MSBuild infrastructure to better support targeting alternative .NET Framework versions.
(user:
mistachkin
size: 10224)
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 74 61 72 67 65 74 73 20 ite.NET.targets
0020: 2d 0d 0a 20 2a 0d 0a 20 2a 20 57 72 69 74 74 65 -.. *.. * Writte
0030: 6e 20 62 79 20 4a 6f 65 20 4d 69 73 74 61 63 68 n by Joe Mistach
0040: 6b 69 6e 2e 0d 0a 20 2a 20 52 65 6c 65 61 73 65 kin... * Release
0050: 64 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 d to the public
0060: 64 6f 6d 61 69 6e 2c 20 75 73 65 20 61 74 20 79 domain, use at y
0070: 6f 75 72 20 6f 77 6e 20 72 69 73 6b 21 0d 0a 20 our own risk!..
0080: 2a 0d 0a 2d 2d 3e 0d 0a 3c 50 72 6f 6a 65 63 74 *..-->..<Project
0090: 20 78 6d 6c 6e 73 3d 22 68 74 74 70 3a 2f 2f 73 xmlns="http://s
00a0: 63 68 65 6d 61 73 2e 6d 69 63 72 6f 73 6f 66 74 chemas.microsoft
00b0: 2e 63 6f 6d 2f 64 65 76 65 6c 6f 70 65 72 2f 6d .com/developer/m
00c0: 73 62 75 69 6c 64 2f 32 30 30 33 22 3e 0d 0a 20 sbuild/2003">..
00d0: 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a <!--.. *******
00e0: 2a 2a 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 0d 0a 20 20 2a 2a 20 20 20 *******.. **
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 4c 6f 61 64 20 50 65 72 2d Load Per-
0150: 55 73 65 72 20 53 65 74 74 69 6e 67 73 20 20 20 User Settings
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 20 20 20 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a **.. ***
0180: 2a 2a 2a 2a 2a 2a 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 0d 0a 20 20 2d ***********.. -
01d0: 2d 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 ->.... <!--..
01e0: 20 20 20 20 4e 4f 54 45 3a 20 49 66 20 74 68 65 NOTE: If the
01f0: 20 70 65 72 2d 75 73 65 72 20 73 65 74 74 69 6e per-user settin
0200: 67 73 20 66 69 6c 65 20 65 78 69 73 74 73 2c 20 gs file exists,
0210: 69 6d 70 6f 72 74 20 69 74 20 6e 6f 77 2e 20 20 import it now.
0220: 54 68 65 20 63 6f 6e 74 61 69 6e 65 64 0d 0a 20 The contained..
0230: 20 20 20 20 20 20 20 20 20 20 20 73 65 74 74 69 setti
0240: 6e 67 73 2c 20 69 66 20 61 6e 79 2c 20 77 69 6c ngs, if any, wil
0250: 6c 20 6f 76 65 72 72 69 64 65 20 74 68 65 20 64 l override the d
0260: 65 66 61 75 6c 74 20 6f 6e 65 73 20 70 72 6f 76 efault ones prov
0270: 69 64 65 64 20 62 65 6c 6f 77 2e 0d 0a 20 20 2d ided below... -
0280: 2d 3e 0d 0a 20 20 3c 49 6d 70 6f 72 74 20 50 72 ->.. <Import Pr
0290: 6f 6a 65 63 74 3d 22 24 28 53 51 4c 69 74 65 4e oject="$(SQLiteN
02a0: 65 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53 etDir)\Targets\S
02b0: 51 4c 69 74 65 2e 4e 45 54 2e 74 61 72 67 65 74 QLite.NET.target
02c0: 73 2e 75 73 65 72 22 0d 0a 20 20 20 20 20 20 20 s.user"..
02d0: 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 45 78 Condition="Ex
02e0: 69 73 74 73 28 27 24 28 53 51 4c 69 74 65 4e 65 ists('$(SQLiteNe
02f0: 74 44 69 72 29 5c 54 61 72 67 65 74 73 5c 53 51 tDir)\Targets\SQ
0300: 4c 69 74 65 2e 4e 45 54 2e 74 61 72 67 65 74 73 Lite.NET.targets
0310: 2e 75 73 65 72 27 29 22 20 2f 3e 0d 0a 0d 0a 20 .user')" />....
0320: 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a <!--.. *******
0330: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0340: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0350: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0360: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0370: 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2a 2a 20 20 20 *******.. **
0380: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0390: 20 20 20 20 20 20 5b 46 61 69 72 6c 79 5d 20 47 [Fairly] G
03a0: 65 6e 65 72 69 63 20 54 61 72 67 65 74 73 20 20 eneric Targets
03b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
03c0: 20 20 20 20 20 20 20 2a 2a 0d 0a 20 20 2a 2a 2a **.. ***
03d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
03e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
03f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0400: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0410: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d ***********.. -
0420: 2d 3e 0d 0a 0d 0a 20 20 3c 54 61 72 67 65 74 20 ->.... <Target
0430: 4e 61 6d 65 3d 22 45 6d 62 65 64 45 78 65 4d 61 Name="EmbedExeMa
0440: 6e 69 66 65 73 74 22 0d 0a 20 20 20 20 20 20 20 nifest"..
0450: 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 Condition="'$
0460: 28 45 6d 62 65 64 45 78 65 4d 61 6e 69 66 65 73 (EmbedExeManifes
0470: 74 29 27 20 21 3d 20 27 66 61 6c 73 65 27 20 41 t)' != 'false' A
0480: 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 nd..
0490: 20 20 20 20 20 20 20 20 20 27 24 28 4d 53 42 75 '$(MSBu
04a0: 69 6c 64 50 72 6f 6a 65 63 74 44 69 72 65 63 74 ildProjectDirect
04b0: 6f 72 79 29 27 20 21 3d 20 27 27 20 41 6e 64 0d ory)' != '' And.
04c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
04d0: 20 20 20 20 20 20 45 78 69 73 74 73 28 27 24 28 Exists('$(
04e0: 4d 53 42 75 69 6c 64 50 72 6f 6a 65 63 74 44 69 MSBuildProjectDi
04f0: 72 65 63 74 6f 72 79 29 5c 52 65 73 6f 75 72 63 rectory)\Resourc
0500: 65 73 5c 6d 61 6e 69 66 65 73 74 2e 78 6d 6c 27 es\manifest.xml'
0510: 29 22 0d 0a 20 20 20 20 20 20 20 20 20 20 49 6e )".. In
0520: 70 75 74 73 3d 22 24 28 54 61 72 67 65 74 50 61 puts="$(TargetPa
0530: 74 68 29 3b 24 28 4d 53 42 75 69 6c 64 50 72 6f th);$(MSBuildPro
0540: 6a 65 63 74 44 69 72 65 63 74 6f 72 79 29 5c 52 jectDirectory)\R
0550: 65 73 6f 75 72 63 65 73 5c 6d 61 6e 69 66 65 73 esources\manifes
0560: 74 2e 78 6d 6c 22 0d 0a 20 20 20 20 20 20 20 20 t.xml"..
0570: 20 20 4f 75 74 70 75 74 73 3d 22 24 28 54 61 72 Outputs="$(Tar
0580: 67 65 74 50 61 74 68 29 2e 45 6d 62 65 64 45 78 getPath).EmbedEx
0590: 65 4d 61 6e 69 66 65 73 74 2e 64 6f 6e 65 22 3e eManifest.done">
05a0: 0d 0a 20 20 20 20 3c 47 65 74 46 72 61 6d 65 77 .. <GetFramew
05b0: 6f 72 6b 53 44 4b 50 61 74 68 3e 0d 0a 20 20 20 orkSDKPath>..
05c0: 20 20 20 3c 4f 75 74 70 75 74 20 54 61 73 6b 50 <Output TaskP
05d0: 61 72 61 6d 65 74 65 72 3d 22 50 61 74 68 22 0d arameter="Path".
05e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 . P
05f0: 72 6f 70 65 72 74 79 4e 61 6d 65 3d 22 44 69 72 ropertyName="Dir
0600: 46 6f 72 4d 61 6e 69 66 65 73 74 54 6f 6f 6c 22 ForManifestTool"
0610: 20 2f 3e 0d 0a 20 20 20 20 3c 2f 47 65 74 46 72 />.. </GetFr
0620: 61 6d 65 77 6f 72 6b 53 44 4b 50 61 74 68 3e 0d ameworkSDKPath>.
0630: 0a 0d 0a 20 20 20 20 3c 45 78 65 63 20 43 6f 6e ... <Exec Con
0640: 64 69 74 69 6f 6e 3d 22 27 24 28 44 69 72 46 6f dition="'$(DirFo
0650: 72 4d 61 6e 69 66 65 73 74 54 6f 6f 6c 29 27 20 rManifestTool)'
0660: 21 3d 20 27 27 20 41 6e 64 0d 0a 20 20 20 20 20 != '' And..
0670: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0680: 48 61 73 54 72 61 69 6c 69 6e 67 53 6c 61 73 68 HasTrailingSlash
0690: 28 27 24 28 44 69 72 46 6f 72 4d 61 6e 69 66 65 ('$(DirForManife
06a0: 73 74 54 6f 6f 6c 29 27 29 20 41 6e 64 0d 0a 20 stTool)') And..
06b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
06c0: 20 20 20 20 45 78 69 73 74 73 28 27 24 28 44 69 Exists('$(Di
06d0: 72 46 6f 72 4d 61 6e 69 66 65 73 74 54 6f 6f 6c rForManifestTool
06e0: 29 62 69 6e 5c 6d 74 2e 65 78 65 27 29 22 0d 0a )bin\mt.exe')"..
06f0: 20 20 20 20 20 20 20 20 20 20 43 6f 6d 6d 61 6e Comman
0700: 64 3d 22 26 71 75 6f 74 3b 24 28 44 69 72 46 6f d=""$(DirFo
0710: 72 4d 61 6e 69 66 65 73 74 54 6f 6f 6c 29 62 69 rManifestTool)bi
0720: 6e 5c 6d 74 2e 65 78 65 26 71 75 6f 74 3b 20 2d n\mt.exe" -
0730: 6d 61 6e 69 66 65 73 74 20 26 71 75 6f 74 3b 24 manifest "$
0740: 28 4d 53 42 75 69 6c 64 50 72 6f 6a 65 63 74 44 (MSBuildProjectD
0750: 69 72 65 63 74 6f 72 79 29 5c 52 65 73 6f 75 72 irectory)\Resour
0760: 63 65 73 5c 6d 61 6e 69 66 65 73 74 2e 78 6d 6c ces\manifest.xml
0770: 26 71 75 6f 74 3b 20 2d 6f 75 74 70 75 74 72 65 " -outputre
0780: 73 6f 75 72 63 65 3a 26 71 75 6f 74 3b 24 28 54 source:"$(T
0790: 61 72 67 65 74 50 61 74 68 29 26 71 75 6f 74 3b argetPath)"
07a0: 3b 31 22 20 2f 3e 0d 0a 0d 0a 20 20 20 20 3c 54 ;1" />.... <T
07b0: 6f 75 63 68 20 41 6c 77 61 79 73 43 72 65 61 74 ouch AlwaysCreat
07c0: 65 3d 22 74 72 75 65 22 0d 0a 20 20 20 20 20 20 e="true"..
07d0: 20 20 20 20 20 46 69 6c 65 73 3d 22 24 28 54 61 Files="$(Ta
07e0: 72 67 65 74 50 61 74 68 29 2e 45 6d 62 65 64 45 rgetPath).EmbedE
07f0: 78 65 4d 61 6e 69 66 65 73 74 2e 64 6f 6e 65 22 xeManifest.done"
0800: 20 2f 3e 0d 0a 20 20 3c 2f 54 61 72 67 65 74 3e />.. </Target>
0810: 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a .... <!--.. **
0820: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0830: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0840: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0850: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0860: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 ************..
0870: 2d 2d 3e 0d 0a 0d 0a 20 20 3c 54 61 72 67 65 74 -->.... <Target
0880: 20 4e 61 6d 65 3d 22 53 74 72 6f 6e 67 4e 61 6d Name="StrongNam
0890: 65 53 69 67 6e 46 72 61 6d 65 77 6f 72 6b 54 61 eSignFrameworkTa
08a0: 72 67 65 74 50 61 74 68 22 0d 0a 20 20 20 20 20 rgetPath"..
08b0: 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 Condition="
08c0: 27 24 28 53 74 72 6f 6e 67 4e 61 6d 65 53 69 67 '$(StrongNameSig
08d0: 6e 46 72 61 6d 65 77 6f 72 6b 54 61 72 67 65 74 nFrameworkTarget
08e0: 50 61 74 68 29 27 20 21 3d 20 27 66 61 6c 73 65 Path)' != 'false
08f0: 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 ' And..
0900: 20 20 20 20 20 20 20 20 20 20 20 20 27 24 28 53 '$(S
0910: 69 67 6e 41 73 73 65 6d 62 6c 79 29 27 20 21 3d ignAssembly)' !=
0920: 20 27 66 61 6c 73 65 27 20 41 6e 64 0d 0a 20 20 'false' And..
0930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0940: 20 20 20 45 78 69 73 74 73 28 27 24 28 41 73 73 Exists('$(Ass
0950: 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72 4b emblyOriginatorK
0960: 65 79 46 69 6c 65 29 27 29 22 0d 0a 20 20 20 20 eyFile)')"..
0970: 20 20 20 20 20 20 49 6e 70 75 74 73 3d 22 24 28 Inputs="$(
0980: 54 61 72 67 65 74 50 61 74 68 29 22 0d 0a 20 20 TargetPath)"..
0990: 20 20 20 20 20 20 20 20 4f 75 74 70 75 74 73 3d Outputs=
09a0: 22 24 28 54 61 72 67 65 74 50 61 74 68 29 2e 53 "$(TargetPath).S
09b0: 74 72 6f 6e 67 4e 61 6d 65 53 69 67 6e 2e 64 6f trongNameSign.do
09c0: 6e 65 22 3e 0d 0a 20 20 20 20 3c 47 65 74 46 72 ne">.. <GetFr
09d0: 61 6d 65 77 6f 72 6b 53 44 4b 50 61 74 68 3e 0d ameworkSDKPath>.
09e0: 0a 20 20 20 20 20 20 3c 4f 75 74 70 75 74 20 54 . <Output T
09f0: 61 73 6b 50 61 72 61 6d 65 74 65 72 3d 22 50 61 askParameter="Pa
0a00: 74 68 22 0d 0a 20 20 20 20 20 20 20 20 20 20 20 th"..
0a10: 20 20 20 50 72 6f 70 65 72 74 79 4e 61 6d 65 3d PropertyName=
0a20: 22 44 69 72 46 6f 72 53 74 72 6f 6e 67 4e 61 6d "DirForStrongNam
0a30: 65 22 20 2f 3e 0d 0a 20 20 20 20 3c 2f 47 65 74 e" />.. </Get
0a40: 46 72 61 6d 65 77 6f 72 6b 53 44 4b 50 61 74 68 FrameworkSDKPath
0a50: 3e 0d 0a 0d 0a 20 20 20 20 3c 45 78 65 63 20 43 >.... <Exec C
0a60: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 44 69 72 ondition="'$(Dir
0a70: 46 6f 72 53 74 72 6f 6e 67 4e 61 6d 65 29 27 20 ForStrongName)'
0a80: 21 3d 20 27 27 20 41 6e 64 0d 0a 20 20 20 20 20 != '' And..
0a90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0aa0: 48 61 73 54 72 61 69 6c 69 6e 67 53 6c 61 73 68 HasTrailingSlash
0ab0: 28 27 24 28 44 69 72 46 6f 72 53 74 72 6f 6e 67 ('$(DirForStrong
0ac0: 4e 61 6d 65 29 27 29 20 41 6e 64 0d 0a 20 20 20 Name)') And..
0ad0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0ae0: 20 20 45 78 69 73 74 73 28 27 24 28 44 69 72 46 Exists('$(DirF
0af0: 6f 72 53 74 72 6f 6e 67 4e 61 6d 65 29 62 69 6e orStrongName)bin
0b00: 5c 73 6e 2e 65 78 65 27 29 22 0d 0a 20 20 20 20 \sn.exe')"..
0b10: 20 20 20 20 20 20 43 6f 6d 6d 61 6e 64 3d 22 26 Command="&
0b20: 71 75 6f 74 3b 24 28 44 69 72 46 6f 72 53 74 72 quot;$(DirForStr
0b30: 6f 6e 67 4e 61 6d 65 29 62 69 6e 5c 73 6e 2e 65 ongName)bin\sn.e
0b40: 78 65 26 71 75 6f 74 3b 20 2d 52 61 20 26 71 75 xe" -Ra &qu
0b50: 6f 74 3b 24 28 54 61 72 67 65 74 50 61 74 68 29 ot;$(TargetPath)
0b60: 26 71 75 6f 74 3b 20 26 71 75 6f 74 3b 24 28 41 " "$(A
0b70: 73 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 6f ssemblyOriginato
0b80: 72 4b 65 79 46 69 6c 65 29 26 71 75 6f 74 3b 22 rKeyFile)""
0b90: 20 2f 3e 0d 0a 0d 0a 20 20 20 20 3c 54 6f 75 63 />.... <Touc
0ba0: 68 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 h Condition="'$(
0bb0: 44 69 72 46 6f 72 53 74 72 6f 6e 67 4e 61 6d 65 DirForStrongName
0bc0: 29 27 20 21 3d 20 27 27 20 41 6e 64 0d 0a 20 20 )' != '' And..
0bd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0be0: 20 20 20 20 48 61 73 54 72 61 69 6c 69 6e 67 53 HasTrailingS
0bf0: 6c 61 73 68 28 27 24 28 44 69 72 46 6f 72 53 74 lash('$(DirForSt
0c00: 72 6f 6e 67 4e 61 6d 65 29 27 29 20 41 6e 64 0d rongName)') And.
0c10: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0c20: 20 20 20 20 20 20 20 45 78 69 73 74 73 28 27 24 Exists('$
0c30: 28 44 69 72 46 6f 72 53 74 72 6f 6e 67 4e 61 6d (DirForStrongNam
0c40: 65 29 62 69 6e 5c 73 6e 2e 65 78 65 27 29 22 0d e)bin\sn.exe')".
0c50: 0a 20 20 20 20 20 20 20 20 20 20 20 41 6c 77 61 . Alwa
0c60: 79 73 43 72 65 61 74 65 3d 22 74 72 75 65 22 0d ysCreate="true".
0c70: 0a 20 20 20 20 20 20 20 20 20 20 20 46 69 6c 65 . File
0c80: 73 3d 22 24 28 54 61 72 67 65 74 50 61 74 68 29 s="$(TargetPath)
0c90: 2e 53 74 72 6f 6e 67 4e 61 6d 65 53 69 67 6e 2e .StrongNameSign.
0ca0: 64 6f 6e 65 22 20 2f 3e 0d 0a 20 20 3c 2f 54 61 done" />.. </Ta
0cb0: 72 67 65 74 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d rget>.... <!--.
0cc0: 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a . *************
0cd0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0ce0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0cf0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0d00: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0d10: 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 54 *.. -->.... <T
0d20: 61 72 67 65 74 20 4e 61 6d 65 3d 22 53 74 72 6f arget Name="Stro
0d30: 6e 67 4e 61 6d 65 53 69 67 6e 53 64 6b 54 6f 6f ngNameSignSdkToo
0d40: 6c 73 54 61 72 67 65 74 50 61 74 68 22 0d 0a 20 lsTargetPath"..
0d50: 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 Conditi
0d60: 6f 6e 3d 22 27 24 28 53 74 72 6f 6e 67 4e 61 6d on="'$(StrongNam
0d70: 65 53 69 67 6e 53 64 6b 54 6f 6f 6c 73 54 61 72 eSignSdkToolsTar
0d80: 67 65 74 50 61 74 68 29 27 20 21 3d 20 27 66 61 getPath)' != 'fa
0d90: 6c 73 65 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 lse' And..
0da0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 '
0db0: 24 28 53 69 67 6e 41 73 73 65 6d 62 6c 79 29 27 $(SignAssembly)'
0dc0: 20 21 3d 20 27 66 61 6c 73 65 27 20 41 6e 64 0d != 'false' And.
0dd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0de0: 20 20 20 20 20 20 45 78 69 73 74 73 28 27 24 28 Exists('$(
0df0: 41 73 73 65 6d 62 6c 79 4f 72 69 67 69 6e 61 74 AssemblyOriginat
0e00: 6f 72 4b 65 79 46 69 6c 65 29 27 29 22 0d 0a 20 orKeyFile)')"..
0e10: 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 73 3d Inputs=
0e20: 22 24 28 54 61 72 67 65 74 50 61 74 68 29 22 0d "$(TargetPath)".
0e30: 0a 20 20 20 20 20 20 20 20 20 20 4f 75 74 70 75 . Outpu
0e40: 74 73 3d 22 24 28 54 61 72 67 65 74 50 61 74 68 ts="$(TargetPath
0e50: 29 2e 53 74 72 6f 6e 67 4e 61 6d 65 53 69 67 6e ).StrongNameSign
0e60: 2e 64 6f 6e 65 22 3e 0d 0a 20 20 20 20 3c 45 78 .done">.. <Ex
0e70: 65 63 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 ec Condition="'$
0e80: 28 54 61 72 67 65 74 46 72 61 6d 65 77 6f 72 6b (TargetFramework
0e90: 53 44 4b 54 6f 6f 6c 73 44 69 72 65 63 74 6f 72 SDKToolsDirector
0ea0: 79 29 27 20 21 3d 20 27 27 20 41 6e 64 0d 0a 20 y)' != '' And..
0eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0ec0: 20 20 20 20 48 61 73 54 72 61 69 6c 69 6e 67 53 HasTrailingS
0ed0: 6c 61 73 68 28 27 24 28 54 61 72 67 65 74 46 72 lash('$(TargetFr
0ee0: 61 6d 65 77 6f 72 6b 53 44 4b 54 6f 6f 6c 73 44 ameworkSDKToolsD
0ef0: 69 72 65 63 74 6f 72 79 29 27 29 20 41 6e 64 0d irectory)') And.
0f00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0f10: 20 20 20 20 20 20 45 78 69 73 74 73 28 27 24 28 Exists('$(
0f20: 54 61 72 67 65 74 46 72 61 6d 65 77 6f 72 6b 53 TargetFrameworkS
0f30: 44 4b 54 6f 6f 6c 73 44 69 72 65 63 74 6f 72 79 DKToolsDirectory
0f40: 29 73 6e 2e 65 78 65 27 29 22 0d 0a 20 20 20 20 )sn.exe')"..
0f50: 20 20 20 20 20 20 43 6f 6d 6d 61 6e 64 3d 22 26 Command="&
0f60: 71 75 6f 74 3b 24 28 54 61 72 67 65 74 46 72 61 quot;$(TargetFra
0f70: 6d 65 77 6f 72 6b 53 44 4b 54 6f 6f 6c 73 44 69 meworkSDKToolsDi
0f80: 72 65 63 74 6f 72 79 29 73 6e 2e 65 78 65 26 71 rectory)sn.exe&q
0f90: 75 6f 74 3b 20 2d 52 61 20 26 71 75 6f 74 3b 24 uot; -Ra "$
0fa0: 28 54 61 72 67 65 74 50 61 74 68 29 26 71 75 6f (TargetPath)&quo
0fb0: 74 3b 20 26 71 75 6f 74 3b 24 28 41 73 73 65 6d t; "$(Assem
0fc0: 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72 4b 65 79 blyOriginatorKey
0fd0: 46 69 6c 65 29 26 71 75 6f 74 3b 22 20 2f 3e 0d File)"" />.
0fe0: 0a 0d 0a 20 20 20 20 3c 54 6f 75 63 68 20 43 6f ... <Touch Co
0ff0: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 54 61 72 67 ndition="'$(Targ
1000: 65 74 46 72 61 6d 65 77 6f 72 6b 53 44 4b 54 6f etFrameworkSDKTo
1010: 6f 6c 73 44 69 72 65 63 74 6f 72 79 29 27 20 21 olsDirectory)' !
1020: 3d 20 27 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 = '' And..
1030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1040: 48 61 73 54 72 61 69 6c 69 6e 67 53 6c 61 73 68 HasTrailingSlash
1050: 28 27 24 28 54 61 72 67 65 74 46 72 61 6d 65 77 ('$(TargetFramew
1060: 6f 72 6b 53 44 4b 54 6f 6f 6c 73 44 69 72 65 63 orkSDKToolsDirec
1070: 74 6f 72 79 29 27 29 20 41 6e 64 0d 0a 20 20 20 tory)') And..
1080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1090: 20 20 20 45 78 69 73 74 73 28 27 24 28 54 61 72 Exists('$(Tar
10a0: 67 65 74 46 72 61 6d 65 77 6f 72 6b 53 44 4b 54 getFrameworkSDKT
10b0: 6f 6f 6c 73 44 69 72 65 63 74 6f 72 79 29 73 6e oolsDirectory)sn
10c0: 2e 65 78 65 27 29 22 0d 0a 20 20 20 20 20 20 20 .exe')"..
10d0: 20 20 20 20 41 6c 77 61 79 73 43 72 65 61 74 65 AlwaysCreate
10e0: 3d 22 74 72 75 65 22 0d 0a 20 20 20 20 20 20 20 ="true"..
10f0: 20 20 20 20 46 69 6c 65 73 3d 22 24 28 54 61 72 Files="$(Tar
1100: 67 65 74 50 61 74 68 29 2e 53 74 72 6f 6e 67 4e getPath).StrongN
1110: 61 6d 65 53 69 67 6e 2e 64 6f 6e 65 22 20 2f 3e ameSign.done" />
1120: 0d 0a 20 20 3c 2f 54 61 72 67 65 74 3e 0d 0a 0d .. </Target>...
1130: 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a . <!--.. *****
1140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
1150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
1160: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
1170: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
1180: 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e *********.. -->
1190: 0d 0a 0d 0a 20 20 3c 54 61 72 67 65 74 20 4e 61 .... <Target Na
11a0: 6d 65 3d 22 43 6c 6f 6e 65 41 6e 64 4d 61 72 6b me="CloneAndMark
11b0: 33 32 42 69 74 4f 6e 6c 79 46 72 61 6d 65 77 6f 32BitOnlyFramewo
11c0: 72 6b 54 61 72 67 65 74 4e 61 6d 65 33 32 22 0d rkTargetName32".
11d0: 0a 20 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 . Condi
11e0: 74 69 6f 6e 3d 22 27 24 28 43 6c 6f 6e 65 41 6e tion="'$(CloneAn
11f0: 64 4d 61 72 6b 33 32 42 69 74 4f 6e 6c 79 46 72 dMark32BitOnlyFr
1200: 61 6d 65 77 6f 72 6b 54 61 72 67 65 74 4e 61 6d ameworkTargetNam
1210: 65 33 32 29 27 20 21 3d 20 27 66 61 6c 73 65 27 e32)' != 'false'
1220: 22 0d 0a 20 20 20 20 20 20 20 20 20 20 49 6e 70 ".. Inp
1230: 75 74 73 3d 22 24 28 54 61 72 67 65 74 50 61 74 uts="$(TargetPat
1240: 68 29 22 0d 0a 20 20 20 20 20 20 20 20 20 20 4f h)".. O
1250: 75 74 70 75 74 73 3d 22 24 28 54 61 72 67 65 74 utputs="$(Target
1260: 50 61 74 68 29 2e 43 6c 6f 6e 65 41 6e 64 4d 61 Path).CloneAndMa
1270: 72 6b 33 32 42 69 74 4f 6e 6c 79 2e 64 6f 6e 65 rk32BitOnly.done
1280: 22 3e 0d 0a 20 20 20 20 3c 47 65 74 46 72 61 6d ">.. <GetFram
1290: 65 77 6f 72 6b 53 44 4b 50 61 74 68 3e 0d 0a 20 eworkSDKPath>..
12a0: 20 20 20 20 20 3c 4f 75 74 70 75 74 20 54 61 73 <Output Tas
12b0: 6b 50 61 72 61 6d 65 74 65 72 3d 22 50 61 74 68 kParameter="Path
12c0: 22 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 "..
12d0: 20 50 72 6f 70 65 72 74 79 4e 61 6d 65 3d 22 44 PropertyName="D
12e0: 69 72 46 6f 72 43 6c 6f 6e 65 41 6e 64 4d 61 72 irForCloneAndMar
12f0: 6b 33 32 42 69 74 4f 6e 6c 79 22 20 2f 3e 0d 0a k32BitOnly" />..
1300: 20 20 20 20 3c 2f 47 65 74 46 72 61 6d 65 77 6f </GetFramewo
1310: 72 6b 53 44 4b 50 61 74 68 3e 0d 0a 0d 0a 20 20 rkSDKPath>....
1320: 20 20 3c 43 6f 70 79 20 53 6f 75 72 63 65 46 69 <Copy SourceFi
1330: 6c 65 73 3d 22 24 28 54 61 72 67 65 74 50 61 74 les="$(TargetPat
1340: 68 29 22 0d 0a 20 20 20 20 20 20 20 20 20 20 44 h)".. D
1350: 65 73 74 69 6e 61 74 69 6f 6e 46 69 6c 65 73 3d estinationFiles=
1360: 22 24 28 54 61 72 67 65 74 44 69 72 29 24 28 54 "$(TargetDir)$(T
1370: 61 72 67 65 74 4e 61 6d 65 29 33 32 24 28 54 61 argetName)32$(Ta
1380: 72 67 65 74 45 78 74 29 22 20 2f 3e 0d 0a 0d 0a rgetExt)" />....
1390: 20 20 20 20 3c 43 6f 70 79 20 53 6f 75 72 63 65 <Copy Source
13a0: 46 69 6c 65 73 3d 22 24 28 54 61 72 67 65 74 50 Files="$(TargetP
13b0: 61 74 68 29 2e 63 6f 6e 66 69 67 22 0d 0a 20 20 ath).config"..
13c0: 20 20 20 20 20 20 20 20 44 65 73 74 69 6e 61 74 Destinat
13d0: 69 6f 6e 46 69 6c 65 73 3d 22 24 28 54 61 72 67 ionFiles="$(Targ
13e0: 65 74 44 69 72 29 24 28 54 61 72 67 65 74 4e 61 etDir)$(TargetNa
13f0: 6d 65 29 33 32 24 28 54 61 72 67 65 74 45 78 74 me)32$(TargetExt
1400: 29 2e 63 6f 6e 66 69 67 22 0d 0a 20 20 20 20 20 ).config"..
1410: 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 Condition="
1420: 45 78 69 73 74 73 28 27 24 28 54 61 72 67 65 74 Exists('$(Target
1430: 50 61 74 68 29 2e 63 6f 6e 66 69 67 27 29 22 20 Path).config')"
1440: 2f 3e 0d 0a 0d 0a 20 20 20 20 3c 45 78 65 63 20 />.... <Exec
1450: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 44 69 Condition="'$(Di
1460: 72 46 6f 72 43 6c 6f 6e 65 41 6e 64 4d 61 72 6b rForCloneAndMark
1470: 33 32 42 69 74 4f 6e 6c 79 29 27 20 21 3d 20 27 32BitOnly)' != '
1480: 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 ' And..
1490: 20 20 20 20 20 20 20 20 20 20 20 20 48 61 73 54 HasT
14a0: 72 61 69 6c 69 6e 67 53 6c 61 73 68 28 27 24 28 railingSlash('$(
14b0: 44 69 72 46 6f 72 43 6c 6f 6e 65 41 6e 64 4d 61 DirForCloneAndMa
14c0: 72 6b 33 32 42 69 74 4f 6e 6c 79 29 27 29 20 41 rk32BitOnly)') A
14d0: 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 nd..
14e0: 20 20 20 20 20 20 20 20 20 45 78 69 73 74 73 28 Exists(
14f0: 27 24 28 44 69 72 46 6f 72 43 6c 6f 6e 65 41 6e '$(DirForCloneAn
1500: 64 4d 61 72 6b 33 32 42 69 74 4f 6e 6c 79 29 62 dMark32BitOnly)b
1510: 69 6e 5c 43 6f 72 46 6c 61 67 73 2e 65 78 65 27 in\CorFlags.exe'
1520: 29 22 0d 0a 20 20 20 20 20 20 20 20 20 20 43 6f )".. Co
1530: 6d 6d 61 6e 64 3d 22 26 71 75 6f 74 3b 24 28 44 mmand=""$(D
1540: 69 72 46 6f 72 43 6c 6f 6e 65 41 6e 64 4d 61 72 irForCloneAndMar
1550: 6b 33 32 42 69 74 4f 6e 6c 79 29 62 69 6e 5c 43 k32BitOnly)bin\C
1560: 6f 72 46 6c 61 67 73 2e 65 78 65 26 71 75 6f 74 orFlags.exe"
1570: 3b 20 26 71 75 6f 74 3b 24 28 54 61 72 67 65 74 ; "$(Target
1580: 44 69 72 29 24 28 54 61 72 67 65 74 4e 61 6d 65 Dir)$(TargetName
1590: 29 33 32 24 28 54 61 72 67 65 74 45 78 74 29 26 )32$(TargetExt)&
15a0: 71 75 6f 74 3b 20 2f 33 32 42 49 54 2b 20 2f 46 quot; /32BIT+ /F
15b0: 6f 72 63 65 20 31 26 67 74 3b 4e 55 4c 22 20 2f orce 1>NUL" /
15c0: 3e 0d 0a 0d 0a 20 20 20 20 3c 45 78 65 63 20 43 >.... <Exec C
15d0: 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 44 69 72 ondition="'$(Dir
15e0: 46 6f 72 43 6c 6f 6e 65 41 6e 64 4d 61 72 6b 33 ForCloneAndMark3
15f0: 32 42 69 74 4f 6e 6c 79 29 27 20 21 3d 20 27 27 2BitOnly)' != ''
1600: 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 And..
1610: 20 20 20 20 20 20 20 20 20 20 20 48 61 73 54 72 HasTr
1620: 61 69 6c 69 6e 67 53 6c 61 73 68 28 27 24 28 44 ailingSlash('$(D
1630: 69 72 46 6f 72 43 6c 6f 6e 65 41 6e 64 4d 61 72 irForCloneAndMar
1640: 6b 33 32 42 69 74 4f 6e 6c 79 29 27 29 20 41 6e k32BitOnly)') An
1650: 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 d..
1660: 20 20 20 20 20 20 20 20 45 78 69 73 74 73 28 27 Exists('
1670: 24 28 44 69 72 46 6f 72 43 6c 6f 6e 65 41 6e 64 $(DirForCloneAnd
1680: 4d 61 72 6b 33 32 42 69 74 4f 6e 6c 79 29 62 69 Mark32BitOnly)bi
1690: 6e 5c 73 6e 2e 65 78 65 27 29 22 0d 0a 20 20 20 n\sn.exe')"..
16a0: 20 20 20 20 20 20 20 43 6f 6d 6d 61 6e 64 3d 22 Command="
16b0: 26 71 75 6f 74 3b 24 28 44 69 72 46 6f 72 43 6c "$(DirForCl
16c0: 6f 6e 65 41 6e 64 4d 61 72 6b 33 32 42 69 74 4f oneAndMark32BitO
16d0: 6e 6c 79 29 62 69 6e 5c 73 6e 2e 65 78 65 26 71 nly)bin\sn.exe&q
16e0: 75 6f 74 3b 20 2d 52 61 20 26 71 75 6f 74 3b 24 uot; -Ra "$
16f0: 28 54 61 72 67 65 74 44 69 72 29 24 28 54 61 72 (TargetDir)$(Tar
1700: 67 65 74 4e 61 6d 65 29 33 32 24 28 54 61 72 67 getName)32$(Targ
1710: 65 74 45 78 74 29 26 71 75 6f 74 3b 20 26 71 75 etExt)" &qu
1720: 6f 74 3b 24 28 41 73 73 65 6d 62 6c 79 4f 72 69 ot;$(AssemblyOri
1730: 67 69 6e 61 74 6f 72 4b 65 79 46 69 6c 65 29 26 ginatorKeyFile)&
1740: 71 75 6f 74 3b 22 20 2f 3e 0d 0a 0d 0a 20 20 20 quot;" />....
1750: 20 3c 54 6f 75 63 68 20 43 6f 6e 64 69 74 69 6f <Touch Conditio
1760: 6e 3d 22 27 24 28 44 69 72 46 6f 72 43 6c 6f 6e n="'$(DirForClon
1770: 65 41 6e 64 4d 61 72 6b 33 32 42 69 74 4f 6e 6c eAndMark32BitOnl
1780: 79 29 27 20 21 3d 20 27 27 20 41 6e 64 0d 0a 20 y)' != '' And..
1790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a0: 20 20 20 20 20 48 61 73 54 72 61 69 6c 69 6e 67 HasTrailing
17b0: 53 6c 61 73 68 28 27 24 28 44 69 72 46 6f 72 43 Slash('$(DirForC
17c0: 6c 6f 6e 65 41 6e 64 4d 61 72 6b 33 32 42 69 74 loneAndMark32Bit
17d0: 4f 6e 6c 79 29 27 29 20 41 6e 64 0d 0a 20 20 20 Only)') And..
17e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17f0: 20 20 20 45 78 69 73 74 73 28 27 24 28 44 69 72 Exists('$(Dir
1800: 46 6f 72 43 6c 6f 6e 65 41 6e 64 4d 61 72 6b 33 ForCloneAndMark3
1810: 32 42 69 74 4f 6e 6c 79 29 62 69 6e 5c 43 6f 72 2BitOnly)bin\Cor
1820: 46 6c 61 67 73 2e 65 78 65 27 29 20 41 6e 64 0d Flags.exe') And.
1830: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1840: 20 20 20 20 20 20 20 45 78 69 73 74 73 28 27 24 Exists('$
1850: 28 44 69 72 46 6f 72 43 6c 6f 6e 65 41 6e 64 4d (DirForCloneAndM
1860: 61 72 6b 33 32 42 69 74 4f 6e 6c 79 29 62 69 6e ark32BitOnly)bin
1870: 5c 73 6e 2e 65 78 65 27 29 22 0d 0a 20 20 20 20 \sn.exe')"..
1880: 20 20 20 20 20 20 20 41 6c 77 61 79 73 43 72 65 AlwaysCre
1890: 61 74 65 3d 22 74 72 75 65 22 0d 0a 20 20 20 20 ate="true"..
18a0: 20 20 20 20 20 20 20 46 69 6c 65 73 3d 22 24 28 Files="$(
18b0: 54 61 72 67 65 74 50 61 74 68 29 2e 43 6c 6f 6e TargetPath).Clon
18c0: 65 41 6e 64 4d 61 72 6b 33 32 42 69 74 4f 6e 6c eAndMark32BitOnl
18d0: 79 2e 64 6f 6e 65 22 20 2f 3e 0d 0a 20 20 3c 2f y.done" />.. </
18e0: 54 61 72 67 65 74 3e 0d 0a 0d 0a 20 20 3c 21 2d Target>.... <!-
18f0: 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a -.. ***********
1900: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
1910: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
1920: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
1930: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
1940: 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a 20 20 ***.. -->....
1950: 3c 54 61 72 67 65 74 20 4e 61 6d 65 3d 22 43 6c <Target Name="Cl
1960: 6f 6e 65 41 6e 64 4d 61 72 6b 33 32 42 69 74 4f oneAndMark32BitO
1970: 6e 6c 79 53 64 6b 54 6f 6f 6c 73 54 61 72 67 65 nlySdkToolsTarge
1980: 74 4e 61 6d 65 33 32 22 0d 0a 20 20 20 20 20 20 tName32"..
1990: 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 Condition="'
19a0: 24 28 43 6c 6f 6e 65 41 6e 64 4d 61 72 6b 33 32 $(CloneAndMark32
19b0: 42 69 74 4f 6e 6c 79 53 64 6b 54 6f 6f 6c 73 54 BitOnlySdkToolsT
19c0: 61 72 67 65 74 4e 61 6d 65 33 32 29 27 20 21 3d argetName32)' !=
19d0: 20 27 66 61 6c 73 65 27 22 0d 0a 20 20 20 20 20 'false'"..
19e0: 20 20 20 20 20 49 6e 70 75 74 73 3d 22 24 28 54 Inputs="$(T
19f0: 61 72 67 65 74 50 61 74 68 29 22 0d 0a 20 20 20 argetPath)"..
1a00: 20 20 20 20 20 20 20 4f 75 74 70 75 74 73 3d 22 Outputs="
1a10: 24 28 54 61 72 67 65 74 50 61 74 68 29 2e 43 6c $(TargetPath).Cl
1a20: 6f 6e 65 41 6e 64 4d 61 72 6b 33 32 42 69 74 4f oneAndMark32BitO
1a30: 6e 6c 79 2e 64 6f 6e 65 22 3e 0d 0a 20 20 20 20 nly.done">..
1a40: 3c 43 6f 70 79 20 53 6f 75 72 63 65 46 69 6c 65 <Copy SourceFile
1a50: 73 3d 22 24 28 54 61 72 67 65 74 50 61 74 68 29 s="$(TargetPath)
1a60: 22 0d 0a 20 20 20 20 20 20 20 20 20 20 44 65 73 ".. Des
1a70: 74 69 6e 61 74 69 6f 6e 46 69 6c 65 73 3d 22 24 tinationFiles="$
1a80: 28 54 61 72 67 65 74 44 69 72 29 24 28 54 61 72 (TargetDir)$(Tar
1a90: 67 65 74 4e 61 6d 65 29 33 32 24 28 54 61 72 67 getName)32$(Targ
1aa0: 65 74 45 78 74 29 22 20 2f 3e 0d 0a 0d 0a 20 20 etExt)" />....
1ab0: 20 20 3c 43 6f 70 79 20 53 6f 75 72 63 65 46 69 <Copy SourceFi
1ac0: 6c 65 73 3d 22 24 28 54 61 72 67 65 74 50 61 74 les="$(TargetPat
1ad0: 68 29 2e 63 6f 6e 66 69 67 22 0d 0a 20 20 20 20 h).config"..
1ae0: 20 20 20 20 20 20 44 65 73 74 69 6e 61 74 69 6f Destinatio
1af0: 6e 46 69 6c 65 73 3d 22 24 28 54 61 72 67 65 74 nFiles="$(Target
1b00: 44 69 72 29 24 28 54 61 72 67 65 74 4e 61 6d 65 Dir)$(TargetName
1b10: 29 33 32 24 28 54 61 72 67 65 74 45 78 74 29 2e )32$(TargetExt).
1b20: 63 6f 6e 66 69 67 22 0d 0a 20 20 20 20 20 20 20 config"..
1b30: 20 20 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 45 78 Condition="Ex
1b40: 69 73 74 73 28 27 24 28 54 61 72 67 65 74 50 61 ists('$(TargetPa
1b50: 74 68 29 2e 63 6f 6e 66 69 67 27 29 22 20 2f 3e th).config')" />
1b60: 0d 0a 0d 0a 20 20 20 20 3c 45 78 65 63 20 43 6f .... <Exec Co
1b70: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 54 61 72 67 ndition="'$(Targ
1b80: 65 74 46 72 61 6d 65 77 6f 72 6b 53 44 4b 54 6f etFrameworkSDKTo
1b90: 6f 6c 73 44 69 72 65 63 74 6f 72 79 29 27 20 21 olsDirectory)' !
1ba0: 3d 20 27 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 = '' And..
1bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 H
1bc0: 61 73 54 72 61 69 6c 69 6e 67 53 6c 61 73 68 28 asTrailingSlash(
1bd0: 27 24 28 54 61 72 67 65 74 46 72 61 6d 65 77 6f '$(TargetFramewo
1be0: 72 6b 53 44 4b 54 6f 6f 6c 73 44 69 72 65 63 74 rkSDKToolsDirect
1bf0: 6f 72 79 29 27 29 20 41 6e 64 0d 0a 20 20 20 20 ory)') And..
1c00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c10: 20 45 78 69 73 74 73 28 27 24 28 54 61 72 67 65 Exists('$(Targe
1c20: 74 46 72 61 6d 65 77 6f 72 6b 53 44 4b 54 6f 6f tFrameworkSDKToo
1c30: 6c 73 44 69 72 65 63 74 6f 72 79 29 43 6f 72 46 lsDirectory)CorF
1c40: 6c 61 67 73 2e 65 78 65 27 29 22 0d 0a 20 20 20 lags.exe')"..
1c50: 20 20 20 20 20 20 20 43 6f 6d 6d 61 6e 64 3d 22 Command="
1c60: 26 71 75 6f 74 3b 24 28 54 61 72 67 65 74 46 72 "$(TargetFr
1c70: 61 6d 65 77 6f 72 6b 53 44 4b 54 6f 6f 6c 73 44 ameworkSDKToolsD
1c80: 69 72 65 63 74 6f 72 79 29 43 6f 72 46 6c 61 67 irectory)CorFlag
1c90: 73 2e 65 78 65 26 71 75 6f 74 3b 20 26 71 75 6f s.exe" &quo
1ca0: 74 3b 24 28 54 61 72 67 65 74 44 69 72 29 24 28 t;$(TargetDir)$(
1cb0: 54 61 72 67 65 74 4e 61 6d 65 29 33 32 24 28 54 TargetName)32$(T
1cc0: 61 72 67 65 74 45 78 74 29 26 71 75 6f 74 3b 20 argetExt)"
1cd0: 2f 33 32 42 49 54 2b 20 2f 46 6f 72 63 65 20 31 /32BIT+ /Force 1
1ce0: 26 67 74 3b 4e 55 4c 22 20 2f 3e 0d 0a 0d 0a 20 >NUL" />....
1cf0: 20 20 20 3c 45 78 65 63 20 43 6f 6e 64 69 74 69 <Exec Conditi
1d00: 6f 6e 3d 22 27 24 28 54 61 72 67 65 74 46 72 61 on="'$(TargetFra
1d10: 6d 65 77 6f 72 6b 53 44 4b 54 6f 6f 6c 73 44 69 meworkSDKToolsDi
1d20: 72 65 63 74 6f 72 79 29 27 20 21 3d 20 27 27 20 rectory)' != ''
1d30: 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 And..
1d40: 20 20 20 20 20 20 20 20 20 20 48 61 73 54 72 61 HasTra
1d50: 69 6c 69 6e 67 53 6c 61 73 68 28 27 24 28 54 61 ilingSlash('$(Ta
1d60: 72 67 65 74 46 72 61 6d 65 77 6f 72 6b 53 44 4b rgetFrameworkSDK
1d70: 54 6f 6f 6c 73 44 69 72 65 63 74 6f 72 79 29 27 ToolsDirectory)'
1d80: 29 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 ) And..
1d90: 20 20 20 20 20 20 20 20 20 20 20 20 45 78 69 73 Exis
1da0: 74 73 28 27 24 28 54 61 72 67 65 74 46 72 61 6d ts('$(TargetFram
1db0: 65 77 6f 72 6b 53 44 4b 54 6f 6f 6c 73 44 69 72 eworkSDKToolsDir
1dc0: 65 63 74 6f 72 79 29 73 6e 2e 65 78 65 27 29 22 ectory)sn.exe')"
1dd0: 0d 0a 20 20 20 20 20 20 20 20 20 20 43 6f 6d 6d .. Comm
1de0: 61 6e 64 3d 22 26 71 75 6f 74 3b 24 28 54 61 72 and=""$(Tar
1df0: 67 65 74 46 72 61 6d 65 77 6f 72 6b 53 44 4b 54 getFrameworkSDKT
1e00: 6f 6f 6c 73 44 69 72 65 63 74 6f 72 79 29 73 6e oolsDirectory)sn
1e10: 2e 65 78 65 26 71 75 6f 74 3b 20 2d 52 61 20 26 .exe" -Ra &
1e20: 71 75 6f 74 3b 24 28 54 61 72 67 65 74 44 69 72 quot;$(TargetDir
1e30: 29 24 28 54 61 72 67 65 74 4e 61 6d 65 29 33 32 )$(TargetName)32
1e40: 24 28 54 61 72 67 65 74 45 78 74 29 26 71 75 6f $(TargetExt)&quo
1e50: 74 3b 20 26 71 75 6f 74 3b 24 28 41 73 73 65 6d t; "$(Assem
1e60: 62 6c 79 4f 72 69 67 69 6e 61 74 6f 72 4b 65 79 blyOriginatorKey
1e70: 46 69 6c 65 29 26 71 75 6f 74 3b 22 20 2f 3e 0d File)"" />.
1e80: 0a 0d 0a 20 20 20 20 3c 54 6f 75 63 68 20 43 6f ... <Touch Co
1e90: 6e 64 69 74 69 6f 6e 3d 22 27 24 28 54 61 72 67 ndition="'$(Targ
1ea0: 65 74 46 72 61 6d 65 77 6f 72 6b 53 44 4b 54 6f etFrameworkSDKTo
1eb0: 6f 6c 73 44 69 72 65 63 74 6f 72 79 29 27 20 21 olsDirectory)' !
1ec0: 3d 20 27 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 = '' And..
1ed0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ee0: 48 61 73 54 72 61 69 6c 69 6e 67 53 6c 61 73 68 HasTrailingSlash
1ef0: 28 27 24 28 54 61 72 67 65 74 46 72 61 6d 65 77 ('$(TargetFramew
1f00: 6f 72 6b 53 44 4b 54 6f 6f 6c 73 44 69 72 65 63 orkSDKToolsDirec
1f10: 74 6f 72 79 29 27 29 20 41 6e 64 0d 0a 20 20 20 tory)') And..
1f20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f30: 20 20 20 45 78 69 73 74 73 28 27 24 28 54 61 72 Exists('$(Tar
1f40: 67 65 74 46 72 61 6d 65 77 6f 72 6b 53 44 4b 54 getFrameworkSDKT
1f50: 6f 6f 6c 73 44 69 72 65 63 74 6f 72 79 29 43 6f oolsDirectory)Co
1f60: 72 46 6c 61 67 73 2e 65 78 65 27 29 20 41 6e 64 rFlags.exe') And
1f70: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
1f80: 20 20 20 20 20 20 20 20 45 78 69 73 74 73 28 27 Exists('
1f90: 24 28 54 61 72 67 65 74 46 72 61 6d 65 77 6f 72 $(TargetFramewor
1fa0: 6b 53 44 4b 54 6f 6f 6c 73 44 69 72 65 63 74 6f kSDKToolsDirecto
1fb0: 72 79 29 73 6e 2e 65 78 65 27 29 22 0d 0a 20 20 ry)sn.exe')"..
1fc0: 20 20 20 20 20 20 20 20 20 41 6c 77 61 79 73 43 AlwaysC
1fd0: 72 65 61 74 65 3d 22 74 72 75 65 22 0d 0a 20 20 reate="true"..
1fe0: 20 20 20 20 20 20 20 20 20 46 69 6c 65 73 3d 22 Files="
1ff0: 24 28 54 61 72 67 65 74 50 61 74 68 29 2e 43 6c $(TargetPath).Cl
2000: 6f 6e 65 41 6e 64 4d 61 72 6b 33 32 42 69 74 4f oneAndMark32BitO
2010: 6e 6c 79 2e 64 6f 6e 65 22 20 2f 3e 0d 0a 20 20 nly.done" />..
2020: 3c 2f 54 61 72 67 65 74 3e 0d 0a 0d 0a 20 20 3c </Target>.... <
2030: 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a !--.. *********
2040: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
2050: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
2060: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
2070: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
2080: 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a *****.. -->....
2090: 20 20 3c 54 61 72 67 65 74 20 4e 61 6d 65 3d 22 <Target Name="
20a0: 43 6c 65 61 6e 43 6f 6e 66 69 67 75 72 61 74 69 CleanConfigurati
20b0: 6f 6e 73 22 0d 0a 20 20 20 20 20 20 20 20 20 20 ons"..
20c0: 43 6f 6e 64 69 74 69 6f 6e 3d 22 27 24 28 4f 75 Condition="'$(Ou
20d0: 74 70 75 74 50 61 74 68 29 27 20 21 3d 20 27 27 tputPath)' != ''
20e0: 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 And..
20f0: 20 20 20 20 20 20 20 20 20 20 20 48 61 73 54 72 HasTr
2100: 61 69 6c 69 6e 67 53 6c 61 73 68 28 27 24 28 4f ailingSlash('$(O
2110: 75 74 70 75 74 50 61 74 68 29 27 29 20 41 6e 64 utputPath)') And
2120: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2130: 20 20 20 20 20 20 20 45 78 69 73 74 73 28 27 24 Exists('$
2140: 28 4f 75 74 70 75 74 50 61 74 68 29 27 29 22 3e (OutputPath)')">
2150: 0d 0a 20 20 20 20 3c 43 72 65 61 74 65 49 74 65 .. <CreateIte
2160: 6d 20 49 6e 63 6c 75 64 65 3d 22 24 28 4f 75 74 m Include="$(Out
2170: 70 75 74 50 61 74 68 29 2a 2e 63 6f 6e 66 69 67 putPath)*.config
2180: 22 3e 0d 0a 20 20 20 20 20 20 3c 4f 75 74 70 75 ">.. <Outpu
2190: 74 20 49 74 65 6d 4e 61 6d 65 3d 22 43 6f 6e 66 t ItemName="Conf
21a0: 69 67 75 72 61 74 69 6f 6e 46 69 6c 65 73 22 20 igurationFiles"
21b0: 54 61 73 6b 50 61 72 61 6d 65 74 65 72 3d 22 49 TaskParameter="I
21c0: 6e 63 6c 75 64 65 22 20 2f 3e 0d 0a 20 20 20 20 nclude" />..
21d0: 3c 2f 43 72 65 61 74 65 49 74 65 6d 3e 0d 0a 0d </CreateItem>...
21e0: 0a 20 20 20 20 3c 44 65 6c 65 74 65 20 43 6f 6e . <Delete Con
21f0: 64 69 74 69 6f 6e 3d 22 27 40 28 43 6f 6e 66 69 dition="'@(Confi
2200: 67 75 72 61 74 69 6f 6e 46 69 6c 65 73 29 27 20 gurationFiles)'
2210: 21 3d 20 27 27 22 0d 0a 20 20 20 20 20 20 20 20 != ''"..
2220: 20 20 20 20 46 69 6c 65 73 3d 22 40 28 43 6f 6e Files="@(Con
2230: 66 69 67 75 72 61 74 69 6f 6e 46 69 6c 65 73 29 figurationFiles)
2240: 22 20 2f 3e 0d 0a 20 20 3c 2f 54 61 72 67 65 74 " />.. </Target
2250: 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 0d 0a 20 20 2a >.... <!--.. *
2260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
2270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
2280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
2290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
22a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 *************..
22b0: 20 2d 2d 3e 0d 0a 0d 0a 20 20 3c 54 61 72 67 65 -->.... <Targe
22c0: 74 20 4e 61 6d 65 3d 22 43 6f 70 79 43 6f 6e 66 t Name="CopyConf
22d0: 69 67 75 72 61 74 69 6f 6e 73 22 0d 0a 20 20 20 igurations"..
22e0: 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e Condition
22f0: 3d 22 27 24 28 43 6f 70 79 43 6f 6e 66 69 67 75 ="'$(CopyConfigu
2300: 72 61 74 69 6f 6e 73 29 27 20 21 3d 20 27 66 61 rations)' != 'fa
2310: 6c 73 65 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 lse' And..
2320: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 '
2330: 24 28 4f 75 74 70 75 74 50 61 74 68 29 27 20 21 $(OutputPath)' !
2340: 3d 20 27 27 20 41 6e 64 0d 0a 20 20 20 20 20 20 = '' And..
2350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 H
2360: 61 73 54 72 61 69 6c 69 6e 67 53 6c 61 73 68 28 asTrailingSlash(
2370: 27 24 28 4f 75 74 70 75 74 50 61 74 68 29 27 29 '$(OutputPath)')
2380: 20 41 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 And..
2390: 20 20 20 20 20 20 20 20 20 20 20 45 78 69 73 74 Exist
23a0: 73 28 27 24 28 4f 75 74 70 75 74 50 61 74 68 29 s('$(OutputPath)
23b0: 27 29 22 0d 0a 20 20 20 20 20 20 20 20 20 20 49 ')".. I
23c0: 6e 70 75 74 73 3d 22 24 28 54 61 72 67 65 74 50 nputs="$(TargetP
23d0: 61 74 68 29 22 0d 0a 20 20 20 20 20 20 20 20 20 ath)"..
23e0: 20 4f 75 74 70 75 74 73 3d 22 24 28 54 61 72 67 Outputs="$(Targ
23f0: 65 74 50 61 74 68 29 2e 43 6f 70 79 43 6f 6e 66 etPath).CopyConf
2400: 69 67 75 72 61 74 69 6f 6e 73 2e 64 6f 6e 65 22 igurations.done"
2410: 3e 0d 0a 20 20 20 20 3c 43 72 65 61 74 65 49 74 >.. <CreateIt
2420: 65 6d 20 49 6e 63 6c 75 64 65 3d 22 43 6f 6e 66 em Include="Conf
2430: 69 67 75 72 61 74 69 6f 6e 73 5c 2a 2e 63 6f 6e igurations\*.con
2440: 66 69 67 22 20 45 78 63 6c 75 64 65 3d 22 43 6f fig" Exclude="Co
2450: 6e 66 69 67 75 72 61 74 69 6f 6e 73 5c 6e 6f 5f nfigurations\no_
2460: 2a 22 3e 0d 0a 20 20 20 20 20 20 3c 4f 75 74 70 *">.. <Outp
2470: 75 74 20 49 74 65 6d 4e 61 6d 65 3d 22 43 6f 6e ut ItemName="Con
2480: 66 69 67 75 72 61 74 69 6f 6e 46 69 6c 65 73 22 figurationFiles"
2490: 20 54 61 73 6b 50 61 72 61 6d 65 74 65 72 3d 22 TaskParameter="
24a0: 49 6e 63 6c 75 64 65 22 20 2f 3e 0d 0a 20 20 20 Include" />..
24b0: 20 3c 2f 43 72 65 61 74 65 49 74 65 6d 3e 0d 0a </CreateItem>..
24c0: 0d 0a 20 20 20 20 3c 43 6f 70 79 20 53 6f 75 72 .. <Copy Sour
24d0: 63 65 46 69 6c 65 73 3d 22 40 28 43 6f 6e 66 69 ceFiles="@(Confi
24e0: 67 75 72 61 74 69 6f 6e 46 69 6c 65 73 29 22 0d gurationFiles)".
24f0: 0a 20 20 20 20 20 20 20 20 20 20 44 65 73 74 69 . Desti
2500: 6e 61 74 69 6f 6e 46 6f 6c 64 65 72 3d 22 24 28 nationFolder="$(
2510: 4f 75 74 70 75 74 50 61 74 68 29 22 20 2f 3e 0d OutputPath)" />.
2520: 0a 0d 0a 20 20 20 20 3c 54 6f 75 63 68 20 41 6c ... <Touch Al
2530: 77 61 79 73 43 72 65 61 74 65 3d 22 74 72 75 65 waysCreate="true
2540: 22 0d 0a 20 20 20 20 20 20 20 20 20 20 20 46 69 ".. Fi
2550: 6c 65 73 3d 22 24 28 54 61 72 67 65 74 50 61 74 les="$(TargetPat
2560: 68 29 2e 43 6f 70 79 43 6f 6e 66 69 67 75 72 61 h).CopyConfigura
2570: 74 69 6f 6e 73 2e 64 6f 6e 65 22 20 2f 3e 0d 0a tions.done" />..
2580: 20 20 3c 2f 54 61 72 67 65 74 3e 0d 0a 0d 0a 20 </Target>....
2590: 20 3c 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a <!--.. *******
25a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
25b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
25c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
25d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
25e0: 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a *******.. -->..
25f0: 0d 0a 20 20 3c 54 61 72 67 65 74 20 4e 61 6d 65 .. <Target Name
2600: 3d 22 57 72 6f 6e 67 4e 65 74 46 78 22 0d 0a 20 ="WrongNetFx"..
2610: 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 Conditi
2620: 6f 6e 3d 22 27 24 28 50 72 6f 6a 65 63 74 4e 61 on="'$(ProjectNa
2630: 6d 65 29 27 20 21 3d 20 27 27 22 3e 0d 0a 20 20 me)' != ''">..
2640: 20 20 3c 57 61 72 6e 69 6e 67 20 54 65 78 74 3d <Warning Text=
2650: 22 56 65 72 73 69 6f 6e 20 6d 69 73 6d 61 74 63 "Version mismatc
2660: 68 20 66 6f 72 20 74 68 65 20 2e 4e 45 54 20 46 h for the .NET F
2670: 72 61 6d 65 77 6f 72 6b 2c 20 73 6b 69 70 70 69 ramework, skippi
2680: 6e 67 20 70 72 6f 6a 65 63 74 20 26 71 75 6f 74 ng project "
2690: 3b 24 28 50 72 6f 6a 65 63 74 4e 61 6d 65 29 26 ;$(ProjectName)&
26a0: 71 75 6f 74 3b 2e 2e 2e 22 20 2f 3e 0d 0a 20 20 quot;..." />..
26b0: 3c 2f 54 61 72 67 65 74 3e 0d 0a 0d 0a 20 20 3c </Target>.... <
26c0: 21 2d 2d 0d 0a 20 20 2a 2a 2a 2a 2a 2a 2a 2a 2a !--.. *********
26d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
26e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
26f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
2700: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
2710: 2a 2a 2a 2a 2a 0d 0a 20 20 2d 2d 3e 0d 0a 0d 0a *****.. -->....
2720: 20 20 3c 54 61 72 67 65 74 20 4e 61 6d 65 3d 22 <Target Name="
2730: 4d 69 73 73 69 6e 67 56 73 53 64 6b 22 0d 0a 20 MissingVsSdk"..
2740: 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 Conditi
2750: 6f 6e 3d 22 27 24 28 50 72 6f 6a 65 63 74 4e 61 on="'$(ProjectNa
2760: 6d 65 29 27 20 21 3d 20 27 27 22 3e 0d 0a 20 20 me)' != ''">..
2770: 20 20 3c 57 61 72 6e 69 6e 67 20 54 65 78 74 3d <Warning Text=
2780: 22 54 68 65 20 56 69 73 75 61 6c 20 53 74 75 64 "The Visual Stud
2790: 69 6f 20 53 44 4b 20 69 73 20 6d 69 73 73 69 6e io SDK is missin
27a0: 67 2c 20 73 6b 69 70 70 69 6e 67 20 70 72 6f 6a g, skipping proj
27b0: 65 63 74 20 26 71 75 6f 74 3b 24 28 50 72 6f 6a ect "$(Proj
27c0: 65 63 74 4e 61 6d 65 29 26 71 75 6f 74 3b 2e 2e ectName)"..
27d0: 2e 22 20 2f 3e 0d 0a 20 20 3c 2f 54 61 72 67 65 ." />.. </Targe
27e0: 74 3e 0d 0a 3c 2f 50 72 6f 6a 65 63 74 3e 0d 0a t>..</Project>..