summaryrefslogtreecommitdiff
path: root/Library/Artifacts/01/013bdbf75cffa5a60558e7d7517e2b2c
blob: 4cf27e966e0033907eda980d90d47cf9ac6a0b4b (plain)
ofshex dumpascii
0000 00 00 0f 81 00 00 a9 88 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe ....................2019.3.6f1..
0020 ff ff ff 01 02 00 00 00 0b 04 00 00 00 ff ff 66 9a 86 21 eb 14 35 98 39 dd 34 1d 51 0e c1 f3 42 ...............f..!..5.9.4.Q...B
0040 00 00 00 ed 00 00 00 02 00 00 00 00 00 00 00 37 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 ...............7................
0060 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 ................................
0080 00 00 00 00 00 00 00 01 00 01 00 0d 00 00 00 45 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 ...............E................
00a0 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 ...............#................
00c0 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 ...............,................
00e0 00 00 00 00 00 00 00 01 00 01 00 35 00 00 00 61 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 ...........5...a................
0100 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 ...............#................
0120 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 ...............,................
0140 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 ...............r................
0160 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 ...............#................
0180 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 ...............,................
01a0 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 ...........H....................
01c0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 ...........1...1............@...
01e0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 ................................
0200 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 ...........Q...j................
0220 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 4a 00 00 00 ff ff ff ff 0f 00 00 00 00 c0 00 00 00 ...............J................
0240 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 10 00 00 00 00 80 00 00 00 ...........1...1................
0260 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 11 00 00 00 00 00 00 00 00 ................................
0280 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 12 00 00 00 00 80 00 00 00 ...............j................
02a0 00 00 00 00 00 00 00 01 00 04 00 5c 00 00 00 9b 00 00 80 ff ff ff ff 13 00 00 00 00 80 00 00 00 ...........\....................
02c0 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 72 00 00 00 ff ff ff ff 14 00 00 00 00 80 00 00 00 ...........H...r................
02e0 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 15 00 00 00 01 40 00 00 00 ...........1...1............@...
0300 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 16 00 00 00 01 00 00 00 00 ................................
0320 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 17 00 00 00 01 00 00 00 00 ...........Q...j................
0340 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 77 00 00 00 ff ff ff ff 18 00 00 00 00 80 00 00 00 ...........H...w................
0360 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 19 00 00 00 01 40 00 00 00 ...........1...1............@...
0380 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1a 00 00 00 01 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1b 00 00 00 01 00 00 00 00 ...........Q...j................
03c0 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 80 00 00 00 ff ff ff ff 1c 00 00 00 00 80 00 00 00 ...........H....................
03e0 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 1d 00 00 00 01 40 00 00 00 ...........1...1............@...
0400 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1e 00 00 00 01 00 00 00 00 ................................
0420 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1f 00 00 00 01 00 00 00 00 ...........Q...j................
0440 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 20 00 00 00 00 00 00 00 00 ...........y....................
0460 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 21 00 00 00 01 00 80 00 00 ...............#.......!........
0480 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 22 00 00 00 01 00 80 00 00 ...............,......."........
04a0 00 00 00 00 00 00 00 01 00 01 00 11 03 00 80 85 00 00 00 ff ff ff ff 23 00 00 00 01 40 08 00 00 .......................#....@...
04c0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 24 00 00 00 01 00 08 00 00 ...........1...1.......$........
04e0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 25 00 00 00 01 00 08 00 00 .......................%........
0500 00 00 00 00 00 00 00 01 00 03 00 2e 03 00 80 6a 00 00 80 08 00 00 00 26 00 00 00 01 00 08 00 00 ...............j.......&........
0520 00 00 00 00 00 00 00 01 00 01 00 d5 03 00 80 93 00 00 00 ff ff ff ff 27 00 00 00 00 80 00 00 00 .......................'........
0540 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 28 00 00 00 00 c0 00 00 00 ...........1...1.......(........
0560 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 29 00 00 00 00 00 00 00 00 .......................)........
0580 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 2a 00 00 00 00 80 00 00 00 ...............j.......*........
05a0 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b 00 00 80 ff ff ff ff 2b 00 00 00 00 80 00 00 00 ...........H...........+........
05c0 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 00 00 80 ff ff ff ff 2c 00 00 00 01 40 00 00 00 ...........1...1.......,....@...
05e0 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b 03 00 80 04 00 00 00 2d 00 00 00 01 00 00 00 00 .......................-........
0600 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a 00 00 80 01 00 00 00 2e 00 00 00 01 00 00 00 00 ...........Q...j................
0620 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 2f 00 00 00 00 00 00 00 00 ...........y.........../........
0640 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 30 00 00 00 01 00 80 00 00 ...............#.......0........
0660 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 31 00 00 00 01 00 80 00 00 ...............,.......1........
0680 00 00 00 00 00 00 00 01 00 01 00 20 03 00 80 a7 00 00 00 02 00 00 00 32 00 00 00 00 40 00 00 00 .......................2....@...
06a0 00 00 00 00 00 00 00 01 00 01 00 be 02 00 80 b6 00 00 00 0c 00 00 00 33 00 00 00 00 40 00 00 00 .......................3....@...
06c0 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 34 00 00 00 01 00 80 00 00 ...............#.......4........
06e0 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 35 00 00 00 01 00 80 00 00 ...............,.......5........
0700 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 bb 00 00 00 ff ff ff ff 36 00 00 00 01 80 00 00 00 ...........H...........6........
0720 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 37 00 00 00 01 40 00 00 00 ...........1...1.......7....@...
0740 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 38 00 00 00 01 00 00 00 00 .......................8........
0760 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 39 00 00 00 01 00 00 00 00 ...........Q...j.......9........
0780 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 c6 00 00 00 ff ff ff ff 3a 00 00 00 01 80 00 00 00 ...........H...........:........
07a0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3b 00 00 00 01 40 00 00 00 ...........1...1.......;....@...
07c0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 3c 00 00 00 01 00 00 00 00 .......................<........
07e0 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 3d 00 00 00 01 00 00 00 00 ...........Q...j.......=........
0800 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 d8 00 00 00 ff ff ff ff 3e 00 00 00 01 80 00 00 00 ...........H...........>........
0820 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3f 00 00 00 01 40 00 00 00 ...........1...1.......?....@...
0840 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 40 00 00 00 01 00 00 00 00 .......................@........
0860 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 41 00 00 00 01 00 00 00 00 ...........Q...j.......A........
0880 00 00 00 00 00 00 00 4d 6f 6e 6f 49 6d 70 6f 72 74 65 72 00 50 50 74 72 3c 45 64 69 74 6f 72 45 .......MonoImporter.PPtr<EditorE
08a0 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 50 74 72 xtension>.m_FileID.m_PathID.PPtr
08c0 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 45 78 74 65 72 6e 61 6c 4f 62 6a 65 63 <PrefabInstance>.m_ExternalObjec
08e0 74 73 00 53 6f 75 72 63 65 41 73 73 65 74 49 64 65 6e 74 69 66 69 65 72 00 74 79 70 65 00 61 73 ts.SourceAssetIdentifier.type.as
0900 73 65 6d 62 6c 79 00 6e 61 6d 65 00 6d 5f 55 73 65 64 46 69 6c 65 49 44 73 00 6d 5f 44 65 66 61 sembly.name.m_UsedFileIDs.m_Defa
0920 75 6c 74 52 65 66 65 72 65 6e 63 65 73 00 65 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 69 63 6f ultReferences.executionOrder.ico
0940 6e 00 6d 5f 55 73 65 72 44 61 74 61 00 6d 5f 41 73 73 65 74 42 75 6e 64 6c 65 4e 61 6d 65 00 6d n.m_UserData.m_AssetBundleName.m
0960 5f 41 73 73 65 74 42 75 6e 64 6c 65 56 61 72 69 61 6e 74 00 00 00 00 00 73 00 00 00 00 ff ff a3 _AssetBundleVariant.....s.......
0980 47 f1 d7 dc 8f 5a 35 36 a0 3a 21 40 69 c1 4a 2a 00 00 00 81 00 00 00 05 00 00 00 15 01 00 80 37 G....Z56.:!@i.J*...............7
09a0 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 ................................
09c0 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 00 45 ...............................E
09e0 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0a00 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0a20 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 28 00 00 00 61 ...........................(...a
0a40 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0a60 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0a80 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 ...............................r
0aa0 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0ac0 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0ae0 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab ...........................H....
0b00 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0b20 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ............@...................
0b40 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a ...........................Q...j
0b60 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ea ...........................H....
0b80 01 00 80 ff ff ff ff 0f 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0ba0 00 00 80 ff ff ff ff 10 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ............@...................
0bc0 03 00 80 04 00 00 00 11 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a ...........................Q...j
0be0 00 00 80 01 00 00 00 12 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 3d ...............................=
0c00 00 00 00 ff ff ff ff 13 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0c20 00 00 80 ff ff ff ff 14 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ................................
0c40 03 00 80 04 00 00 00 15 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a ...............................j
0c60 00 00 80 ff ff ff ff 16 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b ...........................H....
0c80 00 00 80 ff ff ff ff 17 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 ...........................1...1
0ca0 00 00 80 ff ff ff ff 18 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b ............@...................
0cc0 03 00 80 04 00 00 00 19 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a ...........................Q...j
0ce0 00 00 80 01 00 00 00 1a 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a ...........................y....
0d00 03 00 80 0c 00 00 00 1b 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 16 ................................
0d20 00 00 00 04 00 00 00 1c 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 1f ................................
0d40 00 00 00 08 00 00 00 1d 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 79 02 00 80 51 ...........................y...Q
0d60 00 00 00 0c 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0d80 00 00 00 04 00 00 00 1f 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0da0 00 00 00 08 00 00 00 20 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 de 00 00 80 58 ...............................X
0dc0 00 00 00 04 00 00 00 21 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 69 .......!...................H...i
0de0 00 00 00 ff ff ff ff 22 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ......."...................1...1
0e00 00 00 80 ff ff ff ff 23 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b .......#....@...................
0e20 03 00 80 04 00 00 00 24 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a .......$...................Q...j
0e40 00 00 80 01 00 00 00 25 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 75 .......%...................H...u
0e60 00 00 00 ff ff ff ff 26 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 .......&...................1...1
0e80 00 00 80 ff ff ff ff 27 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b .......'....@...................
0ea0 03 00 80 04 00 00 00 28 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a .......(...................Q...j
0ec0 00 00 80 01 00 00 00 29 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 50 50 74 72 3c 45 64 69 74 .......)...............PPtr<Edit
0ee0 6f 72 45 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 orExtension>.m_FileID.m_PathID.P
0f00 50 74 72 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 44 65 66 61 75 6c 74 52 65 66 Ptr<PrefabInstance>.m_DefaultRef
0f20 65 72 65 6e 63 65 73 00 6d 5f 49 63 6f 6e 00 6d 5f 45 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 erences.m_Icon.m_ExecutionOrder.
0f40 6d 5f 43 6c 61 73 73 4e 61 6d 65 00 6d 5f 4e 61 6d 65 73 70 61 63 65 00 00 00 00 00 02 00 00 00 m_ClassName.m_Namespace.........
0f60 03 00 00 00 00 00 00 00 00 00 00 00 5c 00 00 00 00 00 00 00 e0 79 af 00 00 00 00 00 60 00 00 00 ............\........y......`...
0f80 28 99 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (...............................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 e0 79 af 00 00 00 00 00 00 00 00 00 .....................y..........
1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1080 00 00 00 00 00 00 00 00 11 00 00 00 50 72 6f 6a 65 63 74 47 65 6e 65 72 61 74 69 6f 6e 00 00 00 ............ProjectGeneration...
10a0 9a 98 00 00 75 73 69 6e 67 20 53 79 73 74 65 6d 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e ....using.System;..using.System.
10c0 43 6f 6c 6c 65 63 74 69 6f 6e 73 2e 47 65 6e 65 72 69 63 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 Collections.Generic;..using.Syst
10e0 65 6d 2e 49 4f 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 4c 69 6e 71 3b 0d 0a 75 73 69 6e em.IO;..using.System.Linq;..usin
1100 67 20 53 79 73 74 65 6d 2e 53 65 63 75 72 69 74 79 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d g.System.Security;..using.System
1120 2e 53 65 63 75 72 69 74 79 2e 43 72 79 70 74 6f 67 72 61 70 68 79 3b 0d 0a 75 73 69 6e 67 20 53 .Security.Cryptography;..using.S
1140 79 73 74 65 6d 2e 54 65 78 74 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 54 65 78 74 2e 52 ystem.Text;..using.System.Text.R
1160 65 67 75 6c 61 72 45 78 70 72 65 73 73 69 6f 6e 73 3b 0d 0a 75 73 69 6e 67 20 50 61 63 6b 61 67 egularExpressions;..using.Packag
1180 65 73 2e 52 69 64 65 72 2e 45 64 69 74 6f 72 2e 55 74 69 6c 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 es.Rider.Editor.Util;..using.Uni
11a0 74 79 45 64 69 74 6f 72 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 64 69 74 6f 72 2e 43 6f 6d tyEditor;..using.UnityEditor.Com
11c0 70 69 6c 61 74 69 6f 6e 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 64 69 74 6f 72 2e 50 61 63 pilation;..using.UnityEditor.Pac
11e0 6b 61 67 65 4d 61 6e 61 67 65 72 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 64 69 74 6f 72 49 kageManager;..using.UnityEditorI
1200 6e 74 65 72 6e 61 6c 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0d 0a 0d 0a nternal;..using.UnityEngine;....
1220 6e 61 6d 65 73 70 61 63 65 20 50 61 63 6b 61 67 65 73 2e 52 69 64 65 72 2e 45 64 69 74 6f 72 0d namespace.Packages.Rider.Editor.
1240 0a 7b 0d 0a 20 20 70 75 62 6c 69 63 20 69 6e 74 65 72 66 61 63 65 20 49 47 65 6e 65 72 61 74 6f .{....public.interface.IGenerato
1260 72 0d 0a 20 20 7b 0d 0a 20 20 20 20 62 6f 6f 6c 20 53 79 6e 63 49 66 4e 65 65 64 65 64 28 49 45 r....{......bool.SyncIfNeeded(IE
1280 6e 75 6d 65 72 61 62 6c 65 3c 73 74 72 69 6e 67 3e 20 61 66 66 65 63 74 65 64 46 69 6c 65 73 2c numerable<string>.affectedFiles,
12a0 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 73 74 72 69 6e 67 3e 20 72 65 69 6d 70 6f 72 74 65 64 46 .IEnumerable<string>.reimportedF
12c0 69 6c 65 73 29 3b 0d 0a 20 20 20 20 76 6f 69 64 20 53 79 6e 63 28 29 3b 0d 0a 20 20 20 20 62 6f iles);......void.Sync();......bo
12e0 6f 6c 20 48 61 73 53 6f 6c 75 74 69 6f 6e 42 65 65 6e 47 65 6e 65 72 61 74 65 64 28 29 3b 0d 0a ol.HasSolutionBeenGenerated();..
1300 20 20 20 20 73 74 72 69 6e 67 20 53 6f 6c 75 74 69 6f 6e 46 69 6c 65 28 29 3b 0d 0a 20 20 20 20 ....string.SolutionFile();......
1320 73 74 72 69 6e 67 20 50 72 6f 6a 65 63 74 44 69 72 65 63 74 6f 72 79 20 7b 20 67 65 74 3b 20 7d string.ProjectDirectory.{.get;.}
1340 0d 0a 20 20 20 20 76 6f 69 64 20 47 65 6e 65 72 61 74 65 41 6c 6c 28 62 6f 6f 6c 20 67 65 6e 65 ......void.GenerateAll(bool.gene
1360 72 61 74 65 41 6c 6c 29 3b 0d 0a 20 20 7d 0d 0a 0d 0a 20 20 70 75 62 6c 69 63 20 69 6e 74 65 72 rateAll);....}......public.inter
1380 66 61 63 65 20 49 46 69 6c 65 49 4f 0d 0a 20 20 7b 0d 0a 20 20 20 20 62 6f 6f 6c 20 45 78 69 73 face.IFileIO....{......bool.Exis
13a0 74 73 28 73 74 72 69 6e 67 20 66 69 6c 65 4e 61 6d 65 29 3b 0d 0a 0d 0a 20 20 20 20 73 74 72 69 ts(string.fileName);........stri
13c0 6e 67 20 52 65 61 64 41 6c 6c 54 65 78 74 28 73 74 72 69 6e 67 20 66 69 6c 65 4e 61 6d 65 29 3b ng.ReadAllText(string.fileName);
13e0 0d 0a 20 20 20 20 76 6f 69 64 20 57 72 69 74 65 41 6c 6c 54 65 78 74 28 73 74 72 69 6e 67 20 66 ......void.WriteAllText(string.f
1400 69 6c 65 4e 61 6d 65 2c 20 73 74 72 69 6e 67 20 63 6f 6e 74 65 6e 74 29 3b 0d 0a 20 20 7d 0d 0a ileName,.string.content);....}..
1420 0d 0a 20 20 70 75 62 6c 69 63 20 69 6e 74 65 72 66 61 63 65 20 49 47 55 49 44 47 65 6e 65 72 61 ....public.interface.IGUIDGenera
1440 74 6f 72 0d 0a 20 20 7b 0d 0a 20 20 20 20 73 74 72 69 6e 67 20 50 72 6f 6a 65 63 74 47 75 69 64 tor....{......string.ProjectGuid
1460 28 73 74 72 69 6e 67 20 70 72 6f 6a 65 63 74 4e 61 6d 65 2c 20 73 74 72 69 6e 67 20 61 73 73 65 (string.projectName,.string.asse
1480 6d 62 6c 79 4e 61 6d 65 29 3b 0d 0a 20 20 20 20 73 74 72 69 6e 67 20 53 6f 6c 75 74 69 6f 6e 47 mblyName);......string.SolutionG
14a0 75 69 64 28 73 74 72 69 6e 67 20 70 72 6f 6a 65 63 74 4e 61 6d 65 2c 20 73 74 72 69 6e 67 20 65 uid(string.projectName,.string.e
14c0 78 74 65 6e 73 69 6f 6e 29 3b 0d 0a 20 20 7d 0d 0a 0d 0a 20 20 70 75 62 6c 69 63 20 69 6e 74 65 xtension);....}......public.inte
14e0 72 66 61 63 65 20 49 41 73 73 65 6d 62 6c 79 4e 61 6d 65 50 72 6f 76 69 64 65 72 0d 0a 20 20 7b rface.IAssemblyNameProvider....{
1500 0d 0a 20 20 20 20 73 74 72 69 6e 67 20 47 65 74 41 73 73 65 6d 62 6c 79 4e 61 6d 65 46 72 6f 6d ......string.GetAssemblyNameFrom
1520 53 63 72 69 70 74 50 61 74 68 28 73 74 72 69 6e 67 20 70 61 74 68 29 3b 0d 0a 20 20 20 20 49 45 ScriptPath(string.path);......IE
1540 6e 75 6d 65 72 61 62 6c 65 3c 41 73 73 65 6d 62 6c 79 3e 20 47 65 74 41 73 73 65 6d 62 6c 69 65 numerable<Assembly>.GetAssemblie
1560 73 28 46 75 6e 63 3c 73 74 72 69 6e 67 2c 20 62 6f 6f 6c 3e 20 73 68 6f 75 6c 64 46 69 6c 65 42 s(Func<string,.bool>.shouldFileB
1580 65 50 61 72 74 4f 66 53 6f 6c 75 74 69 6f 6e 29 3b 0d 0a 20 20 20 20 49 45 6e 75 6d 65 72 61 62 ePartOfSolution);......IEnumerab
15a0 6c 65 3c 73 74 72 69 6e 67 3e 20 47 65 74 41 6c 6c 41 73 73 65 74 50 61 74 68 73 28 29 3b 0d 0a le<string>.GetAllAssetPaths();..
15c0 20 20 20 20 55 6e 69 74 79 45 64 69 74 6f 72 2e 50 61 63 6b 61 67 65 4d 61 6e 61 67 65 72 2e 50 ....UnityEditor.PackageManager.P
15e0 61 63 6b 61 67 65 49 6e 66 6f 20 46 69 6e 64 46 6f 72 41 73 73 65 74 50 61 74 68 28 73 74 72 69 ackageInfo.FindForAssetPath(stri
1600 6e 67 20 61 73 73 65 74 50 61 74 68 29 3b 0d 0a 20 20 20 20 52 65 73 70 6f 6e 73 65 46 69 6c 65 ng.assetPath);......ResponseFile
1620 44 61 74 61 20 50 61 72 73 65 52 65 73 70 6f 6e 73 65 46 69 6c 65 28 73 74 72 69 6e 67 20 72 65 Data.ParseResponseFile(string.re
1640 73 70 6f 6e 73 65 46 69 6c 65 50 61 74 68 2c 20 73 74 72 69 6e 67 20 70 72 6f 6a 65 63 74 44 69 sponseFilePath,.string.projectDi
1660 72 65 63 74 6f 72 79 2c 20 73 74 72 69 6e 67 5b 5d 20 73 79 73 74 65 6d 52 65 66 65 72 65 6e 63 rectory,.string[].systemReferenc
1680 65 44 69 72 65 63 74 6f 72 69 65 73 29 3b 0d 0a 20 20 7d 0d 0a 0d 0a 20 20 63 6c 61 73 73 20 41 eDirectories);....}......class.A
16a0 73 73 65 6d 62 6c 79 4e 61 6d 65 50 72 6f 76 69 64 65 72 20 3a 20 49 41 73 73 65 6d 62 6c 79 4e ssemblyNameProvider.:.IAssemblyN
16c0 61 6d 65 50 72 6f 76 69 64 65 72 0d 0a 20 20 7b 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 ameProvider....{......public.str
16e0 69 6e 67 20 47 65 74 41 73 73 65 6d 62 6c 79 4e 61 6d 65 46 72 6f 6d 53 63 72 69 70 74 50 61 74 ing.GetAssemblyNameFromScriptPat
1700 68 28 73 74 72 69 6e 67 20 70 61 74 68 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 h(string.path)......{........ret
1720 75 72 6e 20 43 6f 6d 70 69 6c 61 74 69 6f 6e 50 69 70 65 6c 69 6e 65 2e 47 65 74 41 73 73 65 6d urn.CompilationPipeline.GetAssem
1740 62 6c 79 4e 61 6d 65 46 72 6f 6d 53 63 72 69 70 74 50 61 74 68 28 70 61 74 68 29 3b 0d 0a 20 20 blyNameFromScriptPath(path);....
1760 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 41 73 ..}........public.IEnumerable<As
1780 73 65 6d 62 6c 79 3e 20 47 65 74 41 73 73 65 6d 62 6c 69 65 73 28 46 75 6e 63 3c 73 74 72 69 6e sembly>.GetAssemblies(Func<strin
17a0 67 2c 20 62 6f 6f 6c 3e 20 73 68 6f 75 6c 64 46 69 6c 65 42 65 50 61 72 74 4f 66 53 6f 6c 75 74 g,.bool>.shouldFileBePartOfSolut
17c0 69 6f 6e 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 43 6f 6d 70 69 6c ion)......{........return.Compil
17e0 61 74 69 6f 6e 50 69 70 65 6c 69 6e 65 2e 47 65 74 41 73 73 65 6d 62 6c 69 65 73 28 29 0d 0a 20 ationPipeline.GetAssemblies()...
1800 20 20 20 20 20 20 20 2e 57 68 65 72 65 28 69 20 3d 3e 20 30 20 3c 20 69 2e 73 6f 75 72 63 65 46 ........Where(i.=>.0.<.i.sourceF
1820 69 6c 65 73 2e 4c 65 6e 67 74 68 20 26 26 20 69 2e 73 6f 75 72 63 65 46 69 6c 65 73 2e 41 6e 79 iles.Length.&&.i.sourceFiles.Any
1840 28 73 68 6f 75 6c 64 46 69 6c 65 42 65 50 61 72 74 4f 66 53 6f 6c 75 74 69 6f 6e 29 29 3b 0d 0a (shouldFileBePartOfSolution));..
1860 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c ....}........public.IEnumerable<
1880 73 74 72 69 6e 67 3e 20 47 65 74 41 6c 6c 41 73 73 65 74 50 61 74 68 73 28 29 0d 0a 20 20 20 20 string>.GetAllAssetPaths()......
18a0 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 41 73 73 65 74 44 61 74 61 62 61 73 65 2e 47 65 {........return.AssetDatabase.Ge
18c0 74 41 6c 6c 41 73 73 65 74 50 61 74 68 73 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 tAllAssetPaths();......}........
18e0 70 75 62 6c 69 63 20 55 6e 69 74 79 45 64 69 74 6f 72 2e 50 61 63 6b 61 67 65 4d 61 6e 61 67 65 public.UnityEditor.PackageManage
1900 72 2e 50 61 63 6b 61 67 65 49 6e 66 6f 20 46 69 6e 64 46 6f 72 41 73 73 65 74 50 61 74 68 28 73 r.PackageInfo.FindForAssetPath(s
1920 74 72 69 6e 67 20 61 73 73 65 74 50 61 74 68 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 tring.assetPath)......{........r
1940 65 74 75 72 6e 20 55 6e 69 74 79 45 64 69 74 6f 72 2e 50 61 63 6b 61 67 65 4d 61 6e 61 67 65 72 eturn.UnityEditor.PackageManager
1960 2e 50 61 63 6b 61 67 65 49 6e 66 6f 2e 46 69 6e 64 46 6f 72 41 73 73 65 74 50 61 74 68 28 61 73 .PackageInfo.FindForAssetPath(as
1980 73 65 74 50 61 74 68 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 52 setPath);......}........public.R
19a0 65 73 70 6f 6e 73 65 46 69 6c 65 44 61 74 61 20 50 61 72 73 65 52 65 73 70 6f 6e 73 65 46 69 6c esponseFileData.ParseResponseFil
19c0 65 28 73 74 72 69 6e 67 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 50 61 74 68 2c 20 73 74 72 69 6e e(string.responseFilePath,.strin
19e0 67 20 70 72 6f 6a 65 63 74 44 69 72 65 63 74 6f 72 79 2c 20 73 74 72 69 6e 67 5b 5d 20 73 79 73 g.projectDirectory,.string[].sys
1a00 74 65 6d 52 65 66 65 72 65 6e 63 65 44 69 72 65 63 74 6f 72 69 65 73 29 0d 0a 20 20 20 20 7b 0d temReferenceDirectories)......{.
1a20 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 43 6f 6d 70 69 6c 61 74 69 6f 6e 50 69 70 65 6c 69 6e .......return.CompilationPipelin
1a40 65 2e 50 61 72 73 65 52 65 73 70 6f 6e 73 65 46 69 6c 65 28 0d 0a 20 20 20 20 20 20 20 20 72 65 e.ParseResponseFile(..........re
1a60 73 70 6f 6e 73 65 46 69 6c 65 50 61 74 68 2c 0d 0a 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 sponseFilePath,..........project
1a80 44 69 72 65 63 74 6f 72 79 2c 0d 0a 20 20 20 20 20 20 20 20 73 79 73 74 65 6d 52 65 66 65 72 65 Directory,..........systemRefere
1aa0 6e 63 65 44 69 72 65 63 74 6f 72 69 65 73 0d 0a 20 20 20 20 20 20 29 3b 0d 0a 20 20 20 20 7d 0d nceDirectories........);......}.
1ac0 0a 20 20 7d 0d 0a 0d 0a 20 20 70 75 62 6c 69 63 20 63 6c 61 73 73 20 50 72 6f 6a 65 63 74 47 65 ...}......public.class.ProjectGe
1ae0 6e 65 72 61 74 69 6f 6e 20 3a 20 49 47 65 6e 65 72 61 74 6f 72 0d 0a 20 20 7b 0d 0a 20 20 20 20 neration.:.IGenerator....{......
1b00 65 6e 75 6d 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 0d 0a 20 20 20 20 7b 0d 0a 20 enum.ScriptingLanguage......{...
1b20 20 20 20 20 20 4e 6f 6e 65 2c 0d 0a 20 20 20 20 20 20 43 53 68 61 72 70 0d 0a 20 20 20 20 7d 0d .....None,........CSharp......}.
1b40 0a 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 73 74 .......public.static.readonly.st
1b60 72 69 6e 67 20 4d 53 42 75 69 6c 64 4e 61 6d 65 73 70 61 63 65 55 72 69 20 3d 20 22 68 74 74 70 ring.MSBuildNamespaceUri.=."http
1b80 3a 2f 2f 73 63 68 65 6d 61 73 2e 6d 69 63 72 6f 73 6f 66 74 2e 63 6f 6d 2f 64 65 76 65 6c 6f 70 ://schemas.microsoft.com/develop
1ba0 65 72 2f 6d 73 62 75 69 6c 64 2f 32 30 30 33 22 3b 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 er/msbuild/2003";........///.<su
1bc0 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 4d 61 70 20 73 6f 75 72 63 65 20 65 78 74 65 6e mmary>......///.Map.source.exten
1be0 73 69 6f 6e 73 20 74 6f 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 73 0d 0a 20 20 20 sions.to.ScriptingLanguages.....
1c00 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 73 74 61 74 69 63 20 72 65 61 64 .///.</summary>......static.read
1c20 6f 6e 6c 79 20 44 69 63 74 69 6f 6e 61 72 79 3c 73 74 72 69 6e 67 2c 20 53 63 72 69 70 74 69 6e only.Dictionary<string,.Scriptin
1c40 67 4c 61 6e 67 75 61 67 65 3e 20 6b 5f 42 75 69 6c 74 69 6e 53 75 70 70 6f 72 74 65 64 45 78 74 gLanguage>.k_BuiltinSupportedExt
1c60 65 6e 73 69 6f 6e 73 20 3d 0d 0a 20 20 20 20 20 20 6e 65 77 20 44 69 63 74 69 6f 6e 61 72 79 3c ensions.=........new.Dictionary<
1c80 73 74 72 69 6e 67 2c 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 3e 0d 0a 20 20 20 20 string,.ScriptingLanguage>......
1ca0 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 7b 22 63 73 22 2c 20 53 63 72 69 70 74 69 6e 67 4c 61 6e ..{..........{"cs",.ScriptingLan
1cc0 67 75 61 67 65 2e 43 53 68 61 72 70 7d 2c 0d 0a 20 20 20 20 20 20 20 20 7b 22 75 78 6d 6c 22 2c guage.CSharp},..........{"uxml",
1ce0 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 2e 4e 6f 6e 65 7d 2c 0d 0a 20 20 20 20 20 .ScriptingLanguage.None},.......
1d00 20 20 20 7b 22 75 73 73 22 2c 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 2e 4e 6f 6e ...{"uss",.ScriptingLanguage.Non
1d20 65 7d 2c 0d 0a 20 20 20 20 20 20 20 20 7b 22 73 68 61 64 65 72 22 2c 20 53 63 72 69 70 74 69 6e e},..........{"shader",.Scriptin
1d40 67 4c 61 6e 67 75 61 67 65 2e 4e 6f 6e 65 7d 2c 0d 0a 20 20 20 20 20 20 20 20 7b 22 63 6f 6d 70 gLanguage.None},..........{"comp
1d60 75 74 65 22 2c 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 2e 4e 6f 6e 65 7d 2c 0d 0a ute",.ScriptingLanguage.None},..
1d80 20 20 20 20 20 20 20 20 7b 22 63 67 69 6e 63 22 2c 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 ........{"cginc",.ScriptingLangu
1da0 61 67 65 2e 4e 6f 6e 65 7d 2c 0d 0a 20 20 20 20 20 20 20 20 7b 22 68 6c 73 6c 22 2c 20 53 63 72 age.None},..........{"hlsl",.Scr
1dc0 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 2e 4e 6f 6e 65 7d 2c 0d 0a 20 20 20 20 20 20 20 20 7b iptingLanguage.None},..........{
1de0 22 67 6c 73 6c 69 6e 63 22 2c 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 2e 4e 6f 6e "glslinc",.ScriptingLanguage.Non
1e00 65 7d 2c 0d 0a 20 20 20 20 20 20 20 20 7b 22 74 65 6d 70 6c 61 74 65 22 2c 20 53 63 72 69 70 74 e},..........{"template",.Script
1e20 69 6e 67 4c 61 6e 67 75 61 67 65 2e 4e 6f 6e 65 7d 2c 0d 0a 20 20 20 20 20 20 20 20 7b 22 72 61 ingLanguage.None},..........{"ra
1e40 79 74 72 61 63 65 22 2c 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 2e 4e 6f 6e 65 7d ytrace",.ScriptingLanguage.None}
1e60 0d 0a 20 20 20 20 20 20 7d 3b 0d 0a 0d 0a 20 20 20 20 73 74 72 69 6e 67 20 6d 5f 53 6f 6c 75 74 ........};........string.m_Solut
1e80 69 6f 6e 50 72 6f 6a 65 63 74 45 6e 74 72 79 54 65 6d 70 6c 61 74 65 20 3d 20 73 74 72 69 6e 67 ionProjectEntryTemplate.=.string
1ea0 2e 4a 6f 69 6e 28 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 2c 0d 0a 20 20 20 20 .Join(Environment.NewLine,......
1ec0 20 20 40 22 50 72 6f 6a 65 63 74 28 22 22 7b 7b 7b 30 7d 7d 7d 22 22 29 20 3d 20 22 22 7b 31 7d ..@"Project(""{{{0}}}"").=.""{1}
1ee0 22 22 2c 20 22 22 7b 32 7d 22 22 2c 20 22 22 7b 7b 7b 33 7d 7d 7d 22 22 22 2c 0d 0a 20 20 20 20 "",.""{2}"",.""{{{3}}}""",......
1f00 20 20 40 22 45 6e 64 50 72 6f 6a 65 63 74 22 29 2e 52 65 70 6c 61 63 65 28 22 20 20 20 20 22 2c ..@"EndProject").Replace("....",
1f20 20 22 5c 74 22 29 3b 0d 0a 0d 0a 20 20 20 20 73 74 72 69 6e 67 20 6d 5f 53 6f 6c 75 74 69 6f 6e ."\t");........string.m_Solution
1f40 50 72 6f 6a 65 63 74 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 54 65 6d 70 6c 61 74 65 20 3d 20 73 ProjectConfigurationTemplate.=.s
1f60 74 72 69 6e 67 2e 4a 6f 69 6e 28 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 2c 0d tring.Join(Environment.NewLine,.
1f80 0a 20 20 20 20 20 20 40 22 20 20 20 20 20 20 20 20 7b 7b 7b 30 7d 7d 7d 2e 44 65 62 75 67 7c 41 .......@"........{{{0}}}.Debug|A
1fa0 6e 79 20 43 50 55 2e 41 63 74 69 76 65 43 66 67 20 3d 20 44 65 62 75 67 7c 41 6e 79 20 43 50 55 ny.CPU.ActiveCfg.=.Debug|Any.CPU
1fc0 22 2c 0d 0a 20 20 20 20 20 20 40 22 20 20 20 20 20 20 20 20 7b 7b 7b 30 7d 7d 7d 2e 44 65 62 75 ",........@"........{{{0}}}.Debu
1fe0 67 7c 41 6e 79 20 43 50 55 2e 42 75 69 6c 64 2e 30 20 3d 20 44 65 62 75 67 7c 41 6e 79 20 43 50 g|Any.CPU.Build.0.=.Debug|Any.CP
2000 55 22 2c 0d 0a 20 20 20 20 20 20 40 22 20 20 20 20 20 20 20 20 7b 7b 7b 30 7d 7d 7d 2e 52 65 6c U",........@"........{{{0}}}.Rel
2020 65 61 73 65 7c 41 6e 79 20 43 50 55 2e 41 63 74 69 76 65 43 66 67 20 3d 20 52 65 6c 65 61 73 65 ease|Any.CPU.ActiveCfg.=.Release
2040 7c 41 6e 79 20 43 50 55 22 2c 0d 0a 20 20 20 20 20 20 40 22 20 20 20 20 20 20 20 20 7b 7b 7b 30 |Any.CPU",........@"........{{{0
2060 7d 7d 7d 2e 52 65 6c 65 61 73 65 7c 41 6e 79 20 43 50 55 2e 42 75 69 6c 64 2e 30 20 3d 20 52 65 }}}.Release|Any.CPU.Build.0.=.Re
2080 6c 65 61 73 65 7c 41 6e 79 20 43 50 55 22 29 2e 52 65 70 6c 61 63 65 28 22 20 20 20 20 22 2c 20 lease|Any.CPU").Replace("....",.
20a0 22 5c 74 22 29 3b 0d 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 73 74 "\t");........static.readonly.st
20c0 72 69 6e 67 5b 5d 20 6b 5f 52 65 69 6d 70 6f 72 74 53 79 6e 63 45 78 74 65 6e 73 69 6f 6e 73 20 ring[].k_ReimportSyncExtensions.
20e0 3d 20 7b 22 2e 64 6c 6c 22 2c 20 22 2e 61 73 6d 64 65 66 22 7d 3b 0d 0a 0d 0a 20 20 20 20 2f 2f =.{".dll",.".asmdef"};........//
2100 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 4d 61 70 20 53 63 72 69 70 74 69 /.<summary>......///.Map.Scripti
2120 6e 67 4c 61 6e 67 75 61 67 65 73 20 74 6f 20 70 72 6f 6a 65 63 74 20 65 78 74 65 6e 73 69 6f 6e ngLanguages.to.project.extension
2140 73 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2a 73 74 61 s......///.</summary>....../*sta
2160 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 44 69 63 74 69 6f 6e 61 72 79 3c 53 63 72 69 70 74 69 6e tic.readonly.Dictionary<Scriptin
2180 67 4c 61 6e 67 75 61 67 65 2c 20 73 74 72 69 6e 67 3e 20 6b 5f 50 72 6f 6a 65 63 74 45 78 74 65 gLanguage,.string>.k_ProjectExte
21a0 6e 73 69 6f 6e 73 20 3d 20 6e 65 77 20 44 69 63 74 69 6f 6e 61 72 79 3c 53 63 72 69 70 74 69 6e nsions.=.new.Dictionary<Scriptin
21c0 67 4c 61 6e 67 75 61 67 65 2c 20 73 74 72 69 6e 67 3e 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 gLanguage,.string>......{.......
21e0 20 20 20 7b 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 2e 43 53 68 61 72 70 2c 20 22 ...{.ScriptingLanguage.CSharp,."
2200 2e 63 73 70 72 6f 6a 22 20 7d 2c 0d 0a 20 20 20 20 20 20 20 20 7b 20 53 63 72 69 70 74 69 6e 67 .csproj".},..........{.Scripting
2220 4c 61 6e 67 75 61 67 65 2e 4e 6f 6e 65 2c 20 22 2e 63 73 70 72 6f 6a 22 20 7d 2c 0d 0a 20 20 20 Language.None,.".csproj".},.....
2240 20 7d 3b 2a 2f 0d 0a 20 20 20 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 52 65 67 65 78 .};*/......static.readonly.Regex
2260 20 6b 5f 53 63 72 69 70 74 52 65 66 65 72 65 6e 63 65 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 6e .k_ScriptReferenceExpression.=.n
2280 65 77 20 52 65 67 65 78 28 0d 0a 20 20 20 20 20 20 40 22 5e 4c 69 62 72 61 72 79 2e 53 63 72 69 ew.Regex(........@"^Library.Scri
22a0 70 74 41 73 73 65 6d 62 6c 69 65 73 2e 28 3f 3c 64 6c 6c 6e 61 6d 65 3e 28 3f 3c 70 72 6f 6a 65 ptAssemblies.(?<dllname>(?<proje
22c0 63 74 3e 2e 2a 29 5c 2e 64 6c 6c 24 29 22 2c 0d 0a 20 20 20 20 20 20 52 65 67 65 78 4f 70 74 69 ct>.*)\.dll$)",........RegexOpti
22e0 6f 6e 73 2e 43 6f 6d 70 69 6c 65 64 20 7c 20 52 65 67 65 78 4f 70 74 69 6f 6e 73 2e 49 67 6e 6f ons.Compiled.|.RegexOptions.Igno
2300 72 65 43 61 73 65 29 3b 0d 0a 0d 0a 20 20 20 20 73 74 72 69 6e 67 5b 5d 20 6d 5f 50 72 6f 6a 65 reCase);........string[].m_Proje
2320 63 74 53 75 70 70 6f 72 74 65 64 45 78 74 65 6e 73 69 6f 6e 73 20 3d 20 6e 65 77 20 73 74 72 69 ctSupportedExtensions.=.new.stri
2340 6e 67 5b 30 5d 3b 0d 0a 20 20 20 20 62 6f 6f 6c 20 6d 5f 53 68 6f 75 6c 64 47 65 6e 65 72 61 74 ng[0];......bool.m_ShouldGenerat
2360 65 41 6c 6c 3b 0d 0a 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 50 72 6f 6a 65 eAll;........public.string.Proje
2380 63 74 44 69 72 65 63 74 6f 72 79 20 7b 20 67 65 74 3b 20 7d 0d 0a 0d 0a 20 20 20 20 70 75 62 6c ctDirectory.{.get;.}........publ
23a0 69 63 20 76 6f 69 64 20 47 65 6e 65 72 61 74 65 41 6c 6c 28 62 6f 6f 6c 20 67 65 6e 65 72 61 74 ic.void.GenerateAll(bool.generat
23c0 65 41 6c 6c 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 6d 5f 53 68 6f 75 6c 64 47 65 6e 65 eAll)......{........m_ShouldGene
23e0 72 61 74 65 41 6c 6c 20 3d 20 67 65 6e 65 72 61 74 65 41 6c 6c 3b 0d 0a 20 20 20 20 7d 0d 0a 0d rateAll.=.generateAll;......}...
2400 0a 20 20 20 20 72 65 61 64 6f 6e 6c 79 20 73 74 72 69 6e 67 20 6d 5f 50 72 6f 6a 65 63 74 4e 61 .....readonly.string.m_ProjectNa
2420 6d 65 3b 0d 0a 20 20 20 20 72 65 61 64 6f 6e 6c 79 20 49 41 73 73 65 6d 62 6c 79 4e 61 6d 65 50 me;......readonly.IAssemblyNameP
2440 72 6f 76 69 64 65 72 20 6d 5f 41 73 73 65 6d 62 6c 79 4e 61 6d 65 50 72 6f 76 69 64 65 72 3b 0d rovider.m_AssemblyNameProvider;.
2460 0a 20 20 20 20 72 65 61 64 6f 6e 6c 79 20 49 46 69 6c 65 49 4f 20 6d 5f 46 69 6c 65 49 4f 50 72 .....readonly.IFileIO.m_FileIOPr
2480 6f 76 69 64 65 72 3b 0d 0a 20 20 20 20 72 65 61 64 6f 6e 6c 79 20 49 47 55 49 44 47 65 6e 65 72 ovider;......readonly.IGUIDGener
24a0 61 74 6f 72 20 6d 5f 47 55 49 44 47 65 6e 65 72 61 74 6f 72 3b 0d 0a 20 20 20 20 69 6e 74 65 72 ator.m_GUIDGenerator;......inter
24c0 6e 61 6c 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 69 73 52 69 64 65 72 50 72 6f 6a 65 63 74 47 65 nal.static.bool.isRiderProjectGe
24e0 6e 65 72 61 74 69 6f 6e 3b 20 2f 2f 20 77 6f 72 6b 61 72 6f 75 6e 64 20 74 6f 20 68 74 74 70 73 neration;.//.workaround.to.https
2500 3a 2f 2f 67 69 74 68 75 62 2e 63 64 73 2e 69 6e 74 65 72 6e 61 6c 2e 75 6e 69 74 79 33 64 2e 63 ://github.cds.internal.unity3d.c
2520 6f 6d 2f 75 6e 69 74 79 2f 63 6f 6d 2e 75 6e 69 74 79 2e 69 64 65 2e 72 69 64 65 72 2f 69 73 73 om/unity/com.unity.ide.rider/iss
2540 75 65 73 2f 32 38 0d 0a 0d 0a 20 20 20 20 63 6f 6e 73 74 20 73 74 72 69 6e 67 20 6b 5f 54 6f 6f ues/28........const.string.k_Too
2560 6c 73 56 65 72 73 69 6f 6e 20 3d 20 22 34 2e 30 22 3b 0d 0a 20 20 20 20 63 6f 6e 73 74 20 73 74 lsVersion.=."4.0";......const.st
2580 72 69 6e 67 20 6b 5f 50 72 6f 64 75 63 74 56 65 72 73 69 6f 6e 20 3d 20 22 31 30 2e 30 2e 32 30 ring.k_ProductVersion.=."10.0.20
25a0 35 30 36 22 3b 0d 0a 20 20 20 20 63 6f 6e 73 74 20 73 74 72 69 6e 67 20 6b 5f 42 61 73 65 44 69 506";......const.string.k_BaseDi
25c0 72 65 63 74 6f 72 79 20 3d 20 22 2e 22 3b 0d 0a 20 20 20 20 63 6f 6e 73 74 20 73 74 72 69 6e 67 rectory.=.".";......const.string
25e0 20 6b 5f 54 61 72 67 65 74 46 72 61 6d 65 77 6f 72 6b 56 65 72 73 69 6f 6e 20 3d 20 22 76 34 2e .k_TargetFrameworkVersion.=."v4.
2600 37 2e 31 22 3b 0d 0a 20 20 20 20 63 6f 6e 73 74 20 73 74 72 69 6e 67 20 6b 5f 54 61 72 67 65 74 7.1";......const.string.k_Target
2620 4c 61 6e 67 75 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 22 6c 61 74 65 73 74 22 3b 0d 0a 0d 0a 20 LanguageVersion.=."latest";.....
2640 20 20 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 52 65 67 65 78 20 73 63 72 69 70 74 52 ...static.readonly.Regex.scriptR
2660 65 66 65 72 65 6e 63 65 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 6e 65 77 20 52 65 67 65 78 28 0d eferenceExpression.=.new.Regex(.
2680 0a 20 20 20 20 20 20 40 22 5e 4c 69 62 72 61 72 79 2e 53 63 72 69 70 74 41 73 73 65 6d 62 6c 69 .......@"^Library.ScriptAssembli
26a0 65 73 2e 28 3f 3c 64 6c 6c 6e 61 6d 65 3e 28 3f 3c 70 72 6f 6a 65 63 74 3e 2e 2a 29 5c 2e 64 6c es.(?<dllname>(?<project>.*)\.dl
26c0 6c 24 29 22 2c 0d 0a 20 20 20 20 20 20 52 65 67 65 78 4f 70 74 69 6f 6e 73 2e 43 6f 6d 70 69 6c l$)",........RegexOptions.Compil
26e0 65 64 20 7c 20 52 65 67 65 78 4f 70 74 69 6f 6e 73 2e 49 67 6e 6f 72 65 43 61 73 65 29 3b 0d 0a ed.|.RegexOptions.IgnoreCase);..
2700 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 50 72 6f 6a 65 63 74 47 65 6e 65 72 61 74 69 6f 6e 28 29 ......public.ProjectGeneration()
2720 20 3a 20 74 68 69 73 28 44 69 72 65 63 74 6f 72 79 2e 47 65 74 50 61 72 65 6e 74 28 41 70 70 6c .:.this(Directory.GetParent(Appl
2740 69 63 61 74 69 6f 6e 2e 64 61 74 61 50 61 74 68 29 2e 46 75 6c 6c 4e 61 6d 65 29 0d 0a 20 20 20 ication.dataPath).FullName).....
2760 20 7b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 50 72 6f 6a 65 63 74 47 .{......}........public.ProjectG
2780 65 6e 65 72 61 74 69 6f 6e 28 73 74 72 69 6e 67 20 74 65 6d 70 44 69 72 65 63 74 6f 72 79 29 20 eneration(string.tempDirectory).
27a0 3a 20 74 68 69 73 28 74 65 6d 70 44 69 72 65 63 74 6f 72 79 2c 20 6e 65 77 20 41 73 73 65 6d 62 :.this(tempDirectory,.new.Assemb
27c0 6c 79 4e 61 6d 65 50 72 6f 76 69 64 65 72 28 29 2c 20 6e 65 77 20 46 69 6c 65 49 4f 50 72 6f 76 lyNameProvider(),.new.FileIOProv
27e0 69 64 65 72 28 29 2c 20 6e 65 77 20 47 55 49 44 50 72 6f 76 69 64 65 72 28 29 29 0d 0a 20 20 20 ider(),.new.GUIDProvider()).....
2800 20 7b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 50 72 6f 6a 65 63 74 47 .{......}........public.ProjectG
2820 65 6e 65 72 61 74 69 6f 6e 28 73 74 72 69 6e 67 20 74 65 6d 70 44 69 72 65 63 74 6f 72 79 2c 20 eneration(string.tempDirectory,.
2840 49 41 73 73 65 6d 62 6c 79 4e 61 6d 65 50 72 6f 76 69 64 65 72 20 61 73 73 65 6d 62 6c 79 4e 61 IAssemblyNameProvider.assemblyNa
2860 6d 65 50 72 6f 76 69 64 65 72 2c 20 49 46 69 6c 65 49 4f 20 66 69 6c 65 49 6f 50 72 6f 76 69 64 meProvider,.IFileIO.fileIoProvid
2880 65 72 2c 20 49 47 55 49 44 47 65 6e 65 72 61 74 6f 72 20 67 75 69 64 47 65 6e 65 72 61 74 6f 72 er,.IGUIDGenerator.guidGenerator
28a0 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 50 72 6f 6a 65 63 74 44 69 72 65 63 74 6f 72 79 )......{........ProjectDirectory
28c0 20 3d 20 74 65 6d 70 44 69 72 65 63 74 6f 72 79 2e 52 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 .=.tempDirectory.Replace('\\',.'
28e0 2f 27 29 3b 0d 0a 20 20 20 20 20 20 6d 5f 50 72 6f 6a 65 63 74 4e 61 6d 65 20 3d 20 50 61 74 68 /');........m_ProjectName.=.Path
2900 2e 47 65 74 46 69 6c 65 4e 61 6d 65 28 50 72 6f 6a 65 63 74 44 69 72 65 63 74 6f 72 79 29 3b 0d .GetFileName(ProjectDirectory);.
2920 0a 20 20 20 20 20 20 6d 5f 41 73 73 65 6d 62 6c 79 4e 61 6d 65 50 72 6f 76 69 64 65 72 20 3d 20 .......m_AssemblyNameProvider.=.
2940 61 73 73 65 6d 62 6c 79 4e 61 6d 65 50 72 6f 76 69 64 65 72 3b 0d 0a 20 20 20 20 20 20 6d 5f 46 assemblyNameProvider;........m_F
2960 69 6c 65 49 4f 50 72 6f 76 69 64 65 72 20 3d 20 66 69 6c 65 49 6f 50 72 6f 76 69 64 65 72 3b 0d ileIOProvider.=.fileIoProvider;.
2980 0a 20 20 20 20 20 20 6d 5f 47 55 49 44 47 65 6e 65 72 61 74 6f 72 20 3d 20 67 75 69 64 47 65 6e .......m_GUIDGenerator.=.guidGen
29a0 65 72 61 74 6f 72 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 erator;......}........///.<summa
29c0 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 53 79 6e 63 73 20 74 68 65 20 73 63 72 69 70 74 69 6e 67 ry>......///.Syncs.the.scripting
29e0 20 73 6f 6c 75 74 69 6f 6e 20 69 66 20 61 6e 79 20 61 66 66 65 63 74 65 64 20 66 69 6c 65 73 20 .solution.if.any.affected.files.
2a00 61 72 65 20 72 65 6c 65 76 61 6e 74 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 are.relevant.......///.</summary
2a20 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 57 68 >......///.<returns>......///.Wh
2a40 65 74 68 65 72 20 74 68 65 20 73 6f 6c 75 74 69 6f 6e 20 77 61 73 20 73 79 6e 63 65 64 2e 0d 0a ether.the.solution.was.synced...
2a60 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 70 61 72 ....///.</returns>......///.<par
2a80 61 6d 20 6e 61 6d 65 3d 27 61 66 66 65 63 74 65 64 46 69 6c 65 73 27 3e 0d 0a 20 20 20 20 2f 2f am.name='affectedFiles'>......//
2aa0 2f 20 41 20 73 65 74 20 6f 66 20 66 69 6c 65 73 20 77 68 6f 73 65 20 73 74 61 74 75 73 20 68 61 /.A.set.of.files.whose.status.ha
2ac0 73 20 63 68 61 6e 67 65 64 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 s.changed......///.</param>.....
2ae0 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 72 65 69 6d 70 6f 72 74 65 64 46 69 6c 65 .///.<param.name="reimportedFile
2b00 73 22 3e 0d 0a 20 20 20 20 2f 2f 2f 20 41 20 73 65 74 20 6f 66 20 66 69 6c 65 73 20 74 68 61 74 s">......///.A.set.of.files.that
2b20 20 67 6f 74 20 72 65 69 6d 70 6f 72 74 65 64 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 70 61 72 61 6d .got.reimported......///.</param
2b40 3e 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 53 79 6e 63 49 66 4e 65 65 64 65 64 28 >......public.bool.SyncIfNeeded(
2b60 49 45 6e 75 6d 65 72 61 62 6c 65 3c 73 74 72 69 6e 67 3e 20 61 66 66 65 63 74 65 64 46 69 6c 65 IEnumerable<string>.affectedFile
2b80 73 2c 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 73 74 72 69 6e 67 3e 20 72 65 69 6d 70 6f 72 74 65 s,.IEnumerable<string>.reimporte
2ba0 64 46 69 6c 65 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 53 65 74 75 70 50 72 6f 6a 65 dFiles)......{........SetupProje
2bc0 63 74 53 75 70 70 6f 72 74 65 64 45 78 74 65 6e 73 69 6f 6e 73 28 29 3b 0d 0a 20 20 20 20 20 20 ctSupportedExtensions();........
2be0 0d 0a 20 20 20 20 20 20 69 66 20 28 48 61 73 46 69 6c 65 73 42 65 65 6e 4d 6f 64 69 66 69 65 64 ........if.(HasFilesBeenModified
2c00 28 61 66 66 65 63 74 65 64 46 69 6c 65 73 2c 20 72 65 69 6d 70 6f 72 74 65 64 46 69 6c 65 73 29 (affectedFiles,.reimportedFiles)
2c20 29 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 53 79 6e 63 28 29 3b 0d 0a 20 20 20 )........{..........Sync();.....
2c40 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 .....return.true;........}......
2c60 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 ....return.false;......}........
2c80 62 6f 6f 6c 20 48 61 73 46 69 6c 65 73 42 65 65 6e 4d 6f 64 69 66 69 65 64 28 49 45 6e 75 6d 65 bool.HasFilesBeenModified(IEnume
2ca0 72 61 62 6c 65 3c 73 74 72 69 6e 67 3e 20 61 66 66 65 63 74 65 64 46 69 6c 65 73 2c 20 49 45 6e rable<string>.affectedFiles,.IEn
2cc0 75 6d 65 72 61 62 6c 65 3c 73 74 72 69 6e 67 3e 20 72 65 69 6d 70 6f 72 74 65 64 46 69 6c 65 73 umerable<string>.reimportedFiles
2ce0 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 66 66 65 63 74 65 64 46 )......{........return.affectedF
2d00 69 6c 65 73 2e 41 6e 79 28 53 68 6f 75 6c 64 46 69 6c 65 42 65 50 61 72 74 4f 66 53 6f 6c 75 74 iles.Any(ShouldFileBePartOfSolut
2d20 69 6f 6e 29 20 7c 7c 20 72 65 69 6d 70 6f 72 74 65 64 46 69 6c 65 73 2e 41 6e 79 28 53 68 6f 75 ion).||.reimportedFiles.Any(Shou
2d40 6c 64 53 79 6e 63 4f 6e 52 65 69 6d 70 6f 72 74 65 64 41 73 73 65 74 29 3b 0d 0a 20 20 20 20 7d ldSyncOnReimportedAsset);......}
2d60 0d 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 53 68 6f 75 6c 64 53 79 6e 63 4f 6e ........static.bool.ShouldSyncOn
2d80 52 65 69 6d 70 6f 72 74 65 64 41 73 73 65 74 28 73 74 72 69 6e 67 20 61 73 73 65 74 29 0d 0a 20 ReimportedAsset(string.asset)...
2da0 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 6b 5f 52 65 69 6d 70 6f 72 74 53 79 6e ...{........return.k_ReimportSyn
2dc0 63 45 78 74 65 6e 73 69 6f 6e 73 2e 43 6f 6e 74 61 69 6e 73 28 6e 65 77 20 46 69 6c 65 49 6e 66 cExtensions.Contains(new.FileInf
2de0 6f 28 61 73 73 65 74 29 2e 45 78 74 65 6e 73 69 6f 6e 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 o(asset).Extension);......}.....
2e00 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 53 79 6e 63 28 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 ...public.void.Sync()......{....
2e20 20 20 20 20 53 65 74 75 70 50 72 6f 6a 65 63 74 53 75 70 70 6f 72 74 65 64 45 78 74 65 6e 73 69 ....SetupProjectSupportedExtensi
2e40 6f 6e 73 28 29 3b 0d 0a 20 20 20 20 20 20 76 61 72 20 74 79 70 65 73 20 3d 20 47 65 74 41 73 73 ons();........var.types.=.GetAss
2e60 65 74 50 6f 73 74 70 72 6f 63 65 73 73 6f 72 54 79 70 65 73 28 29 3b 0d 0a 20 20 20 20 20 20 69 etPostprocessorTypes();........i
2e80 73 52 69 64 65 72 50 72 6f 6a 65 63 74 47 65 6e 65 72 61 74 69 6f 6e 20 3d 20 74 72 75 65 3b 0d sRiderProjectGeneration.=.true;.
2ea0 0a 20 20 20 20 20 20 62 6f 6f 6c 20 65 78 74 65 72 6e 61 6c 43 6f 64 65 41 6c 72 65 61 64 79 47 .......bool.externalCodeAlreadyG
2ec0 65 6e 65 72 61 74 65 64 50 72 6f 6a 65 63 74 73 20 3d 20 4f 6e 50 72 65 47 65 6e 65 72 61 74 69 eneratedProjects.=.OnPreGenerati
2ee0 6e 67 43 53 50 72 6f 6a 65 63 74 46 69 6c 65 73 28 74 79 70 65 73 29 3b 0d 0a 20 20 20 20 20 20 ngCSProjectFiles(types);........
2f00 69 73 52 69 64 65 72 50 72 6f 6a 65 63 74 47 65 6e 65 72 61 74 69 6f 6e 20 3d 20 66 61 6c 73 65 isRiderProjectGeneration.=.false
2f20 3b 0d 0a 20 20 20 20 20 20 69 66 20 28 21 65 78 74 65 72 6e 61 6c 43 6f 64 65 41 6c 72 65 61 64 ;........if.(!externalCodeAlread
2f40 79 47 65 6e 65 72 61 74 65 64 50 72 6f 6a 65 63 74 73 29 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 yGeneratedProjects)........{....
2f60 20 20 20 20 20 20 47 65 6e 65 72 61 74 65 41 6e 64 57 72 69 74 65 53 6f 6c 75 74 69 6f 6e 41 6e ......GenerateAndWriteSolutionAn
2f80 64 50 72 6f 6a 65 63 74 73 28 74 79 70 65 73 29 3b 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 dProjects(types);........}......
2fa0 20 20 20 20 4f 6e 47 65 6e 65 72 61 74 65 64 43 53 50 72 6f 6a 65 63 74 46 69 6c 65 73 28 74 79 ....OnGeneratedCSProjectFiles(ty
2fc0 70 65 73 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 pes);......}........public.bool.
2fe0 48 61 73 53 6f 6c 75 74 69 6f 6e 42 65 65 6e 47 65 6e 65 72 61 74 65 64 28 29 0d 0a 20 20 20 20 HasSolutionBeenGenerated()......
3000 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f 46 69 6c 65 49 4f 50 72 6f 76 69 64 65 72 {........return.m_FileIOProvider
3020 2e 45 78 69 73 74 73 28 53 6f 6c 75 74 69 6f 6e 46 69 6c 65 28 29 29 3b 0d 0a 20 20 20 20 7d 0d .Exists(SolutionFile());......}.
3040 0a 0d 0a 20 20 20 20 76 6f 69 64 20 53 65 74 75 70 50 72 6f 6a 65 63 74 53 75 70 70 6f 72 74 65 .......void.SetupProjectSupporte
3060 64 45 78 74 65 6e 73 69 6f 6e 73 28 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 6d 5f 50 72 dExtensions()......{........m_Pr
3080 6f 6a 65 63 74 53 75 70 70 6f 72 74 65 64 45 78 74 65 6e 73 69 6f 6e 73 20 3d 20 45 64 69 74 6f ojectSupportedExtensions.=.Edito
30a0 72 53 65 74 74 69 6e 67 73 2e 70 72 6f 6a 65 63 74 47 65 6e 65 72 61 74 69 6f 6e 55 73 65 72 45 rSettings.projectGenerationUserE
30c0 78 74 65 6e 73 69 6f 6e 73 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 62 6f 6f 6c 20 53 68 xtensions;......}........bool.Sh
30e0 6f 75 6c 64 46 69 6c 65 42 65 50 61 72 74 4f 66 53 6f 6c 75 74 69 6f 6e 28 73 74 72 69 6e 67 20 ouldFileBePartOfSolution(string.
3100 66 69 6c 65 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 73 74 72 69 6e 67 20 65 78 74 65 6e file)......{........string.exten
3120 73 69 6f 6e 20 3d 20 50 61 74 68 2e 47 65 74 45 78 74 65 6e 73 69 6f 6e 28 66 69 6c 65 29 3b 0d sion.=.Path.GetExtension(file);.
3140 0a 0d 0a 20 20 20 20 20 20 2f 2f 20 45 78 63 6c 75 64 65 20 66 69 6c 65 73 20 63 6f 6d 69 6e 67 .........//.Exclude.files.coming
3160 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 73 20 65 78 63 65 70 74 20 69 66 20 74 68 65 79 20 61 72 .from.packages.except.if.they.ar
3180 65 20 69 6e 74 65 72 6e 61 6c 69 7a 65 64 2e 0d 0a 20 20 20 20 20 20 69 66 20 28 21 6d 5f 53 68 e.internalized.........if.(!m_Sh
31a0 6f 75 6c 64 47 65 6e 65 72 61 74 65 41 6c 6c 20 26 26 20 49 73 49 6e 74 65 72 6e 61 6c 69 7a 65 ouldGenerateAll.&&.IsInternalize
31c0 64 50 61 63 6b 61 67 65 50 61 74 68 28 66 69 6c 65 29 29 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 dPackagePath(file))........{....
31e0 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a ......return.false;........}....
3200 20 20 20 20 20 20 2f 2f 20 44 6c 6c 27 73 20 61 72 65 20 6e 6f 74 20 73 63 72 69 70 74 73 20 62 ......//.Dll's.are.not.scripts.b
3220 75 74 20 73 74 69 6c 6c 20 6e 65 65 64 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 2e 2e 0d 0a ut.still.need.to.be.included....
3240 20 20 20 20 20 20 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 20 3d 3d 20 22 2e 64 6c 6c 22 29 0d 0a ......if.(extension.==.".dll")..
3260 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 69 66 ........return.true;..........if
3280 20 28 66 69 6c 65 2e 54 6f 4c 6f 77 65 72 28 29 2e 45 6e 64 73 57 69 74 68 28 22 2e 61 73 6d 64 .(file.ToLower().EndsWith(".asmd
32a0 65 66 22 29 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 0d 0a 20 ef"))..........return.true;.....
32c0 20 20 20 20 20 72 65 74 75 72 6e 20 49 73 53 75 70 70 6f 72 74 65 64 45 78 74 65 6e 73 69 6f 6e .....return.IsSupportedExtension
32e0 28 65 78 74 65 6e 73 69 6f 6e 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 62 6f 6f 6c 20 (extension);......}........bool.
3300 49 73 53 75 70 70 6f 72 74 65 64 45 78 74 65 6e 73 69 6f 6e 28 73 74 72 69 6e 67 20 65 78 74 65 IsSupportedExtension(string.exte
3320 6e 73 69 6f 6e 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 20 3d nsion)......{........extension.=
3340 20 65 78 74 65 6e 73 69 6f 6e 2e 54 72 69 6d 53 74 61 72 74 28 27 2e 27 29 3b 0d 0a 20 20 20 20 .extension.TrimStart('.');......
3360 20 20 69 66 20 28 6b 5f 42 75 69 6c 74 69 6e 53 75 70 70 6f 72 74 65 64 45 78 74 65 6e 73 69 6f ..if.(k_BuiltinSupportedExtensio
3380 6e 73 2e 43 6f 6e 74 61 69 6e 73 4b 65 79 28 65 78 74 65 6e 73 69 6f 6e 29 29 0d 0a 20 20 20 20 ns.ContainsKey(extension))......
33a0 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 69 66 20 28 6d 5f 50 72 ....return.true;........if.(m_Pr
33c0 6f 6a 65 63 74 53 75 70 70 6f 72 74 65 64 45 78 74 65 6e 73 69 6f 6e 73 2e 43 6f 6e 74 61 69 6e ojectSupportedExtensions.Contain
33e0 73 28 65 78 74 65 6e 73 69 6f 6e 29 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 s(extension))..........return.tr
3400 75 65 3b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 7d 0d ue;........return.false;......}.
3420 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 20 .......static.ScriptingLanguage.
3440 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 46 6f 72 28 41 73 73 65 6d 62 6c 79 20 69 73 ScriptingLanguageFor(Assembly.is
3460 6c 61 6e 64 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 53 63 72 69 70 land)......{........return.Scrip
3480 74 69 6e 67 4c 61 6e 67 75 61 67 65 46 6f 72 28 47 65 74 45 78 74 65 6e 73 69 6f 6e 4f 66 53 6f tingLanguageFor(GetExtensionOfSo
34a0 75 72 63 65 46 69 6c 65 73 28 69 73 6c 61 6e 64 2e 73 6f 75 72 63 65 46 69 6c 65 73 29 29 3b 0d urceFiles(island.sourceFiles));.
34c0 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 47 65 74 45 .....}........static.string.GetE
34e0 78 74 65 6e 73 69 6f 6e 4f 66 53 6f 75 72 63 65 46 69 6c 65 73 28 73 74 72 69 6e 67 5b 5d 20 66 xtensionOfSourceFiles(string[].f
3500 69 6c 65 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 69 6c 65 73 iles)......{........return.files
3520 2e 4c 65 6e 67 74 68 20 3e 20 30 20 3f 20 47 65 74 45 78 74 65 6e 73 69 6f 6e 4f 66 53 6f 75 72 .Length.>.0.?.GetExtensionOfSour
3540 63 65 46 69 6c 65 28 66 69 6c 65 73 5b 30 5d 29 20 3a 20 22 4e 41 22 3b 0d 0a 20 20 20 20 7d 0d ceFile(files[0]).:."NA";......}.
3560 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 47 65 74 45 78 74 65 6e 73 69 6f .......static.string.GetExtensio
3580 6e 4f 66 53 6f 75 72 63 65 46 69 6c 65 28 73 74 72 69 6e 67 20 66 69 6c 65 29 0d 0a 20 20 20 20 nOfSourceFile(string.file)......
35a0 7b 0d 0a 20 20 20 20 20 20 76 61 72 20 65 78 74 20 3d 20 50 61 74 68 2e 47 65 74 45 78 74 65 6e {........var.ext.=.Path.GetExten
35c0 73 69 6f 6e 28 66 69 6c 65 29 2e 54 6f 4c 6f 77 65 72 28 29 3b 0d 0a 20 20 20 20 20 20 65 78 74 sion(file).ToLower();........ext
35e0 20 3d 20 65 78 74 2e 53 75 62 73 74 72 69 6e 67 28 31 29 3b 20 2f 2f 73 74 72 69 70 20 64 6f 74 .=.ext.Substring(1);.//strip.dot
3600 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 78 74 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 ........return.ext;......}......
3620 20 20 73 74 61 74 69 63 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 20 53 63 72 69 70 ..static.ScriptingLanguage.Scrip
3640 74 69 6e 67 4c 61 6e 67 75 61 67 65 46 6f 72 28 73 74 72 69 6e 67 20 65 78 74 65 6e 73 69 6f 6e tingLanguageFor(string.extension
3660 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 6b 5f 42 75 69 6c 74 69 6e )......{........return.k_Builtin
3680 53 75 70 70 6f 72 74 65 64 45 78 74 65 6e 73 69 6f 6e 73 2e 54 72 79 47 65 74 56 61 6c 75 65 28 SupportedExtensions.TryGetValue(
36a0 65 78 74 65 6e 73 69 6f 6e 2e 54 72 69 6d 53 74 61 72 74 28 27 2e 27 29 2c 20 6f 75 74 20 76 61 extension.TrimStart('.'),.out.va
36c0 72 20 72 65 73 75 6c 74 29 0d 0a 20 20 20 20 20 20 20 20 3f 20 72 65 73 75 6c 74 0d 0a 20 20 20 r.result)..........?.result.....
36e0 20 20 20 20 20 3a 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 2e 4e 6f 6e 65 3b 0d 0a .....:.ScriptingLanguage.None;..
3700 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 47 65 6e 65 72 61 74 ....}........public.void.Generat
3720 65 41 6e 64 57 72 69 74 65 53 6f 6c 75 74 69 6f 6e 41 6e 64 50 72 6f 6a 65 63 74 73 28 54 79 70 eAndWriteSolutionAndProjects(Typ
3740 65 5b 5d 20 74 79 70 65 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 2f 2f 20 4f 6e 6c 79 e[].types)......{........//.Only
3760 20 73 79 6e 63 68 72 6f 6e 69 7a 65 20 69 73 6c 61 6e 64 73 20 74 68 61 74 20 68 61 76 65 20 61 .synchronize.islands.that.have.a
3780 73 73 6f 63 69 61 74 65 64 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 61 6e 64 20 6f 6e 65 73 20 ssociated.source.files.and.ones.
37a0 74 68 61 74 20 77 65 20 61 63 74 75 61 6c 6c 79 20 77 61 6e 74 20 69 6e 20 74 68 65 20 70 72 6f that.we.actually.want.in.the.pro
37c0 6a 65 63 74 2e 0d 0a 20 20 20 20 20 20 2f 2f 20 54 68 69 73 20 61 6c 73 6f 20 66 69 6c 74 65 72 ject.........//.This.also.filter
37e0 73 20 6f 75 74 20 44 4c 4c 73 20 63 6f 6d 69 6e 67 20 66 72 6f 6d 20 2e 61 73 6d 64 65 66 20 66 s.out.DLLs.coming.from..asmdef.f
3800 69 6c 65 73 20 69 6e 20 70 61 63 6b 61 67 65 73 2e 0d 0a 20 20 20 20 20 20 76 61 72 20 61 73 73 iles.in.packages.........var.ass
3820 65 6d 62 6c 69 65 73 20 3d 20 6d 5f 41 73 73 65 6d 62 6c 79 4e 61 6d 65 50 72 6f 76 69 64 65 72 emblies.=.m_AssemblyNameProvider
3840 2e 47 65 74 41 73 73 65 6d 62 6c 69 65 73 28 53 68 6f 75 6c 64 46 69 6c 65 42 65 50 61 72 74 4f .GetAssemblies(ShouldFileBePartO
3860 66 53 6f 6c 75 74 69 6f 6e 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 76 61 72 20 61 6c 6c 41 73 73 65 fSolution);..........var.allAsse
3880 74 50 72 6f 6a 65 63 74 50 61 72 74 73 20 3d 20 47 65 6e 65 72 61 74 65 41 6c 6c 41 73 73 65 74 tProjectParts.=.GenerateAllAsset
38a0 50 72 6f 6a 65 63 74 50 61 72 74 73 28 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 76 61 72 20 6d 6f 6e ProjectParts();..........var.mon
38c0 6f 49 73 6c 61 6e 64 73 20 3d 20 61 73 73 65 6d 62 6c 69 65 73 2e 54 6f 4c 69 73 74 28 29 3b 0d oIslands.=.assemblies.ToList();.
38e0 0a 0d 0a 20 20 20 20 20 20 53 79 6e 63 53 6f 6c 75 74 69 6f 6e 28 6d 6f 6e 6f 49 73 6c 61 6e 64 .........SyncSolution(monoIsland
3900 73 2c 20 74 79 70 65 73 29 3b 0d 0a 20 20 20 20 20 20 76 61 72 20 61 6c 6c 50 72 6f 6a 65 63 74 s,.types);........var.allProject
3920 49 73 6c 61 6e 64 73 20 3d 20 52 65 6c 65 76 61 6e 74 49 73 6c 61 6e 64 73 46 6f 72 4d 6f 64 65 Islands.=.RelevantIslandsForMode
3940 28 6d 6f 6e 6f 49 73 6c 61 6e 64 73 29 2e 54 6f 4c 69 73 74 28 29 3b 0d 0a 20 20 20 20 20 20 66 (monoIslands).ToList();........f
3960 6f 72 65 61 63 68 20 28 41 73 73 65 6d 62 6c 79 20 61 73 73 65 6d 62 6c 79 20 69 6e 20 61 6c 6c oreach.(Assembly.assembly.in.all
3980 50 72 6f 6a 65 63 74 49 73 6c 61 6e 64 73 29 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 ProjectIslands)........{........
39a0 20 20 76 61 72 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 44 61 74 61 20 3d 20 50 61 72 73 65 52 65 ..var.responseFileData.=.ParseRe
39c0 73 70 6f 6e 73 65 46 69 6c 65 44 61 74 61 28 61 73 73 65 6d 62 6c 79 29 3b 0d 0a 20 20 20 20 20 sponseFileData(assembly);.......
39e0 20 20 20 53 79 6e 63 50 72 6f 6a 65 63 74 28 61 73 73 65 6d 62 6c 79 2c 20 61 6c 6c 41 73 73 65 ...SyncProject(assembly,.allAsse
3a00 74 50 72 6f 6a 65 63 74 50 61 72 74 73 2c 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 44 61 74 61 2c tProjectParts,.responseFileData,
3a20 20 61 6c 6c 50 72 6f 6a 65 63 74 49 73 6c 61 6e 64 73 2c 20 74 79 70 65 73 29 3b 0d 0a 20 20 20 .allProjectIslands,.types);.....
3a40 20 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 52 ...}......}........IEnumerable<R
3a60 65 73 70 6f 6e 73 65 46 69 6c 65 44 61 74 61 3e 20 50 61 72 73 65 52 65 73 70 6f 6e 73 65 46 69 esponseFileData>.ParseResponseFi
3a80 6c 65 44 61 74 61 28 41 73 73 65 6d 62 6c 79 20 61 73 73 65 6d 62 6c 79 29 0d 0a 20 20 20 20 7b leData(Assembly.assembly)......{
3aa0 0d 0a 20 20 20 20 20 20 76 61 72 20 73 79 73 74 65 6d 52 65 66 65 72 65 6e 63 65 44 69 72 65 63 ........var.systemReferenceDirec
3ac0 74 6f 72 69 65 73 20 3d 0d 0a 20 20 20 20 20 20 20 20 43 6f 6d 70 69 6c 61 74 69 6f 6e 50 69 70 tories.=..........CompilationPip
3ae0 65 6c 69 6e 65 2e 47 65 74 53 79 73 74 65 6d 41 73 73 65 6d 62 6c 79 44 69 72 65 63 74 6f 72 69 eline.GetSystemAssemblyDirectori
3b00 65 73 28 61 73 73 65 6d 62 6c 79 2e 63 6f 6d 70 69 6c 65 72 4f 70 74 69 6f 6e 73 2e 41 70 69 43 es(assembly.compilerOptions.ApiC
3b20 6f 6d 70 61 74 69 62 69 6c 69 74 79 4c 65 76 65 6c 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 44 69 63 ompatibilityLevel);..........Dic
3b40 74 69 6f 6e 61 72 79 3c 73 74 72 69 6e 67 2c 20 52 65 73 70 6f 6e 73 65 46 69 6c 65 44 61 74 61 tionary<string,.ResponseFileData
3b60 3e 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 20 3d 20 61 73 73 65 6d 62 6c 79 2e 63 >.responseFilesData.=.assembly.c
3b80 6f 6d 70 69 6c 65 72 4f 70 74 69 6f 6e 73 2e 52 65 73 70 6f 6e 73 65 46 69 6c 65 73 2e 54 6f 44 ompilerOptions.ResponseFiles.ToD
3ba0 69 63 74 69 6f 6e 61 72 79 28 0d 0a 20 20 20 20 20 20 20 20 78 20 3d 3e 20 78 2c 20 78 20 3d 3e ictionary(..........x.=>.x,.x.=>
3bc0 20 6d 5f 41 73 73 65 6d 62 6c 79 4e 61 6d 65 50 72 6f 76 69 64 65 72 2e 50 61 72 73 65 52 65 73 .m_AssemblyNameProvider.ParseRes
3be0 70 6f 6e 73 65 46 69 6c 65 28 0d 0a 20 20 20 20 20 20 20 20 20 20 78 2c 0d 0a 20 20 20 20 20 20 ponseFile(............x,........
3c00 20 20 20 20 50 72 6f 6a 65 63 74 44 69 72 65 63 74 6f 72 79 2c 0d 0a 20 20 20 20 20 20 20 20 20 ....ProjectDirectory,...........
3c20 20 73 79 73 74 65 6d 52 65 66 65 72 65 6e 63 65 44 69 72 65 63 74 6f 72 69 65 73 0d 0a 20 20 20 .systemReferenceDirectories.....
3c40 20 20 20 20 20 29 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 44 69 63 74 69 6f 6e 61 72 79 3c 73 74 72 .....));..........Dictionary<str
3c60 69 6e 67 2c 20 52 65 73 70 6f 6e 73 65 46 69 6c 65 44 61 74 61 3e 20 72 65 73 70 6f 6e 73 65 46 ing,.ResponseFileData>.responseF
3c80 69 6c 65 73 57 69 74 68 45 72 72 6f 72 73 20 3d 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 ilesWithErrors.=.responseFilesDa
3ca0 74 61 2e 57 68 65 72 65 28 78 20 3d 3e 20 78 2e 56 61 6c 75 65 2e 45 72 72 6f 72 73 2e 41 6e 79 ta.Where(x.=>.x.Value.Errors.Any
3cc0 28 29 29 0d 0a 20 20 20 20 20 20 20 20 2e 54 6f 44 69 63 74 69 6f 6e 61 72 79 28 78 20 3d 3e 20 ())...........ToDictionary(x.=>.
3ce0 78 2e 4b 65 79 2c 20 78 20 3d 3e 20 78 2e 56 61 6c 75 65 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 69 x.Key,.x.=>.x.Value);..........i
3d00 66 20 28 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 57 69 74 68 45 72 72 6f 72 73 2e 41 6e 79 28 29 f.(responseFilesWithErrors.Any()
3d20 29 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 )........{..........foreach.(var
3d40 20 65 72 72 6f 72 20 69 6e 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 57 69 74 68 45 72 72 6f 72 .error.in.responseFilesWithError
3d60 73 29 0d 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 76 61 6c 75 65 45 72 s)..........foreach.(var.valueEr
3d80 72 6f 72 20 69 6e 20 65 72 72 6f 72 2e 56 61 6c 75 65 2e 45 72 72 6f 72 73 29 0d 0a 20 20 20 20 ror.in.error.Value.Errors)......
3da0 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 45 72 72 6f 72 28 ....{............Debug.LogError(
3dc0 24 22 7b 65 72 72 6f 72 2e 4b 65 79 7d 20 50 61 72 73 65 20 45 72 72 6f 72 20 3a 20 7b 76 61 6c $"{error.Key}.Parse.Error.:.{val
3de0 75 65 45 72 72 6f 72 7d 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 7d 0d ueError}");..........}........}.
3e00 0a 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 .........return.responseFilesDat
3e20 61 2e 53 65 6c 65 63 74 28 78 20 3d 3e 20 78 2e 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 7d 0d 0a a.Select(x.=>.x.Value);......}..
3e40 0d 0a 20 20 20 20 44 69 63 74 69 6f 6e 61 72 79 3c 73 74 72 69 6e 67 2c 20 73 74 72 69 6e 67 3e ......Dictionary<string,.string>
3e60 20 47 65 6e 65 72 61 74 65 41 6c 6c 41 73 73 65 74 50 72 6f 6a 65 63 74 50 61 72 74 73 28 29 0d .GenerateAllAssetProjectParts().
3e80 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 44 69 63 74 69 6f 6e 61 72 79 3c 73 74 72 69 6e 67 2c .....{........Dictionary<string,
3ea0 20 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3e 20 73 74 72 69 6e 67 42 75 69 6c 64 65 72 73 20 3d .StringBuilder>.stringBuilders.=
3ec0 20 6e 65 77 20 44 69 63 74 69 6f 6e 61 72 79 3c 73 74 72 69 6e 67 2c 20 53 74 72 69 6e 67 42 75 .new.Dictionary<string,.StringBu
3ee0 69 6c 64 65 72 3e 28 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 73 74 72 69 ilder>();..........foreach.(stri
3f00 6e 67 20 61 73 73 65 74 20 69 6e 20 6d 5f 41 73 73 65 6d 62 6c 79 4e 61 6d 65 50 72 6f 76 69 64 ng.asset.in.m_AssemblyNameProvid
3f20 65 72 2e 47 65 74 41 6c 6c 41 73 73 65 74 50 61 74 68 73 28 29 29 0d 0a 20 20 20 20 20 20 7b 0d er.GetAllAssetPaths())........{.
3f40 0a 20 20 20 20 20 20 20 20 2f 2f 20 45 78 63 6c 75 64 65 20 66 69 6c 65 73 20 63 6f 6d 69 6e 67 .........//.Exclude.files.coming
3f60 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 73 20 65 78 63 65 70 74 20 69 66 20 74 68 65 79 20 61 72 .from.packages.except.if.they.ar
3f80 65 20 69 6e 74 65 72 6e 61 6c 69 7a 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 6d 5f e.internalized...........if.(!m_
3fa0 53 68 6f 75 6c 64 47 65 6e 65 72 61 74 65 41 6c 6c 20 26 26 20 49 73 49 6e 74 65 72 6e 61 6c 69 ShouldGenerateAll.&&.IsInternali
3fc0 7a 65 64 50 61 63 6b 61 67 65 50 61 74 68 28 61 73 73 65 74 29 29 0d 0a 20 20 20 20 20 20 20 20 zedPackagePath(asset))..........
3fe0 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 {............continue;..........
4000 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 65 78 74 65 6e 73 69 6f 6e 20 3d 20 }............string.extension.=.
4020 50 61 74 68 2e 47 65 74 45 78 74 65 6e 73 69 6f 6e 28 61 73 73 65 74 29 3b 0d 0a 20 20 20 20 20 Path.GetExtension(asset);.......
4040 20 20 20 69 66 20 28 49 73 53 75 70 70 6f 72 74 65 64 45 78 74 65 6e 73 69 6f 6e 28 65 78 74 65 ...if.(IsSupportedExtension(exte
4060 6e 73 69 6f 6e 29 20 26 26 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 2e 4e 6f 6e 65 nsion).&&.ScriptingLanguage.None
4080 20 3d 3d 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 46 6f 72 28 65 78 74 65 6e 73 69 .==.ScriptingLanguageFor(extensi
40a0 6f 6e 29 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 2f 2f 20 46 69 on))..........{............//.Fi
40c0 6e 64 20 61 73 73 65 6d 62 6c 79 20 74 68 65 20 61 73 73 65 74 20 62 65 6c 6f 6e 67 73 20 74 6f nd.assembly.the.asset.belongs.to
40e0 20 62 79 20 61 64 64 69 6e 67 20 73 63 72 69 70 74 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 .by.adding.script.extension.and.
4100 75 73 69 6e 67 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 69 70 65 6c 69 6e 65 2e 0d 0a 20 20 20 using.compilation.pipeline......
4120 20 20 20 20 20 20 20 76 61 72 20 61 73 73 65 6d 62 6c 79 4e 61 6d 65 20 3d 20 6d 5f 41 73 73 65 .......var.assemblyName.=.m_Asse
4140 6d 62 6c 79 4e 61 6d 65 50 72 6f 76 69 64 65 72 2e 47 65 74 41 73 73 65 6d 62 6c 79 4e 61 6d 65 mblyNameProvider.GetAssemblyName
4160 46 72 6f 6d 53 63 72 69 70 74 50 61 74 68 28 61 73 73 65 74 20 2b 20 22 2e 63 73 22 29 3b 0d 0a FromScriptPath(asset.+.".cs");..
4180 0d 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 ............if.(string.IsNullOrE
41a0 6d 70 74 79 28 61 73 73 65 6d 62 6c 79 4e 61 6d 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 7b mpty(assemblyName))............{
41c0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 ..............continue;.........
41e0 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 61 73 73 65 6d 62 6c 79 4e 61 6d 65 20 3d ...}..............assemblyName.=
4200 20 46 69 6c 65 53 79 73 74 65 6d 55 74 69 6c 2e 46 69 6c 65 4e 61 6d 65 57 69 74 68 6f 75 74 45 .FileSystemUtil.FileNameWithoutE
4220 78 74 65 6e 73 69 6f 6e 28 61 73 73 65 6d 62 6c 79 4e 61 6d 65 29 3b 0d 0a 0d 0a 20 20 20 20 20 xtension(assemblyName);.........
4240 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 42 75 69 6c 64 65 72 73 2e 54 72 79 47 65 74 56 .....if.(!stringBuilders.TryGetV
4260 61 6c 75 65 28 61 73 73 65 6d 62 6c 79 4e 61 6d 65 2c 20 6f 75 74 20 76 61 72 20 70 72 6f 6a 65 alue(assemblyName,.out.var.proje
4280 63 74 42 75 69 6c 64 65 72 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 ctBuilder))............{........
42a0 20 20 20 20 20 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 65 72 20 3d 20 6e 65 77 20 53 74 72 69 6e ......projectBuilder.=.new.Strin
42c0 67 42 75 69 6c 64 65 72 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 42 gBuilder();..............stringB
42e0 75 69 6c 64 65 72 73 5b 61 73 73 65 6d 62 6c 79 4e 61 6d 65 5d 20 3d 20 70 72 6f 6a 65 63 74 42 uilders[assemblyName].=.projectB
4300 75 69 6c 64 65 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 uilder;............}............
4320 20 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 28 22 20 20 20 20 20 3c 4e ..projectBuilder.Append(".....<N
4340 6f 6e 65 20 49 6e 63 6c 75 64 65 3d 5c 22 22 29 2e 41 70 70 65 6e 64 28 45 73 63 61 70 65 64 52 one.Include=\"").Append(EscapedR
4360 65 6c 61 74 69 76 65 50 61 74 68 46 6f 72 28 61 73 73 65 74 29 29 2e 41 70 70 65 6e 64 28 22 5c elativePathFor(asset)).Append("\
4380 22 20 2f 3e 22 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 41 70 70 65 6e 64 28 45 6e 76 69 "./>")...............Append(Envi
43a0 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 ronment.NewLine);..........}....
43c0 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 76 61 72 20 72 65 73 75 6c 74 20 3d 20 6e 65 77 20 ....}..........var.result.=.new.
43e0 44 69 63 74 69 6f 6e 61 72 79 3c 73 74 72 69 6e 67 2c 20 73 74 72 69 6e 67 3e 28 29 3b 0d 0a 0d Dictionary<string,.string>();...
4400 0a 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 65 6e 74 72 79 20 69 6e 20 73 74 72 .......foreach.(var.entry.in.str
4420 69 6e 67 42 75 69 6c 64 65 72 73 29 0d 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 5b 65 6e 74 ingBuilders)..........result[ent
4440 72 79 2e 4b 65 79 5d 20 3d 20 65 6e 74 72 79 2e 56 61 6c 75 65 2e 54 6f 53 74 72 69 6e 67 28 29 ry.Key].=.entry.Value.ToString()
4460 3b 0d 0a 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0d 0a 20 20 20 20 7d ;..........return.result;......}
4480 0d 0a 0d 0a 20 20 20 20 62 6f 6f 6c 20 49 73 49 6e 74 65 72 6e 61 6c 69 7a 65 64 50 61 63 6b 61 ........bool.IsInternalizedPacka
44a0 67 65 50 61 74 68 28 73 74 72 69 6e 67 20 66 69 6c 65 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 gePath(string.file)......{......
44c0 20 20 69 66 20 28 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 57 68 69 74 65 53 70 61 63 65 28 ..if.(string.IsNullOrWhiteSpace(
44e0 66 69 6c 65 29 29 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 file))........{..........return.
4500 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 76 61 72 20 70 61 63 false;........}..........var.pac
4520 6b 61 67 65 49 6e 66 6f 20 3d 20 6d 5f 41 73 73 65 6d 62 6c 79 4e 61 6d 65 50 72 6f 76 69 64 65 kageInfo.=.m_AssemblyNameProvide
4540 72 2e 46 69 6e 64 46 6f 72 41 73 73 65 74 50 61 74 68 28 66 69 6c 65 29 3b 0d 0a 20 20 20 20 20 r.FindForAssetPath(file);.......
4560 20 69 66 20 28 70 61 63 6b 61 67 65 49 6e 66 6f 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 .if.(packageInfo.==.null).......
4580 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 .{..........return.false;.......
45a0 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 76 61 72 20 70 61 63 6b 61 67 65 53 6f 75 72 63 65 20 3d 20 .}..........var.packageSource.=.
45c0 70 61 63 6b 61 67 65 49 6e 66 6f 2e 73 6f 75 72 63 65 3b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 packageInfo.source;........retur
45e0 6e 20 70 61 63 6b 61 67 65 53 6f 75 72 63 65 20 21 3d 20 50 61 63 6b 61 67 65 53 6f 75 72 63 65 n.packageSource.!=.PackageSource
4600 2e 45 6d 62 65 64 64 65 64 20 26 26 20 70 61 63 6b 61 67 65 53 6f 75 72 63 65 20 21 3d 20 50 61 .Embedded.&&.packageSource.!=.Pa
4620 63 6b 61 67 65 53 6f 75 72 63 65 2e 4c 6f 63 61 6c 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 ckageSource.Local;......}.......
4640 20 76 6f 69 64 20 53 79 6e 63 50 72 6f 6a 65 63 74 28 0d 0a 20 20 20 20 20 20 41 73 73 65 6d 62 .void.SyncProject(........Assemb
4660 6c 79 20 69 73 6c 61 6e 64 2c 0d 0a 20 20 20 20 20 20 44 69 63 74 69 6f 6e 61 72 79 3c 73 74 72 ly.island,........Dictionary<str
4680 69 6e 67 2c 20 73 74 72 69 6e 67 3e 20 61 6c 6c 41 73 73 65 74 73 50 72 6f 6a 65 63 74 50 61 72 ing,.string>.allAssetsProjectPar
46a0 74 73 2c 0d 0a 20 20 20 20 20 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 52 65 73 70 6f 6e 73 65 46 ts,........IEnumerable<ResponseF
46c0 69 6c 65 44 61 74 61 3e 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 2c 0d 0a 20 20 20 ileData>.responseFilesData,.....
46e0 20 20 20 4c 69 73 74 3c 41 73 73 65 6d 62 6c 79 3e 20 61 6c 6c 50 72 6f 6a 65 63 74 49 73 6c 61 ...List<Assembly>.allProjectIsla
4700 6e 64 73 2c 0d 0a 20 20 20 20 20 20 54 79 70 65 5b 5d 20 74 79 70 65 73 29 0d 0a 20 20 20 20 7b nds,........Type[].types)......{
4720 0d 0a 20 20 20 20 20 20 53 79 6e 63 50 72 6f 6a 65 63 74 46 69 6c 65 49 66 4e 6f 74 43 68 61 6e ........SyncProjectFileIfNotChan
4740 67 65 64 28 50 72 6f 6a 65 63 74 46 69 6c 65 28 69 73 6c 61 6e 64 29 2c 0d 0a 20 20 20 20 20 20 ged(ProjectFile(island),........
4760 20 20 50 72 6f 6a 65 63 74 54 65 78 74 28 69 73 6c 61 6e 64 2c 20 61 6c 6c 41 73 73 65 74 73 50 ..ProjectText(island,.allAssetsP
4780 72 6f 6a 65 63 74 50 61 72 74 73 2c 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 2e 54 rojectParts,.responseFilesData.T
47a0 6f 4c 69 73 74 28 29 2c 20 61 6c 6c 50 72 6f 6a 65 63 74 49 73 6c 61 6e 64 73 29 2c 20 74 79 70 oList(),.allProjectIslands),.typ
47c0 65 73 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 76 6f 69 64 20 53 79 6e 63 50 72 6f 6a es);......}........void.SyncProj
47e0 65 63 74 46 69 6c 65 49 66 4e 6f 74 43 68 61 6e 67 65 64 28 73 74 72 69 6e 67 20 70 61 74 68 2c ectFileIfNotChanged(string.path,
4800 20 73 74 72 69 6e 67 20 6e 65 77 43 6f 6e 74 65 6e 74 73 2c 20 54 79 70 65 5b 5d 20 74 79 70 65 .string.newContents,.Type[].type
4820 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 69 66 20 28 50 61 74 68 2e 47 65 74 45 78 74 s)......{........if.(Path.GetExt
4840 65 6e 73 69 6f 6e 28 70 61 74 68 29 20 3d 3d 20 22 2e 63 73 70 72 6f 6a 22 29 0d 0a 20 20 20 20 ension(path).==.".csproj")......
4860 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 6e 65 77 43 6f 6e 74 65 6e 74 73 20 3d 20 4f 6e 47 65 6e ..{..........newContents.=.OnGen
4880 65 72 61 74 65 64 43 53 50 72 6f 6a 65 63 74 28 70 61 74 68 2c 20 6e 65 77 43 6f 6e 74 65 6e 74 eratedCSProject(path,.newContent
48a0 73 2c 20 74 79 70 65 73 29 3b 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 53 79 6e s,.types);........}..........Syn
48c0 63 46 69 6c 65 49 66 4e 6f 74 43 68 61 6e 67 65 64 28 70 61 74 68 2c 20 6e 65 77 43 6f 6e 74 65 cFileIfNotChanged(path,.newConte
48e0 6e 74 73 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 76 6f 69 64 20 53 79 6e 63 53 6f 6c nts);......}........void.SyncSol
4900 75 74 69 6f 6e 46 69 6c 65 49 66 4e 6f 74 43 68 61 6e 67 65 64 28 73 74 72 69 6e 67 20 70 61 74 utionFileIfNotChanged(string.pat
4920 68 2c 20 73 74 72 69 6e 67 20 6e 65 77 43 6f 6e 74 65 6e 74 73 2c 20 54 79 70 65 5b 5d 20 74 79 h,.string.newContents,.Type[].ty
4940 70 65 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 6e 65 77 43 6f 6e 74 65 6e 74 73 20 3d pes)......{........newContents.=
4960 20 4f 6e 47 65 6e 65 72 61 74 65 64 53 6c 6e 53 6f 6c 75 74 69 6f 6e 28 70 61 74 68 2c 20 6e 65 .OnGeneratedSlnSolution(path,.ne
4980 77 43 6f 6e 74 65 6e 74 73 2c 20 74 79 70 65 73 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 53 79 6e 63 wContents,.types);..........Sync
49a0 46 69 6c 65 49 66 4e 6f 74 43 68 61 6e 67 65 64 28 70 61 74 68 2c 20 6e 65 77 43 6f 6e 74 65 6e FileIfNotChanged(path,.newConten
49c0 74 73 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 4c 69 73 74 3c 54 ts);......}........static.List<T
49e0 79 70 65 3e 20 53 61 66 65 47 65 74 54 79 70 65 73 28 53 79 73 74 65 6d 2e 52 65 66 6c 65 63 74 ype>.SafeGetTypes(System.Reflect
4a00 69 6f 6e 2e 41 73 73 65 6d 62 6c 79 20 61 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 4c 69 ion.Assembly.a)......{........Li
4a20 73 74 3c 54 79 70 65 3e 20 72 65 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 74 72 79 0d 0a 20 20 20 20 st<Type>.ret;..........try......
4a40 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 20 3d 20 61 2e 47 65 74 54 79 70 65 73 28 29 2e ..{..........ret.=.a.GetTypes().
4a60 54 6f 4c 69 73 74 28 29 3b 0d 0a 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 63 61 74 63 68 20 ToList();........}........catch.
4a80 28 53 79 73 74 65 6d 2e 52 65 66 6c 65 63 74 69 6f 6e 2e 52 65 66 6c 65 63 74 69 6f 6e 54 79 70 (System.Reflection.ReflectionTyp
4aa0 65 4c 6f 61 64 45 78 63 65 70 74 69 6f 6e 20 72 74 6c 29 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 eLoadException.rtl)........{....
4ac0 20 20 20 20 20 20 72 65 74 20 3d 20 72 74 6c 2e 54 79 70 65 73 2e 54 6f 4c 69 73 74 28 29 3b 0d ......ret.=.rtl.Types.ToList();.
4ae0 0a 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 63 61 74 63 68 20 28 45 78 63 65 70 74 69 6f 6e .......}........catch.(Exception
4b00 29 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 4c )........{..........return.new.L
4b20 69 73 74 3c 54 79 70 65 3e 28 29 3b 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 72 ist<Type>();........}..........r
4b40 65 74 75 72 6e 20 72 65 74 2e 57 68 65 72 65 28 72 20 3d 3e 20 72 20 21 3d 20 6e 75 6c 6c 29 2e eturn.ret.Where(r.=>.r.!=.null).
4b60 54 6f 4c 69 73 74 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 76 ToList();......}........static.v
4b80 6f 69 64 20 4f 6e 47 65 6e 65 72 61 74 65 64 43 53 50 72 6f 6a 65 63 74 46 69 6c 65 73 28 54 79 oid.OnGeneratedCSProjectFiles(Ty
4ba0 70 65 5b 5d 20 74 79 70 65 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 76 61 72 20 61 72 pe[].types)......{........var.ar
4bc0 67 73 20 3d 20 6e 65 77 20 6f 62 6a 65 63 74 5b 30 5d 3b 0d 0a 20 20 20 20 20 20 66 6f 72 65 61 gs.=.new.object[0];........forea
4be0 63 68 20 28 76 61 72 20 74 79 70 65 20 69 6e 20 74 79 70 65 73 29 0d 0a 20 20 20 20 20 20 7b 0d ch.(var.type.in.types)........{.
4c00 0a 20 20 20 20 20 20 20 20 76 61 72 20 6d 65 74 68 6f 64 20 3d 20 74 79 70 65 2e 47 65 74 4d 65 .........var.method.=.type.GetMe
4c20 74 68 6f 64 28 22 4f 6e 47 65 6e 65 72 61 74 65 64 43 53 50 72 6f 6a 65 63 74 46 69 6c 65 73 22 thod("OnGeneratedCSProjectFiles"
4c40 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 53 79 73 74 65 6d 2e 52 65 66 6c 65 63 74 69 6f 6e 2e 42 ,............System.Reflection.B
4c60 69 6e 64 69 6e 67 46 6c 61 67 73 2e 50 75 62 6c 69 63 20 7c 20 53 79 73 74 65 6d 2e 52 65 66 6c indingFlags.Public.|.System.Refl
4c80 65 63 74 69 6f 6e 2e 42 69 6e 64 69 6e 67 46 6c 61 67 73 2e 4e 6f 6e 50 75 62 6c 69 63 20 7c 0d ection.BindingFlags.NonPublic.|.
4ca0 0a 20 20 20 20 20 20 20 20 20 20 53 79 73 74 65 6d 2e 52 65 66 6c 65 63 74 69 6f 6e 2e 42 69 6e ...........System.Reflection.Bin
4cc0 64 69 6e 67 46 6c 61 67 73 2e 53 74 61 74 69 63 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 dingFlags.Static);..........if.(
4ce0 6d 65 74 68 6f 64 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 method.==.null)..........{......
4d00 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 ......continue;..........}......
4d20 20 20 20 20 20 20 6d 65 74 68 6f 64 2e 49 6e 76 6f 6b 65 28 6e 75 6c 6c 2c 20 61 72 67 73 29 3b ......method.Invoke(null,.args);
4d40 0d 0a 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 73 ........}......}........public.s
4d60 74 61 74 69 63 20 54 79 70 65 5b 5d 20 47 65 74 41 73 73 65 74 50 6f 73 74 70 72 6f 63 65 73 73 tatic.Type[].GetAssetPostprocess
4d80 6f 72 54 79 70 65 73 28 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 54 orTypes()......{........return.T
4da0 79 70 65 43 61 63 68 65 2e 47 65 74 54 79 70 65 73 44 65 72 69 76 65 64 46 72 6f 6d 3c 41 73 73 ypeCache.GetTypesDerivedFrom<Ass
4dc0 65 74 50 6f 73 74 70 72 6f 63 65 73 73 6f 72 3e 28 29 2e 54 6f 41 72 72 61 79 28 29 3b 20 2f 2f etPostprocessor>().ToArray();.//
4de0 20 64 6f 65 73 6e 27 74 20 66 69 6e 64 20 74 79 70 65 73 20 66 72 6f 6d 20 45 64 69 74 6f 72 50 .doesn't.find.types.from.EditorP
4e00 6c 75 67 69 6e 2c 20 77 68 69 63 68 20 69 73 20 66 69 6e 65 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 lugin,.which.is.fine......}.....
4e20 20 20 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 4f 6e 50 72 65 47 65 6e 65 72 61 74 69 6e 67 43 53 ...static.bool.OnPreGeneratingCS
4e40 50 72 6f 6a 65 63 74 46 69 6c 65 73 28 54 79 70 65 5b 5d 20 74 79 70 65 73 29 0d 0a 20 20 20 20 ProjectFiles(Type[].types)......
4e60 7b 0d 0a 20 20 20 20 20 20 62 6f 6f 6c 20 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 {........bool.result.=.false;...
4e80 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 74 79 70 65 20 69 6e 20 74 79 70 65 73 29 .....foreach.(var.type.in.types)
4ea0 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 61 72 67 73 20 3d 20 6e 65 ........{..........var.args.=.ne
4ec0 77 20 6f 62 6a 65 63 74 5b 30 5d 3b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 6d 65 74 68 6f 64 w.object[0];..........var.method
4ee0 20 3d 20 74 79 70 65 2e 47 65 74 4d 65 74 68 6f 64 28 22 4f 6e 50 72 65 47 65 6e 65 72 61 74 69 .=.type.GetMethod("OnPreGenerati
4f00 6e 67 43 53 50 72 6f 6a 65 63 74 46 69 6c 65 73 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 53 79 ngCSProjectFiles",............Sy
4f20 73 74 65 6d 2e 52 65 66 6c 65 63 74 69 6f 6e 2e 42 69 6e 64 69 6e 67 46 6c 61 67 73 2e 50 75 62 stem.Reflection.BindingFlags.Pub
4f40 6c 69 63 20 7c 20 53 79 73 74 65 6d 2e 52 65 66 6c 65 63 74 69 6f 6e 2e 42 69 6e 64 69 6e 67 46 lic.|.System.Reflection.BindingF
4f60 6c 61 67 73 2e 4e 6f 6e 50 75 62 6c 69 63 20 7c 0d 0a 20 20 20 20 20 20 20 20 20 20 53 79 73 74 lags.NonPublic.|............Syst
4f80 65 6d 2e 52 65 66 6c 65 63 74 69 6f 6e 2e 42 69 6e 64 69 6e 67 46 6c 61 67 73 2e 53 74 61 74 69 em.Reflection.BindingFlags.Stati
4fa0 63 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 6d 65 74 68 6f 64 20 3d 3d 20 6e 75 6c 6c 29 c);..........if.(method.==.null)
4fc0 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b ..........{............continue;
4fe0 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 72 65 74 75 72 ..........}............var.retur
5000 6e 56 61 6c 75 65 20 3d 20 6d 65 74 68 6f 64 2e 49 6e 76 6f 6b 65 28 6e 75 6c 6c 2c 20 61 72 67 nValue.=.method.Invoke(null,.arg
5020 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 6d 65 74 68 6f 64 2e 52 65 74 75 72 6e 54 79 s);..........if.(method.ReturnTy
5040 70 65 20 3d 3d 20 74 79 70 65 6f 66 28 62 6f 6f 6c 29 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a pe.==.typeof(bool))..........{..
5060 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 7c 3d 20 28 62 6f 6f 6c 29 20 72 65 74 75 72 ..........result.|=.(bool).retur
5080 6e 56 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 nValue;..........}........}.....
50a0 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 .....return.result;......}......
50c0 20 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 4f 6e 47 65 6e 65 72 61 74 65 64 43 53 50 72 6f ..static.string.OnGeneratedCSPro
50e0 6a 65 63 74 28 73 74 72 69 6e 67 20 70 61 74 68 2c 20 73 74 72 69 6e 67 20 63 6f 6e 74 65 6e 74 ject(string.path,.string.content
5100 2c 20 54 79 70 65 5b 5d 20 74 79 70 65 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 66 6f ,.Type[].types)......{........fo
5120 72 65 61 63 68 20 28 76 61 72 20 74 79 70 65 20 69 6e 20 74 79 70 65 73 29 0d 0a 20 20 20 20 20 reach.(var.type.in.types).......
5140 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 61 72 67 73 20 3d 20 6e 65 77 5b 5d 20 7b 70 61 .{..........var.args.=.new[].{pa
5160 74 68 2c 20 63 6f 6e 74 65 6e 74 7d 3b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 6d 65 74 68 6f th,.content};..........var.metho
5180 64 20 3d 20 74 79 70 65 2e 47 65 74 4d 65 74 68 6f 64 28 22 4f 6e 47 65 6e 65 72 61 74 65 64 43 d.=.type.GetMethod("OnGeneratedC
51a0 53 50 72 6f 6a 65 63 74 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 53 79 73 74 65 6d 2e 52 65 66 SProject",............System.Ref
51c0 6c 65 63 74 69 6f 6e 2e 42 69 6e 64 69 6e 67 46 6c 61 67 73 2e 50 75 62 6c 69 63 20 7c 20 53 79 lection.BindingFlags.Public.|.Sy
51e0 73 74 65 6d 2e 52 65 66 6c 65 63 74 69 6f 6e 2e 42 69 6e 64 69 6e 67 46 6c 61 67 73 2e 4e 6f 6e stem.Reflection.BindingFlags.Non
5200 50 75 62 6c 69 63 20 7c 0d 0a 20 20 20 20 20 20 20 20 20 20 53 79 73 74 65 6d 2e 52 65 66 6c 65 Public.|............System.Refle
5220 63 74 69 6f 6e 2e 42 69 6e 64 69 6e 67 46 6c 61 67 73 2e 53 74 61 74 69 63 29 3b 0d 0a 20 20 20 ction.BindingFlags.Static);.....
5240 20 20 20 20 20 69 66 20 28 6d 65 74 68 6f 64 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 .....if.(method.==.null)........
5260 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 ..{............continue;........
5280 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 72 65 74 75 72 6e 56 61 6c 75 65 20 3d ..}............var.returnValue.=
52a0 20 6d 65 74 68 6f 64 2e 49 6e 76 6f 6b 65 28 6e 75 6c 6c 2c 20 61 72 67 73 29 3b 0d 0a 20 20 20 .method.Invoke(null,.args);.....
52c0 20 20 20 20 20 69 66 20 28 6d 65 74 68 6f 64 2e 52 65 74 75 72 6e 54 79 70 65 20 3d 3d 20 74 79 .....if.(method.ReturnType.==.ty
52e0 70 65 6f 66 28 73 74 72 69 6e 67 29 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 peof(string))..........{........
5300 20 20 20 20 63 6f 6e 74 65 6e 74 20 3d 20 28 73 74 72 69 6e 67 29 20 72 65 74 75 72 6e 56 61 6c ....content.=.(string).returnVal
5320 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 ue;..........}........}.........
5340 20 72 65 74 75 72 6e 20 63 6f 6e 74 65 6e 74 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 .return.content;......}........s
5360 74 61 74 69 63 20 73 74 72 69 6e 67 20 4f 6e 47 65 6e 65 72 61 74 65 64 53 6c 6e 53 6f 6c 75 74 tatic.string.OnGeneratedSlnSolut
5380 69 6f 6e 28 73 74 72 69 6e 67 20 70 61 74 68 2c 20 73 74 72 69 6e 67 20 63 6f 6e 74 65 6e 74 2c ion(string.path,.string.content,
53a0 20 54 79 70 65 5b 5d 20 74 79 70 65 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 66 6f 72 .Type[].types)......{........for
53c0 65 61 63 68 20 28 76 61 72 20 74 79 70 65 20 69 6e 20 74 79 70 65 73 29 0d 0a 20 20 20 20 20 20 each.(var.type.in.types)........
53e0 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 61 72 67 73 20 3d 20 6e 65 77 5b 5d 20 7b 70 61 74 {..........var.args.=.new[].{pat
5400 68 2c 20 63 6f 6e 74 65 6e 74 7d 3b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 6d 65 74 68 6f 64 h,.content};..........var.method
5420 20 3d 20 74 79 70 65 2e 47 65 74 4d 65 74 68 6f 64 28 22 4f 6e 47 65 6e 65 72 61 74 65 64 53 6c .=.type.GetMethod("OnGeneratedSl
5440 6e 53 6f 6c 75 74 69 6f 6e 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 53 79 73 74 65 6d 2e 52 65 nSolution",............System.Re
5460 66 6c 65 63 74 69 6f 6e 2e 42 69 6e 64 69 6e 67 46 6c 61 67 73 2e 50 75 62 6c 69 63 20 7c 20 53 flection.BindingFlags.Public.|.S
5480 79 73 74 65 6d 2e 52 65 66 6c 65 63 74 69 6f 6e 2e 42 69 6e 64 69 6e 67 46 6c 61 67 73 2e 4e 6f ystem.Reflection.BindingFlags.No
54a0 6e 50 75 62 6c 69 63 20 7c 0d 0a 20 20 20 20 20 20 20 20 20 20 53 79 73 74 65 6d 2e 52 65 66 6c nPublic.|............System.Refl
54c0 65 63 74 69 6f 6e 2e 42 69 6e 64 69 6e 67 46 6c 61 67 73 2e 53 74 61 74 69 63 29 3b 0d 0a 20 20 ection.BindingFlags.Static);....
54e0 20 20 20 20 20 20 69 66 20 28 6d 65 74 68 6f 64 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 ......if.(method.==.null).......
5500 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 ...{............continue;.......
5520 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 72 65 74 75 72 6e 56 61 6c 75 65 20 ...}............var.returnValue.
5540 3d 20 6d 65 74 68 6f 64 2e 49 6e 76 6f 6b 65 28 6e 75 6c 6c 2c 20 61 72 67 73 29 3b 0d 0a 20 20 =.method.Invoke(null,.args);....
5560 20 20 20 20 20 20 69 66 20 28 6d 65 74 68 6f 64 2e 52 65 74 75 72 6e 54 79 70 65 20 3d 3d 20 74 ......if.(method.ReturnType.==.t
5580 79 70 65 6f 66 28 73 74 72 69 6e 67 29 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 ypeof(string))..........{.......
55a0 20 20 20 20 20 63 6f 6e 74 65 6e 74 20 3d 20 28 73 74 72 69 6e 67 29 20 72 65 74 75 72 6e 56 61 .....content.=.(string).returnVa
55c0 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 lue;..........}........}........
55e0 20 20 72 65 74 75 72 6e 20 63 6f 6e 74 65 6e 74 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 ..return.content;......}........
5600 76 6f 69 64 20 53 79 6e 63 46 69 6c 65 49 66 4e 6f 74 43 68 61 6e 67 65 64 28 73 74 72 69 6e 67 void.SyncFileIfNotChanged(string
5620 20 66 69 6c 65 6e 61 6d 65 2c 20 73 74 72 69 6e 67 20 6e 65 77 43 6f 6e 74 65 6e 74 73 29 0d 0a .filename,.string.newContents)..
5640 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 74 72 79 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 ....{........try........{.......
5660 20 20 20 69 66 20 28 6d 5f 46 69 6c 65 49 4f 50 72 6f 76 69 64 65 72 2e 45 78 69 73 74 73 28 66 ...if.(m_FileIOProvider.Exists(f
5680 69 6c 65 6e 61 6d 65 29 20 26 26 20 6e 65 77 43 6f 6e 74 65 6e 74 73 20 3d 3d 20 6d 5f 46 69 6c ilename).&&.newContents.==.m_Fil
56a0 65 49 4f 50 72 6f 76 69 64 65 72 2e 52 65 61 64 41 6c 6c 54 65 78 74 28 66 69 6c 65 6e 61 6d 65 eIOProvider.ReadAllText(filename
56c0 29 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b ))..........{............return;
56e0 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 63 61 74 63 ..........}........}........catc
5700 68 20 28 45 78 63 65 70 74 69 6f 6e 20 65 78 63 65 70 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 7b h.(Exception.exception)........{
5720 0d 0a 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 45 78 63 65 70 74 69 6f 6e 28 65 78 63 ..........Debug.LogException(exc
5740 65 70 74 69 6f 6e 29 3b 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 6d 5f 46 69 6c eption);........}..........m_Fil
5760 65 49 4f 50 72 6f 76 69 64 65 72 2e 57 72 69 74 65 41 6c 6c 54 65 78 74 28 66 69 6c 65 6e 61 6d eIOProvider.WriteAllText(filenam
5780 65 2c 20 6e 65 77 43 6f 6e 74 65 6e 74 73 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 e,.newContents);......}........s
57a0 74 72 69 6e 67 20 50 72 6f 6a 65 63 74 54 65 78 74 28 41 73 73 65 6d 62 6c 79 20 61 73 73 65 6d tring.ProjectText(Assembly.assem
57c0 62 6c 79 2c 0d 0a 20 20 20 20 20 20 44 69 63 74 69 6f 6e 61 72 79 3c 73 74 72 69 6e 67 2c 20 73 bly,........Dictionary<string,.s
57e0 74 72 69 6e 67 3e 20 61 6c 6c 41 73 73 65 74 73 50 72 6f 6a 65 63 74 50 61 72 74 73 2c 0d 0a 20 tring>.allAssetsProjectParts,...
5800 20 20 20 20 20 4c 69 73 74 3c 52 65 73 70 6f 6e 73 65 46 69 6c 65 44 61 74 61 3e 20 72 65 73 70 .....List<ResponseFileData>.resp
5820 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 2c 0d 0a 20 20 20 20 20 20 4c 69 73 74 3c 41 73 73 65 6d onseFilesData,........List<Assem
5840 62 6c 79 3e 20 61 6c 6c 50 72 6f 6a 65 63 74 49 73 6c 61 6e 64 73 29 0d 0a 20 20 20 20 7b 0d 0a bly>.allProjectIslands)......{..
5860 20 20 20 20 20 20 76 61 72 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 65 72 20 3d 20 6e 65 77 20 53 ......var.projectBuilder.=.new.S
5880 74 72 69 6e 67 42 75 69 6c 64 65 72 28 50 72 6f 6a 65 63 74 48 65 61 64 65 72 28 61 73 73 65 6d tringBuilder(ProjectHeader(assem
58a0 62 6c 79 2c 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 29 29 3b 0d 0a 20 20 20 20 20 bly,.responseFilesData));.......
58c0 20 76 61 72 20 72 65 66 65 72 65 6e 63 65 73 20 3d 20 6e 65 77 20 4c 69 73 74 3c 73 74 72 69 6e .var.references.=.new.List<strin
58e0 67 3e 28 29 3b 0d 0a 20 20 20 20 20 20 76 61 72 20 70 72 6f 6a 65 63 74 52 65 66 65 72 65 6e 63 g>();........var.projectReferenc
5900 65 73 20 3d 20 6e 65 77 20 4c 69 73 74 3c 4d 61 74 63 68 3e 28 29 3b 0d 0a 0d 0a 20 20 20 20 20 es.=.new.List<Match>();.........
5920 20 66 6f 72 65 61 63 68 20 28 73 74 72 69 6e 67 20 66 69 6c 65 20 69 6e 20 61 73 73 65 6d 62 6c .foreach.(string.file.in.assembl
5940 79 2e 73 6f 75 72 63 65 46 69 6c 65 73 29 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 y.sourceFiles)........{.........
5960 20 69 66 20 28 21 53 68 6f 75 6c 64 46 69 6c 65 42 65 50 61 72 74 4f 66 53 6f 6c 75 74 69 6f 6e .if.(!ShouldFileBePartOfSolution
5980 28 66 69 6c 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 0d 0a (file))............continue;....
59a0 20 20 20 20 20 20 20 20 76 61 72 20 65 78 74 65 6e 73 69 6f 6e 20 3d 20 50 61 74 68 2e 47 65 74 ........var.extension.=.Path.Get
59c0 45 78 74 65 6e 73 69 6f 6e 28 66 69 6c 65 29 2e 54 6f 4c 6f 77 65 72 28 29 3b 0d 0a 20 20 20 20 Extension(file).ToLower();......
59e0 20 20 20 20 76 61 72 20 66 75 6c 6c 46 69 6c 65 20 3d 20 45 73 63 61 70 65 64 52 65 6c 61 74 69 ....var.fullFile.=.EscapedRelati
5a00 76 65 50 61 74 68 46 6f 72 28 66 69 6c 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 22 2e vePathFor(file);..........if.(".
5a20 64 6c 6c 22 20 21 3d 20 65 78 74 65 6e 73 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 dll".!=.extension)..........{...
5a40 20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 28 22 .........projectBuilder.Append("
5a60 20 20 20 20 20 3c 43 6f 6d 70 69 6c 65 20 49 6e 63 6c 75 64 65 3d 5c 22 22 29 2e 41 70 70 65 6e .....<Compile.Include=\"").Appen
5a80 64 28 66 75 6c 6c 46 69 6c 65 29 2e 41 70 70 65 6e 64 28 22 5c 22 20 2f 3e 22 29 2e 41 70 70 65 d(fullFile).Append("\"./>").Appe
5aa0 6e 64 28 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 29 3b 0d 0a 20 20 20 20 20 20 nd(Environment.NewLine);........
5ac0 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 ..}..........else..........{....
5ae0 20 20 20 20 20 20 20 20 72 65 66 65 72 65 6e 63 65 73 2e 41 64 64 28 66 75 6c 6c 46 69 6c 65 29 ........references.Add(fullFile)
5b00 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 2f ;..........}........}........../
5b20 2f 20 41 70 70 65 6e 64 20 61 64 64 69 74 69 6f 6e 61 6c 20 6e 6f 6e 2d 73 63 72 69 70 74 20 66 /.Append.additional.non-script.f
5b40 69 6c 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 iles.that.should.be.included.in.
5b60 70 72 6f 6a 65 63 74 20 67 65 6e 65 72 61 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 69 66 20 28 61 project.generation.........if.(a
5b80 6c 6c 41 73 73 65 74 73 50 72 6f 6a 65 63 74 50 61 72 74 73 2e 54 72 79 47 65 74 56 61 6c 75 65 llAssetsProjectParts.TryGetValue
5ba0 28 61 73 73 65 6d 62 6c 79 2e 6e 61 6d 65 2c 20 6f 75 74 20 76 61 72 20 61 64 64 69 74 69 6f 6e (assembly.name,.out.var.addition
5bc0 61 6c 41 73 73 65 74 73 46 6f 72 50 72 6f 6a 65 63 74 29 29 0d 0a 20 20 20 20 20 20 20 20 70 72 alAssetsForProject))..........pr
5be0 6f 6a 65 63 74 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 28 61 64 64 69 74 69 6f 6e 61 6c 41 73 ojectBuilder.Append(additionalAs
5c00 73 65 74 73 46 6f 72 50 72 6f 6a 65 63 74 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 76 61 72 20 69 73 setsForProject);..........var.is
5c20 6c 61 6e 64 52 65 66 73 20 3d 20 72 65 66 65 72 65 6e 63 65 73 2e 55 6e 69 6f 6e 28 61 73 73 65 landRefs.=.references.Union(asse
5c40 6d 62 6c 79 2e 61 6c 6c 52 65 66 65 72 65 6e 63 65 73 29 3b 0d 0a 20 20 20 20 20 20 66 6f 72 65 mbly.allReferences);........fore
5c60 61 63 68 20 28 73 74 72 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 69 6e 20 69 73 6c 61 6e 64 52 ach.(string.reference.in.islandR
5c80 65 66 73 29 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 72 65 66 65 72 efs)........{..........if.(refer
5ca0 65 6e 63 65 2e 45 6e 64 73 57 69 74 68 28 22 2f 55 6e 69 74 79 45 64 69 74 6f 72 2e 64 6c 6c 22 ence.EndsWith("/UnityEditor.dll"
5cc0 2c 20 53 74 72 69 6e 67 43 6f 6d 70 61 72 69 73 6f 6e 2e 4f 72 64 69 6e 61 6c 29 0d 0a 20 20 20 ,.StringComparison.Ordinal).....
5ce0 20 20 20 20 20 20 20 20 20 7c 7c 20 72 65 66 65 72 65 6e 63 65 2e 45 6e 64 73 57 69 74 68 28 22 .........||.reference.EndsWith("
5d00 2f 55 6e 69 74 79 45 6e 67 69 6e 65 2e 64 6c 6c 22 2c 20 53 74 72 69 6e 67 43 6f 6d 70 61 72 69 /UnityEngine.dll",.StringCompari
5d20 73 6f 6e 2e 4f 72 64 69 6e 61 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7c 7c 20 72 65 66 son.Ordinal)..............||.ref
5d40 65 72 65 6e 63 65 2e 45 6e 64 73 57 69 74 68 28 22 5c 5c 55 6e 69 74 79 45 64 69 74 6f 72 2e 64 erence.EndsWith("\\UnityEditor.d
5d60 6c 6c 22 2c 20 53 74 72 69 6e 67 43 6f 6d 70 61 72 69 73 6f 6e 2e 4f 72 64 69 6e 61 6c 29 0d 0a ll",.StringComparison.Ordinal)..
5d80 20 20 20 20 20 20 20 20 20 20 20 20 7c 7c 20 72 65 66 65 72 65 6e 63 65 2e 45 6e 64 73 57 69 74 ............||.reference.EndsWit
5da0 68 28 22 5c 5c 55 6e 69 74 79 45 6e 67 69 6e 65 2e 64 6c 6c 22 2c 20 53 74 72 69 6e 67 43 6f 6d h("\\UnityEngine.dll",.StringCom
5dc0 70 61 72 69 73 6f 6e 2e 4f 72 64 69 6e 61 6c 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e parison.Ordinal))............con
5de0 74 69 6e 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 74 63 68 20 3d 20 6b 5f tinue;............var.match.=.k_
5e00 53 63 72 69 70 74 52 65 66 65 72 65 6e 63 65 45 78 70 72 65 73 73 69 6f 6e 2e 4d 61 74 63 68 28 ScriptReferenceExpression.Match(
5e20 72 65 66 65 72 65 6e 63 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 74 63 68 2e 53 reference);..........if.(match.S
5e40 75 63 63 65 73 73 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 2f 2f uccess)..........{............//
5e60 20 61 73 73 75 6d 65 20 63 73 68 61 72 70 20 6c 61 6e 67 75 61 67 65 0d 0a 20 20 20 20 20 20 20 .assume.csharp.language.........
5e80 20 20 20 2f 2f 20 41 64 64 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 61 20 70 72 6f 6a 65 ...//.Add.a.reference.to.a.proje
5ea0 63 74 20 65 78 63 65 70 74 20 69 66 20 69 74 27 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f ct.except.if.it's.a.reference.to
5ec0 20 61 20 73 63 72 69 70 74 20 61 73 73 65 6d 62 6c 79 0d 0a 20 20 20 20 20 20 20 20 20 20 2f 2f .a.script.assembly............//
5ee0 20 74 68 61 74 20 77 65 20 61 72 65 20 6e 6f 74 20 67 65 6e 65 72 61 74 69 6e 67 20 61 20 70 72 .that.we.are.not.generating.a.pr
5f00 6f 6a 65 63 74 20 66 6f 72 2e 20 54 68 69 73 20 77 69 6c 6c 20 62 65 20 74 68 65 20 63 61 73 65 oject.for..This.will.be.the.case
5f20 20 66 6f 72 20 61 73 73 65 6d 62 6c 69 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 6f .for.assemblies............//.co
5f40 6d 69 6e 67 20 66 72 6f 6d 20 2e 61 73 73 65 6d 62 6c 79 2e 6a 73 6f 6e 20 66 69 6c 65 73 20 69 ming.from..assembly.json.files.i
5f60 6e 20 6e 6f 6e 2d 69 6e 74 65 72 6e 61 6c 69 7a 65 64 20 70 61 63 6b 61 67 65 73 2e 0d 0a 20 20 n.non-internalized.packages.....
5f80 20 20 20 20 20 20 20 20 76 61 72 20 64 6c 6c 4e 61 6d 65 20 3d 20 6d 61 74 63 68 2e 47 72 6f 75 ........var.dllName.=.match.Grou
5fa0 70 73 5b 22 64 6c 6c 6e 61 6d 65 22 5d 2e 56 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 ps["dllname"].Value;............
5fc0 69 66 20 28 61 6c 6c 50 72 6f 6a 65 63 74 49 73 6c 61 6e 64 73 2e 41 6e 79 28 69 20 3d 3e 20 50 if.(allProjectIslands.Any(i.=>.P
5fe0 61 74 68 2e 47 65 74 46 69 6c 65 4e 61 6d 65 28 69 2e 6f 75 74 70 75 74 50 61 74 68 29 20 3d 3d ath.GetFileName(i.outputPath).==
6000 20 64 6c 6c 4e 61 6d 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 .dllName))............{.........
6020 20 20 20 20 20 70 72 6f 6a 65 63 74 52 65 66 65 72 65 6e 63 65 73 2e 41 64 64 28 6d 61 74 63 68 .....projectReferences.Add(match
6040 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 );..............continue;.......
6060 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 73 74 72 .....}..........}............str
6080 69 6e 67 20 66 75 6c 6c 52 65 66 65 72 65 6e 63 65 20 3d 20 50 61 74 68 2e 49 73 50 61 74 68 52 ing.fullReference.=.Path.IsPathR
60a0 6f 6f 74 65 64 28 72 65 66 65 72 65 6e 63 65 29 20 3f 20 72 65 66 65 72 65 6e 63 65 20 3a 20 50 ooted(reference).?.reference.:.P
60c0 61 74 68 2e 43 6f 6d 62 69 6e 65 28 50 72 6f 6a 65 63 74 44 69 72 65 63 74 6f 72 79 2c 20 72 65 ath.Combine(ProjectDirectory,.re
60e0 66 65 72 65 6e 63 65 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 41 70 70 65 6e 64 52 65 66 65 72 ference);............AppendRefer
6100 65 6e 63 65 28 66 75 6c 6c 52 65 66 65 72 65 6e 63 65 2c 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 ence(fullReference,.projectBuild
6120 65 72 29 3b 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 76 61 72 20 72 65 73 70 6f er);........}..........var.respo
6140 6e 73 65 52 65 66 73 20 3d 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 2e 53 65 6c 65 nseRefs.=.responseFilesData.Sele
6160 63 74 4d 61 6e 79 28 78 20 3d 3e 20 78 2e 46 75 6c 6c 50 61 74 68 52 65 66 65 72 65 6e 63 65 73 ctMany(x.=>.x.FullPathReferences
6180 2e 53 65 6c 65 63 74 28 72 20 3d 3e 20 72 29 29 3b 0d 0a 20 20 20 20 20 20 66 6f 72 65 61 63 68 .Select(r.=>.r));........foreach
61a0 20 28 76 61 72 20 72 65 66 65 72 65 6e 63 65 20 69 6e 20 72 65 73 70 6f 6e 73 65 52 65 66 73 29 .(var.reference.in.responseRefs)
61c0 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 41 70 70 65 6e 64 52 65 66 65 72 65 6e ........{..........AppendReferen
61e0 63 65 28 72 65 66 65 72 65 6e 63 65 2c 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 65 72 29 3b 0d 0a ce(reference,.projectBuilder);..
6200 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 69 66 20 28 30 20 3c 20 70 72 6f 6a 65 63 74 ......}..........if.(0.<.project
6220 52 65 66 65 72 65 6e 63 65 73 2e 43 6f 75 6e 74 29 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 References.Count)........{......
6240 20 20 20 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 4c 69 6e 65 28 22 20 ....projectBuilder.AppendLine(".
6260 20 3c 2f 49 74 65 6d 47 72 6f 75 70 3e 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 .</ItemGroup>");..........projec
6280 74 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 4c 69 6e 65 28 22 20 20 3c 49 74 65 6d 47 72 6f 75 tBuilder.AppendLine("..<ItemGrou
62a0 70 3e 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 4d 61 74 63 68 20 72 65 p>");..........foreach.(Match.re
62c0 66 65 72 65 6e 63 65 20 69 6e 20 70 72 6f 6a 65 63 74 52 65 66 65 72 65 6e 63 65 73 29 0d 0a 20 ference.in.projectReferences)...
62e0 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72 65 66 65 72 65 6e 63 .......{............var.referenc
6300 65 64 50 72 6f 6a 65 63 74 20 3d 20 72 65 66 65 72 65 6e 63 65 2e 47 72 6f 75 70 73 5b 22 70 72 edProject.=.reference.Groups["pr
6320 6f 6a 65 63 74 22 5d 2e 56 61 6c 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 70 72 6f 6a oject"].Value;..............proj
6340 65 63 74 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 28 22 20 20 20 20 3c 50 72 6f 6a 65 63 74 52 ectBuilder.Append("....<ProjectR
6360 65 66 65 72 65 6e 63 65 20 49 6e 63 6c 75 64 65 3d 5c 22 22 29 2e 41 70 70 65 6e 64 28 72 65 66 eference.Include=\"").Append(ref
6380 65 72 65 6e 63 65 64 50 72 6f 6a 65 63 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 41 70 erencedProject)...............Ap
63a0 70 65 6e 64 28 47 65 74 50 72 6f 6a 65 63 74 45 78 74 65 6e 73 69 6f 6e 28 29 29 2e 41 70 70 65 pend(GetProjectExtension()).Appe
63c0 6e 64 28 22 5c 22 3e 22 29 2e 41 70 70 65 6e 64 28 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 nd("\">").Append(Environment.New
63e0 4c 69 6e 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 65 72 Line);............projectBuilder
6400 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 41 70 70 65 6e 64 28 22 20 20 20 20 20 20 3c 50 72 ...............Append("......<Pr
6420 6f 6a 65 63 74 3e 7b 22 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 41 70 70 65 6e 64 28 6d oject>{")...............Append(m
6440 5f 47 55 49 44 47 65 6e 65 72 61 74 6f 72 2e 50 72 6f 6a 65 63 74 47 75 69 64 28 6d 5f 50 72 6f _GUIDGenerator.ProjectGuid(m_Pro
6460 6a 65 63 74 4e 61 6d 65 2c 20 72 65 66 65 72 65 6e 63 65 2e 47 72 6f 75 70 73 5b 22 70 72 6f 6a jectName,.reference.Groups["proj
6480 65 63 74 22 5d 2e 56 61 6c 75 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 41 70 70 65 ect"].Value))...............Appe
64a0 6e 64 28 22 7d 3c 2f 50 72 6f 6a 65 63 74 3e 22 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e nd("}</Project>")...............
64c0 41 70 70 65 6e 64 28 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 29 3b 0d 0a 20 20 Append(Environment.NewLine);....
64e0 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 28 22 20 ........projectBuilder.Append(".
6500 20 20 20 20 20 3c 4e 61 6d 65 3e 22 29 2e 41 70 70 65 6e 64 28 72 65 66 65 72 65 6e 63 65 64 50 .....<Name>").Append(referencedP
6520 72 6f 6a 65 63 74 29 2e 41 70 70 65 6e 64 28 22 3c 2f 4e 61 6d 65 3e 22 29 2e 41 70 70 65 6e 64 roject).Append("</Name>").Append
6540 28 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 (Environment.NewLine);..........
6560 20 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 4c 69 6e 65 28 22 20 20 20 ..projectBuilder.AppendLine("...
6580 20 3c 2f 50 72 6f 6a 65 63 74 52 65 66 65 72 65 6e 63 65 3e 22 29 3b 0d 0a 20 20 20 20 20 20 20 .</ProjectReference>");.........
65a0 20 7d 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 70 72 6f 6a 65 63 74 42 75 69 6c .}........}..........projectBuil
65c0 64 65 72 2e 41 70 70 65 6e 64 28 50 72 6f 6a 65 63 74 46 6f 6f 74 65 72 28 29 29 3b 0d 0a 20 20 der.Append(ProjectFooter());....
65e0 20 20 20 20 72 65 74 75 72 6e 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 65 72 2e 54 6f 53 74 72 69 ....return.projectBuilder.ToStri
6600 6e 67 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 ng();......}........static.void.
6620 41 70 70 65 6e 64 52 65 66 65 72 65 6e 63 65 28 73 74 72 69 6e 67 20 66 75 6c 6c 52 65 66 65 72 AppendReference(string.fullRefer
6640 65 6e 63 65 2c 20 53 74 72 69 6e 67 42 75 69 6c 64 65 72 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 ence,.StringBuilder.projectBuild
6660 65 72 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 2f 2f 72 65 70 6c 61 63 65 20 5c 20 77 69 er)......{........//replace.\.wi
6680 74 68 20 2f 20 61 6e 64 20 5c 5c 20 77 69 74 68 20 2f 0d 0a 20 20 20 20 20 20 76 61 72 20 65 73 th./.and.\\.with./........var.es
66a0 63 61 70 65 64 46 75 6c 6c 50 61 74 68 20 3d 20 53 65 63 75 72 69 74 79 45 6c 65 6d 65 6e 74 2e capedFullPath.=.SecurityElement.
66c0 45 73 63 61 70 65 28 66 75 6c 6c 52 65 66 65 72 65 6e 63 65 29 3b 0d 0a 20 20 20 20 20 20 65 73 Escape(fullReference);........es
66e0 63 61 70 65 64 46 75 6c 6c 50 61 74 68 20 3d 20 65 73 63 61 70 65 64 46 75 6c 6c 50 61 74 68 2e capedFullPath.=.escapedFullPath.
6700 52 65 70 6c 61 63 65 28 22 5c 5c 5c 5c 22 2c 20 22 2f 22 29 2e 52 65 70 6c 61 63 65 28 22 5c 5c Replace("\\\\",."/").Replace("\\
6720 22 2c 20 22 2f 22 29 3b 0d 0a 20 20 20 20 20 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 65 72 2e 41 ",."/");........projectBuilder.A
6740 70 70 65 6e 64 28 22 20 3c 52 65 66 65 72 65 6e 63 65 20 49 6e 63 6c 75 64 65 3d 5c 22 22 29 2e ppend(".<Reference.Include=\"").
6760 41 70 70 65 6e 64 28 46 69 6c 65 53 79 73 74 65 6d 55 74 69 6c 2e 46 69 6c 65 4e 61 6d 65 57 69 Append(FileSystemUtil.FileNameWi
6780 74 68 6f 75 74 45 78 74 65 6e 73 69 6f 6e 28 65 73 63 61 70 65 64 46 75 6c 6c 50 61 74 68 29 29 thoutExtension(escapedFullPath))
67a0 0d 0a 20 20 20 20 20 20 20 20 2e 41 70 70 65 6e 64 28 22 5c 22 3e 22 29 2e 41 70 70 65 6e 64 28 ...........Append("\">").Append(
67c0 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 29 3b 0d 0a 20 20 20 20 20 20 70 72 6f Environment.NewLine);........pro
67e0 6a 65 63 74 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 28 22 20 3c 48 69 6e 74 50 61 74 68 3e 22 jectBuilder.Append(".<HintPath>"
6800 29 2e 41 70 70 65 6e 64 28 65 73 63 61 70 65 64 46 75 6c 6c 50 61 74 68 29 2e 41 70 70 65 6e 64 ).Append(escapedFullPath).Append
6820 28 22 3c 2f 48 69 6e 74 50 61 74 68 3e 22 29 2e 41 70 70 65 6e 64 28 45 6e 76 69 72 6f 6e 6d 65 ("</HintPath>").Append(Environme
6840 6e 74 2e 4e 65 77 4c 69 6e 65 29 3b 0d 0a 20 20 20 20 20 20 70 72 6f 6a 65 63 74 42 75 69 6c 64 nt.NewLine);........projectBuild
6860 65 72 2e 41 70 70 65 6e 64 28 22 20 3c 2f 52 65 66 65 72 65 6e 63 65 3e 22 29 2e 41 70 70 65 6e er.Append(".</Reference>").Appen
6880 64 28 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 29 3b 0d 0a 20 20 20 20 7d 0d 0a d(Environment.NewLine);......}..
68a0 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 50 72 6f 6a 65 63 74 46 69 6c 65 28 ......public.string.ProjectFile(
68c0 41 73 73 65 6d 62 6c 79 20 61 73 73 65 6d 62 6c 79 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 Assembly.assembly)......{.......
68e0 20 72 65 74 75 72 6e 20 50 61 74 68 2e 43 6f 6d 62 69 6e 65 28 50 72 6f 6a 65 63 74 44 69 72 65 .return.Path.Combine(ProjectDire
6900 63 74 6f 72 79 2c 20 24 22 7b 61 73 73 65 6d 62 6c 79 2e 6e 61 6d 65 7d 2e 63 73 70 72 6f 6a 22 ctory,.$"{assembly.name}.csproj"
6920 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 53 );......}........public.string.S
6940 6f 6c 75 74 69 6f 6e 46 69 6c 65 28 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 olutionFile()......{........retu
6960 72 6e 20 50 61 74 68 2e 43 6f 6d 62 69 6e 65 28 50 72 6f 6a 65 63 74 44 69 72 65 63 74 6f 72 79 rn.Path.Combine(ProjectDirectory
6980 2c 20 24 22 7b 6d 5f 50 72 6f 6a 65 63 74 4e 61 6d 65 7d 2e 73 6c 6e 22 29 3b 0d 0a 20 20 20 20 ,.$"{m_ProjectName}.sln");......
69a0 7d 0d 0a 0d 0a 20 20 20 20 73 74 72 69 6e 67 20 50 72 6f 6a 65 63 74 48 65 61 64 65 72 28 0d 0a }........string.ProjectHeader(..
69c0 20 20 20 20 20 20 41 73 73 65 6d 62 6c 79 20 61 73 73 65 6d 62 6c 79 2c 0d 0a 20 20 20 20 20 20 ......Assembly.assembly,........
69e0 4c 69 73 74 3c 52 65 73 70 6f 6e 73 65 46 69 6c 65 44 61 74 61 3e 20 72 65 73 70 6f 6e 73 65 46 List<ResponseFileData>.responseF
6a00 69 6c 65 73 44 61 74 61 0d 0a 20 20 20 20 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 76 61 ilesData......)......{........va
6a20 72 20 6f 74 68 65 72 52 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 20 3d 20 47 65 74 4f 74 r.otherResponseFilesData.=.GetOt
6a40 68 65 72 41 72 67 75 6d 65 6e 74 73 46 72 6f 6d 52 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 herArgumentsFromResponseFilesDat
6a60 61 28 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 29 3b 0d 0a 20 20 20 20 20 20 76 61 72 a(responseFilesData);........var
6a80 20 61 72 67 75 6d 65 6e 74 73 20 3d 20 6e 65 77 20 6f 62 6a 65 63 74 5b 5d 0d 0a 20 20 20 20 20 .arguments.=.new.object[].......
6aa0 20 7b 0d 0a 20 20 20 20 20 20 20 20 6b 5f 54 6f 6f 6c 73 56 65 72 73 69 6f 6e 2c 20 6b 5f 50 72 .{..........k_ToolsVersion,.k_Pr
6ac0 6f 64 75 63 74 56 65 72 73 69 6f 6e 2c 20 6d 5f 47 55 49 44 47 65 6e 65 72 61 74 6f 72 2e 50 72 oductVersion,.m_GUIDGenerator.Pr
6ae0 6f 6a 65 63 74 47 75 69 64 28 6d 5f 50 72 6f 6a 65 63 74 4e 61 6d 65 2c 20 61 73 73 65 6d 62 6c ojectGuid(m_ProjectName,.assembl
6b00 79 2e 6e 61 6d 65 29 2c 0d 0a 20 20 20 20 20 20 20 20 49 6e 74 65 72 6e 61 6c 45 64 69 74 6f 72 y.name),..........InternalEditor
6b20 55 74 69 6c 69 74 79 2e 47 65 74 45 6e 67 69 6e 65 41 73 73 65 6d 62 6c 79 50 61 74 68 28 29 2c Utility.GetEngineAssemblyPath(),
6b40 0d 0a 20 20 20 20 20 20 20 20 49 6e 74 65 72 6e 61 6c 45 64 69 74 6f 72 55 74 69 6c 69 74 79 2e ..........InternalEditorUtility.
6b60 47 65 74 45 64 69 74 6f 72 41 73 73 65 6d 62 6c 79 50 61 74 68 28 29 2c 0d 0a 20 20 20 20 20 20 GetEditorAssemblyPath(),........
6b80 20 20 73 74 72 69 6e 67 2e 4a 6f 69 6e 28 22 3b 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 6e 65 ..string.Join(";",............ne
6ba0 77 5b 5d 20 7b 22 44 45 42 55 47 22 2c 20 22 54 52 41 43 45 22 7d 2e 43 6f 6e 63 61 74 28 45 64 w[].{"DEBUG",."TRACE"}.Concat(Ed
6bc0 69 74 6f 72 55 73 65 72 42 75 69 6c 64 53 65 74 74 69 6e 67 73 2e 61 63 74 69 76 65 53 63 72 69 itorUserBuildSettings.activeScri
6be0 70 74 43 6f 6d 70 69 6c 61 74 69 6f 6e 44 65 66 69 6e 65 73 29 2e 43 6f 6e 63 61 74 28 61 73 73 ptCompilationDefines).Concat(ass
6c00 65 6d 62 6c 79 2e 64 65 66 69 6e 65 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 43 6f 6e embly.defines)...............Con
6c20 63 61 74 28 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 2e 53 65 6c 65 63 74 4d 61 6e 79 cat(responseFilesData.SelectMany
6c40 28 78 20 3d 3e 20 78 2e 44 65 66 69 6e 65 73 29 29 2e 44 69 73 74 69 6e 63 74 28 29 2e 54 6f 41 (x.=>.x.Defines)).Distinct().ToA
6c60 72 72 61 79 28 29 29 2c 0d 0a 20 20 20 20 20 20 20 20 4d 53 42 75 69 6c 64 4e 61 6d 65 73 70 61 rray()),..........MSBuildNamespa
6c80 63 65 55 72 69 2c 0d 0a 20 20 20 20 20 20 20 20 61 73 73 65 6d 62 6c 79 2e 6e 61 6d 65 2c 0d 0a ceUri,..........assembly.name,..
6ca0 20 20 20 20 20 20 20 20 45 64 69 74 6f 72 53 65 74 74 69 6e 67 73 2e 70 72 6f 6a 65 63 74 47 65 ........EditorSettings.projectGe
6cc0 6e 65 72 61 74 69 6f 6e 52 6f 6f 74 4e 61 6d 65 73 70 61 63 65 2c 0d 0a 20 20 20 20 20 20 20 20 nerationRootNamespace,..........
6ce0 6b 5f 54 61 72 67 65 74 46 72 61 6d 65 77 6f 72 6b 56 65 72 73 69 6f 6e 2c 0d 0a 20 20 20 20 20 k_TargetFrameworkVersion,.......
6d00 20 20 20 47 65 6e 65 72 61 74 65 4c 61 6e 67 56 65 72 73 69 6f 6e 28 6f 74 68 65 72 52 65 73 70 ...GenerateLangVersion(otherResp
6d20 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 5b 22 6c 61 6e 67 76 65 72 73 69 6f 6e 22 5d 29 2c 0d 0a onseFilesData["langversion"]),..
6d40 20 20 20 20 20 20 20 20 6b 5f 42 61 73 65 44 69 72 65 63 74 6f 72 79 2c 0d 0a 20 20 20 20 20 20 ........k_BaseDirectory,........
6d60 20 20 61 73 73 65 6d 62 6c 79 2e 63 6f 6d 70 69 6c 65 72 4f 70 74 69 6f 6e 73 2e 41 6c 6c 6f 77 ..assembly.compilerOptions.Allow
6d80 55 6e 73 61 66 65 43 6f 64 65 20 7c 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 2e 41 UnsafeCode.|.responseFilesData.A
6da0 6e 79 28 78 20 3d 3e 20 78 2e 55 6e 73 61 66 65 29 2c 0d 0a 20 20 20 20 20 20 20 20 47 65 6e 65 ny(x.=>.x.Unsafe),..........Gene
6dc0 72 61 74 65 4e 6f 57 61 72 6e 28 6f 74 68 65 72 52 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 rateNoWarn(otherResponseFilesDat
6de0 61 5b 22 6e 6f 77 61 72 6e 22 5d 2e 44 69 73 74 69 6e 63 74 28 29 2e 54 6f 41 72 72 61 79 28 29 a["nowarn"].Distinct().ToArray()
6e00 29 2c 0d 0a 20 20 20 20 20 20 20 20 47 65 6e 65 72 61 74 65 41 6e 61 6c 79 73 65 72 49 74 65 6d ),..........GenerateAnalyserItem
6e20 47 72 6f 75 70 28 6f 74 68 65 72 52 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 5b 22 61 6e Group(otherResponseFilesData["an
6e40 61 6c 79 7a 65 72 22 5d 2e 43 6f 6e 63 61 74 28 6f 74 68 65 72 52 65 73 70 6f 6e 73 65 46 69 6c alyzer"].Concat(otherResponseFil
6e60 65 73 44 61 74 61 5b 22 61 22 5d 29 2e 53 65 6c 65 63 74 4d 61 6e 79 28 78 3d 3e 78 2e 53 70 6c esData["a"]).SelectMany(x=>x.Spl
6e80 69 74 28 27 3b 27 29 29 2e 44 69 73 74 69 6e 63 74 28 29 2e 54 6f 41 72 72 61 79 28 29 29 2c 0d it(';')).Distinct().ToArray()),.
6ea0 0a 20 20 20 20 20 20 20 20 47 65 6e 65 72 61 74 65 41 6e 61 6c 79 73 65 72 41 64 64 69 74 69 6f .........GenerateAnalyserAdditio
6ec0 6e 61 6c 46 69 6c 65 73 28 6f 74 68 65 72 52 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 5b nalFiles(otherResponseFilesData[
6ee0 22 61 64 64 69 74 69 6f 6e 61 6c 66 69 6c 65 22 5d 2e 53 65 6c 65 63 74 4d 61 6e 79 28 78 3d 3e "additionalfile"].SelectMany(x=>
6f00 78 2e 53 70 6c 69 74 28 27 3b 27 29 29 2e 44 69 73 74 69 6e 63 74 28 29 2e 54 6f 41 72 72 61 79 x.Split(';')).Distinct().ToArray
6f20 28 29 29 2c 0d 0a 20 20 20 20 20 20 20 20 47 65 6e 65 72 61 74 65 41 6e 61 6c 79 73 65 72 52 75 ()),..........GenerateAnalyserRu
6f40 6c 65 53 65 74 28 6f 74 68 65 72 52 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 5b 22 72 75 leSet(otherResponseFilesData["ru
6f60 6c 65 73 65 74 22 5d 2e 44 69 73 74 69 6e 63 74 28 29 2e 54 6f 41 72 72 61 79 28 29 29 2c 0d 0a leset"].Distinct().ToArray()),..
6f80 20 20 20 20 20 20 20 20 47 65 6e 65 72 61 74 65 57 61 72 6e 69 6e 67 4c 65 76 65 6c 28 6f 74 68 ........GenerateWarningLevel(oth
6fa0 65 72 52 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 5b 22 77 61 72 6e 22 5d 2e 43 6f 6e 63 erResponseFilesData["warn"].Conc
6fc0 61 74 28 6f 74 68 65 72 52 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 5b 22 77 22 5d 29 2e at(otherResponseFilesData["w"]).
6fe0 44 69 73 74 69 6e 63 74 28 29 29 2c 0d 0a 20 20 20 20 20 20 20 20 47 65 6e 65 72 61 74 65 57 61 Distinct()),..........GenerateWa
7000 72 6e 69 6e 67 41 73 45 72 72 6f 72 28 6f 74 68 65 72 52 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 rningAsError(otherResponseFilesD
7020 61 74 61 5b 22 77 61 72 6e 61 73 65 72 72 6f 72 22 5d 29 2c 0d 0a 20 20 20 20 20 20 20 20 47 65 ata["warnaserror"]),..........Ge
7040 6e 65 72 61 74 65 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 46 69 6c 65 28 6f 74 68 65 72 52 65 73 nerateDocumentationFile(otherRes
7060 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 5b 22 64 6f 63 22 5d 29 0d 0a 20 20 20 20 20 20 7d 3b ponseFilesData["doc"])........};
7080 0d 0a 0d 0a 20 20 20 20 20 20 74 72 79 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 ..........try........{..........
70a0 72 65 74 75 72 6e 20 73 74 72 69 6e 67 2e 46 6f 72 6d 61 74 28 47 65 74 50 72 6f 6a 65 63 74 48 return.string.Format(GetProjectH
70c0 65 61 64 65 72 54 65 6d 70 6c 61 74 65 28 29 2c 20 61 72 67 75 6d 65 6e 74 73 29 3b 0d 0a 20 20 eaderTemplate(),.arguments);....
70e0 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 63 61 74 63 68 20 28 45 78 63 65 70 74 69 6f 6e 29 0d 0a ....}........catch.(Exception)..
7100 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 53 75 ......{..........throw.new.NotSu
7120 70 70 6f 72 74 65 64 45 78 63 65 70 74 69 6f 6e 28 0d 0a 20 20 20 20 20 20 20 20 20 20 22 46 61 pportedException(............"Fa
7140 69 6c 65 64 20 63 72 65 61 74 69 6e 67 20 63 23 20 70 72 6f 6a 65 63 74 20 62 65 63 61 75 73 65 iled.creating.c#.project.because
7160 20 74 68 65 20 63 23 20 70 72 6f 6a 65 63 74 20 68 65 61 64 65 72 20 64 69 64 20 6e 6f 74 20 68 .the.c#.project.header.did.not.h
7180 61 76 65 20 74 68 65 20 63 6f 72 72 65 63 74 20 61 6d 6f 75 6e 74 20 6f 66 20 61 72 67 75 6d 65 ave.the.correct.amount.of.argume
71a0 6e 74 73 2c 20 77 68 69 63 68 20 69 73 20 22 20 2b 0d 0a 20 20 20 20 20 20 20 20 20 20 61 72 67 nts,.which.is.".+............arg
71c0 75 6d 65 6e 74 73 2e 4c 65 6e 67 74 68 29 3b 0d 0a 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d 0d uments.Length);........}......}.
71e0 0a 0d 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 72 69 6e 67 20 47 65 6e 65 72 61 74 65 44 6f .......private.string.GenerateDo
7200 63 75 6d 65 6e 74 61 74 69 6f 6e 46 69 6c 65 28 49 45 6e 75 6d 65 72 61 62 6c 65 3c 73 74 72 69 cumentationFile(IEnumerable<stri
7220 6e 67 3e 20 70 61 74 68 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 69 66 20 28 21 70 61 ng>.paths)......{........if.(!pa
7240 74 68 73 2e 41 6e 79 28 29 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 53 74 72 69 6e ths.Any())..........return.Strin
7260 67 2e 45 6d 70 74 79 3b 0d 0a 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 g.Empty;........................
7280 72 65 74 75 72 6e 20 24 22 7b 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 7d 7b 73 return.$"{Environment.NewLine}{s
72a0 74 72 69 6e 67 2e 4a 6f 69 6e 28 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 2c 20 tring.Join(Environment.NewLine,.
72c0 70 61 74 68 73 2e 53 65 6c 65 63 74 28 61 20 3d 3e 20 24 22 20 20 3c 44 6f 63 75 6d 65 6e 74 61 paths.Select(a.=>.$"..<Documenta
72e0 74 69 6f 6e 46 69 6c 65 3e 7b 61 7d 3c 2f 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 46 69 6c 65 3e tionFile>{a}</DocumentationFile>
7300 22 29 29 7d 22 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 72 "))}";......}........private.str
7320 69 6e 67 20 47 65 6e 65 72 61 74 65 57 61 72 6e 69 6e 67 41 73 45 72 72 6f 72 28 49 45 6e 75 6d ing.GenerateWarningAsError(IEnum
7340 65 72 61 62 6c 65 3c 73 74 72 69 6e 67 3e 20 65 6e 75 6d 65 72 61 62 6c 65 29 0d 0a 20 20 20 20 erable<string>.enumerable)......
7360 7b 0d 0a 20 20 20 20 20 20 73 74 72 69 6e 67 20 72 65 74 75 72 6e 56 61 6c 75 65 20 3d 20 53 74 {........string.returnValue.=.St
7380 72 69 6e 67 2e 45 6d 70 74 79 3b 0d 0a 20 20 20 20 20 20 62 6f 6f 6c 20 61 6c 6c 57 61 72 6e 69 ring.Empty;........bool.allWarni
73a0 6e 67 73 41 73 45 72 72 6f 72 73 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 4c 69 73 74 ngsAsErrors.=.false;........List
73c0 3c 73 74 72 69 6e 67 3e 20 77 61 72 6e 69 6e 67 49 64 73 20 3d 20 6e 65 77 20 4c 69 73 74 3c 73 <string>.warningIds.=.new.List<s
73e0 74 72 69 6e 67 3e 28 29 3b 0d 0a 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 66 6f 72 65 61 63 68 tring>();................foreach
7400 20 28 73 74 72 69 6e 67 20 73 20 69 6e 20 65 6e 75 6d 65 72 61 62 6c 65 29 0d 0a 20 20 20 20 20 .(string.s.in.enumerable).......
7420 20 7b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 20 3d 3d 20 22 2b 22 29 20 61 6c 6c 57 61 72 .{..........if.(s.==."+").allWar
7440 6e 69 6e 67 73 41 73 45 72 72 6f 72 73 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 65 ningsAsErrors.=.true;..........e
7460 6c 73 65 20 69 66 20 28 73 20 3d 3d 20 22 2d 22 29 20 61 6c 6c 57 61 72 6e 69 6e 67 73 41 73 45 lse.if.(s.==."-").allWarningsAsE
7480 72 72 6f 72 73 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 rrors.=.false;..........else....
74a0 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 77 61 72 6e 69 6e 67 49 64 73 2e 41 64 ......{............warningIds.Ad
74c0 64 28 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 d(s);..........}........}.......
74e0 20 20 20 72 65 74 75 72 6e 56 61 6c 75 65 20 2b 3d 20 24 40 22 20 20 20 20 3c 54 72 65 61 74 57 ...returnValue.+=.$@"....<TreatW
7500 61 72 6e 69 6e 67 73 41 73 45 72 72 6f 72 73 3e 7b 61 6c 6c 57 61 72 6e 69 6e 67 73 41 73 45 72 arningsAsErrors>{allWarningsAsEr
7520 72 6f 72 73 7d 3c 2f 54 72 65 61 74 57 61 72 6e 69 6e 67 73 41 73 45 72 72 6f 72 73 3e 22 3b 0d rors}</TreatWarningsAsErrors>";.
7540 0a 20 20 20 20 20 20 69 66 20 28 77 61 72 6e 69 6e 67 49 64 73 2e 41 6e 79 28 29 29 0d 0a 20 20 .......if.(warningIds.Any())....
7560 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 56 61 6c 75 65 20 2b 3d 20 24 22 ....{..........returnValue.+=.$"
7580 7b 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 7d 20 20 20 20 3c 57 61 72 6e 69 6e {Environment.NewLine}....<Warnin
75a0 67 73 41 73 45 72 72 6f 72 73 3e 7b 73 74 72 69 6e 67 2e 4a 6f 69 6e 28 22 3b 22 2c 20 77 61 72 gsAsErrors>{string.Join(";",.war
75c0 6e 69 6e 67 49 64 73 29 7d 3c 2f 57 61 72 6e 69 6e 67 73 41 73 45 72 72 6f 72 73 3e 22 3b 0d 0a ningIds)}</WarningsAsErrors>";..
75e0 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 22 7b 45 6e 76 69 72 ......}..........return.$"{Envir
7600 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 7d 7b 72 65 74 75 72 6e 56 61 6c 75 65 7d 22 3b 0d 0a onment.NewLine}{returnValue}";..
7620 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 72 69 6e 67 20 47 65 6e 65 ....}........private.string.Gene
7640 72 61 74 65 57 61 72 6e 69 6e 67 4c 65 76 65 6c 28 49 45 6e 75 6d 65 72 61 62 6c 65 3c 73 74 72 rateWarningLevel(IEnumerable<str
7660 69 6e 67 3e 20 77 61 72 6e 69 6e 67 4c 65 76 65 6c 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 ing>.warningLevel)......{.......
7680 20 76 61 72 20 6c 65 76 65 6c 20 3d 20 77 61 72 6e 69 6e 67 4c 65 76 65 6c 2e 46 69 72 73 74 4f .var.level.=.warningLevel.FirstO
76a0 72 44 65 66 61 75 6c 74 28 29 3b 0d 0a 20 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 rDefault();........if.(!string.I
76c0 73 4e 75 6c 6c 4f 72 57 68 69 74 65 53 70 61 63 65 28 6c 65 76 65 6c 29 29 0d 0a 20 20 20 20 20 sNullOrWhiteSpace(level)).......
76e0 20 20 20 72 65 74 75 72 6e 20 6c 65 76 65 6c 3b 0d 0a 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e ...return.level;..........return
7700 20 34 2e 54 6f 53 74 72 69 6e 67 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 74 61 .4.ToString();......}........sta
7720 74 69 63 20 73 74 72 69 6e 67 20 47 65 74 53 6f 6c 75 74 69 6f 6e 54 65 78 74 28 29 0d 0a 20 20 tic.string.GetSolutionText()....
7740 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 2e 4a 6f 69 6e 28 45 6e ..{........return.string.Join(En
7760 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 22 2c vironment.NewLine,..........@"",
7780 0d 0a 20 20 20 20 20 20 20 20 40 22 4d 69 63 72 6f 73 6f 66 74 20 56 69 73 75 61 6c 20 53 74 75 ..........@"Microsoft.Visual.Stu
77a0 64 69 6f 20 53 6f 6c 75 74 69 6f 6e 20 46 69 6c 65 2c 20 46 6f 72 6d 61 74 20 56 65 72 73 69 6f dio.Solution.File,.Format.Versio
77c0 6e 20 7b 30 7d 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 23 20 56 69 73 75 61 6c 20 53 74 75 64 n.{0}",..........@"#.Visual.Stud
77e0 69 6f 20 7b 31 7d 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 7b 32 7d 22 2c 0d 0a 20 20 20 20 20 io.{1}",..........@"{2}",.......
7800 20 20 20 40 22 47 6c 6f 62 61 6c 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 47 6c 6f ...@"Global",..........@"....Glo
7820 62 61 6c 53 65 63 74 69 6f 6e 28 53 6f 6c 75 74 69 6f 6e 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e balSection(SolutionConfiguration
7840 50 6c 61 74 66 6f 72 6d 73 29 20 3d 20 70 72 65 53 6f 6c 75 74 69 6f 6e 22 2c 0d 0a 20 20 20 20 Platforms).=.preSolution",......
7860 20 20 20 20 40 22 20 20 20 20 20 20 20 20 44 65 62 75 67 7c 41 6e 79 20 43 50 55 20 3d 20 44 65 ....@"........Debug|Any.CPU.=.De
7880 62 75 67 7c 41 6e 79 20 43 50 55 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 20 20 20 bug|Any.CPU",..........@".......
78a0 20 52 65 6c 65 61 73 65 7c 41 6e 79 20 43 50 55 20 3d 20 52 65 6c 65 61 73 65 7c 41 6e 79 20 43 .Release|Any.CPU.=.Release|Any.C
78c0 50 55 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 45 6e 64 47 6c 6f 62 61 6c 53 65 63 PU",..........@"....EndGlobalSec
78e0 74 69 6f 6e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 47 6c 6f 62 61 6c 53 65 63 74 tion",..........@"....GlobalSect
7900 69 6f 6e 28 50 72 6f 6a 65 63 74 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 50 6c 61 74 66 6f 72 6d ion(ProjectConfigurationPlatform
7920 73 29 20 3d 20 70 6f 73 74 53 6f 6c 75 74 69 6f 6e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 7b s).=.postSolution",..........@"{
7940 33 7d 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 45 6e 64 47 6c 6f 62 61 6c 53 65 63 3}",..........@"....EndGlobalSec
7960 74 69 6f 6e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 47 6c 6f 62 61 6c 53 65 63 74 tion",..........@"....GlobalSect
7980 69 6f 6e 28 53 6f 6c 75 74 69 6f 6e 50 72 6f 70 65 72 74 69 65 73 29 20 3d 20 70 72 65 53 6f 6c ion(SolutionProperties).=.preSol
79a0 75 74 69 6f 6e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 20 20 20 20 48 69 64 65 53 ution",..........@"........HideS
79c0 6f 6c 75 74 69 6f 6e 4e 6f 64 65 20 3d 20 46 41 4c 53 45 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 olutionNode.=.FALSE",..........@
79e0 22 20 20 20 20 45 6e 64 47 6c 6f 62 61 6c 53 65 63 74 69 6f 6e 22 2c 0d 0a 20 20 20 20 20 20 20 "....EndGlobalSection",.........
7a00 20 40 22 45 6e 64 47 6c 6f 62 61 6c 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 22 29 2e 52 65 70 .@"EndGlobal",..........@"").Rep
7a20 6c 61 63 65 28 22 20 20 20 20 22 2c 20 22 5c 74 22 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 lace("....",."\t");......}......
7a40 20 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 47 65 74 50 72 6f 6a 65 63 74 46 6f 6f 74 65 72 ..static.string.GetProjectFooter
7a60 54 65 6d 70 6c 61 74 65 28 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 Template()......{........return.
7a80 73 74 72 69 6e 67 2e 4a 6f 69 6e 28 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 2c string.Join(Environment.NewLine,
7aa0 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 3c 2f 49 74 65 6d 47 72 6f 75 70 3e 22 2c 0d 0a 20 20 ..........@"..</ItemGroup>",....
7ac0 20 20 20 20 20 20 40 22 20 20 3c 49 6d 70 6f 72 74 20 50 72 6f 6a 65 63 74 3d 22 22 24 28 4d 53 ......@"..<Import.Project=""$(MS
7ae0 42 75 69 6c 64 54 6f 6f 6c 73 50 61 74 68 29 5c 4d 69 63 72 6f 73 6f 66 74 2e 43 53 68 61 72 70 BuildToolsPath)\Microsoft.CSharp
7b00 2e 74 61 72 67 65 74 73 22 22 20 2f 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 3c 21 2d .targets""./>",..........@"..<!-
7b20 2d 20 54 6f 20 6d 6f 64 69 66 79 20 79 6f 75 72 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 2c 20 -.To.modify.your.build.process,.
7b40 61 64 64 20 79 6f 75 72 20 74 61 73 6b 20 69 6e 73 69 64 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 add.your.task.inside.one.of.the.
7b60 74 61 72 67 65 74 73 20 62 65 6c 6f 77 20 61 6e 64 20 75 6e 63 6f 6d 6d 65 6e 74 20 69 74 2e 20 targets.below.and.uncomment.it..
7b80 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 20 20 20 4f 74 68 65 72 20 73 69 6d 69 6c ",..........@".......Other.simil
7ba0 61 72 20 65 78 74 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 73 20 65 78 69 73 74 2c 20 73 65 65 20 4d ar.extension.points.exist,.see.M
7bc0 69 63 72 6f 73 6f 66 74 2e 43 6f 6d 6d 6f 6e 2e 74 61 72 67 65 74 73 2e 22 2c 0d 0a 20 20 20 20 icrosoft.Common.targets.",......
7be0 20 20 20 20 40 22 20 20 3c 54 61 72 67 65 74 20 4e 61 6d 65 3d 22 22 42 65 66 6f 72 65 42 75 69 ....@"..<Target.Name=""BeforeBui
7c00 6c 64 22 22 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 3c 2f 54 61 72 67 65 74 3e 22 2c ld"">",..........@"..</Target>",
7c20 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 3c 54 61 72 67 65 74 20 4e 61 6d 65 3d 22 22 41 66 74 ..........@"..<Target.Name=""Aft
7c40 65 72 42 75 69 6c 64 22 22 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 3c 2f 54 61 72 67 erBuild"">",..........@"..</Targ
7c60 65 74 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 2d 2d 3e 22 2c 0d 0a 20 20 20 20 20 20 et>",..........@"..-->",........
7c80 20 20 40 22 3c 2f 50 72 6f 6a 65 63 74 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 22 29 3b 0d ..@"</Project>",..........@"");.
7ca0 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 47 65 74 50 .....}........static.string.GetP
7cc0 72 6f 6a 65 63 74 48 65 61 64 65 72 54 65 6d 70 6c 61 74 65 28 29 0d 0a 20 20 20 20 7b 0d 0a 20 rojectHeaderTemplate()......{...
7ce0 20 20 20 20 20 76 61 72 20 68 65 61 64 65 72 20 3d 20 6e 65 77 5b 5d 0d 0a 20 20 20 20 20 20 7b .....var.header.=.new[]........{
7d00 0d 0a 20 20 20 20 20 20 20 20 40 22 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 22 31 2e 30 22 ..........@"<?xml.version=""1.0"
7d20 22 20 65 6e 63 6f 64 69 6e 67 3d 22 22 75 74 66 2d 38 22 22 3f 3e 22 2c 0d 0a 20 20 20 20 20 20 ".encoding=""utf-8""?>",........
7d40 20 20 40 22 3c 50 72 6f 6a 65 63 74 20 54 6f 6f 6c 73 56 65 72 73 69 6f 6e 3d 22 22 7b 30 7d 22 ..@"<Project.ToolsVersion=""{0}"
7d60 22 20 44 65 66 61 75 6c 74 54 61 72 67 65 74 73 3d 22 22 42 75 69 6c 64 22 22 20 78 6d 6c 6e 73 ".DefaultTargets=""Build"".xmlns
7d80 3d 22 22 7b 36 7d 22 22 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 3c 50 72 6f 70 65 72 =""{6}"">",..........@"..<Proper
7da0 74 79 47 72 6f 75 70 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 4c 61 6e 67 56 tyGroup>",..........@"....<LangV
7dc0 65 72 73 69 6f 6e 3e 7b 31 30 7d 3c 2f 4c 61 6e 67 56 65 72 73 69 6f 6e 3e 22 2c 0d 0a 20 20 20 ersion>{10}</LangVersion>",.....
7de0 20 20 20 20 20 40 22 20 20 20 20 3c 5f 54 61 72 67 65 74 46 72 61 6d 65 77 6f 72 6b 44 69 72 65 .....@"....<_TargetFrameworkDire
7e00 63 74 6f 72 69 65 73 3e 6e 6f 6e 5f 65 6d 70 74 79 5f 70 61 74 68 5f 67 65 6e 65 72 61 74 65 64 ctories>non_empty_path_generated
7e20 5f 62 79 5f 75 6e 69 74 79 2e 72 69 64 65 72 2e 70 61 63 6b 61 67 65 3c 2f 5f 54 61 72 67 65 74 _by_unity.rider.package</_Target
7e40 46 72 61 6d 65 77 6f 72 6b 44 69 72 65 63 74 6f 72 69 65 73 3e 22 2c 0d 0a 20 20 20 20 20 20 20 FrameworkDirectories>",.........
7e60 20 40 22 20 20 20 20 3c 5f 46 75 6c 6c 46 72 61 6d 65 77 6f 72 6b 52 65 66 65 72 65 6e 63 65 41 .@"....<_FullFrameworkReferenceA
7e80 73 73 65 6d 62 6c 79 50 61 74 68 73 3e 6e 6f 6e 5f 65 6d 70 74 79 5f 70 61 74 68 5f 67 65 6e 65 ssemblyPaths>non_empty_path_gene
7ea0 72 61 74 65 64 5f 62 79 5f 75 6e 69 74 79 2e 72 69 64 65 72 2e 70 61 63 6b 61 67 65 3c 2f 5f 46 rated_by_unity.rider.package</_F
7ec0 75 6c 6c 46 72 61 6d 65 77 6f 72 6b 52 65 66 65 72 65 6e 63 65 41 73 73 65 6d 62 6c 79 50 61 74 ullFrameworkReferenceAssemblyPat
7ee0 68 73 3e 22 2c 20 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 44 69 73 61 62 6c 65 48 61 hs>",...........@"....<DisableHa
7f00 6e 64 6c 65 50 61 63 6b 61 67 65 46 69 6c 65 43 6f 6e 66 6c 69 63 74 73 3e 74 72 75 65 3c 2f 44 ndlePackageFileConflicts>true</D
7f20 69 73 61 62 6c 65 48 61 6e 64 6c 65 50 61 63 6b 61 67 65 46 69 6c 65 43 6f 6e 66 6c 69 63 74 73 isableHandlePackageFileConflicts
7f40 3e 7b 31 36 7d 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 >{16}",..........@"..</PropertyG
7f60 72 6f 75 70 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 3c 50 72 6f 70 65 72 74 79 47 72 roup>",..........@"..<PropertyGr
7f80 6f 75 70 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 43 6f 6e 66 69 67 75 72 61 oup>",..........@"....<Configura
7fa0 74 69 6f 6e 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 22 20 27 24 28 43 6f 6e 66 69 67 75 72 61 74 69 tion.Condition="".'$(Configurati
7fc0 6f 6e 29 27 20 3d 3d 20 27 27 20 22 22 3e 44 65 62 75 67 3c 2f 43 6f 6e 66 69 67 75 72 61 74 69 on)'.==.''."">Debug</Configurati
7fe0 6f 6e 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 50 6c 61 74 66 6f 72 6d 20 43 on>",..........@"....<Platform.C
8000 6f 6e 64 69 74 69 6f 6e 3d 22 22 20 27 24 28 50 6c 61 74 66 6f 72 6d 29 27 20 3d 3d 20 27 27 20 ondition="".'$(Platform)'.==.''.
8020 22 22 3e 41 6e 79 43 50 55 3c 2f 50 6c 61 74 66 6f 72 6d 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 "">AnyCPU</Platform>",..........
8040 40 22 20 20 20 20 3c 50 72 6f 64 75 63 74 56 65 72 73 69 6f 6e 3e 7b 31 7d 3c 2f 50 72 6f 64 75 @"....<ProductVersion>{1}</Produ
8060 63 74 56 65 72 73 69 6f 6e 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 53 63 68 ctVersion>",..........@"....<Sch
8080 65 6d 61 56 65 72 73 69 6f 6e 3e 32 2e 30 3c 2f 53 63 68 65 6d 61 56 65 72 73 69 6f 6e 3e 22 2c emaVersion>2.0</SchemaVersion>",
80a0 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 52 6f 6f 74 4e 61 6d 65 73 70 61 63 65 3e 7b ..........@"....<RootNamespace>{
80c0 38 7d 3c 2f 52 6f 6f 74 4e 61 6d 65 73 70 61 63 65 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 8}</RootNamespace>",..........@"
80e0 20 20 20 20 3c 50 72 6f 6a 65 63 74 47 75 69 64 3e 7b 7b 7b 32 7d 7d 7d 3c 2f 50 72 6f 6a 65 63 ....<ProjectGuid>{{{2}}}</Projec
8100 74 47 75 69 64 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 4f 75 74 70 75 74 54 tGuid>",..........@"....<OutputT
8120 79 70 65 3e 4c 69 62 72 61 72 79 3c 2f 4f 75 74 70 75 74 54 79 70 65 3e 22 2c 0d 0a 20 20 20 20 ype>Library</OutputType>",......
8140 20 20 20 20 40 22 20 20 20 20 3c 41 70 70 44 65 73 69 67 6e 65 72 46 6f 6c 64 65 72 3e 50 72 6f ....@"....<AppDesignerFolder>Pro
8160 70 65 72 74 69 65 73 3c 2f 41 70 70 44 65 73 69 67 6e 65 72 46 6f 6c 64 65 72 3e 22 2c 0d 0a 20 perties</AppDesignerFolder>",...
8180 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 41 73 73 65 6d 62 6c 79 4e 61 6d 65 3e 7b 37 7d 3c 2f .......@"....<AssemblyName>{7}</
81a0 41 73 73 65 6d 62 6c 79 4e 61 6d 65 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c AssemblyName>",..........@"....<
81c0 54 61 72 67 65 74 46 72 61 6d 65 77 6f 72 6b 56 65 72 73 69 6f 6e 3e 7b 39 7d 3c 2f 54 61 72 67 TargetFrameworkVersion>{9}</Targ
81e0 65 74 46 72 61 6d 65 77 6f 72 6b 56 65 72 73 69 6f 6e 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 etFrameworkVersion>",..........@
8200 22 20 20 20 20 3c 46 69 6c 65 41 6c 69 67 6e 6d 65 6e 74 3e 35 31 32 3c 2f 46 69 6c 65 41 6c 69 "....<FileAlignment>512</FileAli
8220 67 6e 6d 65 6e 74 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 42 61 73 65 44 69 gnment>",..........@"....<BaseDi
8240 72 65 63 74 6f 72 79 3e 7b 31 31 7d 3c 2f 42 61 73 65 44 69 72 65 63 74 6f 72 79 3e 22 2c 0d 0a rectory>{11}</BaseDirectory>",..
8260 20 20 20 20 20 20 20 20 40 22 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 22 2c 0d 0a ........@"..</PropertyGroup>",..
8280 20 20 20 20 20 20 20 20 40 22 20 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70 20 43 6f 6e 64 69 ........@"..<PropertyGroup.Condi
82a0 74 69 6f 6e 3d 22 22 20 27 24 28 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 7c 24 28 50 6c 61 74 tion="".'$(Configuration)|$(Plat
82c0 66 6f 72 6d 29 27 20 3d 3d 20 27 44 65 62 75 67 7c 41 6e 79 43 50 55 27 20 22 22 3e 22 2c 0d 0a form)'.==.'Debug|AnyCPU'."">",..
82e0 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 44 65 62 75 67 53 79 6d 62 6f 6c 73 3e 74 72 75 65 ........@"....<DebugSymbols>true
8300 3c 2f 44 65 62 75 67 53 79 6d 62 6f 6c 73 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 </DebugSymbols>",..........@"...
8320 20 3c 44 65 62 75 67 54 79 70 65 3e 66 75 6c 6c 3c 2f 44 65 62 75 67 54 79 70 65 3e 22 2c 0d 0a .<DebugType>full</DebugType>",..
8340 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 4f 70 74 69 6d 69 7a 65 3e 66 61 6c 73 65 3c 2f 4f ........@"....<Optimize>false</O
8360 70 74 69 6d 69 7a 65 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 4f 75 74 70 75 ptimize>",..........@"....<Outpu
8380 74 50 61 74 68 3e 54 65 6d 70 5c 62 69 6e 5c 44 65 62 75 67 5c 3c 2f 4f 75 74 70 75 74 50 61 74 tPath>Temp\bin\Debug\</OutputPat
83a0 68 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 44 65 66 69 6e 65 43 6f 6e 73 74 h>",..........@"....<DefineConst
83c0 61 6e 74 73 3e 7b 35 7d 3c 2f 44 65 66 69 6e 65 43 6f 6e 73 74 61 6e 74 73 3e 22 2c 0d 0a 20 20 ants>{5}</DefineConstants>",....
83e0 20 20 20 20 20 20 40 22 20 20 20 20 3c 45 72 72 6f 72 52 65 70 6f 72 74 3e 70 72 6f 6d 70 74 3c ......@"....<ErrorReport>prompt<
8400 2f 45 72 72 6f 72 52 65 70 6f 72 74 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c /ErrorReport>",..........@"....<
8420 57 61 72 6e 69 6e 67 4c 65 76 65 6c 3e 7b 31 37 7d 3c 2f 57 61 72 6e 69 6e 67 4c 65 76 65 6c 3e WarningLevel>{17}</WarningLevel>
8440 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 4e 6f 57 61 72 6e 3e 30 31 36 39 7b 31 ",..........@"....<NoWarn>0169{1
8460 33 7d 3c 2f 4e 6f 57 61 72 6e 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 41 6c 3}</NoWarn>",..........@"....<Al
8480 6c 6f 77 55 6e 73 61 66 65 42 6c 6f 63 6b 73 3e 7b 31 32 7d 3c 2f 41 6c 6c 6f 77 55 6e 73 61 66 lowUnsafeBlocks>{12}</AllowUnsaf
84a0 65 42 6c 6f 63 6b 73 3e 7b 31 38 7d 7b 31 39 7d 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 eBlocks>{18}{19}",..........@"..
84c0 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 </PropertyGroup>",..........@"..
84e0 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70 20 43 6f 6e 64 69 74 69 6f 6e 3d 22 22 20 27 24 28 43 <PropertyGroup.Condition="".'$(C
8500 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 7c 24 28 50 6c 61 74 66 6f 72 6d 29 27 20 3d 3d 20 27 52 onfiguration)|$(Platform)'.==.'R
8520 65 6c 65 61 73 65 7c 41 6e 79 43 50 55 27 20 22 22 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 elease|AnyCPU'."">",..........@"
8540 20 20 20 20 3c 44 65 62 75 67 54 79 70 65 3e 70 64 62 6f 6e 6c 79 3c 2f 44 65 62 75 67 54 79 70 ....<DebugType>pdbonly</DebugTyp
8560 65 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 4f 70 74 69 6d 69 7a 65 3e 74 72 e>",..........@"....<Optimize>tr
8580 75 65 3c 2f 4f 70 74 69 6d 69 7a 65 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c ue</Optimize>",..........@"....<
85a0 4f 75 74 70 75 74 50 61 74 68 3e 54 65 6d 70 5c 62 69 6e 5c 52 65 6c 65 61 73 65 5c 3c 2f 4f 75 OutputPath>Temp\bin\Release\</Ou
85c0 74 70 75 74 50 61 74 68 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 45 72 72 6f tputPath>",..........@"....<Erro
85e0 72 52 65 70 6f 72 74 3e 70 72 6f 6d 70 74 3c 2f 45 72 72 6f 72 52 65 70 6f 72 74 3e 22 2c 0d 0a rReport>prompt</ErrorReport>",..
8600 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 57 61 72 6e 69 6e 67 4c 65 76 65 6c 3e 7b 31 37 7d ........@"....<WarningLevel>{17}
8620 3c 2f 57 61 72 6e 69 6e 67 4c 65 76 65 6c 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 </WarningLevel>",..........@"...
8640 20 3c 4e 6f 57 61 72 6e 3e 30 31 36 39 7b 31 33 7d 3c 2f 4e 6f 57 61 72 6e 3e 22 2c 0d 0a 20 20 .<NoWarn>0169{13}</NoWarn>",....
8660 20 20 20 20 20 20 40 22 20 20 20 20 3c 41 6c 6c 6f 77 55 6e 73 61 66 65 42 6c 6f 63 6b 73 3e 7b ......@"....<AllowUnsafeBlocks>{
8680 31 32 7d 3c 2f 41 6c 6c 6f 77 55 6e 73 61 66 65 42 6c 6f 63 6b 73 3e 7b 31 38 7d 7b 31 39 7d 22 12}</AllowUnsafeBlocks>{18}{19}"
86a0 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 22 ,..........@"..</PropertyGroup>"
86c0 0d 0a 20 20 20 20 20 20 7d 3b 0d 0a 0d 0a 20 20 20 20 20 20 76 61 72 20 66 6f 72 63 65 45 78 70 ........};..........var.forceExp
86e0 6c 69 63 69 74 52 65 66 65 72 65 6e 63 65 73 20 3d 20 6e 65 77 5b 5d 0d 0a 20 20 20 20 20 20 7b licitReferences.=.new[]........{
8700 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 3c 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 22 2c 0d ..........@"..<PropertyGroup>",.
8720 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 4e 6f 43 6f 6e 66 69 67 3e 74 72 75 65 3c 2f 4e .........@"....<NoConfig>true</N
8740 6f 43 6f 6e 66 69 67 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 4e 6f 53 74 64 oConfig>",..........@"....<NoStd
8760 4c 69 62 3e 74 72 75 65 3c 2f 4e 6f 53 74 64 4c 69 62 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 Lib>true</NoStdLib>",..........@
8780 22 20 20 20 20 3c 41 64 64 41 64 64 69 74 69 6f 6e 61 6c 45 78 70 6c 69 63 69 74 41 73 73 65 6d "....<AddAdditionalExplicitAssem
87a0 62 6c 79 52 65 66 65 72 65 6e 63 65 73 3e 66 61 6c 73 65 3c 2f 41 64 64 41 64 64 69 74 69 6f 6e blyReferences>false</AddAddition
87c0 61 6c 45 78 70 6c 69 63 69 74 41 73 73 65 6d 62 6c 79 52 65 66 65 72 65 6e 63 65 73 3e 22 2c 0d alExplicitAssemblyReferences>",.
87e0 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 49 6d 70 6c 69 63 69 74 6c 79 45 78 70 61 6e 64 .........@"....<ImplicitlyExpand
8800 4e 45 54 53 74 61 6e 64 61 72 64 46 61 63 61 64 65 73 3e 66 61 6c 73 65 3c 2f 49 6d 70 6c 69 63 NETStandardFacades>false</Implic
8820 69 74 6c 79 45 78 70 61 6e 64 4e 45 54 53 74 61 6e 64 61 72 64 46 61 63 61 64 65 73 3e 22 2c 0d itlyExpandNETStandardFacades>",.
8840 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 49 6d 70 6c 69 63 69 74 6c 79 45 78 70 61 6e 64 .........@"....<ImplicitlyExpand
8860 44 65 73 69 67 6e 54 69 6d 65 46 61 63 61 64 65 73 3e 66 61 6c 73 65 3c 2f 49 6d 70 6c 69 63 69 DesignTimeFacades>false</Implici
8880 74 6c 79 45 78 70 61 6e 64 44 65 73 69 67 6e 54 69 6d 65 46 61 63 61 64 65 73 3e 22 2c 0d 0a 20 tlyExpandDesignTimeFacades>",...
88a0 20 20 20 20 20 20 20 40 22 20 20 3c 2f 50 72 6f 70 65 72 74 79 47 72 6f 75 70 3e 22 0d 0a 20 20 .......@"..</PropertyGroup>"....
88c0 20 20 20 20 7d 3b 0d 0a 0d 0a 20 20 20 20 20 20 76 61 72 20 69 74 65 6d 47 72 6f 75 70 53 74 61 ....};..........var.itemGroupSta
88e0 72 74 20 3d 20 6e 65 77 5b 5d 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 40 22 20 rt.=.new[]........{..........@".
8900 20 3c 49 74 65 6d 47 72 6f 75 70 3e 22 0d 0a 20 20 20 20 20 20 7d 3b 0d 0a 0d 0a 20 20 20 20 20 .<ItemGroup>"........};.........
8920 20 76 61 72 20 66 6f 6f 74 65 72 20 3d 20 6e 65 77 5b 5d 0d 0a 20 20 20 20 20 20 7b 0d 0a 20 20 .var.footer.=.new[]........{....
8940 20 20 20 20 20 20 40 22 20 20 20 20 3c 52 65 66 65 72 65 6e 63 65 20 49 6e 63 6c 75 64 65 3d 22 ......@"....<Reference.Include="
8960 22 55 6e 69 74 79 45 6e 67 69 6e 65 22 22 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 "UnityEngine"">",..........@"...
8980 20 20 20 3c 48 69 6e 74 50 61 74 68 3e 7b 33 7d 3c 2f 48 69 6e 74 50 61 74 68 3e 22 2c 0d 0a 20 ...<HintPath>{3}</HintPath>",...
89a0 20 20 20 20 20 20 20 40 22 20 20 20 20 3c 2f 52 65 66 65 72 65 6e 63 65 3e 22 2c 0d 0a 20 20 20 .......@"....</Reference>",.....
89c0 20 20 20 20 20 40 22 20 20 20 20 3c 52 65 66 65 72 65 6e 63 65 20 49 6e 63 6c 75 64 65 3d 22 22 .....@"....<Reference.Include=""
89e0 55 6e 69 74 79 45 64 69 74 6f 72 22 22 3e 22 2c 0d 0a 20 20 20 20 20 20 20 20 40 22 20 20 20 20 UnityEditor"">",..........@"....
8a00 20 20 3c 48 69 6e 74 50 61 74 68 3e 7b 34 7d 3c 2f 48 69 6e 74 50 61 74 68 3e 22 2c 0d 0a 20 20 ..<HintPath>{4}</HintPath>",....
8a20 20 20 20 20 20 20 40 22 20 20 20 20 3c 2f 52 65 66 65 72 65 6e 63 65 3e 22 2c 0d 0a 20 20 20 20 ......@"....</Reference>",......
8a40 20 20 20 20 40 22 20 20 3c 2f 49 74 65 6d 47 72 6f 75 70 3e 7b 31 34 7d 7b 31 35 7d 22 2c 0d 0a ....@"..</ItemGroup>{14}{15}",..
8a60 20 20 20 20 20 20 20 20 40 22 20 20 3c 49 74 65 6d 47 72 6f 75 70 3e 22 2c 0d 0a 20 20 20 20 20 ........@"..<ItemGroup>",.......
8a80 20 20 20 40 22 22 0d 0a 20 20 20 20 20 20 7d 3b 0d 0a 0d 0a 20 20 20 20 20 20 76 61 72 20 70 69 ...@""........};..........var.pi
8aa0 65 63 65 73 20 3d 20 68 65 61 64 65 72 2e 43 6f 6e 63 61 74 28 66 6f 72 63 65 45 78 70 6c 69 63 eces.=.header.Concat(forceExplic
8ac0 69 74 52 65 66 65 72 65 6e 63 65 73 29 2e 43 6f 6e 63 61 74 28 69 74 65 6d 47 72 6f 75 70 53 74 itReferences).Concat(itemGroupSt
8ae0 61 72 74 29 2e 43 6f 6e 63 61 74 28 66 6f 6f 74 65 72 29 2e 54 6f 41 72 72 61 79 28 29 3b 0d 0a art).Concat(footer).ToArray();..
8b00 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 2e 4a 6f 69 6e 28 45 6e 76 69 72 6f 6e ......return.string.Join(Environ
8b20 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 2c 20 70 69 65 63 65 73 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d ment.NewLine,.pieces);......}...
8b40 0a 20 20 20 20 76 6f 69 64 20 53 79 6e 63 53 6f 6c 75 74 69 6f 6e 28 49 45 6e 75 6d 65 72 61 62 .....void.SyncSolution(IEnumerab
8b60 6c 65 3c 41 73 73 65 6d 62 6c 79 3e 20 69 73 6c 61 6e 64 73 2c 20 54 79 70 65 5b 5d 20 74 79 70 le<Assembly>.islands,.Type[].typ
8b80 65 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 53 79 6e 63 53 6f 6c 75 74 69 6f 6e 46 69 es)......{........SyncSolutionFi
8ba0 6c 65 49 66 4e 6f 74 43 68 61 6e 67 65 64 28 53 6f 6c 75 74 69 6f 6e 46 69 6c 65 28 29 2c 20 53 leIfNotChanged(SolutionFile(),.S
8bc0 6f 6c 75 74 69 6f 6e 54 65 78 74 28 69 73 6c 61 6e 64 73 29 2c 20 74 79 70 65 73 29 3b 0d 0a 20 olutionText(islands),.types);...
8be0 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 74 72 69 6e 67 20 53 6f 6c 75 74 69 6f 6e 54 65 78 74 28 ...}........string.SolutionText(
8c00 49 45 6e 75 6d 65 72 61 62 6c 65 3c 41 73 73 65 6d 62 6c 79 3e 20 69 73 6c 61 6e 64 73 29 0d 0a IEnumerable<Assembly>.islands)..
8c20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 76 61 72 20 66 69 6c 65 76 65 72 73 69 6f 6e 20 3d 20 22 ....{........var.fileversion.=."
8c40 31 31 2e 30 30 22 3b 0d 0a 20 20 20 20 20 20 76 61 72 20 76 73 76 65 72 73 69 6f 6e 20 3d 20 22 11.00";........var.vsversion.=."
8c60 32 30 31 30 22 3b 0d 0a 0d 0a 20 20 20 20 20 20 76 61 72 20 72 65 6c 65 76 61 6e 74 49 73 6c 61 2010";..........var.relevantIsla
8c80 6e 64 73 20 3d 20 52 65 6c 65 76 61 6e 74 49 73 6c 61 6e 64 73 46 6f 72 4d 6f 64 65 28 69 73 6c nds.=.RelevantIslandsForMode(isl
8ca0 61 6e 64 73 29 3b 0d 0a 20 20 20 20 20 20 73 74 72 69 6e 67 20 70 72 6f 6a 65 63 74 45 6e 74 72 ands);........string.projectEntr
8cc0 69 65 73 20 3d 20 47 65 74 50 72 6f 6a 65 63 74 45 6e 74 72 69 65 73 28 72 65 6c 65 76 61 6e 74 ies.=.GetProjectEntries(relevant
8ce0 49 73 6c 61 6e 64 73 29 3b 0d 0a 20 20 20 20 20 20 73 74 72 69 6e 67 20 70 72 6f 6a 65 63 74 43 Islands);........string.projectC
8d00 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 20 3d 20 73 74 72 69 6e 67 2e 4a 6f 69 6e 28 45 6e 76 69 onfigurations.=.string.Join(Envi
8d20 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 2c 0d 0a 20 20 20 20 20 20 20 20 72 65 6c 65 76 61 ronment.NewLine,..........releva
8d40 6e 74 49 73 6c 61 6e 64 73 2e 53 65 6c 65 63 74 28 69 20 3d 3e 20 47 65 74 50 72 6f 6a 65 63 74 ntIslands.Select(i.=>.GetProject
8d60 41 63 74 69 76 65 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 28 6d 5f 47 55 49 44 47 65 6e 65 72 ActiveConfigurations(m_GUIDGener
8d80 61 74 6f 72 2e 50 72 6f 6a 65 63 74 47 75 69 64 28 6d 5f 50 72 6f 6a 65 63 74 4e 61 6d 65 2c 20 ator.ProjectGuid(m_ProjectName,.
8da0 69 2e 6e 61 6d 65 29 29 29 2e 54 6f 41 72 72 61 79 28 29 29 3b 0d 0a 20 20 20 20 20 20 72 65 74 i.name))).ToArray());........ret
8dc0 75 72 6e 20 73 74 72 69 6e 67 2e 46 6f 72 6d 61 74 28 47 65 74 53 6f 6c 75 74 69 6f 6e 54 65 78 urn.string.Format(GetSolutionTex
8de0 74 28 29 2c 20 66 69 6c 65 76 65 72 73 69 6f 6e 2c 20 76 73 76 65 72 73 69 6f 6e 2c 20 70 72 6f t(),.fileversion,.vsversion,.pro
8e00 6a 65 63 74 45 6e 74 72 69 65 73 2c 20 70 72 6f 6a 65 63 74 43 6f 6e 66 69 67 75 72 61 74 69 6f jectEntries,.projectConfiguratio
8e20 6e 73 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 ns);......}............private.s
8e40 74 61 74 69 63 20 73 74 72 69 6e 67 20 47 65 6e 65 72 61 74 65 41 6e 61 6c 79 73 65 72 49 74 65 tatic.string.GenerateAnalyserIte
8e60 6d 47 72 6f 75 70 28 73 74 72 69 6e 67 5b 5d 20 70 61 74 68 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 mGroup(string[].paths)......{...
8e80 20 20 20 20 20 2f 2f 20 20 20 3c 49 74 65 6d 47 72 6f 75 70 3e 0d 0a 20 20 20 20 20 20 20 20 2f .....//...<ItemGroup>........../
8ea0 2f 20 20 20 20 20 20 3c 41 6e 61 6c 79 7a 65 72 20 49 6e 63 6c 75 64 65 3d 22 2e 2e 5c 70 61 63 /......<Analyzer.Include="..\pac
8ec0 6b 61 67 65 73 5c 43 6f 6d 6d 65 6e 74 73 5f 61 6e 61 6c 79 73 65 72 2e 31 2e 30 2e 36 36 32 36 kages\Comments_analyser.1.0.6626
8ee0 2e 32 31 33 35 36 5c 61 6e 61 6c 79 7a 65 72 73 5c 64 6f 74 6e 65 74 5c 63 73 5c 43 6f 6d 6d 65 .21356\analyzers\dotnet\cs\Comme
8f00 6e 74 73 5f 61 6e 61 6c 79 73 65 72 2e 64 6c 6c 22 20 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f nts_analyser.dll"./>..........//
8f20 20 20 20 20 20 20 3c 41 6e 61 6c 79 7a 65 72 20 49 6e 63 6c 75 64 65 3d 22 2e 2e 5c 70 61 63 6b ......<Analyzer.Include="..\pack
8f40 61 67 65 73 5c 55 6e 69 74 79 45 6e 67 69 6e 65 41 6e 61 6c 79 7a 65 72 2e 31 2e 30 2e 30 2e 30 ages\UnityEngineAnalyzer.1.0.0.0
8f60 5c 61 6e 61 6c 79 7a 65 72 73 5c 64 6f 74 6e 65 74 5c 63 73 5c 55 6e 69 74 79 45 6e 67 69 6e 65 \analyzers\dotnet\cs\UnityEngine
8f80 41 6e 61 6c 79 7a 65 72 2e 64 6c 6c 22 20 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 20 3c 2f Analyzer.dll"./>..........//..</
8fa0 49 74 65 6d 47 72 6f 75 70 3e 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 70 61 74 68 73 2e 41 ItemGroup>..........if.(!paths.A
8fc0 6e 79 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 ny())..............return.string
8fe0 2e 45 6d 70 74 79 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 61 6e 61 6c 79 73 65 72 42 .Empty;............var.analyserB
9000 75 69 6c 64 65 72 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 42 75 69 6c 64 65 72 28 29 3b 0d 0a 20 uilder.=.new.StringBuilder();...
9020 20 20 20 20 20 20 20 61 6e 61 6c 79 73 65 72 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 4c 69 6e .......analyserBuilder.AppendLin
9040 65 28 22 20 20 3c 49 74 65 6d 47 72 6f 75 70 3e 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 66 6f 72 e("..<ItemGroup>");..........for
9060 65 61 63 68 20 28 76 61 72 20 70 61 74 68 20 69 6e 20 70 61 74 68 73 29 0d 0a 20 20 20 20 20 20 each.(var.path.in.paths)........
9080 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 61 6e 61 6c 79 73 65 72 42 75 69 6c 64 65 72 2e 41 ..{............analyserBuilder.A
90a0 70 70 65 6e 64 4c 69 6e 65 28 24 22 20 20 20 20 3c 41 6e 61 6c 79 7a 65 72 20 49 6e 63 6c 75 64 ppendLine($"....<Analyzer.Includ
90c0 65 3d 5c 22 7b 70 61 74 68 7d 5c 22 20 2f 3e 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 e=\"{path}\"./>");..........}...
90e0 20 20 20 20 20 20 20 61 6e 61 6c 79 73 65 72 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 4c 69 6e .......analyserBuilder.AppendLin
9100 65 28 22 20 20 3c 2f 49 74 65 6d 47 72 6f 75 70 3e 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 72 65 e("..</ItemGroup>");..........re
9120 74 75 72 6e 20 61 6e 61 6c 79 73 65 72 42 75 69 6c 64 65 72 2e 54 6f 53 74 72 69 6e 67 28 29 3b turn.analyserBuilder.ToString();
9140 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 49 4c ......}........private.static.IL
9160 6f 6f 6b 75 70 3c 73 74 72 69 6e 67 2c 20 73 74 72 69 6e 67 3e 20 47 65 74 4f 74 68 65 72 41 72 ookup<string,.string>.GetOtherAr
9180 67 75 6d 65 6e 74 73 46 72 6f 6d 52 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 28 4c 69 73 gumentsFromResponseFilesData(Lis
91a0 74 3c 52 65 73 70 6f 6e 73 65 46 69 6c 65 44 61 74 61 3e 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 t<ResponseFileData>.responseFile
91c0 73 44 61 74 61 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 76 61 72 20 70 61 74 68 73 20 3d sData)......{........var.paths.=
91e0 20 72 65 73 70 6f 6e 73 65 46 69 6c 65 73 44 61 74 61 2e 53 65 6c 65 63 74 4d 61 6e 79 28 78 20 .responseFilesData.SelectMany(x.
9200 3d 3e 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 =>..........{............return.
9220 78 2e 4f 74 68 65 72 41 72 67 75 6d 65 6e 74 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 57 x.OtherArguments...............W
9240 68 65 72 65 28 61 20 3d 3e 20 61 2e 53 74 61 72 74 73 57 69 74 68 28 22 2f 22 29 20 7c 7c 20 61 here(a.=>.a.StartsWith("/").||.a
9260 2e 53 74 61 72 74 73 57 69 74 68 28 22 2d 22 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e .StartsWith("-"))...............
9280 53 65 6c 65 63 74 28 62 20 3d 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 Select(b.=>..............{......
92a0 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 64 65 78 20 3d 20 62 2e 49 6e 64 65 78 4f 66 28 ..........var.index.=.b.IndexOf(
92c0 22 3a 22 2c 20 53 74 72 69 6e 67 43 6f 6d 70 61 72 69 73 6f 6e 2e 4f 72 64 69 6e 61 6c 29 3b 0d ":",.StringComparison.Ordinal);.
92e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 64 65 78 20 3e 20 30 20 26 26 20 ...............if.(index.>.0.&&.
9300 62 2e 4c 65 6e 67 74 68 20 3e 20 69 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 b.Length.>.index)...............
9320 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6b 65 79 20 3d 20 62 2e .{..................var.key.=.b.
9340 53 75 62 73 74 72 69 6e 67 28 31 2c 20 69 6e 64 65 78 20 2d 20 31 29 3b 0d 0a 20 20 20 20 20 20 Substring(1,.index.-.1);........
9360 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 4b 65 79 56 61 6c 75 65 50 61 69 ..........return.new.KeyValuePai
9380 72 3c 73 74 72 69 6e 67 2c 20 73 74 72 69 6e 67 3e 28 6b 65 79 2c 20 62 2e 53 75 62 73 74 72 69 r<string,.string>(key,.b.Substri
93a0 6e 67 28 69 6e 64 65 78 20 2b 20 31 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ng(index.+.1));................}
93c0 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 73 74 72 69 6e 67 20 77 ..................const.string.w
93e0 61 72 6e 61 73 65 72 72 6f 72 20 3d 20 22 77 61 72 6e 61 73 65 72 72 6f 72 22 3b 0d 0a 20 20 20 arnaserror.=."warnaserror";.....
9400 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 2e 53 75 62 73 74 72 69 6e 67 28 31 29 2e 53 74 ...........if.(b.Substring(1).St
9420 61 72 74 73 57 69 74 68 28 77 61 72 6e 61 73 65 72 72 6f 72 29 29 0d 0a 20 20 20 20 20 20 20 20 artsWith(warnaserror))..........
9440 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ......{..................return.
9460 6e 65 77 20 4b 65 79 56 61 6c 75 65 50 61 69 72 3c 73 74 72 69 6e 67 2c 73 74 72 69 6e 67 3e 28 new.KeyValuePair<string,string>(
9480 77 61 72 6e 61 73 65 72 72 6f 72 2c 20 62 2e 53 75 62 73 74 72 69 6e 67 28 77 61 72 6e 61 73 65 warnaserror,.b.Substring(warnase
94a0 72 72 6f 72 2e 4c 65 6e 67 74 68 2b 20 31 29 20 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 rror.Length+.1).);..............
94c0 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 65 66 61 ..}..................return.defa
94e0 75 6c 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d ult;..............});..........}
9500 29 0d 0a 20 20 20 20 20 20 20 20 2e 44 69 73 74 69 6e 63 74 28 29 0d 0a 20 20 20 20 20 20 20 20 )...........Distinct()..........
9520 2e 54 6f 4c 6f 6f 6b 75 70 28 6f 20 3d 3e 20 6f 2e 4b 65 79 2c 20 70 61 69 72 20 3d 3e 20 70 61 .ToLookup(o.=>.o.Key,.pair.=>.pa
9540 69 72 2e 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 61 74 68 73 3b 0d ir.Value);........return.paths;.
9560 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 72 69 6e 67 20 47 65 6e .....}........private.string.Gen
9580 65 72 61 74 65 4c 61 6e 67 56 65 72 73 69 6f 6e 28 49 45 6e 75 6d 65 72 61 62 6c 65 3c 73 74 72 erateLangVersion(IEnumerable<str
95a0 69 6e 67 3e 20 6c 61 6e 67 56 65 72 73 69 6f 6e 4c 69 73 74 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 ing>.langVersionList)......{....
95c0 20 20 20 20 76 61 72 20 6c 61 6e 67 56 65 72 73 69 6f 6e 20 3d 20 6c 61 6e 67 56 65 72 73 69 6f ....var.langVersion.=.langVersio
95e0 6e 4c 69 73 74 2e 46 69 72 73 74 4f 72 44 65 66 61 75 6c 74 28 29 3b 0d 0a 20 20 20 20 20 20 69 nList.FirstOrDefault();........i
9600 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 57 68 69 74 65 53 70 61 63 65 28 6c 61 f.(!string.IsNullOrWhiteSpace(la
9620 6e 67 56 65 72 73 69 6f 6e 29 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 61 6e 67 ngVersion))..........return.lang
9640 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 6b 5f 54 61 72 67 65 74 4c Version;........return.k_TargetL
9660 61 6e 67 75 61 67 65 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 72 anguageVersion;......}........pr
9680 69 76 61 74 65 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 47 65 6e 65 72 61 74 65 41 6e 61 6c ivate.static.string.GenerateAnal
96a0 79 73 65 72 52 75 6c 65 53 65 74 28 73 74 72 69 6e 67 5b 5d 20 70 61 74 68 73 29 0d 0a 20 20 20 yserRuleSet(string[].paths).....
96c0 20 7b 0d 0a 20 20 20 20 20 20 2f 2f 3c 43 6f 64 65 41 6e 61 6c 79 73 69 73 52 75 6c 65 53 65 74 .{........//<CodeAnalysisRuleSet
96e0 3e 2e 2e 5c 70 61 74 68 5c 74 6f 5c 6d 79 72 75 6c 65 73 2e 72 75 6c 65 73 65 74 3c 2f 43 6f 64 >..\path\to\myrules.ruleset</Cod
9700 65 41 6e 61 6c 79 73 69 73 52 75 6c 65 53 65 74 3e 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 eAnalysisRuleSet>..........if.(!
9720 70 61 74 68 73 2e 41 6e 79 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e paths.Any())..............return
9740 20 73 74 72 69 6e 67 2e 45 6d 70 74 79 3b 0d 0a 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 .string.Empty;..................
9760 72 65 74 75 72 6e 20 24 22 7b 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 7d 7b 73 return.$"{Environment.NewLine}{s
9780 74 72 69 6e 67 2e 4a 6f 69 6e 28 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65 77 4c 69 6e 65 2c 20 tring.Join(Environment.NewLine,.
97a0 70 61 74 68 73 2e 53 65 6c 65 63 74 28 61 20 3d 3e 20 24 22 20 20 3c 43 6f 64 65 41 6e 61 6c 79 paths.Select(a.=>.$"..<CodeAnaly
97c0 73 69 73 52 75 6c 65 53 65 74 3e 7b 61 7d 3c 2f 43 6f 64 65 41 6e 61 6c 79 73 69 73 52 75 6c 65 sisRuleSet>{a}</CodeAnalysisRule
97e0 53 65 74 3e 22 29 29 7d 22 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20 70 72 69 Set>"))}";......}............pri
9800 76 61 74 65 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 47 65 6e 65 72 61 74 65 41 6e 61 6c 79 vate.static.string.GenerateAnaly
9820 73 65 72 41 64 64 69 74 69 6f 6e 61 6c 46 69 6c 65 73 28 73 74 72 69 6e 67 5b 5d 20 70 61 74 68 serAdditionalFiles(string[].path
9840 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 69 66 20 28 21 70 61 74 68 73 2e 41 6e 79 28 s)......{........if.(!paths.Any(
9860 29 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 2e 45 6d 70 74 79 3b ))..........return.string.Empty;
9880 0d 0a 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 76 61 72 20 61 6e 61 6c ........................var.anal
98a0 79 73 65 72 42 75 69 6c 64 65 72 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 42 75 69 6c 64 65 72 28 yserBuilder.=.new.StringBuilder(
98c0 29 3b 0d 0a 20 20 20 20 20 20 61 6e 61 6c 79 73 65 72 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 );........analyserBuilder.Append
98e0 4c 69 6e 65 28 22 20 20 3c 49 74 65 6d 47 72 6f 75 70 3e 22 29 3b 0d 0a 20 20 20 20 20 20 66 6f Line("..<ItemGroup>");........fo
9900 72 65 61 63 68 20 28 76 61 72 20 70 61 74 68 20 69 6e 20 70 61 74 68 73 29 0d 0a 20 20 20 20 20 reach.(var.path.in.paths).......
9920 20 7b 0d 0a 20 20 20 20 20 20 20 20 61 6e 61 6c 79 73 65 72 42 75 69 6c 64 65 72 2e 41 70 70 65 .{..........analyserBuilder.Appe
9940 6e 64 4c 69 6e 65 28 24 22 20 20 20 20 3c 41 64 64 69 74 69 6f 6e 61 6c 46 69 6c 65 73 20 49 6e ndLine($"....<AdditionalFiles.In
9960 63 6c 75 64 65 3d 5c 22 7b 70 61 74 68 7d 5c 22 20 2f 3e 22 29 3b 0d 0a 20 20 20 20 20 20 7d 0d clude=\"{path}\"./>");........}.
9980 0a 20 20 20 20 20 20 61 6e 61 6c 79 73 65 72 42 75 69 6c 64 65 72 2e 41 70 70 65 6e 64 4c 69 6e .......analyserBuilder.AppendLin
99a0 65 28 22 20 20 3c 2f 49 74 65 6d 47 72 6f 75 70 3e 22 29 3b 0d 0a 20 20 20 20 20 20 72 65 74 75 e("..</ItemGroup>");........retu
99c0 72 6e 20 61 6e 61 6c 79 73 65 72 42 75 69 6c 64 65 72 2e 54 6f 53 74 72 69 6e 67 28 29 3b 0d 0a rn.analyserBuilder.ToString();..
99e0 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 ....}............private.static.
9a00 73 74 72 69 6e 67 20 47 65 6e 65 72 61 74 65 4e 6f 57 61 72 6e 28 73 74 72 69 6e 67 5b 5d 20 63 string.GenerateNoWarn(string[].c
9a20 6f 64 65 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 69 66 20 28 21 63 6f 64 65 73 2e 41 odes)......{........if.(!codes.A
9a40 6e 79 28 29 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 2e 45 6d 70 ny())..........return.string.Emp
9a60 74 79 3b 0d 0a 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 22 2c 7b 73 74 ty;................return.$",{st
9a80 72 69 6e 67 2e 4a 6f 69 6e 28 22 2c 22 2c 20 63 6f 64 65 73 29 7d 22 3b 0d 0a 20 20 20 20 7d 0d ring.Join(",",.codes)}";......}.
9aa0 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 41 73 73 65 6d 62 .......static.IEnumerable<Assemb
9ac0 6c 79 3e 20 52 65 6c 65 76 61 6e 74 49 73 6c 61 6e 64 73 46 6f 72 4d 6f 64 65 28 49 45 6e 75 6d ly>.RelevantIslandsForMode(IEnum
9ae0 65 72 61 62 6c 65 3c 41 73 73 65 6d 62 6c 79 3e 20 69 73 6c 61 6e 64 73 29 0d 0a 20 20 20 20 7b erable<Assembly>.islands)......{
9b00 0d 0a 20 20 20 20 20 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 41 73 73 65 6d 62 6c 79 3e 20 72 65 ........IEnumerable<Assembly>.re
9b20 6c 65 76 61 6e 74 49 73 6c 61 6e 64 73 20 3d 20 69 73 6c 61 6e 64 73 2e 57 68 65 72 65 28 69 20 levantIslands.=.islands.Where(i.
9b40 3d 3e 20 53 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 2e 43 53 68 61 72 70 20 3d 3d 20 53 =>.ScriptingLanguage.CSharp.==.S
9b60 63 72 69 70 74 69 6e 67 4c 61 6e 67 75 61 67 65 46 6f 72 28 69 29 29 3b 0d 0a 20 20 20 20 20 20 criptingLanguageFor(i));........
9b80 72 65 74 75 72 6e 20 72 65 6c 65 76 61 6e 74 49 73 6c 61 6e 64 73 3b 0d 0a 20 20 20 20 7d 0d 0a return.relevantIslands;......}..
9ba0 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 47 65 74 ......///.<summary>......///.Get
9bc0 20 61 20 50 72 6f 6a 65 63 74 28 22 7b 67 75 69 64 7d 22 29 20 3d 20 22 4d 79 50 72 6f 6a 65 63 .a.Project("{guid}").=."MyProjec
9be0 74 22 2c 20 22 4d 79 50 72 6f 6a 65 63 74 2e 75 6e 69 74 79 70 72 6f 6a 22 2c 20 22 7b 70 72 6f t",."MyProject.unityproj",."{pro
9c00 6a 65 63 74 67 75 69 64 7d 22 0d 0a 20 20 20 20 2f 2f 2f 20 65 6e 74 72 79 20 66 6f 72 20 65 61 jectguid}"......///.entry.for.ea
9c20 63 68 20 72 65 6c 65 76 61 6e 74 20 6c 61 6e 67 75 61 67 65 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f ch.relevant.language......///.</
9c40 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 73 74 72 69 6e 67 20 47 65 74 50 72 6f 6a 65 63 74 45 summary>......string.GetProjectE
9c60 6e 74 72 69 65 73 28 49 45 6e 75 6d 65 72 61 62 6c 65 3c 41 73 73 65 6d 62 6c 79 3e 20 69 73 6c ntries(IEnumerable<Assembly>.isl
9c80 61 6e 64 73 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 76 61 72 20 70 72 6f 6a 65 63 74 45 ands)......{........var.projectE
9ca0 6e 74 72 69 65 73 20 3d 20 69 73 6c 61 6e 64 73 2e 53 65 6c 65 63 74 28 69 20 3d 3e 20 73 74 72 ntries.=.islands.Select(i.=>.str
9cc0 69 6e 67 2e 46 6f 72 6d 61 74 28 0d 0a 20 20 20 20 20 20 20 20 6d 5f 53 6f 6c 75 74 69 6f 6e 50 ing.Format(..........m_SolutionP
9ce0 72 6f 6a 65 63 74 45 6e 74 72 79 54 65 6d 70 6c 61 74 65 2c 0d 0a 20 20 20 20 20 20 20 20 6d 5f rojectEntryTemplate,..........m_
9d00 47 55 49 44 47 65 6e 65 72 61 74 6f 72 2e 53 6f 6c 75 74 69 6f 6e 47 75 69 64 28 6d 5f 50 72 6f GUIDGenerator.SolutionGuid(m_Pro
9d20 6a 65 63 74 4e 61 6d 65 2c 20 47 65 74 45 78 74 65 6e 73 69 6f 6e 4f 66 53 6f 75 72 63 65 46 69 jectName,.GetExtensionOfSourceFi
9d40 6c 65 73 28 69 2e 73 6f 75 72 63 65 46 69 6c 65 73 29 29 2c 0d 0a 20 20 20 20 20 20 20 20 69 2e les(i.sourceFiles)),..........i.
9d60 6e 61 6d 65 2c 0d 0a 20 20 20 20 20 20 20 20 50 61 74 68 2e 47 65 74 46 69 6c 65 4e 61 6d 65 28 name,..........Path.GetFileName(
9d80 50 72 6f 6a 65 63 74 46 69 6c 65 28 69 29 29 2c 0d 0a 20 20 20 20 20 20 20 20 6d 5f 47 55 49 44 ProjectFile(i)),..........m_GUID
9da0 47 65 6e 65 72 61 74 6f 72 2e 50 72 6f 6a 65 63 74 47 75 69 64 28 6d 5f 50 72 6f 6a 65 63 74 4e Generator.ProjectGuid(m_ProjectN
9dc0 61 6d 65 2c 20 69 2e 6e 61 6d 65 29 0d 0a 20 20 20 20 20 20 29 29 3b 0d 0a 0d 0a 20 20 20 20 20 ame,.i.name)........));.........
9de0 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 2e 4a 6f 69 6e 28 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e .return.string.Join(Environment.
9e00 4e 65 77 4c 69 6e 65 2c 20 70 72 6f 6a 65 63 74 45 6e 74 72 69 65 73 2e 54 6f 41 72 72 61 79 28 NewLine,.projectEntries.ToArray(
9e20 29 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d ));......}........///.<summary>.
9e40 0a 20 20 20 20 2f 2f 2f 20 47 65 6e 65 72 61 74 65 20 74 68 65 20 61 63 74 69 76 65 20 63 6f 6e .....///.Generate.the.active.con
9e60 66 69 67 75 72 61 74 69 6f 6e 20 73 74 72 69 6e 67 20 66 6f 72 20 61 20 67 69 76 65 6e 20 70 72 figuration.string.for.a.given.pr
9e80 6f 6a 65 63 74 20 67 75 69 64 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a oject.guid......///.</summary>..
9ea0 20 20 20 20 73 74 72 69 6e 67 20 47 65 74 50 72 6f 6a 65 63 74 41 63 74 69 76 65 43 6f 6e 66 69 ....string.GetProjectActiveConfi
9ec0 67 75 72 61 74 69 6f 6e 73 28 73 74 72 69 6e 67 20 70 72 6f 6a 65 63 74 47 75 69 64 29 0d 0a 20 gurations(string.projectGuid)...
9ee0 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 2e 46 6f 72 6d 61 74 ...{........return.string.Format
9f00 28 0d 0a 20 20 20 20 20 20 20 20 6d 5f 53 6f 6c 75 74 69 6f 6e 50 72 6f 6a 65 63 74 43 6f 6e 66 (..........m_SolutionProjectConf
9f20 69 67 75 72 61 74 69 6f 6e 54 65 6d 70 6c 61 74 65 2c 0d 0a 20 20 20 20 20 20 20 20 70 72 6f 6a igurationTemplate,..........proj
9f40 65 63 74 47 75 69 64 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 74 72 69 6e 67 20 45 ectGuid);......}........string.E
9f60 73 63 61 70 65 64 52 65 6c 61 74 69 76 65 50 61 74 68 46 6f 72 28 73 74 72 69 6e 67 20 66 69 6c scapedRelativePathFor(string.fil
9f80 65 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 76 61 72 20 70 72 6f 6a 65 63 74 44 69 72 20 e)......{........var.projectDir.
9fa0 3d 20 50 72 6f 6a 65 63 74 44 69 72 65 63 74 6f 72 79 2e 52 65 70 6c 61 63 65 28 27 2f 27 2c 20 =.ProjectDirectory.Replace('/',.
9fc0 27 5c 5c 27 29 3b 0d 0a 20 20 20 20 20 20 66 69 6c 65 20 3d 20 66 69 6c 65 2e 52 65 70 6c 61 63 '\\');........file.=.file.Replac
9fe0 65 28 27 2f 27 2c 20 27 5c 5c 27 29 3b 0d 0a 20 20 20 20 20 20 76 61 72 20 70 61 74 68 20 3d 20 e('/',.'\\');........var.path.=.
a000 53 6b 69 70 50 61 74 68 50 72 65 66 69 78 28 66 69 6c 65 2c 20 70 72 6f 6a 65 63 74 44 69 72 29 SkipPathPrefix(file,.projectDir)
a020 3b 0d 0a 0d 0a 20 20 20 20 20 20 76 61 72 20 70 61 63 6b 61 67 65 49 6e 66 6f 20 3d 20 6d 5f 41 ;..........var.packageInfo.=.m_A
a040 73 73 65 6d 62 6c 79 4e 61 6d 65 50 72 6f 76 69 64 65 72 2e 46 69 6e 64 46 6f 72 41 73 73 65 74 ssemblyNameProvider.FindForAsset
a060 50 61 74 68 28 70 61 74 68 2e 52 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 2f 27 29 29 3b 0d 0a Path(path.Replace('\\',.'/'));..
a080 20 20 20 20 20 20 69 66 20 28 70 61 63 6b 61 67 65 49 6e 66 6f 20 21 3d 20 6e 75 6c 6c 29 0d 0a ......if.(packageInfo.!=.null)..
a0a0 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 68 61 76 65 20 74 6f 20 6e ......{..........//.We.have.to.n
a0c0 6f 72 6d 61 6c 69 7a 65 20 74 68 65 20 70 61 74 68 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 50 ormalize.the.path,.because.the.P
a0e0 61 63 6b 61 67 65 4d 61 6e 61 67 65 72 52 65 6d 61 70 70 65 72 20 61 73 73 75 6d 65 73 0d 0a 20 ackageManagerRemapper.assumes...
a100 20 20 20 20 20 20 20 2f 2f 20 64 69 72 20 73 65 70 65 72 61 74 6f 72 73 20 77 69 6c 6c 20 62 65 .......//.dir.seperators.will.be
a120 20 6f 73 20 73 70 65 63 69 66 69 63 2e 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 61 62 73 6f 6c .os.specific...........var.absol
a140 75 74 65 50 61 74 68 20 3d 20 50 61 74 68 2e 47 65 74 46 75 6c 6c 50 61 74 68 28 4e 6f 72 6d 61 utePath.=.Path.GetFullPath(Norma
a160 6c 69 7a 65 50 61 74 68 28 70 61 74 68 29 29 2e 52 65 70 6c 61 63 65 28 27 2f 27 2c 20 27 5c 5c lizePath(path)).Replace('/',.'\\
a180 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 70 61 74 68 20 3d 20 53 6b 69 70 50 61 74 68 50 72 65 66 ');..........path.=.SkipPathPref
a1a0 69 78 28 61 62 73 6f 6c 75 74 65 50 61 74 68 2c 20 70 72 6f 6a 65 63 74 44 69 72 29 3b 0d 0a 20 ix(absolutePath,.projectDir);...
a1c0 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 53 65 63 75 72 69 74 79 45 .....}..........return.SecurityE
a1e0 6c 65 6d 65 6e 74 2e 45 73 63 61 70 65 28 70 61 74 68 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 lement.Escape(path);......}.....
a200 20 20 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 53 6b 69 70 50 61 74 68 50 72 65 66 69 78 28 ...static.string.SkipPathPrefix(
a220 73 74 72 69 6e 67 20 70 61 74 68 2c 20 73 74 72 69 6e 67 20 70 72 65 66 69 78 29 0d 0a 20 20 20 string.path,.string.prefix).....
a240 20 7b 0d 0a 20 20 20 20 20 20 69 66 20 28 70 61 74 68 2e 52 65 70 6c 61 63 65 28 22 5c 5c 22 2c .{........if.(path.Replace("\\",
a260 20 22 2f 22 29 2e 53 74 61 72 74 73 57 69 74 68 28 24 22 7b 70 72 65 66 69 78 7d 2f 22 29 29 0d ."/").StartsWith($"{prefix}/")).
a280 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 61 74 68 2e 53 75 62 73 74 72 69 6e 67 28 70 .........return.path.Substring(p
a2a0 72 65 66 69 78 2e 4c 65 6e 67 74 68 20 2b 20 31 29 3b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e refix.Length.+.1);........return
a2c0 20 70 61 74 68 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 73 74 72 69 .path;......}........static.stri
a2e0 6e 67 20 4e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 73 74 72 69 6e 67 20 70 61 74 68 29 0d 0a 20 ng.NormalizePath(string.path)...
a300 20 20 20 7b 0d 0a 20 20 20 20 20 20 69 66 20 28 50 61 74 68 2e 44 69 72 65 63 74 6f 72 79 53 65 ...{........if.(Path.DirectorySe
a320 70 61 72 61 74 6f 72 43 68 61 72 20 3d 3d 20 27 5c 5c 27 29 0d 0a 20 20 20 20 20 20 20 20 72 65 paratorChar.==.'\\')..........re
a340 74 75 72 6e 20 70 61 74 68 2e 52 65 70 6c 61 63 65 28 27 2f 27 2c 20 50 61 74 68 2e 44 69 72 65 turn.path.Replace('/',.Path.Dire
a360 63 74 6f 72 79 53 65 70 61 72 61 74 6f 72 43 68 61 72 29 3b 0d 0a 20 20 20 20 20 20 72 65 74 75 ctorySeparatorChar);........retu
a380 72 6e 20 70 61 74 68 2e 52 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 50 61 74 68 2e 44 69 72 65 63 rn.path.Replace('\\',.Path.Direc
a3a0 74 6f 72 79 53 65 70 61 72 61 74 6f 72 43 68 61 72 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 torySeparatorChar);......}......
a3c0 20 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 50 72 6f 6a 65 63 74 46 6f 6f 74 65 72 28 29 0d ..static.string.ProjectFooter().
a3e0 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 47 65 74 50 72 6f 6a 65 63 74 46 .....{........return.GetProjectF
a400 6f 6f 74 65 72 54 65 6d 70 6c 61 74 65 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 ooterTemplate();......}........s
a420 74 61 74 69 63 20 73 74 72 69 6e 67 20 47 65 74 50 72 6f 6a 65 63 74 45 78 74 65 6e 73 69 6f 6e tatic.string.GetProjectExtension
a440 28 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 2e 63 73 70 72 6f 6a ()......{........return.".csproj
a460 22 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 7d 0d 0a 0d 0a 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 ";......}....}......public.stati
a480 63 20 63 6c 61 73 73 20 53 6f 6c 75 74 69 6f 6e 47 75 69 64 47 65 6e 65 72 61 74 6f 72 0d 0a 20 c.class.SolutionGuidGenerator...
a4a0 20 7b 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 47 75 69 .{......public.static.string.Gui
a4c0 64 46 6f 72 50 72 6f 6a 65 63 74 28 73 74 72 69 6e 67 20 70 72 6f 6a 65 63 74 4e 61 6d 65 29 0d dForProject(string.projectName).
a4e0 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 43 6f 6d 70 75 74 65 47 75 69 64 .....{........return.ComputeGuid
a500 48 61 73 68 46 6f 72 28 70 72 6f 6a 65 63 74 4e 61 6d 65 20 2b 20 22 73 61 6c 74 22 29 3b 0d 0a HashFor(projectName.+."salt");..
a520 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 73 74 72 69 6e ....}........public.static.strin
a540 67 20 47 75 69 64 46 6f 72 53 6f 6c 75 74 69 6f 6e 28 73 74 72 69 6e 67 20 70 72 6f 6a 65 63 74 g.GuidForSolution(string.project
a560 4e 61 6d 65 2c 20 73 74 72 69 6e 67 20 73 6f 75 72 63 65 46 69 6c 65 45 78 74 65 6e 73 69 6f 6e Name,.string.sourceFileExtension
a580 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 69 66 20 28 73 6f 75 72 63 65 46 69 6c 65 45 78 )......{........if.(sourceFileEx
a5a0 74 65 6e 73 69 6f 6e 2e 54 6f 4c 6f 77 65 72 28 29 20 3d 3d 20 22 63 73 22 29 0d 0a 20 20 20 20 tension.ToLower().==."cs")......
a5c0 20 20 20 20 2f 2f 20 47 55 49 44 20 66 6f 72 20 61 20 43 23 20 63 6c 61 73 73 20 6c 69 62 72 61 ....//.GUID.for.a.C#.class.libra
a5e0 72 79 3a 20 68 74 74 70 3a 2f 2f 77 77 77 2e 63 6f 64 65 70 72 6f 6a 65 63 74 2e 63 6f 6d 2f 52 ry:.http://www.codeproject.com/R
a600 65 66 65 72 65 6e 63 65 2f 37 32 30 35 31 32 2f 4c 69 73 74 2d 6f 66 2d 56 69 73 75 61 6c 2d 53 eference/720512/List-of-Visual-S
a620 74 75 64 69 6f 2d 50 72 6f 6a 65 63 74 2d 54 79 70 65 2d 47 55 49 44 73 0d 0a 20 20 20 20 20 20 tudio-Project-Type-GUIDs........
a640 20 20 72 65 74 75 72 6e 20 22 46 41 45 30 34 45 43 30 2d 33 30 31 46 2d 31 31 44 33 2d 42 46 34 ..return."FAE04EC0-301F-11D3-BF4
a660 42 2d 30 30 43 30 34 46 37 39 45 46 42 43 22 3b 0d 0a 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e B-00C04F79EFBC";..........return
a680 20 43 6f 6d 70 75 74 65 47 75 69 64 48 61 73 68 46 6f 72 28 70 72 6f 6a 65 63 74 4e 61 6d 65 29 .ComputeGuidHashFor(projectName)
a6a0 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 43 6f ;......}........static.string.Co
a6c0 6d 70 75 74 65 47 75 69 64 48 61 73 68 46 6f 72 28 73 74 72 69 6e 67 20 69 6e 70 75 74 29 0d 0a mputeGuidHashFor(string.input)..
a6e0 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 76 61 72 20 68 61 73 68 20 3d 20 4d 44 35 2e 43 72 65 61 ....{........var.hash.=.MD5.Crea
a700 74 65 28 29 2e 43 6f 6d 70 75 74 65 48 61 73 68 28 45 6e 63 6f 64 69 6e 67 2e 44 65 66 61 75 6c te().ComputeHash(Encoding.Defaul
a720 74 2e 47 65 74 42 79 74 65 73 28 69 6e 70 75 74 29 29 3b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 t.GetBytes(input));........retur
a740 6e 20 48 61 73 68 41 73 47 75 69 64 28 48 61 73 68 54 6f 53 74 72 69 6e 67 28 68 61 73 68 29 29 n.HashAsGuid(HashToString(hash))
a760 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 48 61 ;......}........static.string.Ha
a780 73 68 41 73 47 75 69 64 28 73 74 72 69 6e 67 20 68 61 73 68 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 shAsGuid(string.hash)......{....
a7a0 20 20 20 20 76 61 72 20 67 75 69 64 20 3d 20 68 61 73 68 2e 53 75 62 73 74 72 69 6e 67 28 30 2c ....var.guid.=.hash.Substring(0,
a7c0 20 38 29 20 2b 20 22 2d 22 20 2b 20 68 61 73 68 2e 53 75 62 73 74 72 69 6e 67 28 38 2c 20 34 29 .8).+."-".+.hash.Substring(8,.4)
a7e0 20 2b 20 22 2d 22 20 2b 20 68 61 73 68 2e 53 75 62 73 74 72 69 6e 67 28 31 32 2c 20 34 29 20 2b .+."-".+.hash.Substring(12,.4).+
a800 20 22 2d 22 20 2b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 73 68 2e 53 75 ."-".+...................hash.Su
a820 62 73 74 72 69 6e 67 28 31 36 2c 20 34 29 20 2b 20 22 2d 22 20 2b 20 68 61 73 68 2e 53 75 62 73 bstring(16,.4).+."-".+.hash.Subs
a840 74 72 69 6e 67 28 32 30 2c 20 31 32 29 3b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 67 75 69 tring(20,.12);........return.gui
a860 64 2e 54 6f 55 70 70 65 72 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 73 74 61 74 69 d.ToUpper();......}........stati
a880 63 20 73 74 72 69 6e 67 20 48 61 73 68 54 6f 53 74 72 69 6e 67 28 62 79 74 65 5b 5d 20 62 73 29 c.string.HashToString(byte[].bs)
a8a0 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 76 61 72 20 73 62 20 3d 20 6e 65 77 20 53 74 72 69 ......{........var.sb.=.new.Stri
a8c0 6e 67 42 75 69 6c 64 65 72 28 29 3b 0d 0a 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 62 79 74 ngBuilder();........foreach.(byt
a8e0 65 20 62 20 69 6e 20 62 73 29 0d 0a 20 20 20 20 20 20 20 20 73 62 2e 41 70 70 65 6e 64 28 62 2e e.b.in.bs)..........sb.Append(b.
a900 54 6f 53 74 72 69 6e 67 28 22 78 32 22 29 29 3b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 ToString("x2"));........return.s
a920 62 2e 54 6f 53 74 72 69 6e 67 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 7d 0d 0a 7d 0d 0a 00 00 b.ToString();......}....}..}....
a940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 00 50 72 6f 6a 65 63 74 47 ........................ProjectG
a960 65 6e 65 72 61 74 69 6f 6e 00 00 00 15 00 00 00 50 61 63 6b 61 67 65 73 2e 52 69 64 65 72 2e 45 eneration.......Packages.Rider.E
a980 64 69 74 6f 72 00 00 00 ditor...