aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2025-11-15 17:53:46 -0800
committerRob Mensching <rob@firegiant.com>2025-11-16 14:57:53 -0800
commit39ff17ea54c119c3aa926ee5c3d4628204b93d31 (patch)
tree422ed11f91cf55b08864154faad0a2e296b8e488
parentfcd24ed09ddd3275220481c676f7f0c64d3c4a33 (diff)
downloadwix-robmen/dev10.tar.gz
wix-robmen/dev10.tar.bz2
wix-robmen/dev10.zip
Migrate all .sln files to .slnxrobmen/dev10
Modernize projects against new .slnx expecations as well.
-rw-r--r--src/api/api.sln208
-rw-r--r--src/api/api.slnx41
-rw-r--r--src/api/burn/WixToolset.BootstrapperApplicationApi/build/WixToolset.BootstrapperApplicationApi.props2
-rw-r--r--src/api/burn/api_burn.sln113
-rw-r--r--src/api/burn/api_burn.slnx22
-rw-r--r--src/api/burn/balutil/balutil.vcxproj2
-rw-r--r--src/api/burn/bextutil/bextutil.vcxproj2
-rw-r--r--src/api/burn/bextutil/build/WixToolset.BootstrapperExtensionApi.props2
-rw-r--r--src/api/burn/mbanative/mbanative.vcxproj2
-rw-r--r--src/api/burn/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj2
-rw-r--r--src/api/burn/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj.filters4
-rw-r--r--src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj2
-rw-r--r--src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj.filters2
-rw-r--r--src/api/wix/api_wix.sln65
-rw-r--r--src/api/wix/api_wix.slnx10
-rw-r--r--src/burn/burn.sln63
-rw-r--r--src/burn/burn.slnx13
-rw-r--r--src/burn/engine/engine.vcxproj2
-rw-r--r--src/burn/stub/WixToolset.Burn.props2
-rw-r--r--src/burn/stub/stub.vcxproj2
-rw-r--r--src/burn/test/BurnUnitTest/BurnUnitTest.vcxproj2
-rw-r--r--src/burn/test/BurnUnitTest/BurnUnitTest.vcxproj.filters2
-rw-r--r--src/dtf/SfxCA/SfxCA.vcxproj2
-rw-r--r--src/dtf/SfxCA/SfxCA.vcxproj.filters4
-rw-r--r--src/dtf/dtf.cmd2
-rw-r--r--src/dtf/dtf.sln243
-rw-r--r--src/dtf/dtf.slnx36
-rw-r--r--src/dtf/test/WixToolsetTests.Dtf.Compression.Cab/WixToolsetTests.Dtf.Compression.Cab.csproj6
-rw-r--r--src/dtf/test/WixToolsetTests.Dtf.Compression.Zip/WixToolsetTests.Dtf.Compression.Zip.csproj6
-rw-r--r--src/dtf/test/WixToolsetTests.Dtf.Compression/WixToolsetTests.Dtf.Compression.csproj6
-rw-r--r--src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller.CustomActions/WixToolsetTests.Dtf.WindowsInstaller.CustomActions.csproj4
-rw-r--r--src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller.Linq/WixToolsetTests.Dtf.WindowsInstaller.Linq.csproj8
-rw-r--r--src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller/WixToolsetTests.Dtf.WindowsInstaller.csproj6
-rw-r--r--src/ext/Bal/Bal.wixext.sln165
-rw-r--r--src/ext/Bal/Bal.wixext.slnx26
-rw-r--r--src/ext/Bal/stdbas/stdbas.vcxproj2
-rw-r--r--src/ext/Bal/test/WixStdFnUnitTest/WixStdFnUnitTest.filters4
-rw-r--r--src/ext/Bal/test/WixStdFnUnitTest/WixStdFnUnitTest.vcxproj2
-rw-r--r--src/ext/Bal/wixiuiba/wixiuiba.vcxproj2
-rw-r--r--src/ext/Bal/wixprqba/wixprqba.vcxproj2
-rw-r--r--src/ext/Bal/wixstdba/wixstdba.vcxproj2
-rw-r--r--src/ext/Bal/wixstdfn/build/WixToolset.WixStandardBootstrapperApplicationFunctionApi.props2
-rw-r--r--src/ext/Bal/wixstdfn/wixstdfn.vcxproj2
-rw-r--r--src/ext/ComPlus/ComPlus.wixext.sln64
-rw-r--r--src/ext/ComPlus/ComPlus.wixext.slnx16
-rw-r--r--src/ext/ComPlus/ca/complusca.vcxproj2
-rw-r--r--src/ext/Dependency/Dependency.wixext.sln61
-rw-r--r--src/ext/Dependency/Dependency.wixext.slnx15
-rw-r--r--src/ext/Dependency/ca/dependencyca.vcxproj2
-rw-r--r--src/ext/Dependency/ca/dependencyca.vcxproj.filters4
-rw-r--r--src/ext/DirectX/DirectX.wixext.sln61
-rw-r--r--src/ext/DirectX/DirectX.wixext.slnx15
-rw-r--r--src/ext/DirectX/ca/directxca.vcxproj2
-rw-r--r--src/ext/Firewall/Firewall.wixext.sln75
-rw-r--r--src/ext/Firewall/Firewall.wixext.slnx18
-rw-r--r--src/ext/Firewall/ca/fwca.vcxproj2
-rw-r--r--src/ext/Http/Http.wixext.sln61
-rw-r--r--src/ext/Http/Http.wixext.slnx15
-rw-r--r--src/ext/Http/ca/httpca.vcxproj4
-rw-r--r--src/ext/Http/ca/httpca.vcxproj.filters4
-rw-r--r--src/ext/Iis/Iis.wixext.sln61
-rw-r--r--src/ext/Iis/Iis.wixext.slnx15
-rw-r--r--src/ext/Iis/ca/iisca.vcxproj2
-rw-r--r--src/ext/Msmq/Msmq.wixext.sln61
-rw-r--r--src/ext/Msmq/Msmq.wixext.slnx15
-rw-r--r--src/ext/Msmq/ca/msmqca.vcxproj4
-rw-r--r--src/ext/NetFx/NetFx.wixext.sln105
-rw-r--r--src/ext/NetFx/NetFx.wixext.slnx23
-rw-r--r--src/ext/NetFx/ca/netfxca.vcxproj2
-rw-r--r--src/ext/NetFx/netcoresearch/netcoresearch.vcxproj2
-rw-r--r--src/ext/PowerShell/PowerShell.wixext.sln63
-rw-r--r--src/ext/PowerShell/PowerShell.wixext.slnx14
-rw-r--r--src/ext/Sql/Sql.wixext.sln61
-rw-r--r--src/ext/Sql/Sql.wixext.slnx15
-rw-r--r--src/ext/Sql/ca/sqlca.vcxproj2
-rw-r--r--src/ext/UI/UI.wixext.sln75
-rw-r--r--src/ext/UI/UI.wixext.slnx18
-rw-r--r--src/ext/UI/ca/uica.vcxproj2
-rw-r--r--src/ext/Util/Util.wixext.sln87
-rw-r--r--src/ext/Util/Util.wixext.slnx22
-rw-r--r--src/ext/Util/ca/utilca.vcxproj2
-rw-r--r--src/ext/VisualStudio/VisualStudio.wixext.sln84
-rw-r--r--src/ext/VisualStudio/VisualStudio.wixext.slnx18
-rw-r--r--src/ext/VisualStudio/ca/vsca.vcxproj2
-rw-r--r--src/internal/WixBuildTools.MsgGen/build/WixBuildTools.MsgGen.targets2
-rw-r--r--src/internal/WixBuildTools.MsgGen/buildCrossTargeting/WixBuildTools.MsgGen.targets2
-rw-r--r--src/internal/WixBuildTools.XsdGen/build/WixBuildTools.XsdGen.targets2
-rw-r--r--src/internal/WixBuildTools.XsdGen/buildCrossTargeting/WixBuildTools.XsdGen.targets2
-rw-r--r--src/internal/WixInternal.TestSupport.Native/WixInternal.TestSupport.Native.vcxproj2
-rw-r--r--src/internal/WixInternal.TestSupport.Native/WixInternal.TestSupport.Native.vcxproj.filters4
-rw-r--r--src/internal/internal.sln109
-rw-r--r--src/internal/internal.slnx16
-rw-r--r--src/libs/dutil/WixToolset.DUtil/build/WixToolset.DUtil.props2
-rw-r--r--src/libs/dutil/WixToolset.DUtil/dutil.vcxproj2
-rw-r--r--src/libs/dutil/WixToolset.DUtil/dutil.vcxproj.filters4
-rw-r--r--src/libs/dutil/dutil.sln49
-rw-r--r--src/libs/dutil/dutil.slnx12
-rw-r--r--src/libs/dutil/test/DUtilUnitTest/DUtilUnitTest.vcxproj2
-rw-r--r--src/libs/dutil/test/DUtilUnitTest/DUtilUnitTest.vcxproj.filters4
-rw-r--r--src/libs/libs.sln105
-rw-r--r--src/libs/libs.slnx24
-rw-r--r--src/libs/out.xml19634
-rw-r--r--src/libs/wcautil/WixToolset.WcaUtil/build/WixToolset.WcaUtil.props2
-rw-r--r--src/libs/wcautil/WixToolset.WcaUtil/wcautil.vcxproj2
-rw-r--r--src/libs/wcautil/wcautil.sln37
-rw-r--r--src/libs/wcautil/wcautil.slnx8
-rw-r--r--src/setup/setup.cmd2
-rw-r--r--src/setup/setup.sln37
-rw-r--r--src/setup/setup.slnx7
-rw-r--r--src/test/burn/BurnE2ETests.sln107
-rw-r--r--src/test/burn/BurnE2ETests.slnx13
-rw-r--r--src/test/burn/TestData/WixIuiBaTests/DtfSamples.sln28
-rw-r--r--src/test/burn/TestData/WixIuiBaTests/DtfSamples.slnx6
-rw-r--r--src/test/msi/MsiE2ETests.sln51
-rw-r--r--src/test/msi/MsiE2ETests.slnx9
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/ComPlusComponents.sln79
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/ComPlusComponents.slnx11
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.csproj4
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.csproj4
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj.filters4
-rw-r--r--src/test/wix/TestData/CsprojClassLibraryNetFx/CsprojClassLibraryNetFx.csproj14
-rw-r--r--src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.sln25
-rw-r--r--src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.slnx3
-rw-r--r--src/test/wix/TestData/CsprojConsoleNetCore/CsprojConsoleNetCore.sln25
-rw-r--r--src/test/wix/TestData/CsprojConsoleNetCore/CsprojConsoleNetCore.slnx3
-rw-r--r--src/test/wix/TestData/CsprojWebApplicationNetFx/CsprojWebApplicationNetFx.csproj4
-rw-r--r--src/test/wix/TestData/CsprojWindowsFormsNetFx/CsprojWindowsFormsNetFx.csproj5
-rw-r--r--src/test/wix/TestData/CsprojWindowsFormsNetFx/Properties/Resources.Designer.cs43
-rw-r--r--src/test/wix/TestData/CsprojWindowsFormsNetFx/Properties/Settings.Designer.cs21
-rw-r--r--src/test/wix/TestData/TestProjects.sln191
-rw-r--r--src/test/wix/TestData/TestProjects.slnx19
-rw-r--r--src/test/wix/TestData/VcxprojConsoleApplication/VcxprojConsoleApplication.vcxproj.filters4
-rw-r--r--src/test/wix/TestData/VcxprojDll/VcxprojDll.vcxproj.filters4
-rw-r--r--src/test/wix/TestData/VcxprojStaticLib/VcxprojStaticLib.vcxproj.filters4
-rw-r--r--src/test/wix/TestData/VcxprojWindowsApp/VcxprojWindowsApp.vcxproj.filters4
-rw-r--r--src/test/wix/TestData/WixprojPackageCsprojWpfNetCore/abc/Bad.wxs3
-rw-r--r--src/test/wix/WixE2ETests.sln22
-rw-r--r--src/test/wix/WixE2ETests.slnx3
-rw-r--r--src/tools/Dtf/DDiff/DDiff.csproj2
-rw-r--r--src/tools/Dtf/Documents/Guide/dtfguide.helpproj2
-rw-r--r--src/tools/Dtf/Documents/Reference/dtfref.shfbproj2
-rw-r--r--src/tools/Dtf/Inventory/Inventory.csproj2
-rw-r--r--src/tools/Dtf/WiFile/WiFile.csproj2
-rw-r--r--src/tools/Dtf/XPack/XPack.csproj2
-rw-r--r--src/tools/thmviewer/thmviewer.vcxproj2
-rw-r--r--src/tools/thmviewer/thmviewer.vcxproj.filters4
-rw-r--r--src/tools/tools.sln44
-rw-r--r--src/tools/tools.slnx11
-rw-r--r--src/wix/test/WixToolsetTest.Converters.Symbolizer/TestData/Integration/test.wixproj4
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/MsiPackageWithIceError/MsiPackage/MsiPackage.wixproj2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.sln31
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.slnx9
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleMsiPackage.sln39
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleMsiPackage.slnx13
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/UncompressedBundle/UncompressedBundle.wixproj2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/SingleCultureWithFallbackMsiPackage/SingleCultureWithFallbackMsiPackage.wixproj2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/PackageIncludesWixlib.wixproj2
-rw-r--r--src/wix/wix.cmd4
-rw-r--r--src/wix/wix.sln451
-rw-r--r--src/wix/wix.slnx35
-rw-r--r--src/wix/wixnative/wixnative.vcxproj2
167 files changed, 20365 insertions, 3374 deletions
diff --git a/src/api/api.sln b/src/api/api.sln
deleted file mode 100644
index 70df4141..00000000
--- a/src/api/api.sln
+++ /dev/null
@@ -1,208 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.3.32922.545
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Data", "wix\WixToolset.Data\WixToolset.Data.csproj", "{6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}"
7EndProject
8Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Extensibility", "wix\WixToolset.Extensibility\WixToolset.Extensibility.csproj", "{0B5A9161-EDBB-4B60-AE97-24199BCF36A4}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Data", "wix\test\WixToolsetTest.Data\WixToolsetTest.Data.csproj", "{D6A57B9F-CF8C-442B-A9CE-F05258AB0046}"
11EndProject
12Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "wix", "wix", "{A2DB791A-F5A8-44F9-9225-2C8BE1936356}"
13EndProject
14Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "burn", "burn", "{E5E93B46-D1AD-4F00-B3C2-F459DC670302}"
15EndProject
16Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "balutil", "burn\balutil\balutil.vcxproj", "{EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}"
17EndProject
18Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bextutil", "burn\bextutil\bextutil.vcxproj", "{06027492-1CB9-48BC-B31E-C1F9356ED07E}"
19EndProject
20Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mbanative", "burn\mbanative\mbanative.vcxproj", "{665E0441-17F9-4105-B202-EDF274657F6E}"
21EndProject
22Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BalUtilUnitTest", "burn\test\BalUtilUnitTest\BalUtilUnitTest.vcxproj", "{9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}"
23EndProject
24Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BextUtilUnitTest", "burn\test\BextUtilUnitTest\BextUtilUnitTest.vcxproj", "{B69E6422-49B0-4E28-92F9-B8A7410A6ED9}"
25EndProject
26Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.BootstrapperApplicationApi", "burn\test\WixToolsetTest.BootstrapperApplicationApi\WixToolsetTest.BootstrapperApplicationApi.csproj", "{17DA3E92-40C5-4328-9BA5-1FE459A13719}"
27EndProject
28Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.BootstrapperApplicationApi", "burn\WixToolset.BootstrapperApplicationApi\WixToolset.BootstrapperApplicationApi.csproj", "{47029283-43EC-4F22-9417-A02B28594912}"
29EndProject
30Global
31 GlobalSection(SolutionConfigurationPlatforms) = preSolution
32 Debug|Any CPU = Debug|Any CPU
33 Debug|ARM64 = Debug|ARM64
34 Debug|x64 = Debug|x64
35 Debug|x86 = Debug|x86
36 Release|Any CPU = Release|Any CPU
37 Release|ARM64 = Release|ARM64
38 Release|x64 = Release|x64
39 Release|x86 = Release|x86
40 EndGlobalSection
41 GlobalSection(ProjectConfigurationPlatforms) = postSolution
42 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
43 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Debug|Any CPU.Build.0 = Debug|Any CPU
44 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Debug|ARM64.ActiveCfg = Debug|Any CPU
45 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Debug|ARM64.Build.0 = Debug|Any CPU
46 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Debug|x64.ActiveCfg = Debug|Any CPU
47 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Debug|x64.Build.0 = Debug|Any CPU
48 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Debug|x86.ActiveCfg = Debug|Any CPU
49 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Debug|x86.Build.0 = Debug|Any CPU
50 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Release|Any CPU.ActiveCfg = Release|Any CPU
51 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Release|Any CPU.Build.0 = Release|Any CPU
52 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Release|ARM64.ActiveCfg = Release|Any CPU
53 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Release|ARM64.Build.0 = Release|Any CPU
54 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Release|x64.ActiveCfg = Release|Any CPU
55 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Release|x64.Build.0 = Release|Any CPU
56 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Release|x86.ActiveCfg = Release|Any CPU
57 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60}.Release|x86.Build.0 = Release|Any CPU
58 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
59 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
60 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Debug|ARM64.ActiveCfg = Debug|Any CPU
61 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Debug|ARM64.Build.0 = Debug|Any CPU
62 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Debug|x64.ActiveCfg = Debug|Any CPU
63 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Debug|x64.Build.0 = Debug|Any CPU
64 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Debug|x86.ActiveCfg = Debug|Any CPU
65 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Debug|x86.Build.0 = Debug|Any CPU
66 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
67 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Release|Any CPU.Build.0 = Release|Any CPU
68 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Release|ARM64.ActiveCfg = Release|Any CPU
69 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Release|ARM64.Build.0 = Release|Any CPU
70 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Release|x64.ActiveCfg = Release|Any CPU
71 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Release|x64.Build.0 = Release|Any CPU
72 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Release|x86.ActiveCfg = Release|Any CPU
73 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4}.Release|x86.Build.0 = Release|Any CPU
74 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
75 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Debug|Any CPU.Build.0 = Debug|Any CPU
76 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Debug|ARM64.ActiveCfg = Debug|Any CPU
77 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Debug|ARM64.Build.0 = Debug|Any CPU
78 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Debug|x64.ActiveCfg = Debug|Any CPU
79 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Debug|x64.Build.0 = Debug|Any CPU
80 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Debug|x86.ActiveCfg = Debug|Any CPU
81 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Debug|x86.Build.0 = Debug|Any CPU
82 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Release|Any CPU.ActiveCfg = Release|Any CPU
83 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Release|Any CPU.Build.0 = Release|Any CPU
84 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Release|ARM64.ActiveCfg = Release|Any CPU
85 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Release|ARM64.Build.0 = Release|Any CPU
86 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Release|x64.ActiveCfg = Release|Any CPU
87 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Release|x64.Build.0 = Release|Any CPU
88 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Release|x86.ActiveCfg = Release|Any CPU
89 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046}.Release|x86.Build.0 = Release|Any CPU
90 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|Any CPU.ActiveCfg = Debug|Win32
91 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|Any CPU.Build.0 = Debug|Win32
92 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|ARM64.ActiveCfg = Debug|ARM64
93 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|ARM64.Build.0 = Debug|ARM64
94 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|x64.ActiveCfg = Debug|x64
95 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|x64.Build.0 = Debug|x64
96 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|x86.ActiveCfg = Debug|Win32
97 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|x86.Build.0 = Debug|Win32
98 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|Any CPU.ActiveCfg = Release|Win32
99 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|ARM64.ActiveCfg = Release|ARM64
100 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|ARM64.Build.0 = Release|ARM64
101 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|x64.ActiveCfg = Release|x64
102 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|x64.Build.0 = Release|x64
103 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|x86.ActiveCfg = Release|Win32
104 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|x86.Build.0 = Release|Win32
105 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|Any CPU.ActiveCfg = Debug|Win32
106 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|Any CPU.Build.0 = Debug|Win32
107 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|ARM64.ActiveCfg = Debug|ARM64
108 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|ARM64.Build.0 = Debug|ARM64
109 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|x64.ActiveCfg = Debug|x64
110 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|x64.Build.0 = Debug|x64
111 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|x86.ActiveCfg = Debug|Win32
112 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|x86.Build.0 = Debug|Win32
113 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|Any CPU.ActiveCfg = Release|Win32
114 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|ARM64.ActiveCfg = Release|ARM64
115 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|ARM64.Build.0 = Release|ARM64
116 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|x64.ActiveCfg = Release|x64
117 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|x64.Build.0 = Release|x64
118 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|x86.ActiveCfg = Release|Win32
119 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|x86.Build.0 = Release|Win32
120 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|Any CPU.ActiveCfg = Debug|Win32
121 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|Any CPU.Build.0 = Debug|Win32
122 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|ARM64.ActiveCfg = Debug|ARM64
123 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|ARM64.Build.0 = Debug|ARM64
124 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|x64.ActiveCfg = Debug|x64
125 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|x64.Build.0 = Debug|x64
126 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|x86.ActiveCfg = Debug|Win32
127 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|x86.Build.0 = Debug|Win32
128 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|Any CPU.ActiveCfg = Release|Win32
129 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|ARM64.ActiveCfg = Release|ARM64
130 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|ARM64.Build.0 = Release|ARM64
131 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|x64.ActiveCfg = Release|x64
132 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|x64.Build.0 = Release|x64
133 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|x86.ActiveCfg = Release|Win32
134 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|x86.Build.0 = Release|Win32
135 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|Any CPU.ActiveCfg = Debug|Win32
136 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|Any CPU.Build.0 = Debug|Win32
137 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|ARM64.ActiveCfg = Debug|Win32
138 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|x64.ActiveCfg = Debug|Win32
139 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|x86.ActiveCfg = Debug|Win32
140 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|x86.Build.0 = Debug|Win32
141 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|Any CPU.ActiveCfg = Release|Win32
142 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|ARM64.ActiveCfg = Release|Win32
143 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|x64.ActiveCfg = Release|Win32
144 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|x86.ActiveCfg = Release|Win32
145 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|x86.Build.0 = Release|Win32
146 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Debug|Any CPU.ActiveCfg = Debug|Win32
147 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Debug|Any CPU.Build.0 = Debug|Win32
148 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Debug|ARM64.ActiveCfg = Debug|Win32
149 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Debug|x64.ActiveCfg = Debug|Win32
150 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Debug|x86.ActiveCfg = Debug|Win32
151 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Debug|x86.Build.0 = Debug|Win32
152 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Release|Any CPU.ActiveCfg = Release|Win32
153 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Release|ARM64.ActiveCfg = Release|Win32
154 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Release|x64.ActiveCfg = Release|Win32
155 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Release|x86.ActiveCfg = Release|Win32
156 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Release|x86.Build.0 = Release|Win32
157 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
158 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Debug|Any CPU.Build.0 = Debug|Any CPU
159 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Debug|ARM64.ActiveCfg = Debug|Any CPU
160 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Debug|ARM64.Build.0 = Debug|Any CPU
161 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Debug|x64.ActiveCfg = Debug|Any CPU
162 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Debug|x64.Build.0 = Debug|Any CPU
163 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Debug|x86.ActiveCfg = Debug|Any CPU
164 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Debug|x86.Build.0 = Debug|Any CPU
165 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Release|Any CPU.ActiveCfg = Release|Any CPU
166 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Release|Any CPU.Build.0 = Release|Any CPU
167 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Release|ARM64.ActiveCfg = Release|Any CPU
168 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Release|ARM64.Build.0 = Release|Any CPU
169 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Release|x64.ActiveCfg = Release|Any CPU
170 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Release|x64.Build.0 = Release|Any CPU
171 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Release|x86.ActiveCfg = Release|Any CPU
172 {17DA3E92-40C5-4328-9BA5-1FE459A13719}.Release|x86.Build.0 = Release|Any CPU
173 {47029283-43EC-4F22-9417-A02B28594912}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
174 {47029283-43EC-4F22-9417-A02B28594912}.Debug|Any CPU.Build.0 = Debug|Any CPU
175 {47029283-43EC-4F22-9417-A02B28594912}.Debug|ARM64.ActiveCfg = Debug|Any CPU
176 {47029283-43EC-4F22-9417-A02B28594912}.Debug|ARM64.Build.0 = Debug|Any CPU
177 {47029283-43EC-4F22-9417-A02B28594912}.Debug|x64.ActiveCfg = Debug|Any CPU
178 {47029283-43EC-4F22-9417-A02B28594912}.Debug|x64.Build.0 = Debug|Any CPU
179 {47029283-43EC-4F22-9417-A02B28594912}.Debug|x86.ActiveCfg = Debug|Any CPU
180 {47029283-43EC-4F22-9417-A02B28594912}.Debug|x86.Build.0 = Debug|Any CPU
181 {47029283-43EC-4F22-9417-A02B28594912}.Release|Any CPU.ActiveCfg = Release|Any CPU
182 {47029283-43EC-4F22-9417-A02B28594912}.Release|Any CPU.Build.0 = Release|Any CPU
183 {47029283-43EC-4F22-9417-A02B28594912}.Release|ARM64.ActiveCfg = Release|Any CPU
184 {47029283-43EC-4F22-9417-A02B28594912}.Release|ARM64.Build.0 = Release|Any CPU
185 {47029283-43EC-4F22-9417-A02B28594912}.Release|x64.ActiveCfg = Release|Any CPU
186 {47029283-43EC-4F22-9417-A02B28594912}.Release|x64.Build.0 = Release|Any CPU
187 {47029283-43EC-4F22-9417-A02B28594912}.Release|x86.ActiveCfg = Release|Any CPU
188 {47029283-43EC-4F22-9417-A02B28594912}.Release|x86.Build.0 = Release|Any CPU
189 EndGlobalSection
190 GlobalSection(SolutionProperties) = preSolution
191 HideSolutionNode = FALSE
192 EndGlobalSection
193 GlobalSection(NestedProjects) = preSolution
194 {6B7C6F7F-4E0F-47D4-8E1E-A3A2E7C7AC60} = {A2DB791A-F5A8-44F9-9225-2C8BE1936356}
195 {0B5A9161-EDBB-4B60-AE97-24199BCF36A4} = {A2DB791A-F5A8-44F9-9225-2C8BE1936356}
196 {D6A57B9F-CF8C-442B-A9CE-F05258AB0046} = {A2DB791A-F5A8-44F9-9225-2C8BE1936356}
197 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB} = {E5E93B46-D1AD-4F00-B3C2-F459DC670302}
198 {06027492-1CB9-48BC-B31E-C1F9356ED07E} = {E5E93B46-D1AD-4F00-B3C2-F459DC670302}
199 {665E0441-17F9-4105-B202-EDF274657F6E} = {E5E93B46-D1AD-4F00-B3C2-F459DC670302}
200 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631} = {E5E93B46-D1AD-4F00-B3C2-F459DC670302}
201 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9} = {E5E93B46-D1AD-4F00-B3C2-F459DC670302}
202 {17DA3E92-40C5-4328-9BA5-1FE459A13719} = {E5E93B46-D1AD-4F00-B3C2-F459DC670302}
203 {47029283-43EC-4F22-9417-A02B28594912} = {E5E93B46-D1AD-4F00-B3C2-F459DC670302}
204 EndGlobalSection
205 GlobalSection(ExtensibilityGlobals) = postSolution
206 SolutionGuid = {43BCDC9F-5870-4B64-8363-FF28585020ED}
207 EndGlobalSection
208EndGlobal
diff --git a/src/api/api.slnx b/src/api/api.slnx
new file mode 100644
index 00000000..f0104cc0
--- /dev/null
+++ b/src/api/api.slnx
@@ -0,0 +1,41 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="ARM64" />
5 <Platform Name="x64" />
6 <Platform Name="x86" />
7 </Configurations>
8 <Folder Name="/burn/">
9 <Project Path="burn/balutil/balutil.vcxproj" Id="edcb8095-0e6a-43e0-bc33-c4f762fc5cdb">
10 <Platform Solution="*|Any CPU" Project="Win32" />
11 <Build Solution="Release|Any CPU" Project="false" />
12 </Project>
13 <Project Path="burn/bextutil/bextutil.vcxproj" Id="06027492-1cb9-48bc-b31e-c1f9356ed07e">
14 <Platform Solution="*|Any CPU" Project="Win32" />
15 <Build Solution="Release|Any CPU" Project="false" />
16 </Project>
17 <Project Path="burn/mbanative/mbanative.vcxproj" Id="665e0441-17f9-4105-b202-edf274657f6e">
18 <Platform Solution="*|Any CPU" Project="Win32" />
19 <Build Solution="Release|Any CPU" Project="false" />
20 </Project>
21 <Project Path="burn/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj" Id="9b507af9-035e-4db6-8c0c-5dcc3fef2631">
22 <Platform Project="Win32" />
23 <Build Solution="*|ARM64" Project="false" />
24 <Build Solution="*|x64" Project="false" />
25 <Build Solution="Release|Any CPU" Project="false" />
26 </Project>
27 <Project Path="burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj" Id="b69e6422-49b0-4e28-92f9-b8a7410a6ed9">
28 <Platform Project="Win32" />
29 <Build Solution="*|ARM64" Project="false" />
30 <Build Solution="*|x64" Project="false" />
31 <Build Solution="Release|Any CPU" Project="false" />
32 </Project>
33 <Project Path="burn/test/WixToolsetTest.BootstrapperApplicationApi/WixToolsetTest.BootstrapperApplicationApi.csproj" />
34 <Project Path="burn/WixToolset.BootstrapperApplicationApi/WixToolset.BootstrapperApplicationApi.csproj" />
35 </Folder>
36 <Folder Name="/wix/">
37 <Project Path="wix/test/WixToolsetTest.Data/WixToolsetTest.Data.csproj" />
38 <Project Path="wix/WixToolset.Data/WixToolset.Data.csproj" />
39 <Project Path="wix/WixToolset.Extensibility/WixToolset.Extensibility.csproj" />
40 </Folder>
41</Solution>
diff --git a/src/api/burn/WixToolset.BootstrapperApplicationApi/build/WixToolset.BootstrapperApplicationApi.props b/src/api/burn/WixToolset.BootstrapperApplicationApi/build/WixToolset.BootstrapperApplicationApi.props
index b276574d..16845d7b 100644
--- a/src/api/burn/WixToolset.BootstrapperApplicationApi/build/WixToolset.BootstrapperApplicationApi.props
+++ b/src/api/burn/WixToolset.BootstrapperApplicationApi/build/WixToolset.BootstrapperApplicationApi.props
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemDefinitionGroup> 5 <ItemDefinitionGroup>
6 <ClCompile> 6 <ClCompile>
7 <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 7 <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/api/burn/api_burn.sln b/src/api/burn/api_burn.sln
deleted file mode 100644
index a8854b35..00000000
--- a/src/api/burn/api_burn.sln
+++ /dev/null
@@ -1,113 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.29503.13
5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "balutil", "balutil\balutil.vcxproj", "{EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}"
7EndProject
8Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bextutil", "bextutil\bextutil.vcxproj", "{06027492-1CB9-48BC-B31E-C1F9356ED07E}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.BootstrapperApplicationApi", "WixToolset.BootstrapperApplicationApi\WixToolset.BootstrapperApplicationApi.csproj", "{E7E1841E-A58E-4901-B9CA-4845B807D45F}"
11EndProject
12Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mbanative", "mbanative\mbanative.vcxproj", "{665E0441-17F9-4105-B202-EDF274657F6E}"
13EndProject
14Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.BootstrapperApplicationApi", "test\WixToolsetTest.BootstrapperApplicationApi\WixToolsetTest.BootstrapperApplicationApi.csproj", "{F54997F7-10D7-409B-B9F2-DB546490EDC0}"
15EndProject
16Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BalUtilUnitTest", "test\BalUtilUnitTest\BalUtilUnitTest.vcxproj", "{9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}"
17EndProject
18Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BextUtilUnitTest", "test\BextUtilUnitTest\BextUtilUnitTest.vcxproj", "{B69E6422-49B0-4E28-92F9-B8A7410A6ED9}"
19EndProject
20Global
21 GlobalSection(SolutionConfigurationPlatforms) = preSolution
22 Debug|ARM64 = Debug|ARM64
23 Debug|x64 = Debug|x64
24 Debug|x86 = Debug|x86
25 Release|ARM64 = Release|ARM64
26 Release|x64 = Release|x64
27 Release|x86 = Release|x86
28 EndGlobalSection
29 GlobalSection(ProjectConfigurationPlatforms) = postSolution
30 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|ARM64.ActiveCfg = Debug|ARM64
31 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|ARM64.Build.0 = Debug|ARM64
32 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|x64.ActiveCfg = Debug|x64
33 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|x64.Build.0 = Debug|x64
34 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|x86.ActiveCfg = Debug|Win32
35 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Debug|x86.Build.0 = Debug|Win32
36 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|ARM64.ActiveCfg = Release|ARM64
37 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|ARM64.Build.0 = Release|ARM64
38 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|x64.ActiveCfg = Release|x64
39 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|x64.Build.0 = Release|x64
40 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|x86.ActiveCfg = Release|Win32
41 {EDCB8095-0E6A-43E0-BC33-C4F762FC5CDB}.Release|x86.Build.0 = Release|Win32
42 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|ARM64.ActiveCfg = Debug|ARM64
43 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|ARM64.Build.0 = Debug|ARM64
44 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|x64.ActiveCfg = Debug|x64
45 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|x64.Build.0 = Debug|x64
46 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|x86.ActiveCfg = Debug|Win32
47 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Debug|x86.Build.0 = Debug|Win32
48 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|ARM64.ActiveCfg = Release|ARM64
49 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|ARM64.Build.0 = Release|ARM64
50 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|x64.ActiveCfg = Release|x64
51 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|x64.Build.0 = Release|x64
52 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|x86.ActiveCfg = Release|Win32
53 {06027492-1CB9-48BC-B31E-C1F9356ED07E}.Release|x86.Build.0 = Release|Win32
54 {E7E1841E-A58E-4901-B9CA-4845B807D45F}.Debug|ARM64.ActiveCfg = Debug|Any CPU
55 {E7E1841E-A58E-4901-B9CA-4845B807D45F}.Debug|ARM64.Build.0 = Debug|Any CPU
56 {E7E1841E-A58E-4901-B9CA-4845B807D45F}.Debug|x64.ActiveCfg = Debug|Any CPU
57 {E7E1841E-A58E-4901-B9CA-4845B807D45F}.Debug|x64.Build.0 = Debug|Any CPU
58 {E7E1841E-A58E-4901-B9CA-4845B807D45F}.Debug|x86.ActiveCfg = Debug|Any CPU
59 {E7E1841E-A58E-4901-B9CA-4845B807D45F}.Debug|x86.Build.0 = Debug|Any CPU
60 {E7E1841E-A58E-4901-B9CA-4845B807D45F}.Release|ARM64.ActiveCfg = Release|Any CPU
61 {E7E1841E-A58E-4901-B9CA-4845B807D45F}.Release|ARM64.Build.0 = Release|Any CPU
62 {E7E1841E-A58E-4901-B9CA-4845B807D45F}.Release|x64.ActiveCfg = Release|Any CPU
63 {E7E1841E-A58E-4901-B9CA-4845B807D45F}.Release|x64.Build.0 = Release|Any CPU
64 {E7E1841E-A58E-4901-B9CA-4845B807D45F}.Release|x86.ActiveCfg = Release|Any CPU
65 {E7E1841E-A58E-4901-B9CA-4845B807D45F}.Release|x86.Build.0 = Release|Any CPU
66 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|ARM64.ActiveCfg = Debug|ARM64
67 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|ARM64.Build.0 = Debug|ARM64
68 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|x64.ActiveCfg = Debug|x64
69 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|x64.Build.0 = Debug|x64
70 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|x86.ActiveCfg = Debug|Win32
71 {665E0441-17F9-4105-B202-EDF274657F6E}.Debug|x86.Build.0 = Debug|Win32
72 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|ARM64.ActiveCfg = Release|ARM64
73 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|ARM64.Build.0 = Release|ARM64
74 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|x64.ActiveCfg = Release|x64
75 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|x64.Build.0 = Release|x64
76 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|x86.ActiveCfg = Release|Win32
77 {665E0441-17F9-4105-B202-EDF274657F6E}.Release|x86.Build.0 = Release|Win32
78 {F54997F7-10D7-409B-B9F2-DB546490EDC0}.Debug|ARM64.ActiveCfg = Debug|Any CPU
79 {F54997F7-10D7-409B-B9F2-DB546490EDC0}.Debug|ARM64.Build.0 = Debug|Any CPU
80 {F54997F7-10D7-409B-B9F2-DB546490EDC0}.Debug|x64.ActiveCfg = Debug|Any CPU
81 {F54997F7-10D7-409B-B9F2-DB546490EDC0}.Debug|x64.Build.0 = Debug|Any CPU
82 {F54997F7-10D7-409B-B9F2-DB546490EDC0}.Debug|x86.ActiveCfg = Debug|Any CPU
83 {F54997F7-10D7-409B-B9F2-DB546490EDC0}.Debug|x86.Build.0 = Debug|Any CPU
84 {F54997F7-10D7-409B-B9F2-DB546490EDC0}.Release|ARM64.ActiveCfg = Release|Any CPU
85 {F54997F7-10D7-409B-B9F2-DB546490EDC0}.Release|ARM64.Build.0 = Release|Any CPU
86 {F54997F7-10D7-409B-B9F2-DB546490EDC0}.Release|x64.ActiveCfg = Release|Any CPU
87 {F54997F7-10D7-409B-B9F2-DB546490EDC0}.Release|x64.Build.0 = Release|Any CPU
88 {F54997F7-10D7-409B-B9F2-DB546490EDC0}.Release|x86.ActiveCfg = Release|Any CPU
89 {F54997F7-10D7-409B-B9F2-DB546490EDC0}.Release|x86.Build.0 = Release|Any CPU
90 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|ARM64.ActiveCfg = Debug|Win32
91 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|x64.ActiveCfg = Debug|Win32
92 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|x86.ActiveCfg = Debug|Win32
93 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|x86.Build.0 = Debug|Win32
94 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|ARM64.ActiveCfg = Release|Win32
95 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|x64.ActiveCfg = Release|Win32
96 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|x86.ActiveCfg = Release|Win32
97 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|x86.Build.0 = Release|Win32
98 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Debug|ARM64.ActiveCfg = Debug|Win32
99 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Debug|x64.ActiveCfg = Debug|Win32
100 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Debug|x86.ActiveCfg = Debug|Win32
101 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Debug|x86.Build.0 = Debug|Win32
102 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Release|ARM64.ActiveCfg = Release|Win32
103 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Release|x64.ActiveCfg = Release|Win32
104 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Release|x86.ActiveCfg = Release|Win32
105 {B69E6422-49B0-4E28-92F9-B8A7410A6ED9}.Release|x86.Build.0 = Release|Win32
106 EndGlobalSection
107 GlobalSection(SolutionProperties) = preSolution
108 HideSolutionNode = FALSE
109 EndGlobalSection
110 GlobalSection(ExtensibilityGlobals) = postSolution
111 SolutionGuid = {8741FA43-6BD2-40F9-ABA5-A5BD466A6518}
112 EndGlobalSection
113EndGlobal
diff --git a/src/api/burn/api_burn.slnx b/src/api/burn/api_burn.slnx
new file mode 100644
index 00000000..df4bd8ce
--- /dev/null
+++ b/src/api/burn/api_burn.slnx
@@ -0,0 +1,22 @@
1<Solution>
2 <Configurations>
3 <Platform Name="ARM64" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="balutil/balutil.vcxproj" Id="edcb8095-0e6a-43e0-bc33-c4f762fc5cdb" />
8 <Project Path="bextutil/bextutil.vcxproj" Id="06027492-1cb9-48bc-b31e-c1f9356ed07e" />
9 <Project Path="mbanative/mbanative.vcxproj" Id="665e0441-17f9-4105-b202-edf274657f6e" />
10 <Project Path="test/BalUtilUnitTest/BalUtilUnitTest.vcxproj" Id="9b507af9-035e-4db6-8c0c-5dcc3fef2631">
11 <Platform Project="Win32" />
12 <Build Solution="*|ARM64" Project="false" />
13 <Build Solution="*|x64" Project="false" />
14 </Project>
15 <Project Path="test/BextUtilUnitTest/BextUtilUnitTest.vcxproj" Id="b69e6422-49b0-4e28-92f9-b8a7410a6ed9">
16 <Platform Project="Win32" />
17 <Build Solution="*|ARM64" Project="false" />
18 <Build Solution="*|x64" Project="false" />
19 </Project>
20 <Project Path="test/WixToolsetTest.BootstrapperApplicationApi/WixToolsetTest.BootstrapperApplicationApi.csproj" />
21 <Project Path="WixToolset.BootstrapperApplicationApi/WixToolset.BootstrapperApplicationApi.csproj" />
22</Solution>
diff --git a/src/api/burn/balutil/balutil.vcxproj b/src/api/burn/balutil/balutil.vcxproj
index 2b0fd23f..7b8c0ced 100644
--- a/src/api/burn/balutil/balutil.vcxproj
+++ b/src/api/burn/balutil/balutil.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/api/burn/bextutil/bextutil.vcxproj b/src/api/burn/bextutil/bextutil.vcxproj
index 0299c381..f9365c4a 100644
--- a/src/api/burn/bextutil/bextutil.vcxproj
+++ b/src/api/burn/bextutil/bextutil.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/api/burn/bextutil/build/WixToolset.BootstrapperExtensionApi.props b/src/api/burn/bextutil/build/WixToolset.BootstrapperExtensionApi.props
index dbaddb70..a4397878 100644
--- a/src/api/burn/bextutil/build/WixToolset.BootstrapperExtensionApi.props
+++ b/src/api/burn/bextutil/build/WixToolset.BootstrapperExtensionApi.props
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemDefinitionGroup> 5 <ItemDefinitionGroup>
6 <ClCompile> 6 <ClCompile>
7 <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 7 <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/api/burn/mbanative/mbanative.vcxproj b/src/api/burn/mbanative/mbanative.vcxproj
index e9e72a49..3ed282cc 100644
--- a/src/api/burn/mbanative/mbanative.vcxproj
+++ b/src/api/burn/mbanative/mbanative.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/api/burn/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj b/src/api/burn/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj
index 114ab26d..36ee0027 100644
--- a/src/api/burn/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj
+++ b/src/api/burn/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj
@@ -2,7 +2,7 @@
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4 4
5<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 5<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <Import Project="..\..\..\..\internal\WixInternal.TestSupport.Native\build\WixInternal.TestSupport.Native.props" /> 6 <Import Project="..\..\..\..\internal\WixInternal.TestSupport.Native\build\WixInternal.TestSupport.Native.props" />
7 7
8 <ItemGroup Label="ProjectConfigurations"> 8 <ItemGroup Label="ProjectConfigurations">
diff --git a/src/api/burn/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj.filters b/src/api/burn/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj.filters
index 0b3b60be..b471da9e 100644
--- a/src/api/burn/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj.filters
+++ b/src/api/burn/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -42,4 +42,4 @@
42 <Filter>Header Files</Filter> 42 <Filter>Header Files</Filter>
43 </ClInclude> 43 </ClInclude>
44 </ItemGroup> 44 </ItemGroup>
45</Project> \ No newline at end of file 45</Project>
diff --git a/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj b/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj
index 39135dcf..ec6d25eb 100644
--- a/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj
+++ b/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <Import Project="..\..\..\..\internal\WixInternal.TestSupport.Native\build\WixInternal.TestSupport.Native.props" /> 5 <Import Project="..\..\..\..\internal\WixInternal.TestSupport.Native\build\WixInternal.TestSupport.Native.props" />
6 6
7 <ItemGroup Label="ProjectConfigurations"> 7 <ItemGroup Label="ProjectConfigurations">
diff --git a/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj.filters b/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj.filters
index 678f04f5..7b285ebc 100644
--- a/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj.filters
+++ b/src/api/burn/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/api/wix/api_wix.sln b/src/api/wix/api_wix.sln
deleted file mode 100644
index 3bf034bd..00000000
--- a/src/api/wix/api_wix.sln
+++ /dev/null
@@ -1,65 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.3.32922.545
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Data", "WixToolset.Data\WixToolset.Data.csproj", "{73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}"
7EndProject
8Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Data", "test\WixToolsetTest.Data\WixToolsetTest.Data.csproj", "{6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Extensibility", "WixToolset.Extensibility\WixToolset.Extensibility.csproj", "{AA049009-D7D9-4C63-8E0D-83206ADCFBD1}"
11EndProject
12Global
13 GlobalSection(SolutionConfigurationPlatforms) = preSolution
14 Debug|Any CPU = Debug|Any CPU
15 Debug|x64 = Debug|x64
16 Debug|x86 = Debug|x86
17 Release|Any CPU = Release|Any CPU
18 Release|x64 = Release|x64
19 Release|x86 = Release|x86
20 EndGlobalSection
21 GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 {73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
23 {73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
24 {73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}.Debug|x64.ActiveCfg = Debug|Any CPU
25 {73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}.Debug|x64.Build.0 = Debug|Any CPU
26 {73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}.Debug|x86.ActiveCfg = Debug|Any CPU
27 {73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}.Debug|x86.Build.0 = Debug|Any CPU
28 {73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
29 {73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}.Release|Any CPU.Build.0 = Release|Any CPU
30 {73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}.Release|x64.ActiveCfg = Release|Any CPU
31 {73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}.Release|x64.Build.0 = Release|Any CPU
32 {73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}.Release|x86.ActiveCfg = Release|Any CPU
33 {73ADBD3A-8FB2-47DB-BC79-9BC61C40F2E0}.Release|x86.Build.0 = Release|Any CPU
34 {6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
35 {6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
36 {6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}.Debug|x64.ActiveCfg = Debug|Any CPU
37 {6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}.Debug|x64.Build.0 = Debug|Any CPU
38 {6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}.Debug|x86.ActiveCfg = Debug|Any CPU
39 {6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}.Debug|x86.Build.0 = Debug|Any CPU
40 {6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
41 {6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}.Release|Any CPU.Build.0 = Release|Any CPU
42 {6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}.Release|x64.ActiveCfg = Release|Any CPU
43 {6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}.Release|x64.Build.0 = Release|Any CPU
44 {6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}.Release|x86.ActiveCfg = Release|Any CPU
45 {6C1FA8B7-BF3C-4735-95F8-26DEEFEF00C8}.Release|x86.Build.0 = Release|Any CPU
46 {AA049009-D7D9-4C63-8E0D-83206ADCFBD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47 {AA049009-D7D9-4C63-8E0D-83206ADCFBD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
48 {AA049009-D7D9-4C63-8E0D-83206ADCFBD1}.Debug|x64.ActiveCfg = Debug|Any CPU
49 {AA049009-D7D9-4C63-8E0D-83206ADCFBD1}.Debug|x64.Build.0 = Debug|Any CPU
50 {AA049009-D7D9-4C63-8E0D-83206ADCFBD1}.Debug|x86.ActiveCfg = Debug|Any CPU
51 {AA049009-D7D9-4C63-8E0D-83206ADCFBD1}.Debug|x86.Build.0 = Debug|Any CPU
52 {AA049009-D7D9-4C63-8E0D-83206ADCFBD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
53 {AA049009-D7D9-4C63-8E0D-83206ADCFBD1}.Release|Any CPU.Build.0 = Release|Any CPU
54 {AA049009-D7D9-4C63-8E0D-83206ADCFBD1}.Release|x64.ActiveCfg = Release|Any CPU
55 {AA049009-D7D9-4C63-8E0D-83206ADCFBD1}.Release|x64.Build.0 = Release|Any CPU
56 {AA049009-D7D9-4C63-8E0D-83206ADCFBD1}.Release|x86.ActiveCfg = Release|Any CPU
57 {AA049009-D7D9-4C63-8E0D-83206ADCFBD1}.Release|x86.Build.0 = Release|Any CPU
58 EndGlobalSection
59 GlobalSection(SolutionProperties) = preSolution
60 HideSolutionNode = FALSE
61 EndGlobalSection
62 GlobalSection(ExtensibilityGlobals) = postSolution
63 SolutionGuid = {2C73DAA1-A584-4542-A2C3-951EF6203ED5}
64 EndGlobalSection
65EndGlobal
diff --git a/src/api/wix/api_wix.slnx b/src/api/wix/api_wix.slnx
new file mode 100644
index 00000000..d7f1dda8
--- /dev/null
+++ b/src/api/wix/api_wix.slnx
@@ -0,0 +1,10 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="test/WixToolsetTest.Data/WixToolsetTest.Data.csproj" />
8 <Project Path="WixToolset.Data/WixToolset.Data.csproj" />
9 <Project Path="WixToolset.Extensibility/WixToolset.Extensibility.csproj" />
10</Solution>
diff --git a/src/burn/burn.sln b/src/burn/burn.sln
deleted file mode 100644
index c820a467..00000000
--- a/src/burn/burn.sln
+++ /dev/null
@@ -1,63 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.0.32014.148
5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "engine", "engine\engine.vcxproj", "{8119537D-E1D9-6591-D51A-49768A2F9C37}"
7EndProject
8Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stub", "stub\stub.vcxproj", "{C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}"
9EndProject
10Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BurnUnitTest", "test\BurnUnitTest\BurnUnitTest.vcxproj", "{9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}"
11EndProject
12Global
13 GlobalSection(SolutionConfigurationPlatforms) = preSolution
14 Debug|ARM64 = Debug|ARM64
15 Debug|x64 = Debug|x64
16 Debug|x86 = Debug|x86
17 Release|ARM64 = Release|ARM64
18 Release|x64 = Release|x64
19 Release|x86 = Release|x86
20 EndGlobalSection
21 GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 {8119537D-E1D9-6591-D51A-49768A2F9C37}.Debug|ARM64.ActiveCfg = Debug|ARM64
23 {8119537D-E1D9-6591-D51A-49768A2F9C37}.Debug|ARM64.Build.0 = Debug|ARM64
24 {8119537D-E1D9-6591-D51A-49768A2F9C37}.Debug|x64.ActiveCfg = Debug|x64
25 {8119537D-E1D9-6591-D51A-49768A2F9C37}.Debug|x64.Build.0 = Debug|x64
26 {8119537D-E1D9-6591-D51A-49768A2F9C37}.Debug|x86.ActiveCfg = Debug|Win32
27 {8119537D-E1D9-6591-D51A-49768A2F9C37}.Debug|x86.Build.0 = Debug|Win32
28 {8119537D-E1D9-6591-D51A-49768A2F9C37}.Release|ARM64.ActiveCfg = Release|ARM64
29 {8119537D-E1D9-6591-D51A-49768A2F9C37}.Release|ARM64.Build.0 = Release|ARM64
30 {8119537D-E1D9-6591-D51A-49768A2F9C37}.Release|x64.ActiveCfg = Release|x64
31 {8119537D-E1D9-6591-D51A-49768A2F9C37}.Release|x64.Build.0 = Release|x64
32 {8119537D-E1D9-6591-D51A-49768A2F9C37}.Release|x86.ActiveCfg = Release|Win32
33 {8119537D-E1D9-6591-D51A-49768A2F9C37}.Release|x86.Build.0 = Release|Win32
34 {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Debug|ARM64.ActiveCfg = Debug|ARM64
35 {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Debug|ARM64.Build.0 = Debug|ARM64
36 {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Debug|x64.ActiveCfg = Debug|x64
37 {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Debug|x64.Build.0 = Debug|x64
38 {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Debug|x86.ActiveCfg = Debug|Win32
39 {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Debug|x86.Build.0 = Debug|Win32
40 {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Release|ARM64.ActiveCfg = Release|ARM64
41 {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Release|ARM64.Build.0 = Release|ARM64
42 {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Release|x64.ActiveCfg = Release|x64
43 {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Release|x64.Build.0 = Release|x64
44 {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Release|x86.ActiveCfg = Release|Win32
45 {C38373AA-882F-4F55-B03F-2AAB4BFBE3F1}.Release|x86.Build.0 = Release|Win32
46 {9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}.Debug|ARM64.ActiveCfg = Debug|x64
47 {9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}.Debug|x64.ActiveCfg = Debug|x64
48 {9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}.Debug|x64.Build.0 = Debug|x64
49 {9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}.Debug|x86.ActiveCfg = Debug|Win32
50 {9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}.Debug|x86.Build.0 = Debug|Win32
51 {9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}.Release|ARM64.ActiveCfg = Release|x64
52 {9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}.Release|x64.ActiveCfg = Release|x64
53 {9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}.Release|x64.Build.0 = Release|x64
54 {9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}.Release|x86.ActiveCfg = Release|Win32
55 {9D1F1BA3-9393-4833-87A3-D5F1FC08EF67}.Release|x86.Build.0 = Release|Win32
56 EndGlobalSection
57 GlobalSection(SolutionProperties) = preSolution
58 HideSolutionNode = FALSE
59 EndGlobalSection
60 GlobalSection(ExtensibilityGlobals) = postSolution
61 SolutionGuid = {A35910C5-8A89-473E-9578-E084172DD3C9}
62 EndGlobalSection
63EndGlobal
diff --git a/src/burn/burn.slnx b/src/burn/burn.slnx
new file mode 100644
index 00000000..76a93036
--- /dev/null
+++ b/src/burn/burn.slnx
@@ -0,0 +1,13 @@
1<Solution>
2 <Configurations>
3 <Platform Name="ARM64" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="engine/engine.vcxproj" Id="8119537d-e1d9-6591-d51a-49768a2f9c37" />
8 <Project Path="stub/stub.vcxproj" Id="c38373aa-882f-4f55-b03f-2aab4bfbe3f1" />
9 <Project Path="test/BurnUnitTest/BurnUnitTest.vcxproj" Id="9d1f1ba3-9393-4833-87a3-d5f1fc08ef67">
10 <Platform Solution="*|ARM64" Project="x64" />
11 <Build Solution="*|ARM64" Project="false" />
12 </Project>
13</Solution>
diff --git a/src/burn/engine/engine.vcxproj b/src/burn/engine/engine.vcxproj
index 249f8eef..98556ea6 100644
--- a/src/burn/engine/engine.vcxproj
+++ b/src/burn/engine/engine.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|Win32"> 6 <ProjectConfiguration Include="Debug|Win32">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/burn/stub/WixToolset.Burn.props b/src/burn/stub/WixToolset.Burn.props
index 38cd333e..debcffd0 100644
--- a/src/burn/stub/WixToolset.Burn.props
+++ b/src/burn/stub/WixToolset.Burn.props
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup> 5 <ItemGroup>
6 <BurnExes Include="$(MSBuildThisFileDirectory)..\tools\**\burn.exe" /> 6 <BurnExes Include="$(MSBuildThisFileDirectory)..\tools\**\burn.exe" />
7 <None Include="@(BurnExes)"> 7 <None Include="@(BurnExes)">
diff --git a/src/burn/stub/stub.vcxproj b/src/burn/stub/stub.vcxproj
index d07b8da7..54825b95 100644
--- a/src/burn/stub/stub.vcxproj
+++ b/src/burn/stub/stub.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|Win32"> 6 <ProjectConfiguration Include="Debug|Win32">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/burn/test/BurnUnitTest/BurnUnitTest.vcxproj b/src/burn/test/BurnUnitTest/BurnUnitTest.vcxproj
index 63d089e4..9704efa5 100644
--- a/src/burn/test/BurnUnitTest/BurnUnitTest.vcxproj
+++ b/src/burn/test/BurnUnitTest/BurnUnitTest.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <Import Project="..\..\..\internal\WixInternal.TestSupport.Native\build\WixInternal.TestSupport.Native.props" /> 5 <Import Project="..\..\..\internal\WixInternal.TestSupport.Native\build\WixInternal.TestSupport.Native.props" />
6 6
7 <ItemGroup Label="ProjectConfigurations"> 7 <ItemGroup Label="ProjectConfigurations">
diff --git a/src/burn/test/BurnUnitTest/BurnUnitTest.vcxproj.filters b/src/burn/test/BurnUnitTest/BurnUnitTest.vcxproj.filters
index 59aea6e9..aac5ab8b 100644
--- a/src/burn/test/BurnUnitTest/BurnUnitTest.vcxproj.filters
+++ b/src/burn/test/BurnUnitTest/BurnUnitTest.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
diff --git a/src/dtf/SfxCA/SfxCA.vcxproj b/src/dtf/SfxCA/SfxCA.vcxproj
index ee591619..be05262a 100644
--- a/src/dtf/SfxCA/SfxCA.vcxproj
+++ b/src/dtf/SfxCA/SfxCA.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/dtf/SfxCA/SfxCA.vcxproj.filters b/src/dtf/SfxCA/SfxCA.vcxproj.filters
index a5ebf693..5413baf3 100644
--- a/src/dtf/SfxCA/SfxCA.vcxproj.filters
+++ b/src/dtf/SfxCA/SfxCA.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <ClCompile Include="ClrHost.cpp"> 4 <ClCompile Include="ClrHost.cpp">
5 <Filter>Source Files</Filter> 5 <Filter>Source Files</Filter>
@@ -59,4 +59,4 @@
59 </None> 59 </None>
60 <None Include="packages.config" /> 60 <None Include="packages.config" />
61 </ItemGroup> 61 </ItemGroup>
62</Project> \ No newline at end of file 62</Project>
diff --git a/src/dtf/dtf.cmd b/src/dtf/dtf.cmd
index 530ee432..1bdce2ef 100644
--- a/src/dtf/dtf.cmd
+++ b/src/dtf/dtf.cmd
@@ -17,7 +17,7 @@
17 17
18msbuild -Restore SfxCA\sfxca_t.proj -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:..\..\build\logs\dtf_sfxca.binlog || exit /b 18msbuild -Restore SfxCA\sfxca_t.proj -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:..\..\build\logs\dtf_sfxca.binlog || exit /b
19 19
20msbuild -Restore -t:Pack dtf.sln -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:..\..\build\logs\dtf_build.binlog || exit /b 20msbuild -Restore -t:Pack dtf.slnx -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:..\..\build\logs\dtf_build.binlog || exit /b
21 21
22@goto :end 22@goto :end
23 23
diff --git a/src/dtf/dtf.sln b/src/dtf/dtf.sln
deleted file mode 100644
index 36592dcf..00000000
--- a/src/dtf/dtf.sln
+++ /dev/null
@@ -1,243 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.1.32228.430
5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Dtf.Compression", "WixToolset.Dtf.Compression\WixToolset.Dtf.Compression.csproj", "{2D62850C-9F81-4BE9-BDF3-9379389C8F7B}"
7EndProject
8Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Dtf.Compression.Cab", "WixToolset.Dtf.Compression.Cab\WixToolset.Dtf.Compression.Cab.csproj", "{15895FD1-DD68-407B-8717-08F6DD14F02C}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Dtf.Compression.Zip", "WixToolset.Dtf.Compression.Zip\WixToolset.Dtf.Compression.Zip.csproj", "{261F2857-B521-42A4-A3E0-B5165F225E50}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Dtf.Resources", "WixToolset.Dtf.Resources\WixToolset.Dtf.Resources.csproj", "{44931ECB-8D6F-4C12-A872-64E261B6A98E}"
13EndProject
14Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Dtf.WindowsInstaller", "WixToolset.Dtf.WindowsInstaller\WixToolset.Dtf.WindowsInstaller.csproj", "{24121677-0ED0-41B5-833F-1B9A18E87BF4}"
15EndProject
16Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Dtf.WindowsInstaller.Linq", "WixToolset.Dtf.WindowsInstaller.Linq\WixToolset.Dtf.WindowsInstaller.Linq.csproj", "{CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}"
17EndProject
18Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Dtf.WindowsInstaller.Package", "WixToolset.Dtf.WindowsInstaller.Package\WixToolset.Dtf.WindowsInstaller.Package.csproj", "{1A9940A7-3E29-4428-B753-C4CC66058F1A}"
19EndProject
20Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixToolsetTests.Dtf.Compression", "test\WixToolsetTests.Dtf.Compression\WixToolsetTests.Dtf.Compression.csproj", "{F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}"
21EndProject
22Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixToolsetTests.Dtf.Compression.Cab", "test\WixToolsetTests.Dtf.Compression.Cab\WixToolsetTests.Dtf.Compression.Cab.csproj", "{4544158C-2D63-4146-85FF-62169280144E}"
23EndProject
24Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixToolsetTests.Dtf.Compression.Zip", "test\WixToolsetTests.Dtf.Compression.Zip\WixToolsetTests.Dtf.Compression.Zip.csproj", "{328799BB-7B03-4B28-8180-4132211FD07D}"
25EndProject
26Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixToolsetTests.Dtf.WindowsInstaller", "test\WixToolsetTests.Dtf.WindowsInstaller\WixToolsetTests.Dtf.WindowsInstaller.csproj", "{16F5202F-9276-4166-975C-C9654BAF8012}"
27EndProject
28Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixToolsetTests.Dtf.WindowsInstaller.CustomActions", "test\WixToolsetTests.Dtf.WindowsInstaller.CustomActions\WixToolsetTests.Dtf.WindowsInstaller.CustomActions.csproj", "{137D376B-989F-4FEA-9A67-01D8D38CA0DE}"
29EndProject
30Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixToolsetTests.Dtf.WindowsInstaller.Linq", "test\WixToolsetTests.Dtf.WindowsInstaller.Linq\WixToolsetTests.Dtf.WindowsInstaller.Linq.csproj", "{4F55F9B8-D8B6-41EB-8796-221B4CD98324}"
31EndProject
32Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{222DA0A6-5E28-4D7A-A227-B818B0C55BAB}"
33EndProject
34Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Dtf.MakeSfxCA", "WixToolset.Dtf.MakeSfxCA\WixToolset.Dtf.MakeSfxCA.csproj", "{F8CA8E72-08BF-4A8A-AD32-C638616B72E2}"
35EndProject
36Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Dtf.CustomAction", "WixToolset.Dtf.CustomAction\WixToolset.Dtf.CustomAction.csproj", "{D6C0D94C-80A5-495C-B573-C7440A8594F5}"
37EndProject
38Global
39 GlobalSection(SolutionConfigurationPlatforms) = preSolution
40 Debug|Any CPU = Debug|Any CPU
41 Debug|x64 = Debug|x64
42 Debug|x86 = Debug|x86
43 Release|Any CPU = Release|Any CPU
44 Release|x64 = Release|x64
45 Release|x86 = Release|x86
46 EndGlobalSection
47 GlobalSection(ProjectConfigurationPlatforms) = postSolution
48 {2D62850C-9F81-4BE9-BDF3-9379389C8F7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
49 {2D62850C-9F81-4BE9-BDF3-9379389C8F7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
50 {2D62850C-9F81-4BE9-BDF3-9379389C8F7B}.Debug|x64.ActiveCfg = Debug|Any CPU
51 {2D62850C-9F81-4BE9-BDF3-9379389C8F7B}.Debug|x64.Build.0 = Debug|Any CPU
52 {2D62850C-9F81-4BE9-BDF3-9379389C8F7B}.Debug|x86.ActiveCfg = Debug|Any CPU
53 {2D62850C-9F81-4BE9-BDF3-9379389C8F7B}.Debug|x86.Build.0 = Debug|Any CPU
54 {2D62850C-9F81-4BE9-BDF3-9379389C8F7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
55 {2D62850C-9F81-4BE9-BDF3-9379389C8F7B}.Release|Any CPU.Build.0 = Release|Any CPU
56 {2D62850C-9F81-4BE9-BDF3-9379389C8F7B}.Release|x64.ActiveCfg = Release|Any CPU
57 {2D62850C-9F81-4BE9-BDF3-9379389C8F7B}.Release|x64.Build.0 = Release|Any CPU
58 {2D62850C-9F81-4BE9-BDF3-9379389C8F7B}.Release|x86.ActiveCfg = Release|Any CPU
59 {2D62850C-9F81-4BE9-BDF3-9379389C8F7B}.Release|x86.Build.0 = Release|Any CPU
60 {15895FD1-DD68-407B-8717-08F6DD14F02C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
61 {15895FD1-DD68-407B-8717-08F6DD14F02C}.Debug|Any CPU.Build.0 = Debug|Any CPU
62 {15895FD1-DD68-407B-8717-08F6DD14F02C}.Debug|x64.ActiveCfg = Debug|Any CPU
63 {15895FD1-DD68-407B-8717-08F6DD14F02C}.Debug|x64.Build.0 = Debug|Any CPU
64 {15895FD1-DD68-407B-8717-08F6DD14F02C}.Debug|x86.ActiveCfg = Debug|Any CPU
65 {15895FD1-DD68-407B-8717-08F6DD14F02C}.Debug|x86.Build.0 = Debug|Any CPU
66 {15895FD1-DD68-407B-8717-08F6DD14F02C}.Release|Any CPU.ActiveCfg = Release|Any CPU
67 {15895FD1-DD68-407B-8717-08F6DD14F02C}.Release|Any CPU.Build.0 = Release|Any CPU
68 {15895FD1-DD68-407B-8717-08F6DD14F02C}.Release|x64.ActiveCfg = Release|Any CPU
69 {15895FD1-DD68-407B-8717-08F6DD14F02C}.Release|x64.Build.0 = Release|Any CPU
70 {15895FD1-DD68-407B-8717-08F6DD14F02C}.Release|x86.ActiveCfg = Release|Any CPU
71 {15895FD1-DD68-407B-8717-08F6DD14F02C}.Release|x86.Build.0 = Release|Any CPU
72 {261F2857-B521-42A4-A3E0-B5165F225E50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
73 {261F2857-B521-42A4-A3E0-B5165F225E50}.Debug|Any CPU.Build.0 = Debug|Any CPU
74 {261F2857-B521-42A4-A3E0-B5165F225E50}.Debug|x64.ActiveCfg = Debug|Any CPU
75 {261F2857-B521-42A4-A3E0-B5165F225E50}.Debug|x64.Build.0 = Debug|Any CPU
76 {261F2857-B521-42A4-A3E0-B5165F225E50}.Debug|x86.ActiveCfg = Debug|Any CPU
77 {261F2857-B521-42A4-A3E0-B5165F225E50}.Debug|x86.Build.0 = Debug|Any CPU
78 {261F2857-B521-42A4-A3E0-B5165F225E50}.Release|Any CPU.ActiveCfg = Release|Any CPU
79 {261F2857-B521-42A4-A3E0-B5165F225E50}.Release|Any CPU.Build.0 = Release|Any CPU
80 {261F2857-B521-42A4-A3E0-B5165F225E50}.Release|x64.ActiveCfg = Release|Any CPU
81 {261F2857-B521-42A4-A3E0-B5165F225E50}.Release|x64.Build.0 = Release|Any CPU
82 {261F2857-B521-42A4-A3E0-B5165F225E50}.Release|x86.ActiveCfg = Release|Any CPU
83 {261F2857-B521-42A4-A3E0-B5165F225E50}.Release|x86.Build.0 = Release|Any CPU
84 {44931ECB-8D6F-4C12-A872-64E261B6A98E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
85 {44931ECB-8D6F-4C12-A872-64E261B6A98E}.Debug|Any CPU.Build.0 = Debug|Any CPU
86 {44931ECB-8D6F-4C12-A872-64E261B6A98E}.Debug|x64.ActiveCfg = Debug|Any CPU
87 {44931ECB-8D6F-4C12-A872-64E261B6A98E}.Debug|x64.Build.0 = Debug|Any CPU
88 {44931ECB-8D6F-4C12-A872-64E261B6A98E}.Debug|x86.ActiveCfg = Debug|Any CPU
89 {44931ECB-8D6F-4C12-A872-64E261B6A98E}.Debug|x86.Build.0 = Debug|Any CPU
90 {44931ECB-8D6F-4C12-A872-64E261B6A98E}.Release|Any CPU.ActiveCfg = Release|Any CPU
91 {44931ECB-8D6F-4C12-A872-64E261B6A98E}.Release|Any CPU.Build.0 = Release|Any CPU
92 {44931ECB-8D6F-4C12-A872-64E261B6A98E}.Release|x64.ActiveCfg = Release|Any CPU
93 {44931ECB-8D6F-4C12-A872-64E261B6A98E}.Release|x64.Build.0 = Release|Any CPU
94 {44931ECB-8D6F-4C12-A872-64E261B6A98E}.Release|x86.ActiveCfg = Release|Any CPU
95 {44931ECB-8D6F-4C12-A872-64E261B6A98E}.Release|x86.Build.0 = Release|Any CPU
96 {24121677-0ED0-41B5-833F-1B9A18E87BF4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
97 {24121677-0ED0-41B5-833F-1B9A18E87BF4}.Debug|Any CPU.Build.0 = Debug|Any CPU
98 {24121677-0ED0-41B5-833F-1B9A18E87BF4}.Debug|x64.ActiveCfg = Debug|Any CPU
99 {24121677-0ED0-41B5-833F-1B9A18E87BF4}.Debug|x64.Build.0 = Debug|Any CPU
100 {24121677-0ED0-41B5-833F-1B9A18E87BF4}.Debug|x86.ActiveCfg = Debug|Any CPU
101 {24121677-0ED0-41B5-833F-1B9A18E87BF4}.Debug|x86.Build.0 = Debug|Any CPU
102 {24121677-0ED0-41B5-833F-1B9A18E87BF4}.Release|Any CPU.ActiveCfg = Release|Any CPU
103 {24121677-0ED0-41B5-833F-1B9A18E87BF4}.Release|Any CPU.Build.0 = Release|Any CPU
104 {24121677-0ED0-41B5-833F-1B9A18E87BF4}.Release|x64.ActiveCfg = Release|Any CPU
105 {24121677-0ED0-41B5-833F-1B9A18E87BF4}.Release|x64.Build.0 = Release|Any CPU
106 {24121677-0ED0-41B5-833F-1B9A18E87BF4}.Release|x86.ActiveCfg = Release|Any CPU
107 {24121677-0ED0-41B5-833F-1B9A18E87BF4}.Release|x86.Build.0 = Release|Any CPU
108 {CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
109 {CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
110 {CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}.Debug|x64.ActiveCfg = Debug|Any CPU
111 {CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}.Debug|x64.Build.0 = Debug|Any CPU
112 {CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}.Debug|x86.ActiveCfg = Debug|Any CPU
113 {CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}.Debug|x86.Build.0 = Debug|Any CPU
114 {CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
115 {CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}.Release|Any CPU.Build.0 = Release|Any CPU
116 {CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}.Release|x64.ActiveCfg = Release|Any CPU
117 {CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}.Release|x64.Build.0 = Release|Any CPU
118 {CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}.Release|x86.ActiveCfg = Release|Any CPU
119 {CD7A37D8-9D8C-41BD-B78F-DB5E0C299D2E}.Release|x86.Build.0 = Release|Any CPU
120 {1A9940A7-3E29-4428-B753-C4CC66058F1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
121 {1A9940A7-3E29-4428-B753-C4CC66058F1A}.Debug|Any CPU.Build.0 = Debug|Any CPU
122 {1A9940A7-3E29-4428-B753-C4CC66058F1A}.Debug|x64.ActiveCfg = Debug|Any CPU
123 {1A9940A7-3E29-4428-B753-C4CC66058F1A}.Debug|x64.Build.0 = Debug|Any CPU
124 {1A9940A7-3E29-4428-B753-C4CC66058F1A}.Debug|x86.ActiveCfg = Debug|Any CPU
125 {1A9940A7-3E29-4428-B753-C4CC66058F1A}.Debug|x86.Build.0 = Debug|Any CPU
126 {1A9940A7-3E29-4428-B753-C4CC66058F1A}.Release|Any CPU.ActiveCfg = Release|Any CPU
127 {1A9940A7-3E29-4428-B753-C4CC66058F1A}.Release|Any CPU.Build.0 = Release|Any CPU
128 {1A9940A7-3E29-4428-B753-C4CC66058F1A}.Release|x64.ActiveCfg = Release|Any CPU
129 {1A9940A7-3E29-4428-B753-C4CC66058F1A}.Release|x64.Build.0 = Release|Any CPU
130 {1A9940A7-3E29-4428-B753-C4CC66058F1A}.Release|x86.ActiveCfg = Release|Any CPU
131 {1A9940A7-3E29-4428-B753-C4CC66058F1A}.Release|x86.Build.0 = Release|Any CPU
132 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
133 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
134 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}.Debug|x64.ActiveCfg = Debug|Any CPU
135 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}.Debug|x64.Build.0 = Debug|Any CPU
136 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}.Debug|x86.ActiveCfg = Debug|Any CPU
137 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}.Debug|x86.Build.0 = Debug|Any CPU
138 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}.Release|Any CPU.ActiveCfg = Debug|Any CPU
139 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}.Release|Any CPU.Build.0 = Debug|Any CPU
140 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}.Release|x64.ActiveCfg = Release|Any CPU
141 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}.Release|x64.Build.0 = Release|Any CPU
142 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}.Release|x86.ActiveCfg = Release|Any CPU
143 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9}.Release|x86.Build.0 = Release|Any CPU
144 {4544158C-2D63-4146-85FF-62169280144E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
145 {4544158C-2D63-4146-85FF-62169280144E}.Debug|Any CPU.Build.0 = Debug|Any CPU
146 {4544158C-2D63-4146-85FF-62169280144E}.Debug|x64.ActiveCfg = Debug|Any CPU
147 {4544158C-2D63-4146-85FF-62169280144E}.Debug|x64.Build.0 = Debug|Any CPU
148 {4544158C-2D63-4146-85FF-62169280144E}.Debug|x86.ActiveCfg = Debug|Any CPU
149 {4544158C-2D63-4146-85FF-62169280144E}.Debug|x86.Build.0 = Debug|Any CPU
150 {4544158C-2D63-4146-85FF-62169280144E}.Release|Any CPU.ActiveCfg = Debug|Any CPU
151 {4544158C-2D63-4146-85FF-62169280144E}.Release|Any CPU.Build.0 = Debug|Any CPU
152 {4544158C-2D63-4146-85FF-62169280144E}.Release|x64.ActiveCfg = Release|Any CPU
153 {4544158C-2D63-4146-85FF-62169280144E}.Release|x64.Build.0 = Release|Any CPU
154 {4544158C-2D63-4146-85FF-62169280144E}.Release|x86.ActiveCfg = Release|Any CPU
155 {4544158C-2D63-4146-85FF-62169280144E}.Release|x86.Build.0 = Release|Any CPU
156 {328799BB-7B03-4B28-8180-4132211FD07D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
157 {328799BB-7B03-4B28-8180-4132211FD07D}.Debug|Any CPU.Build.0 = Debug|Any CPU
158 {328799BB-7B03-4B28-8180-4132211FD07D}.Debug|x64.ActiveCfg = Debug|Any CPU
159 {328799BB-7B03-4B28-8180-4132211FD07D}.Debug|x64.Build.0 = Debug|Any CPU
160 {328799BB-7B03-4B28-8180-4132211FD07D}.Debug|x86.ActiveCfg = Debug|Any CPU
161 {328799BB-7B03-4B28-8180-4132211FD07D}.Debug|x86.Build.0 = Debug|Any CPU
162 {328799BB-7B03-4B28-8180-4132211FD07D}.Release|Any CPU.ActiveCfg = Debug|Any CPU
163 {328799BB-7B03-4B28-8180-4132211FD07D}.Release|Any CPU.Build.0 = Debug|Any CPU
164 {328799BB-7B03-4B28-8180-4132211FD07D}.Release|x64.ActiveCfg = Release|Any CPU
165 {328799BB-7B03-4B28-8180-4132211FD07D}.Release|x64.Build.0 = Release|Any CPU
166 {328799BB-7B03-4B28-8180-4132211FD07D}.Release|x86.ActiveCfg = Release|Any CPU
167 {328799BB-7B03-4B28-8180-4132211FD07D}.Release|x86.Build.0 = Release|Any CPU
168 {16F5202F-9276-4166-975C-C9654BAF8012}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
169 {16F5202F-9276-4166-975C-C9654BAF8012}.Debug|Any CPU.Build.0 = Debug|Any CPU
170 {16F5202F-9276-4166-975C-C9654BAF8012}.Debug|x64.ActiveCfg = Debug|Any CPU
171 {16F5202F-9276-4166-975C-C9654BAF8012}.Debug|x64.Build.0 = Debug|Any CPU
172 {16F5202F-9276-4166-975C-C9654BAF8012}.Debug|x86.ActiveCfg = Debug|Any CPU
173 {16F5202F-9276-4166-975C-C9654BAF8012}.Debug|x86.Build.0 = Debug|Any CPU
174 {16F5202F-9276-4166-975C-C9654BAF8012}.Release|Any CPU.ActiveCfg = Debug|Any CPU
175 {16F5202F-9276-4166-975C-C9654BAF8012}.Release|Any CPU.Build.0 = Debug|Any CPU
176 {16F5202F-9276-4166-975C-C9654BAF8012}.Release|x64.ActiveCfg = Release|Any CPU
177 {16F5202F-9276-4166-975C-C9654BAF8012}.Release|x64.Build.0 = Release|Any CPU
178 {16F5202F-9276-4166-975C-C9654BAF8012}.Release|x86.ActiveCfg = Release|Any CPU
179 {16F5202F-9276-4166-975C-C9654BAF8012}.Release|x86.Build.0 = Release|Any CPU
180 {137D376B-989F-4FEA-9A67-01D8D38CA0DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
181 {137D376B-989F-4FEA-9A67-01D8D38CA0DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
182 {137D376B-989F-4FEA-9A67-01D8D38CA0DE}.Debug|x64.ActiveCfg = Debug|Any CPU
183 {137D376B-989F-4FEA-9A67-01D8D38CA0DE}.Debug|x64.Build.0 = Debug|Any CPU
184 {137D376B-989F-4FEA-9A67-01D8D38CA0DE}.Debug|x86.ActiveCfg = Debug|Any CPU
185 {137D376B-989F-4FEA-9A67-01D8D38CA0DE}.Debug|x86.Build.0 = Debug|Any CPU
186 {137D376B-989F-4FEA-9A67-01D8D38CA0DE}.Release|Any CPU.ActiveCfg = Debug|Any CPU
187 {137D376B-989F-4FEA-9A67-01D8D38CA0DE}.Release|Any CPU.Build.0 = Debug|Any CPU
188 {137D376B-989F-4FEA-9A67-01D8D38CA0DE}.Release|x64.ActiveCfg = Release|Any CPU
189 {137D376B-989F-4FEA-9A67-01D8D38CA0DE}.Release|x64.Build.0 = Release|Any CPU
190 {137D376B-989F-4FEA-9A67-01D8D38CA0DE}.Release|x86.ActiveCfg = Release|Any CPU
191 {137D376B-989F-4FEA-9A67-01D8D38CA0DE}.Release|x86.Build.0 = Release|Any CPU
192 {4F55F9B8-D8B6-41EB-8796-221B4CD98324}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
193 {4F55F9B8-D8B6-41EB-8796-221B4CD98324}.Debug|Any CPU.Build.0 = Debug|Any CPU
194 {4F55F9B8-D8B6-41EB-8796-221B4CD98324}.Debug|x64.ActiveCfg = Debug|Any CPU
195 {4F55F9B8-D8B6-41EB-8796-221B4CD98324}.Debug|x64.Build.0 = Debug|Any CPU
196 {4F55F9B8-D8B6-41EB-8796-221B4CD98324}.Debug|x86.ActiveCfg = Debug|Any CPU
197 {4F55F9B8-D8B6-41EB-8796-221B4CD98324}.Debug|x86.Build.0 = Debug|Any CPU
198 {4F55F9B8-D8B6-41EB-8796-221B4CD98324}.Release|Any CPU.ActiveCfg = Debug|Any CPU
199 {4F55F9B8-D8B6-41EB-8796-221B4CD98324}.Release|Any CPU.Build.0 = Debug|Any CPU
200 {4F55F9B8-D8B6-41EB-8796-221B4CD98324}.Release|x64.ActiveCfg = Release|Any CPU
201 {4F55F9B8-D8B6-41EB-8796-221B4CD98324}.Release|x64.Build.0 = Release|Any CPU
202 {4F55F9B8-D8B6-41EB-8796-221B4CD98324}.Release|x86.ActiveCfg = Release|Any CPU
203 {4F55F9B8-D8B6-41EB-8796-221B4CD98324}.Release|x86.Build.0 = Release|Any CPU
204 {F8CA8E72-08BF-4A8A-AD32-C638616B72E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
205 {F8CA8E72-08BF-4A8A-AD32-C638616B72E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
206 {F8CA8E72-08BF-4A8A-AD32-C638616B72E2}.Debug|x64.ActiveCfg = Debug|Any CPU
207 {F8CA8E72-08BF-4A8A-AD32-C638616B72E2}.Debug|x64.Build.0 = Debug|Any CPU
208 {F8CA8E72-08BF-4A8A-AD32-C638616B72E2}.Debug|x86.ActiveCfg = Debug|Any CPU
209 {F8CA8E72-08BF-4A8A-AD32-C638616B72E2}.Debug|x86.Build.0 = Debug|Any CPU
210 {F8CA8E72-08BF-4A8A-AD32-C638616B72E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
211 {F8CA8E72-08BF-4A8A-AD32-C638616B72E2}.Release|Any CPU.Build.0 = Release|Any CPU
212 {F8CA8E72-08BF-4A8A-AD32-C638616B72E2}.Release|x64.ActiveCfg = Release|Any CPU
213 {F8CA8E72-08BF-4A8A-AD32-C638616B72E2}.Release|x64.Build.0 = Release|Any CPU
214 {F8CA8E72-08BF-4A8A-AD32-C638616B72E2}.Release|x86.ActiveCfg = Release|Any CPU
215 {F8CA8E72-08BF-4A8A-AD32-C638616B72E2}.Release|x86.Build.0 = Release|Any CPU
216 {D6C0D94C-80A5-495C-B573-C7440A8594F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
217 {D6C0D94C-80A5-495C-B573-C7440A8594F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
218 {D6C0D94C-80A5-495C-B573-C7440A8594F5}.Debug|x64.ActiveCfg = Debug|Any CPU
219 {D6C0D94C-80A5-495C-B573-C7440A8594F5}.Debug|x64.Build.0 = Debug|Any CPU
220 {D6C0D94C-80A5-495C-B573-C7440A8594F5}.Debug|x86.ActiveCfg = Debug|Any CPU
221 {D6C0D94C-80A5-495C-B573-C7440A8594F5}.Debug|x86.Build.0 = Debug|Any CPU
222 {D6C0D94C-80A5-495C-B573-C7440A8594F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
223 {D6C0D94C-80A5-495C-B573-C7440A8594F5}.Release|Any CPU.Build.0 = Release|Any CPU
224 {D6C0D94C-80A5-495C-B573-C7440A8594F5}.Release|x64.ActiveCfg = Release|Any CPU
225 {D6C0D94C-80A5-495C-B573-C7440A8594F5}.Release|x64.Build.0 = Release|Any CPU
226 {D6C0D94C-80A5-495C-B573-C7440A8594F5}.Release|x86.ActiveCfg = Release|Any CPU
227 {D6C0D94C-80A5-495C-B573-C7440A8594F5}.Release|x86.Build.0 = Release|Any CPU
228 EndGlobalSection
229 GlobalSection(SolutionProperties) = preSolution
230 HideSolutionNode = FALSE
231 EndGlobalSection
232 GlobalSection(NestedProjects) = preSolution
233 {F045FFC1-05F9-4EA2-9F03-E1CBDB7BC4F9} = {222DA0A6-5E28-4D7A-A227-B818B0C55BAB}
234 {4544158C-2D63-4146-85FF-62169280144E} = {222DA0A6-5E28-4D7A-A227-B818B0C55BAB}
235 {328799BB-7B03-4B28-8180-4132211FD07D} = {222DA0A6-5E28-4D7A-A227-B818B0C55BAB}
236 {16F5202F-9276-4166-975C-C9654BAF8012} = {222DA0A6-5E28-4D7A-A227-B818B0C55BAB}
237 {137D376B-989F-4FEA-9A67-01D8D38CA0DE} = {222DA0A6-5E28-4D7A-A227-B818B0C55BAB}
238 {4F55F9B8-D8B6-41EB-8796-221B4CD98324} = {222DA0A6-5E28-4D7A-A227-B818B0C55BAB}
239 EndGlobalSection
240 GlobalSection(ExtensibilityGlobals) = postSolution
241 SolutionGuid = {BB57C98D-C0C2-4805-AED3-C19B47759DBD}
242 EndGlobalSection
243EndGlobal
diff --git a/src/dtf/dtf.slnx b/src/dtf/dtf.slnx
new file mode 100644
index 00000000..9e3a604f
--- /dev/null
+++ b/src/dtf/dtf.slnx
@@ -0,0 +1,36 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Folder Name="/test/">
8 <Project Path="test/WixToolsetTests.Dtf.Compression.Cab/WixToolsetTests.Dtf.Compression.Cab.csproj" Id="4544158c-2d63-4146-85ff-62169280144e">
9 <BuildType Solution="Release|Any CPU" Project="Debug" />
10 </Project>
11 <Project Path="test/WixToolsetTests.Dtf.Compression.Zip/WixToolsetTests.Dtf.Compression.Zip.csproj" Id="328799bb-7b03-4b28-8180-4132211fd07d">
12 <BuildType Solution="Release|Any CPU" Project="Debug" />
13 </Project>
14 <Project Path="test/WixToolsetTests.Dtf.Compression/WixToolsetTests.Dtf.Compression.csproj" Id="f045ffc1-05f9-4ea2-9f03-e1cbdb7bc4f9">
15 <BuildType Solution="Release|Any CPU" Project="Debug" />
16 </Project>
17 <Project Path="test/WixToolsetTests.Dtf.WindowsInstaller.CustomActions/WixToolsetTests.Dtf.WindowsInstaller.CustomActions.csproj" Id="137d376b-989f-4fea-9a67-01d8d38ca0de">
18 <BuildType Solution="Release|Any CPU" Project="Debug" />
19 </Project>
20 <Project Path="test/WixToolsetTests.Dtf.WindowsInstaller.Linq/WixToolsetTests.Dtf.WindowsInstaller.Linq.csproj" Id="4f55f9b8-d8b6-41eb-8796-221b4cd98324">
21 <BuildType Solution="Release|Any CPU" Project="Debug" />
22 </Project>
23 <Project Path="test/WixToolsetTests.Dtf.WindowsInstaller/WixToolsetTests.Dtf.WindowsInstaller.csproj" Id="16f5202f-9276-4166-975c-c9654baf8012">
24 <BuildType Solution="Release|Any CPU" Project="Debug" />
25 </Project>
26 </Folder>
27 <Project Path="WixToolset.Dtf.Compression.Cab/WixToolset.Dtf.Compression.Cab.csproj" />
28 <Project Path="WixToolset.Dtf.Compression.Zip/WixToolset.Dtf.Compression.Zip.csproj" />
29 <Project Path="WixToolset.Dtf.Compression/WixToolset.Dtf.Compression.csproj" />
30 <Project Path="WixToolset.Dtf.CustomAction/WixToolset.Dtf.CustomAction.csproj" />
31 <Project Path="WixToolset.Dtf.MakeSfxCA/WixToolset.Dtf.MakeSfxCA.csproj" />
32 <Project Path="WixToolset.Dtf.Resources/WixToolset.Dtf.Resources.csproj" />
33 <Project Path="WixToolset.Dtf.WindowsInstaller.Linq/WixToolset.Dtf.WindowsInstaller.Linq.csproj" />
34 <Project Path="WixToolset.Dtf.WindowsInstaller.Package/WixToolset.Dtf.WindowsInstaller.Package.csproj" />
35 <Project Path="WixToolset.Dtf.WindowsInstaller/WixToolset.Dtf.WindowsInstaller.csproj" />
36</Solution>
diff --git a/src/dtf/test/WixToolsetTests.Dtf.Compression.Cab/WixToolsetTests.Dtf.Compression.Cab.csproj b/src/dtf/test/WixToolsetTests.Dtf.Compression.Cab/WixToolsetTests.Dtf.Compression.Cab.csproj
index 636cedc6..9bb9289f 100644
--- a/src/dtf/test/WixToolsetTests.Dtf.Compression.Cab/WixToolsetTests.Dtf.Compression.Cab.csproj
+++ b/src/dtf/test/WixToolsetTests.Dtf.Compression.Cab/WixToolsetTests.Dtf.Compression.Cab.csproj
@@ -11,18 +11,18 @@
11 <SignOutput>false</SignOutput> 11 <SignOutput>false</SignOutput>
12 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> 12 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
13 </PropertyGroup> 13 </PropertyGroup>
14 14
15 <ItemGroup> 15 <ItemGroup>
16 <Compile Include="CabTest.cs" /> 16 <Compile Include="CabTest.cs" />
17 </ItemGroup> 17 </ItemGroup>
18 18
19 <ItemGroup> 19 <ItemGroup>
20 <Reference Include="System" /> 20 <Reference Include="System" />
21 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> 21 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
22 <Reference Include="System.Data" /> 22 <Reference Include="System.Data" />
23 <Reference Include="System.Xml" /> 23 <Reference Include="System.Xml" />
24 </ItemGroup> 24 </ItemGroup>
25 25
26 <ItemGroup> 26 <ItemGroup>
27 <ProjectReference Include="..\..\WixToolset.Dtf.Compression\WixToolset.Dtf.Compression.csproj"> 27 <ProjectReference Include="..\..\WixToolset.Dtf.Compression\WixToolset.Dtf.Compression.csproj">
28 <Project>{45D81DAB-0559-4836-8106-CE9987FD4AB5}</Project> 28 <Project>{45D81DAB-0559-4836-8106-CE9987FD4AB5}</Project>
diff --git a/src/dtf/test/WixToolsetTests.Dtf.Compression.Zip/WixToolsetTests.Dtf.Compression.Zip.csproj b/src/dtf/test/WixToolsetTests.Dtf.Compression.Zip/WixToolsetTests.Dtf.Compression.Zip.csproj
index d46776d8..3ebe9a87 100644
--- a/src/dtf/test/WixToolsetTests.Dtf.Compression.Zip/WixToolsetTests.Dtf.Compression.Zip.csproj
+++ b/src/dtf/test/WixToolsetTests.Dtf.Compression.Zip/WixToolsetTests.Dtf.Compression.Zip.csproj
@@ -11,16 +11,16 @@
11 <SignOutput>false</SignOutput> 11 <SignOutput>false</SignOutput>
12 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> 12 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
13 </PropertyGroup> 13 </PropertyGroup>
14 14
15 <ItemGroup> 15 <ItemGroup>
16 <Compile Include="ZipTest.cs" /> 16 <Compile Include="ZipTest.cs" />
17 </ItemGroup> 17 </ItemGroup>
18 18
19 <ItemGroup> 19 <ItemGroup>
20 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> 20 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
21 <Reference Include="System" /> 21 <Reference Include="System" />
22 </ItemGroup> 22 </ItemGroup>
23 23
24 <ItemGroup> 24 <ItemGroup>
25 <ProjectReference Include="..\..\WixToolset.Dtf.Compression\WixToolset.Dtf.Compression.csproj"> 25 <ProjectReference Include="..\..\WixToolset.Dtf.Compression\WixToolset.Dtf.Compression.csproj">
26 <Project>{45D81DAB-0559-4836-8106-CE9987FD4AB5}</Project> 26 <Project>{45D81DAB-0559-4836-8106-CE9987FD4AB5}</Project>
diff --git a/src/dtf/test/WixToolsetTests.Dtf.Compression/WixToolsetTests.Dtf.Compression.csproj b/src/dtf/test/WixToolsetTests.Dtf.Compression/WixToolsetTests.Dtf.Compression.csproj
index 628d36c5..520f3678 100644
--- a/src/dtf/test/WixToolsetTests.Dtf.Compression/WixToolsetTests.Dtf.Compression.csproj
+++ b/src/dtf/test/WixToolsetTests.Dtf.Compression/WixToolsetTests.Dtf.Compression.csproj
@@ -10,20 +10,20 @@
10 <SignOutput>false</SignOutput> 10 <SignOutput>false</SignOutput>
11 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> 11 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
12 </PropertyGroup> 12 </PropertyGroup>
13 13
14 <ItemGroup> 14 <ItemGroup>
15 <Compile Include="CompressionTestUtil.cs" /> 15 <Compile Include="CompressionTestUtil.cs" />
16 <Compile Include="MisbehavingStreamContext.cs" /> 16 <Compile Include="MisbehavingStreamContext.cs" />
17 <Compile Include="OptionStreamContext.cs" /> 17 <Compile Include="OptionStreamContext.cs" />
18 </ItemGroup> 18 </ItemGroup>
19 19
20 <ItemGroup> 20 <ItemGroup>
21 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> 21 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
22 <Reference Include="System" /> 22 <Reference Include="System" />
23 <Reference Include="System.Data" /> 23 <Reference Include="System.Data" />
24 <Reference Include="System.Xml" /> 24 <Reference Include="System.Xml" />
25 </ItemGroup> 25 </ItemGroup>
26 26
27 <ItemGroup> 27 <ItemGroup>
28 <ProjectReference Include="..\..\WixToolset.Dtf.Compression\WixToolset.Dtf.Compression.csproj"> 28 <ProjectReference Include="..\..\WixToolset.Dtf.Compression\WixToolset.Dtf.Compression.csproj">
29 <Project>{45D81DAB-0559-4836-8106-CE9987FD4AB5}</Project> 29 <Project>{45D81DAB-0559-4836-8106-CE9987FD4AB5}</Project>
diff --git a/src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller.CustomActions/WixToolsetTests.Dtf.WindowsInstaller.CustomActions.csproj b/src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller.CustomActions/WixToolsetTests.Dtf.WindowsInstaller.CustomActions.csproj
index a2f45fde..509624b9 100644
--- a/src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller.CustomActions/WixToolsetTests.Dtf.WindowsInstaller.CustomActions.csproj
+++ b/src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller.CustomActions/WixToolsetTests.Dtf.WindowsInstaller.CustomActions.csproj
@@ -11,11 +11,11 @@
11 <SignOutput>false</SignOutput> 11 <SignOutput>false</SignOutput>
12 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> 12 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
13 </PropertyGroup> 13 </PropertyGroup>
14 14
15 <ItemGroup> 15 <ItemGroup>
16 <Compile Include="CustomActionTest.cs" /> 16 <Compile Include="CustomActionTest.cs" />
17 </ItemGroup> 17 </ItemGroup>
18 18
19 <ItemGroup> 19 <ItemGroup>
20 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> 20 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
21 <Reference Include="System" /> 21 <Reference Include="System" />
diff --git a/src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller.Linq/WixToolsetTests.Dtf.WindowsInstaller.Linq.csproj b/src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller.Linq/WixToolsetTests.Dtf.WindowsInstaller.Linq.csproj
index c34494b7..5b37ffeb 100644
--- a/src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller.Linq/WixToolsetTests.Dtf.WindowsInstaller.Linq.csproj
+++ b/src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller.Linq/WixToolsetTests.Dtf.WindowsInstaller.Linq.csproj
@@ -11,17 +11,17 @@
11 <SignOutput>false</SignOutput> 11 <SignOutput>false</SignOutput>
12 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> 12 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
13 </PropertyGroup> 13 </PropertyGroup>
14 14
15 <ItemGroup> 15 <ItemGroup>
16 <Compile Include="LinqTest.cs" /> 16 <Compile Include="LinqTest.cs" />
17 </ItemGroup> 17 </ItemGroup>
18 18
19 <ItemGroup> 19 <ItemGroup>
20 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> 20 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
21 <Reference Include="System" /> 21 <Reference Include="System" />
22 <Reference Include="System.Core" /> 22 <Reference Include="System.Core" />
23 </ItemGroup> 23 </ItemGroup>
24 24
25 <ItemGroup> 25 <ItemGroup>
26 <ProjectReference Include="..\..\WixToolset.Dtf.WindowsInstaller\WixToolset.Dtf.WindowsInstaller.csproj"> 26 <ProjectReference Include="..\..\WixToolset.Dtf.WindowsInstaller\WixToolset.Dtf.WindowsInstaller.csproj">
27 <Project>{85225597-5121-4361-8332-4E3246D5BBF5}</Project> 27 <Project>{85225597-5121-4361-8332-4E3246D5BBF5}</Project>
@@ -39,4 +39,4 @@
39 39
40 <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 40 <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
41 <Target Name="Pack" DependsOnTargets="Build" /> 41 <Target Name="Pack" DependsOnTargets="Build" />
42</Project> \ No newline at end of file 42</Project>
diff --git a/src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller/WixToolsetTests.Dtf.WindowsInstaller.csproj b/src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller/WixToolsetTests.Dtf.WindowsInstaller.csproj
index eaa273ed..4324a058 100644
--- a/src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller/WixToolsetTests.Dtf.WindowsInstaller.csproj
+++ b/src/dtf/test/WixToolsetTests.Dtf.WindowsInstaller/WixToolsetTests.Dtf.WindowsInstaller.csproj
@@ -11,7 +11,7 @@
11 <SignOutput>false</SignOutput> 11 <SignOutput>false</SignOutput>
12 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> 12 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
13 </PropertyGroup> 13 </PropertyGroup>
14 14
15 <ItemGroup> 15 <ItemGroup>
16 <Compile Include="EmbeddedExternalUI.cs" /> 16 <Compile Include="EmbeddedExternalUI.cs" />
17 <Compile Include="Schema.cs" /> 17 <Compile Include="Schema.cs" />
@@ -19,14 +19,14 @@
19 <Compile Include="WindowsInstallerTransactions.cs" /> 19 <Compile Include="WindowsInstallerTransactions.cs" />
20 <Compile Include="WindowsInstallerUtils.cs" /> 20 <Compile Include="WindowsInstallerUtils.cs" />
21 </ItemGroup> 21 </ItemGroup>
22 22
23 <ItemGroup> 23 <ItemGroup>
24 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> 24 <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
25 <Reference Include="System" /> 25 <Reference Include="System" />
26 <Reference Include="System.Windows.Forms" /> 26 <Reference Include="System.Windows.Forms" />
27 <Reference Include="System.Xml" /> 27 <Reference Include="System.Xml" />
28 </ItemGroup> 28 </ItemGroup>
29 29
30 <ItemGroup> 30 <ItemGroup>
31 <ProjectReference Include="..\..\WixToolset.Dtf.WindowsInstaller\WixToolset.Dtf.WindowsInstaller.csproj"> 31 <ProjectReference Include="..\..\WixToolset.Dtf.WindowsInstaller\WixToolset.Dtf.WindowsInstaller.csproj">
32 <Project>{85225597-5121-4361-8332-4E3246D5BBF5}</Project> 32 <Project>{85225597-5121-4361-8332-4E3246D5BBF5}</Project>
diff --git a/src/ext/Bal/Bal.wixext.sln b/src/ext/Bal/Bal.wixext.sln
deleted file mode 100644
index cbd66f76..00000000
--- a/src/ext/Bal/Bal.wixext.sln
+++ /dev/null
@@ -1,165 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.8.34408.163
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bafunctions", "Samples\bafunctions\bafunctions.vcxproj", "{EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}"
7EndProject
8Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wixstdba", "wixstdba\wixstdba.vcxproj", "{41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}"
9EndProject
10Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "bas", "wixlib\bas.wixproj", "{3444D952-F21C-496F-AB6B-56435BFD0787}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.BootstrapperApplications.wixext", "wixext\WixToolset.BootstrapperApplications.wixext.csproj", "{BF720A63-9D7B-456E-B60C-8122852D9FED}"
13EndProject
14Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.BootstrapperApplications", "test\WixToolsetTest.BootstrapperApplications\WixToolsetTest.BootstrapperApplications.csproj", "{89D479FC-20DA-44D8-AE38-48F063223498}"
15EndProject
16Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wixiuiba", "wixiuiba\wixiuiba.vcxproj", "{0F73E566-925C-448D-99CB-3A7F5DF399C8}"
17EndProject
18Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stdbas", "stdbas\stdbas.vcxproj", "{DBBF5F32-BAEA-46A8-99A0-17277A906456}"
19EndProject
20Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WixStdFnUnitTest", "test\WixStdFnUnitTest\WixStdFnUnitTest.vcxproj", "{9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}"
21EndProject
22Global
23 GlobalSection(SolutionConfigurationPlatforms) = preSolution
24 Debug|Any CPU = Debug|Any CPU
25 Debug|ARM64 = Debug|ARM64
26 Debug|x64 = Debug|x64
27 Debug|x86 = Debug|x86
28 Release|Any CPU = Release|Any CPU
29 Release|ARM64 = Release|ARM64
30 Release|x64 = Release|x64
31 Release|x86 = Release|x86
32 EndGlobalSection
33 GlobalSection(ProjectConfigurationPlatforms) = postSolution
34 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|Any CPU.ActiveCfg = Debug|Win32
35 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|Any CPU.Build.0 = Debug|Win32
36 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|ARM64.ActiveCfg = Debug|ARM64
37 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|ARM64.Build.0 = Debug|ARM64
38 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|x64.ActiveCfg = Debug|x64
39 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|x64.Build.0 = Debug|x64
40 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|x86.ActiveCfg = Debug|Win32
41 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Debug|x86.Build.0 = Debug|Win32
42 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|Any CPU.ActiveCfg = Release|Win32
43 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|Any CPU.Build.0 = Release|Win32
44 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|ARM64.ActiveCfg = Release|ARM64
45 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|ARM64.Build.0 = Release|ARM64
46 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|x64.ActiveCfg = Release|x64
47 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|x64.Build.0 = Release|x64
48 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|x86.ActiveCfg = Release|Win32
49 {EB0A7D51-2133-4EE7-B6CA-87DBEAC67E02}.Release|x86.Build.0 = Release|Win32
50 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Any CPU.ActiveCfg = Debug|Win32
51 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|Any CPU.Build.0 = Debug|Win32
52 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|ARM64.ActiveCfg = Debug|ARM64
53 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|ARM64.Build.0 = Debug|ARM64
54 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|x64.ActiveCfg = Debug|x64
55 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|x64.Build.0 = Debug|x64
56 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|x86.ActiveCfg = Debug|Win32
57 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Debug|x86.Build.0 = Debug|Win32
58 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|Any CPU.ActiveCfg = Release|Win32
59 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|Any CPU.Build.0 = Release|Win32
60 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|ARM64.ActiveCfg = Release|ARM64
61 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|ARM64.Build.0 = Release|ARM64
62 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|x64.ActiveCfg = Release|x64
63 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|x64.Build.0 = Release|x64
64 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|x86.ActiveCfg = Release|Win32
65 {41085A22-E6AA-4E8B-AB1B-DDEE0DC89DFA}.Release|x86.Build.0 = Release|Win32
66 {3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|Any CPU.ActiveCfg = Debug|x86
67 {3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|Any CPU.Build.0 = Debug|x86
68 {3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|ARM64.ActiveCfg = Debug|x86
69 {3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|x64.ActiveCfg = Debug|x86
70 {3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|x86.ActiveCfg = Debug|x86
71 {3444D952-F21C-496F-AB6B-56435BFD0787}.Debug|x86.Build.0 = Debug|x86
72 {3444D952-F21C-496F-AB6B-56435BFD0787}.Release|Any CPU.ActiveCfg = Release|x86
73 {3444D952-F21C-496F-AB6B-56435BFD0787}.Release|Any CPU.Build.0 = Release|x86
74 {3444D952-F21C-496F-AB6B-56435BFD0787}.Release|ARM64.ActiveCfg = Release|x86
75 {3444D952-F21C-496F-AB6B-56435BFD0787}.Release|x64.ActiveCfg = Release|x86
76 {3444D952-F21C-496F-AB6B-56435BFD0787}.Release|x86.ActiveCfg = Release|x86
77 {3444D952-F21C-496F-AB6B-56435BFD0787}.Release|x86.Build.0 = Release|x86
78 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
79 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Debug|Any CPU.Build.0 = Debug|Any CPU
80 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Debug|ARM64.ActiveCfg = Debug|Any CPU
81 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Debug|ARM64.Build.0 = Debug|Any CPU
82 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Debug|x64.ActiveCfg = Debug|Any CPU
83 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Debug|x64.Build.0 = Debug|Any CPU
84 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Debug|x86.ActiveCfg = Debug|Any CPU
85 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Debug|x86.Build.0 = Debug|Any CPU
86 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Release|Any CPU.ActiveCfg = Release|Any CPU
87 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Release|Any CPU.Build.0 = Release|Any CPU
88 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Release|ARM64.ActiveCfg = Release|Any CPU
89 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Release|ARM64.Build.0 = Release|Any CPU
90 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Release|x64.ActiveCfg = Release|Any CPU
91 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Release|x64.Build.0 = Release|Any CPU
92 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Release|x86.ActiveCfg = Release|Any CPU
93 {BF720A63-9D7B-456E-B60C-8122852D9FED}.Release|x86.Build.0 = Release|Any CPU
94 {89D479FC-20DA-44D8-AE38-48F063223498}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
95 {89D479FC-20DA-44D8-AE38-48F063223498}.Debug|Any CPU.Build.0 = Debug|Any CPU
96 {89D479FC-20DA-44D8-AE38-48F063223498}.Debug|ARM64.ActiveCfg = Debug|Any CPU
97 {89D479FC-20DA-44D8-AE38-48F063223498}.Debug|ARM64.Build.0 = Debug|Any CPU
98 {89D479FC-20DA-44D8-AE38-48F063223498}.Debug|x64.ActiveCfg = Debug|Any CPU
99 {89D479FC-20DA-44D8-AE38-48F063223498}.Debug|x64.Build.0 = Debug|Any CPU
100 {89D479FC-20DA-44D8-AE38-48F063223498}.Debug|x86.ActiveCfg = Debug|Any CPU
101 {89D479FC-20DA-44D8-AE38-48F063223498}.Debug|x86.Build.0 = Debug|Any CPU
102 {89D479FC-20DA-44D8-AE38-48F063223498}.Release|Any CPU.ActiveCfg = Release|Any CPU
103 {89D479FC-20DA-44D8-AE38-48F063223498}.Release|Any CPU.Build.0 = Release|Any CPU
104 {89D479FC-20DA-44D8-AE38-48F063223498}.Release|ARM64.ActiveCfg = Release|Any CPU
105 {89D479FC-20DA-44D8-AE38-48F063223498}.Release|ARM64.Build.0 = Release|Any CPU
106 {89D479FC-20DA-44D8-AE38-48F063223498}.Release|x64.ActiveCfg = Release|Any CPU
107 {89D479FC-20DA-44D8-AE38-48F063223498}.Release|x64.Build.0 = Release|Any CPU
108 {89D479FC-20DA-44D8-AE38-48F063223498}.Release|x86.ActiveCfg = Release|Any CPU
109 {89D479FC-20DA-44D8-AE38-48F063223498}.Release|x86.Build.0 = Release|Any CPU
110 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Debug|Any CPU.ActiveCfg = Debug|x64
111 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Debug|Any CPU.Build.0 = Debug|x64
112 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Debug|ARM64.ActiveCfg = Debug|ARM64
113 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Debug|ARM64.Build.0 = Debug|ARM64
114 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Debug|x64.ActiveCfg = Debug|x64
115 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Debug|x64.Build.0 = Debug|x64
116 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Debug|x86.ActiveCfg = Debug|Win32
117 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Debug|x86.Build.0 = Debug|Win32
118 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Release|Any CPU.ActiveCfg = Release|x64
119 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Release|Any CPU.Build.0 = Release|x64
120 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Release|ARM64.ActiveCfg = Release|ARM64
121 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Release|ARM64.Build.0 = Release|ARM64
122 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Release|x64.ActiveCfg = Release|x64
123 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Release|x64.Build.0 = Release|x64
124 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Release|x86.ActiveCfg = Release|Win32
125 {0F73E566-925C-448D-99CB-3A7F5DF399C8}.Release|x86.Build.0 = Release|Win32
126 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Debug|Any CPU.ActiveCfg = Debug|x64
127 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Debug|Any CPU.Build.0 = Debug|x64
128 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Debug|ARM64.ActiveCfg = Debug|ARM64
129 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Debug|ARM64.Build.0 = Debug|ARM64
130 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Debug|x64.ActiveCfg = Debug|x64
131 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Debug|x64.Build.0 = Debug|x64
132 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Debug|x86.ActiveCfg = Debug|Win32
133 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Debug|x86.Build.0 = Debug|Win32
134 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Release|Any CPU.ActiveCfg = Release|x64
135 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Release|Any CPU.Build.0 = Release|x64
136 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Release|ARM64.ActiveCfg = Release|ARM64
137 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Release|ARM64.Build.0 = Release|ARM64
138 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Release|x64.ActiveCfg = Release|x64
139 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Release|x64.Build.0 = Release|x64
140 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Release|x86.ActiveCfg = Release|Win32
141 {DBBF5F32-BAEA-46A8-99A0-17277A906456}.Release|x86.Build.0 = Release|Win32
142 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|Any CPU.ActiveCfg = Debug|Win32
143 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|Any CPU.Build.0 = Debug|Win32
144 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|ARM64.ActiveCfg = Debug|Win32
145 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|ARM64.Build.0 = Debug|Win32
146 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|x64.ActiveCfg = Debug|Win32
147 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|x64.Build.0 = Debug|Win32
148 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|x86.ActiveCfg = Debug|Win32
149 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Debug|x86.Build.0 = Debug|Win32
150 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|Any CPU.ActiveCfg = Release|Win32
151 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|Any CPU.Build.0 = Release|Win32
152 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|ARM64.ActiveCfg = Release|Win32
153 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|ARM64.Build.0 = Release|Win32
154 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|x64.ActiveCfg = Release|Win32
155 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|x64.Build.0 = Release|Win32
156 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|x86.ActiveCfg = Release|Win32
157 {9B507AF9-035E-4DB6-8C0C-5DCC3FEF2631}.Release|x86.Build.0 = Release|Win32
158 EndGlobalSection
159 GlobalSection(SolutionProperties) = preSolution
160 HideSolutionNode = FALSE
161 EndGlobalSection
162 GlobalSection(ExtensibilityGlobals) = postSolution
163 SolutionGuid = {74046961-48BF-467A-A6C2-F886C75CE0BE}
164 EndGlobalSection
165EndGlobal
diff --git a/src/ext/Bal/Bal.wixext.slnx b/src/ext/Bal/Bal.wixext.slnx
new file mode 100644
index 00000000..c5982c07
--- /dev/null
+++ b/src/ext/Bal/Bal.wixext.slnx
@@ -0,0 +1,26 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="ARM64" />
5 <Platform Name="x64" />
6 <Platform Name="x86" />
7 </Configurations>
8 <Project Path="Samples/bafunctions/bafunctions.vcxproj" Id="eb0a7d51-2133-4ee7-b6ca-87dbeac67e02">
9 <Platform Solution="*|Any CPU" Project="Win32" />
10 </Project>
11 <Project Path="stdbas/stdbas.vcxproj" Id="dbbf5f32-baea-46a8-99a0-17277a906456" />
12 <Project Path="test/WixStdFnUnitTest/WixStdFnUnitTest.vcxproj" Id="9b507af9-035e-4db6-8c0c-5dcc3fef2631">
13 <Platform Project="Win32" />
14 </Project>
15 <Project Path="test/WixToolsetTest.BootstrapperApplications/WixToolsetTest.BootstrapperApplications.csproj" />
16 <Project Path="wixext/WixToolset.BootstrapperApplications.wixext.csproj" />
17 <Project Path="wixiuiba/wixiuiba.vcxproj" Id="0f73e566-925c-448d-99cb-3a7f5df399c8" />
18 <Project Path="wixlib/bas.wixproj">
19 <Platform Project="x86" />
20 <Build Solution="*|Any CPU" />
21 <Build Solution="*|x86" />
22 </Project>
23 <Project Path="wixstdba/wixstdba.vcxproj" Id="41085a22-e6aa-4e8b-ab1b-ddee0dc89dfa">
24 <Platform Solution="*|Any CPU" Project="Win32" />
25 </Project>
26</Solution>
diff --git a/src/ext/Bal/stdbas/stdbas.vcxproj b/src/ext/Bal/stdbas/stdbas.vcxproj
index 12dbbc61..fb2b0682 100644
--- a/src/ext/Bal/stdbas/stdbas.vcxproj
+++ b/src/ext/Bal/stdbas/stdbas.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/Bal/test/WixStdFnUnitTest/WixStdFnUnitTest.filters b/src/ext/Bal/test/WixStdFnUnitTest/WixStdFnUnitTest.filters
index 0b3b60be..b471da9e 100644
--- a/src/ext/Bal/test/WixStdFnUnitTest/WixStdFnUnitTest.filters
+++ b/src/ext/Bal/test/WixStdFnUnitTest/WixStdFnUnitTest.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -42,4 +42,4 @@
42 <Filter>Header Files</Filter> 42 <Filter>Header Files</Filter>
43 </ClInclude> 43 </ClInclude>
44 </ItemGroup> 44 </ItemGroup>
45</Project> \ No newline at end of file 45</Project>
diff --git a/src/ext/Bal/test/WixStdFnUnitTest/WixStdFnUnitTest.vcxproj b/src/ext/Bal/test/WixStdFnUnitTest/WixStdFnUnitTest.vcxproj
index c0be8e11..fd9d52c4 100644
--- a/src/ext/Bal/test/WixStdFnUnitTest/WixStdFnUnitTest.vcxproj
+++ b/src/ext/Bal/test/WixStdFnUnitTest/WixStdFnUnitTest.vcxproj
@@ -2,7 +2,7 @@
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4 4
5<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 5<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <Import Project="..\..\..\..\internal\WixInternal.TestSupport.Native\build\WixInternal.TestSupport.Native.props" /> 6 <Import Project="..\..\..\..\internal\WixInternal.TestSupport.Native\build\WixInternal.TestSupport.Native.props" />
7 7
8 <ItemGroup Label="ProjectConfigurations"> 8 <ItemGroup Label="ProjectConfigurations">
diff --git a/src/ext/Bal/wixiuiba/wixiuiba.vcxproj b/src/ext/Bal/wixiuiba/wixiuiba.vcxproj
index 8d47c39a..c09b335c 100644
--- a/src/ext/Bal/wixiuiba/wixiuiba.vcxproj
+++ b/src/ext/Bal/wixiuiba/wixiuiba.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/Bal/wixprqba/wixprqba.vcxproj b/src/ext/Bal/wixprqba/wixprqba.vcxproj
index 237219b3..5e34274f 100644
--- a/src/ext/Bal/wixprqba/wixprqba.vcxproj
+++ b/src/ext/Bal/wixprqba/wixprqba.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/Bal/wixstdba/wixstdba.vcxproj b/src/ext/Bal/wixstdba/wixstdba.vcxproj
index 6abb3d4c..5726b08f 100644
--- a/src/ext/Bal/wixstdba/wixstdba.vcxproj
+++ b/src/ext/Bal/wixstdba/wixstdba.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/Bal/wixstdfn/build/WixToolset.WixStandardBootstrapperApplicationFunctionApi.props b/src/ext/Bal/wixstdfn/build/WixToolset.WixStandardBootstrapperApplicationFunctionApi.props
index 7a0b08e6..92caa58c 100644
--- a/src/ext/Bal/wixstdfn/build/WixToolset.WixStandardBootstrapperApplicationFunctionApi.props
+++ b/src/ext/Bal/wixstdfn/build/WixToolset.WixStandardBootstrapperApplicationFunctionApi.props
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemDefinitionGroup> 5 <ItemDefinitionGroup>
6 <ClCompile> 6 <ClCompile>
7 <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)..\lib\native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 7 <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)..\lib\native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/ext/Bal/wixstdfn/wixstdfn.vcxproj b/src/ext/Bal/wixstdfn/wixstdfn.vcxproj
index 8d522ebc..1035a55e 100644
--- a/src/ext/Bal/wixstdfn/wixstdfn.vcxproj
+++ b/src/ext/Bal/wixstdfn/wixstdfn.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/ComPlus/ComPlus.wixext.sln b/src/ext/ComPlus/ComPlus.wixext.sln
deleted file mode 100644
index 6249fef0..00000000
--- a/src/ext/ComPlus/ComPlus.wixext.sln
+++ /dev/null
@@ -1,64 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.0.32126.317
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "complusca", "ca\complusca.vcxproj", "{BDEF51ED-E242-4FA2-801A-01B127DF851A}"
7EndProject
8Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "complus", "wixlib\complus.wixproj", "{E191E61E-E098-4F71-888F-51A79F952022}"
9 ProjectSection(ProjectDependencies) = postProject
10 {BDEF51ED-E242-4FA2-801A-01B127DF851A} = {BDEF51ED-E242-4FA2-801A-01B127DF851A}
11 EndProjectSection
12EndProject
13Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.ComPlus.wixext", "wixext\WixToolset.ComPlus.wixext.csproj", "{1497B777-330B-4CFE-927A-22850CD24D64}"
14EndProject
15Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.ComPlus", "test\WixToolsetTest.ComPlus\WixToolsetTest.ComPlus.csproj", "{2FC5F039-EACF-428B-BA87-8CDE1D25E121}"
16EndProject
17Global
18 GlobalSection(SolutionConfigurationPlatforms) = preSolution
19 Debug|Any CPU = Debug|Any CPU
20 Debug|x86 = Debug|x86
21 Release|Any CPU = Release|Any CPU
22 Release|x86 = Release|x86
23 EndGlobalSection
24 GlobalSection(ProjectConfigurationPlatforms) = postSolution
25 {BDEF51ED-E242-4FA2-801A-01B127DF851A}.Debug|Any CPU.ActiveCfg = Debug|Win32
26 {BDEF51ED-E242-4FA2-801A-01B127DF851A}.Debug|Any CPU.Build.0 = Debug|Win32
27 {BDEF51ED-E242-4FA2-801A-01B127DF851A}.Debug|x86.ActiveCfg = Debug|Win32
28 {BDEF51ED-E242-4FA2-801A-01B127DF851A}.Debug|x86.Build.0 = Debug|Win32
29 {BDEF51ED-E242-4FA2-801A-01B127DF851A}.Release|Any CPU.ActiveCfg = Release|Win32
30 {BDEF51ED-E242-4FA2-801A-01B127DF851A}.Release|Any CPU.Build.0 = Release|Win32
31 {BDEF51ED-E242-4FA2-801A-01B127DF851A}.Release|x86.ActiveCfg = Release|Win32
32 {BDEF51ED-E242-4FA2-801A-01B127DF851A}.Release|x86.Build.0 = Release|Win32
33 {E191E61E-E098-4F71-888F-51A79F952022}.Debug|Any CPU.ActiveCfg = Debug|x86
34 {E191E61E-E098-4F71-888F-51A79F952022}.Debug|Any CPU.Build.0 = Debug|x86
35 {E191E61E-E098-4F71-888F-51A79F952022}.Debug|x86.ActiveCfg = Debug|x86
36 {E191E61E-E098-4F71-888F-51A79F952022}.Debug|x86.Build.0 = Debug|x86
37 {E191E61E-E098-4F71-888F-51A79F952022}.Release|Any CPU.ActiveCfg = Release|x86
38 {E191E61E-E098-4F71-888F-51A79F952022}.Release|Any CPU.Build.0 = Release|x86
39 {E191E61E-E098-4F71-888F-51A79F952022}.Release|x86.ActiveCfg = Release|x86
40 {E191E61E-E098-4F71-888F-51A79F952022}.Release|x86.Build.0 = Release|x86
41 {1497B777-330B-4CFE-927A-22850CD24D64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
42 {1497B777-330B-4CFE-927A-22850CD24D64}.Debug|Any CPU.Build.0 = Debug|Any CPU
43 {1497B777-330B-4CFE-927A-22850CD24D64}.Debug|x86.ActiveCfg = Debug|Any CPU
44 {1497B777-330B-4CFE-927A-22850CD24D64}.Debug|x86.Build.0 = Debug|Any CPU
45 {1497B777-330B-4CFE-927A-22850CD24D64}.Release|Any CPU.ActiveCfg = Release|Any CPU
46 {1497B777-330B-4CFE-927A-22850CD24D64}.Release|Any CPU.Build.0 = Release|Any CPU
47 {1497B777-330B-4CFE-927A-22850CD24D64}.Release|x86.ActiveCfg = Release|Any CPU
48 {1497B777-330B-4CFE-927A-22850CD24D64}.Release|x86.Build.0 = Release|Any CPU
49 {2FC5F039-EACF-428B-BA87-8CDE1D25E121}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
50 {2FC5F039-EACF-428B-BA87-8CDE1D25E121}.Debug|Any CPU.Build.0 = Debug|Any CPU
51 {2FC5F039-EACF-428B-BA87-8CDE1D25E121}.Debug|x86.ActiveCfg = Debug|Any CPU
52 {2FC5F039-EACF-428B-BA87-8CDE1D25E121}.Debug|x86.Build.0 = Debug|Any CPU
53 {2FC5F039-EACF-428B-BA87-8CDE1D25E121}.Release|Any CPU.ActiveCfg = Release|Any CPU
54 {2FC5F039-EACF-428B-BA87-8CDE1D25E121}.Release|Any CPU.Build.0 = Release|Any CPU
55 {2FC5F039-EACF-428B-BA87-8CDE1D25E121}.Release|x86.ActiveCfg = Release|Any CPU
56 {2FC5F039-EACF-428B-BA87-8CDE1D25E121}.Release|x86.Build.0 = Release|Any CPU
57 EndGlobalSection
58 GlobalSection(SolutionProperties) = preSolution
59 HideSolutionNode = FALSE
60 EndGlobalSection
61 GlobalSection(ExtensibilityGlobals) = postSolution
62 SolutionGuid = {3E1857C4-5EE1-4C9E-9390-9954E041546D}
63 EndGlobalSection
64EndGlobal
diff --git a/src/ext/ComPlus/ComPlus.wixext.slnx b/src/ext/ComPlus/ComPlus.wixext.slnx
new file mode 100644
index 00000000..3f1aa9bb
--- /dev/null
+++ b/src/ext/ComPlus/ComPlus.wixext.slnx
@@ -0,0 +1,16 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x86" />
5 </Configurations>
6 <Project Path="ca/complusca.vcxproj" Id="bdef51ed-e242-4fa2-801a-01b127df851a">
7 <Platform Project="Win32" />
8 </Project>
9 <Project Path="test/WixToolsetTest.ComPlus/WixToolsetTest.ComPlus.csproj" />
10 <Project Path="wixext/WixToolset.ComPlus.wixext.csproj" />
11 <Project Path="wixlib/complus.wixproj">
12 <BuildDependency Project="ca/complusca.vcxproj" />
13 <Platform Project="x86" />
14 <Build />
15 </Project>
16</Solution>
diff --git a/src/ext/ComPlus/ca/complusca.vcxproj b/src/ext/ComPlus/ca/complusca.vcxproj
index 93abb3b0..f190fbf4 100644
--- a/src/ext/ComPlus/ca/complusca.vcxproj
+++ b/src/ext/ComPlus/ca/complusca.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|Win32"> 6 <ProjectConfiguration Include="Debug|Win32">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/Dependency/Dependency.wixext.sln b/src/ext/Dependency/Dependency.wixext.sln
deleted file mode 100644
index 7179d48b..00000000
--- a/src/ext/Dependency/Dependency.wixext.sln
+++ /dev/null
@@ -1,61 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.30204.135
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dependencyca", "ca\dependencyca.vcxproj", "{B86AF46C-0F90-49CC-923F-A800B088D015}"
7EndProject
8Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "dependency", "wixlib\dependency.wixproj", "{58ED0EC8-73F8-4EE1-8664-A53486D38EC8}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Dependency.wixext", "wixext\WixToolset.Dependency.wixext.csproj", "{A0B6D3F1-AE5E-423B-BA92-60C9926CA498}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Dependency", "test\WixToolsetTest.Dependency\WixToolsetTest.Dependency.csproj", "{E2AB6AA2-359D-4305-92B0-D90C8F87AF9B}"
13EndProject
14Global
15 GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 Debug|Any CPU = Debug|Any CPU
17 Debug|x86 = Debug|x86
18 Release|Any CPU = Release|Any CPU
19 Release|x86 = Release|x86
20 EndGlobalSection
21 GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 {B86AF46C-0F90-49CC-923F-A800B088D015}.Debug|Any CPU.ActiveCfg = Debug|Win32
23 {B86AF46C-0F90-49CC-923F-A800B088D015}.Debug|Any CPU.Build.0 = Debug|Win32
24 {B86AF46C-0F90-49CC-923F-A800B088D015}.Debug|x86.ActiveCfg = Debug|Win32
25 {B86AF46C-0F90-49CC-923F-A800B088D015}.Debug|x86.Build.0 = Debug|Win32
26 {B86AF46C-0F90-49CC-923F-A800B088D015}.Release|Any CPU.ActiveCfg = Release|Win32
27 {B86AF46C-0F90-49CC-923F-A800B088D015}.Release|Any CPU.Build.0 = Release|Win32
28 {B86AF46C-0F90-49CC-923F-A800B088D015}.Release|x86.ActiveCfg = Release|Win32
29 {B86AF46C-0F90-49CC-923F-A800B088D015}.Release|x86.Build.0 = Release|Win32
30 {58ED0EC8-73F8-4EE1-8664-A53486D38EC8}.Debug|Any CPU.ActiveCfg = Debug|x86
31 {58ED0EC8-73F8-4EE1-8664-A53486D38EC8}.Debug|Any CPU.Build.0 = Debug|x86
32 {58ED0EC8-73F8-4EE1-8664-A53486D38EC8}.Debug|x86.ActiveCfg = Debug|x86
33 {58ED0EC8-73F8-4EE1-8664-A53486D38EC8}.Debug|x86.Build.0 = Debug|x86
34 {58ED0EC8-73F8-4EE1-8664-A53486D38EC8}.Release|Any CPU.ActiveCfg = Release|x86
35 {58ED0EC8-73F8-4EE1-8664-A53486D38EC8}.Release|Any CPU.Build.0 = Release|x86
36 {58ED0EC8-73F8-4EE1-8664-A53486D38EC8}.Release|x86.ActiveCfg = Release|x86
37 {58ED0EC8-73F8-4EE1-8664-A53486D38EC8}.Release|x86.Build.0 = Release|x86
38 {A0B6D3F1-AE5E-423B-BA92-60C9926CA498}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
39 {A0B6D3F1-AE5E-423B-BA92-60C9926CA498}.Debug|Any CPU.Build.0 = Debug|Any CPU
40 {A0B6D3F1-AE5E-423B-BA92-60C9926CA498}.Debug|x86.ActiveCfg = Debug|Any CPU
41 {A0B6D3F1-AE5E-423B-BA92-60C9926CA498}.Debug|x86.Build.0 = Debug|Any CPU
42 {A0B6D3F1-AE5E-423B-BA92-60C9926CA498}.Release|Any CPU.ActiveCfg = Release|Any CPU
43 {A0B6D3F1-AE5E-423B-BA92-60C9926CA498}.Release|Any CPU.Build.0 = Release|Any CPU
44 {A0B6D3F1-AE5E-423B-BA92-60C9926CA498}.Release|x86.ActiveCfg = Release|Any CPU
45 {A0B6D3F1-AE5E-423B-BA92-60C9926CA498}.Release|x86.Build.0 = Release|Any CPU
46 {E2AB6AA2-359D-4305-92B0-D90C8F87AF9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47 {E2AB6AA2-359D-4305-92B0-D90C8F87AF9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
48 {E2AB6AA2-359D-4305-92B0-D90C8F87AF9B}.Debug|x86.ActiveCfg = Debug|Any CPU
49 {E2AB6AA2-359D-4305-92B0-D90C8F87AF9B}.Debug|x86.Build.0 = Debug|Any CPU
50 {E2AB6AA2-359D-4305-92B0-D90C8F87AF9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
51 {E2AB6AA2-359D-4305-92B0-D90C8F87AF9B}.Release|Any CPU.Build.0 = Release|Any CPU
52 {E2AB6AA2-359D-4305-92B0-D90C8F87AF9B}.Release|x86.ActiveCfg = Release|Any CPU
53 {E2AB6AA2-359D-4305-92B0-D90C8F87AF9B}.Release|x86.Build.0 = Release|Any CPU
54 EndGlobalSection
55 GlobalSection(SolutionProperties) = preSolution
56 HideSolutionNode = FALSE
57 EndGlobalSection
58 GlobalSection(ExtensibilityGlobals) = postSolution
59 SolutionGuid = {77F012B1-8E94-4F85-9450-066C6BD15000}
60 EndGlobalSection
61EndGlobal
diff --git a/src/ext/Dependency/Dependency.wixext.slnx b/src/ext/Dependency/Dependency.wixext.slnx
new file mode 100644
index 00000000..d6825d7c
--- /dev/null
+++ b/src/ext/Dependency/Dependency.wixext.slnx
@@ -0,0 +1,15 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x86" />
5 </Configurations>
6 <Project Path="ca/dependencyca.vcxproj" Id="b86af46c-0f90-49cc-923f-a800b088d015">
7 <Platform Project="Win32" />
8 </Project>
9 <Project Path="test/WixToolsetTest.Dependency/WixToolsetTest.Dependency.csproj" />
10 <Project Path="wixext/WixToolset.Dependency.wixext.csproj" />
11 <Project Path="wixlib/dependency.wixproj">
12 <Platform Project="x86" />
13 <Build />
14 </Project>
15</Solution>
diff --git a/src/ext/Dependency/ca/dependencyca.vcxproj b/src/ext/Dependency/ca/dependencyca.vcxproj
index f2eb7a0f..62a1c9a4 100644
--- a/src/ext/Dependency/ca/dependencyca.vcxproj
+++ b/src/ext/Dependency/ca/dependencyca.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|Win32"> 6 <ProjectConfiguration Include="Debug|Win32">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/Dependency/ca/dependencyca.vcxproj.filters b/src/ext/Dependency/ca/dependencyca.vcxproj.filters
index bfe457e2..6cb6395a 100644
--- a/src/ext/Dependency/ca/dependencyca.vcxproj.filters
+++ b/src/ext/Dependency/ca/dependencyca.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -33,4 +33,4 @@
33 </None> 33 </None>
34 <None Include="packages.config" /> 34 <None Include="packages.config" />
35 </ItemGroup> 35 </ItemGroup>
36</Project> \ No newline at end of file 36</Project>
diff --git a/src/ext/DirectX/DirectX.wixext.sln b/src/ext/DirectX/DirectX.wixext.sln
deleted file mode 100644
index 6315616a..00000000
--- a/src/ext/DirectX/DirectX.wixext.sln
+++ /dev/null
@@ -1,61 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.30204.135
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "directxca", "ca\directxca.vcxproj", "{76542B28-0FFD-47D3-AD6A-D0F20FA875AC}"
7EndProject
8Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "directx", "wixlib\directx.wixproj", "{4D8DDEC7-AAAC-4A32-87D0-5992FE382ED9}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.DirectX.wixext", "wixext\WixToolset.DirectX.wixext.csproj", "{6182DBCA-146A-4F37-8406-3139BBE04636}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.DirectX", "test\WixToolsetTest.DirectX\WixToolsetTest.DirectX.csproj", "{508A3DD0-FE58-4150-A1F6-A803A377012A}"
13EndProject
14Global
15 GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 Debug|Any CPU = Debug|Any CPU
17 Debug|x86 = Debug|x86
18 Release|Any CPU = Release|Any CPU
19 Release|x86 = Release|x86
20 EndGlobalSection
21 GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 {76542B28-0FFD-47D3-AD6A-D0F20FA875AC}.Debug|Any CPU.ActiveCfg = Debug|Win32
23 {76542B28-0FFD-47D3-AD6A-D0F20FA875AC}.Debug|Any CPU.Build.0 = Debug|Win32
24 {76542B28-0FFD-47D3-AD6A-D0F20FA875AC}.Debug|x86.ActiveCfg = Debug|Win32
25 {76542B28-0FFD-47D3-AD6A-D0F20FA875AC}.Debug|x86.Build.0 = Debug|Win32
26 {76542B28-0FFD-47D3-AD6A-D0F20FA875AC}.Release|Any CPU.ActiveCfg = Release|Win32
27 {76542B28-0FFD-47D3-AD6A-D0F20FA875AC}.Release|Any CPU.Build.0 = Release|Win32
28 {76542B28-0FFD-47D3-AD6A-D0F20FA875AC}.Release|x86.ActiveCfg = Release|Win32
29 {76542B28-0FFD-47D3-AD6A-D0F20FA875AC}.Release|x86.Build.0 = Release|Win32
30 {4D8DDEC7-AAAC-4A32-87D0-5992FE382ED9}.Debug|Any CPU.ActiveCfg = Debug|x86
31 {4D8DDEC7-AAAC-4A32-87D0-5992FE382ED9}.Debug|Any CPU.Build.0 = Debug|x86
32 {4D8DDEC7-AAAC-4A32-87D0-5992FE382ED9}.Debug|x86.ActiveCfg = Debug|x86
33 {4D8DDEC7-AAAC-4A32-87D0-5992FE382ED9}.Debug|x86.Build.0 = Debug|x86
34 {4D8DDEC7-AAAC-4A32-87D0-5992FE382ED9}.Release|Any CPU.ActiveCfg = Release|x86
35 {4D8DDEC7-AAAC-4A32-87D0-5992FE382ED9}.Release|Any CPU.Build.0 = Release|x86
36 {4D8DDEC7-AAAC-4A32-87D0-5992FE382ED9}.Release|x86.ActiveCfg = Release|x86
37 {4D8DDEC7-AAAC-4A32-87D0-5992FE382ED9}.Release|x86.Build.0 = Release|x86
38 {6182DBCA-146A-4F37-8406-3139BBE04636}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
39 {6182DBCA-146A-4F37-8406-3139BBE04636}.Debug|Any CPU.Build.0 = Debug|Any CPU
40 {6182DBCA-146A-4F37-8406-3139BBE04636}.Debug|x86.ActiveCfg = Debug|Any CPU
41 {6182DBCA-146A-4F37-8406-3139BBE04636}.Debug|x86.Build.0 = Debug|Any CPU
42 {6182DBCA-146A-4F37-8406-3139BBE04636}.Release|Any CPU.ActiveCfg = Release|Any CPU
43 {6182DBCA-146A-4F37-8406-3139BBE04636}.Release|Any CPU.Build.0 = Release|Any CPU
44 {6182DBCA-146A-4F37-8406-3139BBE04636}.Release|x86.ActiveCfg = Release|Any CPU
45 {6182DBCA-146A-4F37-8406-3139BBE04636}.Release|x86.Build.0 = Release|Any CPU
46 {508A3DD0-FE58-4150-A1F6-A803A377012A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47 {508A3DD0-FE58-4150-A1F6-A803A377012A}.Debug|Any CPU.Build.0 = Debug|Any CPU
48 {508A3DD0-FE58-4150-A1F6-A803A377012A}.Debug|x86.ActiveCfg = Debug|Any CPU
49 {508A3DD0-FE58-4150-A1F6-A803A377012A}.Debug|x86.Build.0 = Debug|Any CPU
50 {508A3DD0-FE58-4150-A1F6-A803A377012A}.Release|Any CPU.ActiveCfg = Release|Any CPU
51 {508A3DD0-FE58-4150-A1F6-A803A377012A}.Release|Any CPU.Build.0 = Release|Any CPU
52 {508A3DD0-FE58-4150-A1F6-A803A377012A}.Release|x86.ActiveCfg = Release|Any CPU
53 {508A3DD0-FE58-4150-A1F6-A803A377012A}.Release|x86.Build.0 = Release|Any CPU
54 EndGlobalSection
55 GlobalSection(SolutionProperties) = preSolution
56 HideSolutionNode = FALSE
57 EndGlobalSection
58 GlobalSection(ExtensibilityGlobals) = postSolution
59 SolutionGuid = {A32D323A-3843-410E-BB3A-A97ABA6E4107}
60 EndGlobalSection
61EndGlobal
diff --git a/src/ext/DirectX/DirectX.wixext.slnx b/src/ext/DirectX/DirectX.wixext.slnx
new file mode 100644
index 00000000..f2cb74b2
--- /dev/null
+++ b/src/ext/DirectX/DirectX.wixext.slnx
@@ -0,0 +1,15 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x86" />
5 </Configurations>
6 <Project Path="ca/directxca.vcxproj" Id="76542b28-0ffd-47d3-ad6a-d0f20fa875ac">
7 <Platform Project="Win32" />
8 </Project>
9 <Project Path="test/WixToolsetTest.DirectX/WixToolsetTest.DirectX.csproj" />
10 <Project Path="wixext/WixToolset.DirectX.wixext.csproj" />
11 <Project Path="wixlib/directx.wixproj">
12 <Platform Project="x86" />
13 <Build />
14 </Project>
15</Solution>
diff --git a/src/ext/DirectX/ca/directxca.vcxproj b/src/ext/DirectX/ca/directxca.vcxproj
index 00b4fcb0..a138109f 100644
--- a/src/ext/DirectX/ca/directxca.vcxproj
+++ b/src/ext/DirectX/ca/directxca.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|Win32"> 6 <ProjectConfiguration Include="Debug|Win32">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/Firewall/Firewall.wixext.sln b/src/ext/Firewall/Firewall.wixext.sln
deleted file mode 100644
index c6494e4f..00000000
--- a/src/ext/Firewall/Firewall.wixext.sln
+++ /dev/null
@@ -1,75 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.31624.102
5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fwca", "ca\fwca.vcxproj", "{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}"
7EndProject
8Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "firewall", "wixlib\firewall.wixproj", "{1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Firewall.wixext", "wixext\WixToolset.Firewall.wixext.csproj", "{6CF033EB-0A39-4AC6-9D41-9BD506352045}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Firewall", "test\WixToolsetTest.Firewall\WixToolsetTest.Firewall.csproj", "{D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}"
13EndProject
14Global
15 GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 Debug|Any CPU = Debug|Any CPU
17 Debug|x64 = Debug|x64
18 Debug|x86 = Debug|x86
19 Release|Any CPU = Release|Any CPU
20 Release|x64 = Release|x64
21 Release|x86 = Release|x86
22 EndGlobalSection
23 GlobalSection(ProjectConfigurationPlatforms) = postSolution
24 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|Any CPU.ActiveCfg = Debug|Win32
25 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|Any CPU.Build.0 = Debug|Win32
26 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x64.ActiveCfg = Debug|Win32
27 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x86.ActiveCfg = Debug|Win32
28 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x86.Build.0 = Debug|Win32
29 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|Any CPU.ActiveCfg = Release|Win32
30 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|Any CPU.Build.0 = Release|Win32
31 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x64.ActiveCfg = Release|Win32
32 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x86.ActiveCfg = Release|Win32
33 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x86.Build.0 = Release|Win32
34 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Debug|Any CPU.ActiveCfg = Debug|x86
35 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Debug|Any CPU.Build.0 = Debug|x86
36 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Debug|x64.ActiveCfg = Debug|x86
37 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Debug|x86.ActiveCfg = Debug|x86
38 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Debug|x86.Build.0 = Debug|x86
39 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Release|Any CPU.ActiveCfg = Release|x86
40 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Release|Any CPU.Build.0 = Release|x86
41 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Release|x64.ActiveCfg = Release|x86
42 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Release|x86.ActiveCfg = Release|x86
43 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Release|x86.Build.0 = Release|x86
44 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
45 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Debug|Any CPU.Build.0 = Debug|Any CPU
46 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Debug|x64.ActiveCfg = Debug|Any CPU
47 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Debug|x64.Build.0 = Debug|Any CPU
48 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Debug|x86.ActiveCfg = Debug|Any CPU
49 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Debug|x86.Build.0 = Debug|Any CPU
50 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Release|Any CPU.ActiveCfg = Release|Any CPU
51 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Release|Any CPU.Build.0 = Release|Any CPU
52 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Release|x64.ActiveCfg = Release|Any CPU
53 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Release|x64.Build.0 = Release|Any CPU
54 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Release|x86.ActiveCfg = Release|Any CPU
55 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Release|x86.Build.0 = Release|Any CPU
56 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
57 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Debug|Any CPU.Build.0 = Debug|Any CPU
58 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Debug|x64.ActiveCfg = Debug|Any CPU
59 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Debug|x64.Build.0 = Debug|Any CPU
60 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Debug|x86.ActiveCfg = Debug|Any CPU
61 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Debug|x86.Build.0 = Debug|Any CPU
62 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Release|Any CPU.ActiveCfg = Release|Any CPU
63 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Release|Any CPU.Build.0 = Release|Any CPU
64 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Release|x64.ActiveCfg = Release|Any CPU
65 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Release|x64.Build.0 = Release|Any CPU
66 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Release|x86.ActiveCfg = Release|Any CPU
67 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Release|x86.Build.0 = Release|Any CPU
68 EndGlobalSection
69 GlobalSection(SolutionProperties) = preSolution
70 HideSolutionNode = FALSE
71 EndGlobalSection
72 GlobalSection(ExtensibilityGlobals) = postSolution
73 SolutionGuid = {E4566A6B-47D0-4EA0-989A-D763AC39105D}
74 EndGlobalSection
75EndGlobal
diff --git a/src/ext/Firewall/Firewall.wixext.slnx b/src/ext/Firewall/Firewall.wixext.slnx
new file mode 100644
index 00000000..66c7dabc
--- /dev/null
+++ b/src/ext/Firewall/Firewall.wixext.slnx
@@ -0,0 +1,18 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="ca/fwca.vcxproj" Id="f72d34ca-48da-4dfd-91a9-a0c78bef6981">
8 <Platform Project="Win32" />
9 <Build Solution="*|x64" Project="false" />
10 </Project>
11 <Project Path="test/WixToolsetTest.Firewall/WixToolsetTest.Firewall.csproj" />
12 <Project Path="wixext/WixToolset.Firewall.wixext.csproj" />
13 <Project Path="wixlib/firewall.wixproj">
14 <Platform Project="x86" />
15 <Build Solution="*|Any CPU" />
16 <Build Solution="*|x86" />
17 </Project>
18</Solution>
diff --git a/src/ext/Firewall/ca/fwca.vcxproj b/src/ext/Firewall/ca/fwca.vcxproj
index 227242cb..14c3869d 100644
--- a/src/ext/Firewall/ca/fwca.vcxproj
+++ b/src/ext/Firewall/ca/fwca.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/Http/Http.wixext.sln b/src/ext/Http/Http.wixext.sln
deleted file mode 100644
index 08e9a833..00000000
--- a/src/ext/Http/Http.wixext.sln
+++ /dev/null
@@ -1,61 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.30204.135
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "httpca", "ca\httpca.vcxproj", "{90743805-C043-47C7-B5FF-8F5EE5C8A2DE}"
7EndProject
8Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "http", "wixlib\http.wixproj", "{055C1517-4CED-4199-BCDE-A383E5C4EF78}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Http.wixext", "wixext\WixToolset.Http.wixext.csproj", "{AAFC3C7F-D818-4B1D-AF3F-A331EA917F3F}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Http", "test\WixToolsetTest.Http\WixToolsetTest.Http.csproj", "{6379EBAA-B5FE-4468-89A3-EF0B5D30B87E}"
13EndProject
14Global`
15 GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 Debug|Any CPU = Debug|Any CPU
17 Debug|x86 = Debug|x86
18 Release|Any CPU = Release|Any CPU
19 Release|x86 = Release|x86
20 EndGlobalSection
21 GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 {90743805-C043-47C7-B5FF-8F5EE5C8A2DE}.Debug|Any CPU.ActiveCfg = Debug|Win32
23 {90743805-C043-47C7-B5FF-8F5EE5C8A2DE}.Debug|Any CPU.Build.0 = Debug|Win32
24 {90743805-C043-47C7-B5FF-8F5EE5C8A2DE}.Debug|x86.ActiveCfg = Debug|Win32
25 {90743805-C043-47C7-B5FF-8F5EE5C8A2DE}.Debug|x86.Build.0 = Debug|Win32
26 {90743805-C043-47C7-B5FF-8F5EE5C8A2DE}.Release|Any CPU.ActiveCfg = Release|Win32
27 {90743805-C043-47C7-B5FF-8F5EE5C8A2DE}.Release|Any CPU.Build.0 = Release|Win32
28 {90743805-C043-47C7-B5FF-8F5EE5C8A2DE}.Release|x86.ActiveCfg = Release|Win32
29 {90743805-C043-47C7-B5FF-8F5EE5C8A2DE}.Release|x86.Build.0 = Release|Win32
30 {055C1517-4CED-4199-BCDE-A383E5C4EF78}.Debug|Any CPU.ActiveCfg = Debug|x86
31 {055C1517-4CED-4199-BCDE-A383E5C4EF78}.Debug|Any CPU.Build.0 = Debug|x86
32 {055C1517-4CED-4199-BCDE-A383E5C4EF78}.Debug|x86.ActiveCfg = Debug|x86
33 {055C1517-4CED-4199-BCDE-A383E5C4EF78}.Debug|x86.Build.0 = Debug|x86
34 {055C1517-4CED-4199-BCDE-A383E5C4EF78}.Release|Any CPU.ActiveCfg = Release|x86
35 {055C1517-4CED-4199-BCDE-A383E5C4EF78}.Release|Any CPU.Build.0 = Release|x86
36 {055C1517-4CED-4199-BCDE-A383E5C4EF78}.Release|x86.ActiveCfg = Release|x86
37 {055C1517-4CED-4199-BCDE-A383E5C4EF78}.Release|x86.Build.0 = Release|x86
38 {AAFC3C7F-D818-4B1D-AF3F-A331EA917F3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
39 {AAFC3C7F-D818-4B1D-AF3F-A331EA917F3F}.Debug|Any CPU.Build.0 = Debug|Any CPU
40 {AAFC3C7F-D818-4B1D-AF3F-A331EA917F3F}.Debug|x86.ActiveCfg = Debug|Any CPU
41 {AAFC3C7F-D818-4B1D-AF3F-A331EA917F3F}.Debug|x86.Build.0 = Debug|Any CPU
42 {AAFC3C7F-D818-4B1D-AF3F-A331EA917F3F}.Release|Any CPU.ActiveCfg = Release|Any CPU
43 {AAFC3C7F-D818-4B1D-AF3F-A331EA917F3F}.Release|Any CPU.Build.0 = Release|Any CPU
44 {AAFC3C7F-D818-4B1D-AF3F-A331EA917F3F}.Release|x86.ActiveCfg = Release|Any CPU
45 {AAFC3C7F-D818-4B1D-AF3F-A331EA917F3F}.Release|x86.Build.0 = Release|Any CPU
46 {6379EBAA-B5FE-4468-89A3-EF0B5D30B87E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47 {6379EBAA-B5FE-4468-89A3-EF0B5D30B87E}.Debug|Any CPU.Build.0 = Debug|Any CPU
48 {6379EBAA-B5FE-4468-89A3-EF0B5D30B87E}.Debug|x86.ActiveCfg = Debug|Any CPU
49 {6379EBAA-B5FE-4468-89A3-EF0B5D30B87E}.Debug|x86.Build.0 = Debug|Any CPU
50 {6379EBAA-B5FE-4468-89A3-EF0B5D30B87E}.Release|Any CPU.ActiveCfg = Release|Any CPU
51 {6379EBAA-B5FE-4468-89A3-EF0B5D30B87E}.Release|Any CPU.Build.0 = Release|Any CPU
52 {6379EBAA-B5FE-4468-89A3-EF0B5D30B87E}.Release|x86.ActiveCfg = Release|Any CPU
53 {6379EBAA-B5FE-4468-89A3-EF0B5D30B87E}.Release|x86.Build.0 = Release|Any CPU
54 EndGlobalSection
55 GlobalSection(SolutionProperties) = preSolution
56 HideSolutionNode = FALSE
57 EndGlobalSection
58 GlobalSection(ExtensibilityGlobals) = postSolution
59 SolutionGuid = {570B1B57-B310-4493-A3A3-B40D7374EFC3}
60 EndGlobalSection
61EndGlobal
diff --git a/src/ext/Http/Http.wixext.slnx b/src/ext/Http/Http.wixext.slnx
new file mode 100644
index 00000000..57f86502
--- /dev/null
+++ b/src/ext/Http/Http.wixext.slnx
@@ -0,0 +1,15 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x86" />
5 </Configurations>
6 <Project Path="ca/httpca.vcxproj" Id="90743805-c043-47c7-b5ff-8f5ee5c8a2de">
7 <Platform Project="Win32" />
8 </Project>
9 <Project Path="test/WixToolsetTest.Http/WixToolsetTest.Http.csproj" />
10 <Project Path="wixext/WixToolset.Http.wixext.csproj" />
11 <Project Path="wixlib/http.wixproj">
12 <Platform Project="x86" />
13 <Build />
14 </Project>
15</Solution>
diff --git a/src/ext/Http/ca/httpca.vcxproj b/src/ext/Http/ca/httpca.vcxproj
index 73ded72e..865e2ffe 100644
--- a/src/ext/Http/ca/httpca.vcxproj
+++ b/src/ext/Http/ca/httpca.vcxproj
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4 <ItemGroup Label="ProjectConfigurations"> 4 <ItemGroup Label="ProjectConfigurations">
5 <ProjectConfiguration Include="Debug|Win32"> 5 <ProjectConfiguration Include="Debug|Win32">
6 <Configuration>Debug</Configuration> 6 <Configuration>Debug</Configuration>
@@ -59,4 +59,4 @@
59 <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" /> 59 <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
60 </ItemGroup> 60 </ItemGroup>
61 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 61 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
62</Project> \ No newline at end of file 62</Project>
diff --git a/src/ext/Http/ca/httpca.vcxproj.filters b/src/ext/Http/ca/httpca.vcxproj.filters
index 4f91b946..64066a0d 100644
--- a/src/ext/Http/ca/httpca.vcxproj.filters
+++ b/src/ext/Http/ca/httpca.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -38,4 +38,4 @@
38 <Filter>Source Files</Filter> 38 <Filter>Source Files</Filter>
39 </None> 39 </None>
40 </ItemGroup> 40 </ItemGroup>
41</Project> \ No newline at end of file 41</Project>
diff --git a/src/ext/Iis/Iis.wixext.sln b/src/ext/Iis/Iis.wixext.sln
deleted file mode 100644
index f0abdcd3..00000000
--- a/src/ext/Iis/Iis.wixext.sln
+++ /dev/null
@@ -1,61 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.30204.135
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iisca", "ca\iisca.vcxproj", "{CB3FB8C4-14BF-4EA6-9F01-7FB258E5AEF3}"
7EndProject
8Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "iis", "wixlib\iis.wixproj", "{92FE99D2-355D-4F52-A7C1-10EECB4A5BB1}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Iis.wixext", "wixext\WixToolset.Iis.wixext.csproj", "{612029FB-B5D4-4D7E-B794-A0E202BFE493}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Iis", "test\WixToolsetTest.Iis\WixToolsetTest.Iis.csproj", "{E62712D7-31A1-49E4-B1F4-0084FAD14193}"
13EndProject
14Global
15 GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 Debug|Any CPU = Debug|Any CPU
17 Debug|x86 = Debug|x86
18 Release|Any CPU = Release|Any CPU
19 Release|x86 = Release|x86
20 EndGlobalSection
21 GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 {CB3FB8C4-14BF-4EA6-9F01-7FB258E5AEF3}.Debug|Any CPU.ActiveCfg = Debug|Win32
23 {CB3FB8C4-14BF-4EA6-9F01-7FB258E5AEF3}.Debug|Any CPU.Build.0 = Debug|Win32
24 {CB3FB8C4-14BF-4EA6-9F01-7FB258E5AEF3}.Debug|x86.ActiveCfg = Debug|Win32
25 {CB3FB8C4-14BF-4EA6-9F01-7FB258E5AEF3}.Debug|x86.Build.0 = Debug|Win32
26 {CB3FB8C4-14BF-4EA6-9F01-7FB258E5AEF3}.Release|Any CPU.ActiveCfg = Release|Win32
27 {CB3FB8C4-14BF-4EA6-9F01-7FB258E5AEF3}.Release|Any CPU.Build.0 = Release|Win32
28 {CB3FB8C4-14BF-4EA6-9F01-7FB258E5AEF3}.Release|x86.ActiveCfg = Release|Win32
29 {CB3FB8C4-14BF-4EA6-9F01-7FB258E5AEF3}.Release|x86.Build.0 = Release|Win32
30 {92FE99D2-355D-4F52-A7C1-10EECB4A5BB1}.Debug|Any CPU.ActiveCfg = Debug|x86
31 {92FE99D2-355D-4F52-A7C1-10EECB4A5BB1}.Debug|Any CPU.Build.0 = Debug|x86
32 {92FE99D2-355D-4F52-A7C1-10EECB4A5BB1}.Debug|x86.ActiveCfg = Debug|x86
33 {92FE99D2-355D-4F52-A7C1-10EECB4A5BB1}.Debug|x86.Build.0 = Debug|x86
34 {92FE99D2-355D-4F52-A7C1-10EECB4A5BB1}.Release|Any CPU.ActiveCfg = Release|x86
35 {92FE99D2-355D-4F52-A7C1-10EECB4A5BB1}.Release|Any CPU.Build.0 = Release|x86
36 {92FE99D2-355D-4F52-A7C1-10EECB4A5BB1}.Release|x86.ActiveCfg = Release|x86
37 {92FE99D2-355D-4F52-A7C1-10EECB4A5BB1}.Release|x86.Build.0 = Release|x86
38 {612029FB-B5D4-4D7E-B794-A0E202BFE493}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
39 {612029FB-B5D4-4D7E-B794-A0E202BFE493}.Debug|Any CPU.Build.0 = Debug|Any CPU
40 {612029FB-B5D4-4D7E-B794-A0E202BFE493}.Debug|x86.ActiveCfg = Debug|Any CPU
41 {612029FB-B5D4-4D7E-B794-A0E202BFE493}.Debug|x86.Build.0 = Debug|Any CPU
42 {612029FB-B5D4-4D7E-B794-A0E202BFE493}.Release|Any CPU.ActiveCfg = Release|Any CPU
43 {612029FB-B5D4-4D7E-B794-A0E202BFE493}.Release|Any CPU.Build.0 = Release|Any CPU
44 {612029FB-B5D4-4D7E-B794-A0E202BFE493}.Release|x86.ActiveCfg = Release|Any CPU
45 {612029FB-B5D4-4D7E-B794-A0E202BFE493}.Release|x86.Build.0 = Release|Any CPU
46 {E62712D7-31A1-49E4-B1F4-0084FAD14193}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47 {E62712D7-31A1-49E4-B1F4-0084FAD14193}.Debug|Any CPU.Build.0 = Debug|Any CPU
48 {E62712D7-31A1-49E4-B1F4-0084FAD14193}.Debug|x86.ActiveCfg = Debug|Any CPU
49 {E62712D7-31A1-49E4-B1F4-0084FAD14193}.Debug|x86.Build.0 = Debug|Any CPU
50 {E62712D7-31A1-49E4-B1F4-0084FAD14193}.Release|Any CPU.ActiveCfg = Release|Any CPU
51 {E62712D7-31A1-49E4-B1F4-0084FAD14193}.Release|Any CPU.Build.0 = Release|Any CPU
52 {E62712D7-31A1-49E4-B1F4-0084FAD14193}.Release|x86.ActiveCfg = Release|Any CPU
53 {E62712D7-31A1-49E4-B1F4-0084FAD14193}.Release|x86.Build.0 = Release|Any CPU
54 EndGlobalSection
55 GlobalSection(SolutionProperties) = preSolution
56 HideSolutionNode = FALSE
57 EndGlobalSection
58 GlobalSection(ExtensibilityGlobals) = postSolution
59 SolutionGuid = {89256463-14A3-4968-8688-F75EC230B021}
60 EndGlobalSection
61EndGlobal
diff --git a/src/ext/Iis/Iis.wixext.slnx b/src/ext/Iis/Iis.wixext.slnx
new file mode 100644
index 00000000..43f7f7fc
--- /dev/null
+++ b/src/ext/Iis/Iis.wixext.slnx
@@ -0,0 +1,15 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x86" />
5 </Configurations>
6 <Project Path="ca/iisca.vcxproj" Id="cb3fb8c4-14bf-4ea6-9f01-7fb258e5aef3">
7 <Platform Project="Win32" />
8 </Project>
9 <Project Path="test/WixToolsetTest.Iis/WixToolsetTest.Iis.csproj" />
10 <Project Path="wixext/WixToolset.Iis.wixext.csproj" />
11 <Project Path="wixlib/iis.wixproj">
12 <Platform Project="x86" />
13 <Build />
14 </Project>
15</Solution>
diff --git a/src/ext/Iis/ca/iisca.vcxproj b/src/ext/Iis/ca/iisca.vcxproj
index e148c520..583c4ab4 100644
--- a/src/ext/Iis/ca/iisca.vcxproj
+++ b/src/ext/Iis/ca/iisca.vcxproj
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4 <ItemGroup Label="ProjectConfigurations"> 4 <ItemGroup Label="ProjectConfigurations">
5 <ProjectConfiguration Include="Debug|Win32"> 5 <ProjectConfiguration Include="Debug|Win32">
6 <Configuration>Debug</Configuration> 6 <Configuration>Debug</Configuration>
diff --git a/src/ext/Msmq/Msmq.wixext.sln b/src/ext/Msmq/Msmq.wixext.sln
deleted file mode 100644
index 84ef7097..00000000
--- a/src/ext/Msmq/Msmq.wixext.sln
+++ /dev/null
@@ -1,61 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.0.32126.317
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msmqca", "ca\msmqca.vcxproj", "{CAD56A7E-342B-4324-9DCB-BCEB8F3BC80D}"
7EndProject
8Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "msmq", "wixlib\msmq.wixproj", "{42493058-5FC8-4F85-9884-FF3190E084B6}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Msmq.wixext", "wixext\WixToolset.Msmq.wixext.csproj", "{B990D81B-9F60-4EEE-B31D-B5D1EAA799EE}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Msmq", "test\WixToolsetTest.Msmq\WixToolsetTest.Msmq.csproj", "{B63DA068-338F-473B-9097-FC4E64830A2A}"
13EndProject
14Global
15 GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 Debug|Any CPU = Debug|Any CPU
17 Debug|x86 = Debug|x86
18 Release|Any CPU = Release|Any CPU
19 Release|x86 = Release|x86
20 EndGlobalSection
21 GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 {CAD56A7E-342B-4324-9DCB-BCEB8F3BC80D}.Debug|Any CPU.ActiveCfg = Debug|Win32
23 {CAD56A7E-342B-4324-9DCB-BCEB8F3BC80D}.Debug|Any CPU.Build.0 = Debug|Win32
24 {CAD56A7E-342B-4324-9DCB-BCEB8F3BC80D}.Debug|x86.ActiveCfg = Debug|Win32
25 {CAD56A7E-342B-4324-9DCB-BCEB8F3BC80D}.Debug|x86.Build.0 = Debug|Win32
26 {CAD56A7E-342B-4324-9DCB-BCEB8F3BC80D}.Release|Any CPU.ActiveCfg = Release|Win32
27 {CAD56A7E-342B-4324-9DCB-BCEB8F3BC80D}.Release|Any CPU.Build.0 = Release|Win32
28 {CAD56A7E-342B-4324-9DCB-BCEB8F3BC80D}.Release|x86.ActiveCfg = Release|Win32
29 {CAD56A7E-342B-4324-9DCB-BCEB8F3BC80D}.Release|x86.Build.0 = Release|Win32
30 {42493058-5FC8-4F85-9884-FF3190E084B6}.Debug|Any CPU.ActiveCfg = Debug|x86
31 {42493058-5FC8-4F85-9884-FF3190E084B6}.Debug|Any CPU.Build.0 = Debug|x86
32 {42493058-5FC8-4F85-9884-FF3190E084B6}.Debug|x86.ActiveCfg = Debug|x86
33 {42493058-5FC8-4F85-9884-FF3190E084B6}.Debug|x86.Build.0 = Debug|x86
34 {42493058-5FC8-4F85-9884-FF3190E084B6}.Release|Any CPU.ActiveCfg = Release|x86
35 {42493058-5FC8-4F85-9884-FF3190E084B6}.Release|Any CPU.Build.0 = Release|x86
36 {42493058-5FC8-4F85-9884-FF3190E084B6}.Release|x86.ActiveCfg = Release|x86
37 {42493058-5FC8-4F85-9884-FF3190E084B6}.Release|x86.Build.0 = Release|x86
38 {B990D81B-9F60-4EEE-B31D-B5D1EAA799EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
39 {B990D81B-9F60-4EEE-B31D-B5D1EAA799EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
40 {B990D81B-9F60-4EEE-B31D-B5D1EAA799EE}.Debug|x86.ActiveCfg = Debug|Any CPU
41 {B990D81B-9F60-4EEE-B31D-B5D1EAA799EE}.Debug|x86.Build.0 = Debug|Any CPU
42 {B990D81B-9F60-4EEE-B31D-B5D1EAA799EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
43 {B990D81B-9F60-4EEE-B31D-B5D1EAA799EE}.Release|Any CPU.Build.0 = Release|Any CPU
44 {B990D81B-9F60-4EEE-B31D-B5D1EAA799EE}.Release|x86.ActiveCfg = Release|Any CPU
45 {B990D81B-9F60-4EEE-B31D-B5D1EAA799EE}.Release|x86.Build.0 = Release|Any CPU
46 {B63DA068-338F-473B-9097-FC4E64830A2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47 {B63DA068-338F-473B-9097-FC4E64830A2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
48 {B63DA068-338F-473B-9097-FC4E64830A2A}.Debug|x86.ActiveCfg = Debug|Any CPU
49 {B63DA068-338F-473B-9097-FC4E64830A2A}.Debug|x86.Build.0 = Debug|Any CPU
50 {B63DA068-338F-473B-9097-FC4E64830A2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
51 {B63DA068-338F-473B-9097-FC4E64830A2A}.Release|Any CPU.Build.0 = Release|Any CPU
52 {B63DA068-338F-473B-9097-FC4E64830A2A}.Release|x86.ActiveCfg = Release|Any CPU
53 {B63DA068-338F-473B-9097-FC4E64830A2A}.Release|x86.Build.0 = Release|Any CPU
54 EndGlobalSection
55 GlobalSection(SolutionProperties) = preSolution
56 HideSolutionNode = FALSE
57 EndGlobalSection
58 GlobalSection(ExtensibilityGlobals) = postSolution
59 SolutionGuid = {5524C948-C115-4690-9BC4-44E3E963F960}
60 EndGlobalSection
61EndGlobal
diff --git a/src/ext/Msmq/Msmq.wixext.slnx b/src/ext/Msmq/Msmq.wixext.slnx
new file mode 100644
index 00000000..dfcbb6ff
--- /dev/null
+++ b/src/ext/Msmq/Msmq.wixext.slnx
@@ -0,0 +1,15 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x86" />
5 </Configurations>
6 <Project Path="ca/msmqca.vcxproj" Id="cad56a7e-342b-4324-9dcb-bceb8f3bc80d">
7 <Platform Project="Win32" />
8 </Project>
9 <Project Path="test/WixToolsetTest.Msmq/WixToolsetTest.Msmq.csproj" />
10 <Project Path="wixext/WixToolset.Msmq.wixext.csproj" />
11 <Project Path="wixlib/msmq.wixproj">
12 <Platform Project="x86" />
13 <Build />
14 </Project>
15</Solution>
diff --git a/src/ext/Msmq/ca/msmqca.vcxproj b/src/ext/Msmq/ca/msmqca.vcxproj
index 6957c24f..afeeb9fc 100644
--- a/src/ext/Msmq/ca/msmqca.vcxproj
+++ b/src/ext/Msmq/ca/msmqca.vcxproj
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4 <ItemGroup Label="ProjectConfigurations"> 4 <ItemGroup Label="ProjectConfigurations">
5 <ProjectConfiguration Include="Debug|Win32"> 5 <ProjectConfiguration Include="Debug|Win32">
6 <Configuration>Debug</Configuration> 6 <Configuration>Debug</Configuration>
@@ -65,4 +65,4 @@
65 <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" /> 65 <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
66 </ItemGroup> 66 </ItemGroup>
67 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 67 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
68</Project> \ No newline at end of file 68</Project>
diff --git a/src/ext/NetFx/NetFx.wixext.sln b/src/ext/NetFx/NetFx.wixext.sln
deleted file mode 100644
index b8b72eb8..00000000
--- a/src/ext/NetFx/NetFx.wixext.sln
+++ /dev/null
@@ -1,105 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.3.32811.315
5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "netcoresearch", "netcoresearch\netcoresearch.vcxproj", "{A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}"
7EndProject
8Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "netfxbe", "be\netfxbe.vcxproj", "{B65719C0-B2CC-45F9-AF33-6F147F741ADB}"
9EndProject
10Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "netfxca", "ca\netfxca.vcxproj", "{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}"
11EndProject
12Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "netfx", "wixlib\netfx.wixproj", "{45E4A6AC-3190-4E17-83F0-9935FFA5DC2B}"
13EndProject
14Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Netfx.wixext", "wixext\WixToolset.Netfx.wixext.csproj", "{F774E291-0563-4DDD-B873-F5C31683CF4B}"
15EndProject
16Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Netfx", "test\WixToolsetTest.Netfx\WixToolsetTest.Netfx.csproj", "{AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}"
17EndProject
18Global
19 GlobalSection(SolutionConfigurationPlatforms) = preSolution
20 Debug|Any CPU = Debug|Any CPU
21 Debug|x64 = Debug|x64
22 Debug|x86 = Debug|x86
23 Release|Any CPU = Release|Any CPU
24 Release|x64 = Release|x64
25 Release|x86 = Release|x86
26 EndGlobalSection
27 GlobalSection(ProjectConfigurationPlatforms) = postSolution
28 {A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}.Debug|Any CPU.ActiveCfg = Debug|Win32
29 {A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}.Debug|Any CPU.Build.0 = Debug|Win32
30 {A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}.Debug|x64.ActiveCfg = Debug|x64
31 {A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}.Debug|x64.Build.0 = Debug|x64
32 {A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}.Debug|x86.ActiveCfg = Debug|Win32
33 {A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}.Debug|x86.Build.0 = Debug|Win32
34 {A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}.Release|Any CPU.ActiveCfg = Release|Win32
35 {A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}.Release|Any CPU.Build.0 = Release|Win32
36 {A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}.Release|x64.ActiveCfg = Release|x64
37 {A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}.Release|x64.Build.0 = Release|x64
38 {A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}.Release|x86.ActiveCfg = Release|Win32
39 {A7FD9EF2-68CF-4C8E-AD81-3E8A6C7E1937}.Release|x86.Build.0 = Release|Win32
40 {B65719C0-B2CC-45F9-AF33-6F147F741ADB}.Debug|Any CPU.ActiveCfg = Debug|Win32
41 {B65719C0-B2CC-45F9-AF33-6F147F741ADB}.Debug|Any CPU.Build.0 = Debug|Win32
42 {B65719C0-B2CC-45F9-AF33-6F147F741ADB}.Debug|x64.ActiveCfg = Debug|x64
43 {B65719C0-B2CC-45F9-AF33-6F147F741ADB}.Debug|x64.Build.0 = Debug|x64
44 {B65719C0-B2CC-45F9-AF33-6F147F741ADB}.Debug|x86.ActiveCfg = Debug|Win32
45 {B65719C0-B2CC-45F9-AF33-6F147F741ADB}.Debug|x86.Build.0 = Debug|Win32
46 {B65719C0-B2CC-45F9-AF33-6F147F741ADB}.Release|Any CPU.ActiveCfg = Release|Win32
47 {B65719C0-B2CC-45F9-AF33-6F147F741ADB}.Release|Any CPU.Build.0 = Release|Win32
48 {B65719C0-B2CC-45F9-AF33-6F147F741ADB}.Release|x64.ActiveCfg = Release|x64
49 {B65719C0-B2CC-45F9-AF33-6F147F741ADB}.Release|x64.Build.0 = Release|x64
50 {B65719C0-B2CC-45F9-AF33-6F147F741ADB}.Release|x86.ActiveCfg = Release|Win32
51 {B65719C0-B2CC-45F9-AF33-6F147F741ADB}.Release|x86.Build.0 = Release|Win32
52 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|Any CPU.ActiveCfg = Debug|Win32
53 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|Any CPU.Build.0 = Debug|Win32
54 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x64.ActiveCfg = Debug|x64
55 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x64.Build.0 = Debug|x64
56 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x86.ActiveCfg = Debug|Win32
57 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x86.Build.0 = Debug|Win32
58 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|Any CPU.ActiveCfg = Release|Win32
59 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|Any CPU.Build.0 = Release|Win32
60 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x64.ActiveCfg = Release|x64
61 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x64.Build.0 = Release|x64
62 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x86.ActiveCfg = Release|Win32
63 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x86.Build.0 = Release|Win32
64 {45E4A6AC-3190-4E17-83F0-9935FFA5DC2B}.Debug|Any CPU.ActiveCfg = Debug|x86
65 {45E4A6AC-3190-4E17-83F0-9935FFA5DC2B}.Debug|Any CPU.Build.0 = Debug|x86
66 {45E4A6AC-3190-4E17-83F0-9935FFA5DC2B}.Debug|x64.ActiveCfg = Debug|x86
67 {45E4A6AC-3190-4E17-83F0-9935FFA5DC2B}.Debug|x86.ActiveCfg = Debug|x86
68 {45E4A6AC-3190-4E17-83F0-9935FFA5DC2B}.Debug|x86.Build.0 = Debug|x86
69 {45E4A6AC-3190-4E17-83F0-9935FFA5DC2B}.Release|Any CPU.ActiveCfg = Release|x86
70 {45E4A6AC-3190-4E17-83F0-9935FFA5DC2B}.Release|Any CPU.Build.0 = Release|x86
71 {45E4A6AC-3190-4E17-83F0-9935FFA5DC2B}.Release|x64.ActiveCfg = Release|x86
72 {45E4A6AC-3190-4E17-83F0-9935FFA5DC2B}.Release|x86.ActiveCfg = Release|x86
73 {45E4A6AC-3190-4E17-83F0-9935FFA5DC2B}.Release|x86.Build.0 = Release|x86
74 {F774E291-0563-4DDD-B873-F5C31683CF4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
75 {F774E291-0563-4DDD-B873-F5C31683CF4B}.Debug|Any CPU.Build.0 = Debug|Any CPU
76 {F774E291-0563-4DDD-B873-F5C31683CF4B}.Debug|x64.ActiveCfg = Debug|Any CPU
77 {F774E291-0563-4DDD-B873-F5C31683CF4B}.Debug|x64.Build.0 = Debug|Any CPU
78 {F774E291-0563-4DDD-B873-F5C31683CF4B}.Debug|x86.ActiveCfg = Debug|Any CPU
79 {F774E291-0563-4DDD-B873-F5C31683CF4B}.Debug|x86.Build.0 = Debug|Any CPU
80 {F774E291-0563-4DDD-B873-F5C31683CF4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
81 {F774E291-0563-4DDD-B873-F5C31683CF4B}.Release|Any CPU.Build.0 = Release|Any CPU
82 {F774E291-0563-4DDD-B873-F5C31683CF4B}.Release|x64.ActiveCfg = Release|Any CPU
83 {F774E291-0563-4DDD-B873-F5C31683CF4B}.Release|x64.Build.0 = Release|Any CPU
84 {F774E291-0563-4DDD-B873-F5C31683CF4B}.Release|x86.ActiveCfg = Release|Any CPU
85 {F774E291-0563-4DDD-B873-F5C31683CF4B}.Release|x86.Build.0 = Release|Any CPU
86 {AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
87 {AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}.Debug|Any CPU.Build.0 = Debug|Any CPU
88 {AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}.Debug|x64.ActiveCfg = Debug|Any CPU
89 {AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}.Debug|x64.Build.0 = Debug|Any CPU
90 {AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}.Debug|x86.ActiveCfg = Debug|Any CPU
91 {AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}.Debug|x86.Build.0 = Debug|Any CPU
92 {AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}.Release|Any CPU.ActiveCfg = Release|Any CPU
93 {AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}.Release|Any CPU.Build.0 = Release|Any CPU
94 {AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}.Release|x64.ActiveCfg = Release|Any CPU
95 {AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}.Release|x64.Build.0 = Release|Any CPU
96 {AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}.Release|x86.ActiveCfg = Release|Any CPU
97 {AABEF178-D4A2-4EE1-8E00-3EBAB23A5548}.Release|x86.Build.0 = Release|Any CPU
98 EndGlobalSection
99 GlobalSection(SolutionProperties) = preSolution
100 HideSolutionNode = FALSE
101 EndGlobalSection
102 GlobalSection(ExtensibilityGlobals) = postSolution
103 SolutionGuid = {E4566A6B-47D0-4EA0-989A-D763AC39105D}
104 EndGlobalSection
105EndGlobal
diff --git a/src/ext/NetFx/NetFx.wixext.slnx b/src/ext/NetFx/NetFx.wixext.slnx
new file mode 100644
index 00000000..9c01b2ec
--- /dev/null
+++ b/src/ext/NetFx/NetFx.wixext.slnx
@@ -0,0 +1,23 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="be/netfxbe.vcxproj" Id="b65719c0-b2cc-45f9-af33-6f147f741adb">
8 <Platform Solution="*|Any CPU" Project="Win32" />
9 </Project>
10 <Project Path="ca/netfxca.vcxproj" Id="f72d34ca-48da-4dfd-91a9-a0c78bef6981">
11 <Platform Solution="*|Any CPU" Project="Win32" />
12 </Project>
13 <Project Path="netcoresearch/netcoresearch.vcxproj" Id="a7fd9ef2-68cf-4c8e-ad81-3e8a6c7e1937">
14 <Platform Solution="*|Any CPU" Project="Win32" />
15 </Project>
16 <Project Path="test/WixToolsetTest.Netfx/WixToolsetTest.Netfx.csproj" />
17 <Project Path="wixext/WixToolset.Netfx.wixext.csproj" />
18 <Project Path="wixlib/netfx.wixproj">
19 <Platform Project="x86" />
20 <Build Solution="*|Any CPU" />
21 <Build Solution="*|x86" />
22 </Project>
23</Solution>
diff --git a/src/ext/NetFx/ca/netfxca.vcxproj b/src/ext/NetFx/ca/netfxca.vcxproj
index ea9d2d90..53113693 100644
--- a/src/ext/NetFx/ca/netfxca.vcxproj
+++ b/src/ext/NetFx/ca/netfxca.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|Win32"> 6 <ProjectConfiguration Include="Debug|Win32">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/NetFx/netcoresearch/netcoresearch.vcxproj b/src/ext/NetFx/netcoresearch/netcoresearch.vcxproj
index b6e193dc..3744d7ee 100644
--- a/src/ext/NetFx/netcoresearch/netcoresearch.vcxproj
+++ b/src/ext/NetFx/netcoresearch/netcoresearch.vcxproj
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4 <ItemGroup Label="ProjectConfigurations"> 4 <ItemGroup Label="ProjectConfigurations">
5 <ProjectConfiguration Include="Debug|ARM64"> 5 <ProjectConfiguration Include="Debug|ARM64">
6 <Configuration>Debug</Configuration> 6 <Configuration>Debug</Configuration>
diff --git a/src/ext/PowerShell/PowerShell.wixext.sln b/src/ext/PowerShell/PowerShell.wixext.sln
deleted file mode 100644
index e1e6a7d8..00000000
--- a/src/ext/PowerShell/PowerShell.wixext.sln
+++ /dev/null
@@ -1,63 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.30611.23
5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "powershell", "wixlib\powershell.wixproj", "{9D4CCDFC-840C-4D4E-A9B0-3D6015480645}"
7EndProject
8Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.PowerShell.wixext", "wixext\WixToolset.PowerShell.wixext.csproj", "{6F1482DF-1598-4D88-BDAA-B9D0E0242139}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.PowerShell", "test\WixToolsetTest.PowerShell\WixToolsetTest.PowerShell.csproj", "{BFD10109-F4F3-4530-BE3B-802342D411F7}"
11EndProject
12Global
13 GlobalSection(SolutionConfigurationPlatforms) = preSolution
14 Debug|Any CPU = Debug|Any CPU
15 Debug|x64 = Debug|x64
16 Debug|x86 = Debug|x86
17 Release|Any CPU = Release|Any CPU
18 Release|x64 = Release|x64
19 Release|x86 = Release|x86
20 EndGlobalSection
21 GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 {9D4CCDFC-840C-4D4E-A9B0-3D6015480645}.Debug|Any CPU.ActiveCfg = Debug|x86
23 {9D4CCDFC-840C-4D4E-A9B0-3D6015480645}.Debug|Any CPU.Build.0 = Debug|x86
24 {9D4CCDFC-840C-4D4E-A9B0-3D6015480645}.Debug|x64.ActiveCfg = Debug|x86
25 {9D4CCDFC-840C-4D4E-A9B0-3D6015480645}.Debug|x86.ActiveCfg = Debug|x86
26 {9D4CCDFC-840C-4D4E-A9B0-3D6015480645}.Debug|x86.Build.0 = Debug|x86
27 {9D4CCDFC-840C-4D4E-A9B0-3D6015480645}.Release|Any CPU.ActiveCfg = Release|x86
28 {9D4CCDFC-840C-4D4E-A9B0-3D6015480645}.Release|Any CPU.Build.0 = Release|x86
29 {9D4CCDFC-840C-4D4E-A9B0-3D6015480645}.Release|x64.ActiveCfg = Release|x86
30 {9D4CCDFC-840C-4D4E-A9B0-3D6015480645}.Release|x86.ActiveCfg = Release|x86
31 {9D4CCDFC-840C-4D4E-A9B0-3D6015480645}.Release|x86.Build.0 = Release|x86
32 {6F1482DF-1598-4D88-BDAA-B9D0E0242139}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
33 {6F1482DF-1598-4D88-BDAA-B9D0E0242139}.Debug|Any CPU.Build.0 = Debug|Any CPU
34 {6F1482DF-1598-4D88-BDAA-B9D0E0242139}.Debug|x64.ActiveCfg = Debug|Any CPU
35 {6F1482DF-1598-4D88-BDAA-B9D0E0242139}.Debug|x64.Build.0 = Debug|Any CPU
36 {6F1482DF-1598-4D88-BDAA-B9D0E0242139}.Debug|x86.ActiveCfg = Debug|Any CPU
37 {6F1482DF-1598-4D88-BDAA-B9D0E0242139}.Debug|x86.Build.0 = Debug|Any CPU
38 {6F1482DF-1598-4D88-BDAA-B9D0E0242139}.Release|Any CPU.ActiveCfg = Release|Any CPU
39 {6F1482DF-1598-4D88-BDAA-B9D0E0242139}.Release|Any CPU.Build.0 = Release|Any CPU
40 {6F1482DF-1598-4D88-BDAA-B9D0E0242139}.Release|x64.ActiveCfg = Release|Any CPU
41 {6F1482DF-1598-4D88-BDAA-B9D0E0242139}.Release|x64.Build.0 = Release|Any CPU
42 {6F1482DF-1598-4D88-BDAA-B9D0E0242139}.Release|x86.ActiveCfg = Release|Any CPU
43 {6F1482DF-1598-4D88-BDAA-B9D0E0242139}.Release|x86.Build.0 = Release|Any CPU
44 {BFD10109-F4F3-4530-BE3B-802342D411F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
45 {BFD10109-F4F3-4530-BE3B-802342D411F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
46 {BFD10109-F4F3-4530-BE3B-802342D411F7}.Debug|x64.ActiveCfg = Debug|Any CPU
47 {BFD10109-F4F3-4530-BE3B-802342D411F7}.Debug|x64.Build.0 = Debug|Any CPU
48 {BFD10109-F4F3-4530-BE3B-802342D411F7}.Debug|x86.ActiveCfg = Debug|Any CPU
49 {BFD10109-F4F3-4530-BE3B-802342D411F7}.Debug|x86.Build.0 = Debug|Any CPU
50 {BFD10109-F4F3-4530-BE3B-802342D411F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
51 {BFD10109-F4F3-4530-BE3B-802342D411F7}.Release|Any CPU.Build.0 = Release|Any CPU
52 {BFD10109-F4F3-4530-BE3B-802342D411F7}.Release|x64.ActiveCfg = Release|Any CPU
53 {BFD10109-F4F3-4530-BE3B-802342D411F7}.Release|x64.Build.0 = Release|Any CPU
54 {BFD10109-F4F3-4530-BE3B-802342D411F7}.Release|x86.ActiveCfg = Release|Any CPU
55 {BFD10109-F4F3-4530-BE3B-802342D411F7}.Release|x86.Build.0 = Release|Any CPU
56 EndGlobalSection
57 GlobalSection(SolutionProperties) = preSolution
58 HideSolutionNode = FALSE
59 EndGlobalSection
60 GlobalSection(ExtensibilityGlobals) = postSolution
61 SolutionGuid = {60A3EA0F-9313-47F8-BF6B-74478A57B577}
62 EndGlobalSection
63EndGlobal
diff --git a/src/ext/PowerShell/PowerShell.wixext.slnx b/src/ext/PowerShell/PowerShell.wixext.slnx
new file mode 100644
index 00000000..76dd22df
--- /dev/null
+++ b/src/ext/PowerShell/PowerShell.wixext.slnx
@@ -0,0 +1,14 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="test/WixToolsetTest.PowerShell/WixToolsetTest.PowerShell.csproj" />
8 <Project Path="wixext/WixToolset.PowerShell.wixext.csproj" />
9 <Project Path="wixlib/powershell.wixproj">
10 <Platform Project="x86" />
11 <Build Solution="*|Any CPU" />
12 <Build Solution="*|x86" />
13 </Project>
14</Solution>
diff --git a/src/ext/Sql/Sql.wixext.sln b/src/ext/Sql/Sql.wixext.sln
deleted file mode 100644
index 6a2a132a..00000000
--- a/src/ext/Sql/Sql.wixext.sln
+++ /dev/null
@@ -1,61 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.30204.135
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlca", "ca\sqlca.vcxproj", "{4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}"
7EndProject
8Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "sql", "wixlib\sql.wixproj", "{9ACF1A20-D801-45CC-A463-F9D13E506AA3}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Sql.wixext", "wixext\WixToolset.Sql.wixext.csproj", "{0E05519A-0045-4AEC-BD0C-D9205FF1468F}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Sql", "test\WixToolsetTest.Sql\WixToolsetTest.Sql.csproj", "{FE72A369-03CA-4EBC-BC7B-A8BBF5BBD3E0}"
13EndProject
14Global
15 GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 Debug|Any CPU = Debug|Any CPU
17 Debug|x86 = Debug|x86
18 Release|Any CPU = Release|Any CPU
19 Release|x86 = Release|x86
20 EndGlobalSection
21 GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Debug|Any CPU.ActiveCfg = Debug|Win32
23 {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Debug|Any CPU.Build.0 = Debug|Win32
24 {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Debug|x86.ActiveCfg = Debug|Win32
25 {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Debug|x86.Build.0 = Debug|Win32
26 {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Release|Any CPU.ActiveCfg = Release|Win32
27 {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Release|Any CPU.Build.0 = Release|Win32
28 {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Release|x86.ActiveCfg = Release|Win32
29 {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Release|x86.Build.0 = Release|Win32
30 {9ACF1A20-D801-45CC-A463-F9D13E506AA3}.Debug|Any CPU.ActiveCfg = Debug|x86
31 {9ACF1A20-D801-45CC-A463-F9D13E506AA3}.Debug|Any CPU.Build.0 = Debug|x86
32 {9ACF1A20-D801-45CC-A463-F9D13E506AA3}.Debug|x86.ActiveCfg = Debug|x86
33 {9ACF1A20-D801-45CC-A463-F9D13E506AA3}.Debug|x86.Build.0 = Debug|x86
34 {9ACF1A20-D801-45CC-A463-F9D13E506AA3}.Release|Any CPU.ActiveCfg = Release|x86
35 {9ACF1A20-D801-45CC-A463-F9D13E506AA3}.Release|Any CPU.Build.0 = Release|x86
36 {9ACF1A20-D801-45CC-A463-F9D13E506AA3}.Release|x86.ActiveCfg = Release|x86
37 {9ACF1A20-D801-45CC-A463-F9D13E506AA3}.Release|x86.Build.0 = Release|x86
38 {0E05519A-0045-4AEC-BD0C-D9205FF1468F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
39 {0E05519A-0045-4AEC-BD0C-D9205FF1468F}.Debug|Any CPU.Build.0 = Debug|Any CPU
40 {0E05519A-0045-4AEC-BD0C-D9205FF1468F}.Debug|x86.ActiveCfg = Debug|Any CPU
41 {0E05519A-0045-4AEC-BD0C-D9205FF1468F}.Debug|x86.Build.0 = Debug|Any CPU
42 {0E05519A-0045-4AEC-BD0C-D9205FF1468F}.Release|Any CPU.ActiveCfg = Release|Any CPU
43 {0E05519A-0045-4AEC-BD0C-D9205FF1468F}.Release|Any CPU.Build.0 = Release|Any CPU
44 {0E05519A-0045-4AEC-BD0C-D9205FF1468F}.Release|x86.ActiveCfg = Release|Any CPU
45 {0E05519A-0045-4AEC-BD0C-D9205FF1468F}.Release|x86.Build.0 = Release|Any CPU
46 {FE72A369-03CA-4EBC-BC7B-A8BBF5BBD3E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47 {FE72A369-03CA-4EBC-BC7B-A8BBF5BBD3E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
48 {FE72A369-03CA-4EBC-BC7B-A8BBF5BBD3E0}.Debug|x86.ActiveCfg = Debug|Any CPU
49 {FE72A369-03CA-4EBC-BC7B-A8BBF5BBD3E0}.Debug|x86.Build.0 = Debug|Any CPU
50 {FE72A369-03CA-4EBC-BC7B-A8BBF5BBD3E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
51 {FE72A369-03CA-4EBC-BC7B-A8BBF5BBD3E0}.Release|Any CPU.Build.0 = Release|Any CPU
52 {FE72A369-03CA-4EBC-BC7B-A8BBF5BBD3E0}.Release|x86.ActiveCfg = Release|Any CPU
53 {FE72A369-03CA-4EBC-BC7B-A8BBF5BBD3E0}.Release|x86.Build.0 = Release|Any CPU
54 EndGlobalSection
55 GlobalSection(SolutionProperties) = preSolution
56 HideSolutionNode = FALSE
57 EndGlobalSection
58 GlobalSection(ExtensibilityGlobals) = postSolution
59 SolutionGuid = {DEFEE3BB-E557-4B77-A85C-ECA19D6F5DF5}
60 EndGlobalSection
61EndGlobal
diff --git a/src/ext/Sql/Sql.wixext.slnx b/src/ext/Sql/Sql.wixext.slnx
new file mode 100644
index 00000000..ec141cdb
--- /dev/null
+++ b/src/ext/Sql/Sql.wixext.slnx
@@ -0,0 +1,15 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x86" />
5 </Configurations>
6 <Project Path="ca/sqlca.vcxproj" Id="4dca6e4b-a1f1-4450-bc2d-94ac20f31935">
7 <Platform Project="Win32" />
8 </Project>
9 <Project Path="test/WixToolsetTest.Sql/WixToolsetTest.Sql.csproj" />
10 <Project Path="wixext/WixToolset.Sql.wixext.csproj" />
11 <Project Path="wixlib/sql.wixproj">
12 <Platform Project="x86" />
13 <Build />
14 </Project>
15</Solution>
diff --git a/src/ext/Sql/ca/sqlca.vcxproj b/src/ext/Sql/ca/sqlca.vcxproj
index 4013351f..38ed4c8e 100644
--- a/src/ext/Sql/ca/sqlca.vcxproj
+++ b/src/ext/Sql/ca/sqlca.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|Win32"> 6 <ProjectConfiguration Include="Debug|Win32">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/UI/UI.wixext.sln b/src/ext/UI/UI.wixext.sln
deleted file mode 100644
index c71826dc..00000000
--- a/src/ext/UI/UI.wixext.sln
+++ /dev/null
@@ -1,75 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.30320.27
5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uica", "ca\uica.vcxproj", "{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}"
7EndProject
8Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "ui", "wixlib\ui.wixproj", "{2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.UI.wixext", "wixext\WixToolset.UI.wixext.csproj", "{33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.UI", "test\WixToolsetTest.UI\WixToolsetTest.UI.csproj", "{A37CC793-F659-4C77-A01C-D183023B6880}"
13EndProject
14Global
15 GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 Debug|Any CPU = Debug|Any CPU
17 Debug|x64 = Debug|x64
18 Debug|x86 = Debug|x86
19 Release|Any CPU = Release|Any CPU
20 Release|x64 = Release|x64
21 Release|x86 = Release|x86
22 EndGlobalSection
23 GlobalSection(ProjectConfigurationPlatforms) = postSolution
24 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|Any CPU.ActiveCfg = Debug|Win32
25 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|Any CPU.Build.0 = Debug|Win32
26 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x64.ActiveCfg = Debug|Win32
27 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x86.ActiveCfg = Debug|Win32
28 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x86.Build.0 = Debug|Win32
29 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|Any CPU.ActiveCfg = Release|Win32
30 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|Any CPU.Build.0 = Release|Win32
31 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x64.ActiveCfg = Release|Win32
32 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x86.ActiveCfg = Release|Win32
33 {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x86.Build.0 = Release|Win32
34 {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Debug|Any CPU.ActiveCfg = Debug|x86
35 {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Debug|Any CPU.Build.0 = Debug|x86
36 {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Debug|x64.ActiveCfg = Debug|x86
37 {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Debug|x86.ActiveCfg = Debug|x86
38 {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Debug|x86.Build.0 = Debug|x86
39 {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Release|Any CPU.ActiveCfg = Release|x86
40 {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Release|Any CPU.Build.0 = Release|x86
41 {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Release|x64.ActiveCfg = Release|x86
42 {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Release|x86.ActiveCfg = Release|x86
43 {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Release|x86.Build.0 = Release|x86
44 {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
45 {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
46 {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Debug|x64.ActiveCfg = Debug|Any CPU
47 {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Debug|x64.Build.0 = Debug|Any CPU
48 {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Debug|x86.ActiveCfg = Debug|Any CPU
49 {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Debug|x86.Build.0 = Debug|Any CPU
50 {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
51 {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Release|Any CPU.Build.0 = Release|Any CPU
52 {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Release|x64.ActiveCfg = Release|Any CPU
53 {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Release|x64.Build.0 = Release|Any CPU
54 {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Release|x86.ActiveCfg = Release|Any CPU
55 {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Release|x86.Build.0 = Release|Any CPU
56 {A37CC793-F659-4C77-A01C-D183023B6880}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
57 {A37CC793-F659-4C77-A01C-D183023B6880}.Debug|Any CPU.Build.0 = Debug|Any CPU
58 {A37CC793-F659-4C77-A01C-D183023B6880}.Debug|x64.ActiveCfg = Debug|Any CPU
59 {A37CC793-F659-4C77-A01C-D183023B6880}.Debug|x64.Build.0 = Debug|Any CPU
60 {A37CC793-F659-4C77-A01C-D183023B6880}.Debug|x86.ActiveCfg = Debug|Any CPU
61 {A37CC793-F659-4C77-A01C-D183023B6880}.Debug|x86.Build.0 = Debug|Any CPU
62 {A37CC793-F659-4C77-A01C-D183023B6880}.Release|Any CPU.ActiveCfg = Release|Any CPU
63 {A37CC793-F659-4C77-A01C-D183023B6880}.Release|Any CPU.Build.0 = Release|Any CPU
64 {A37CC793-F659-4C77-A01C-D183023B6880}.Release|x64.ActiveCfg = Release|Any CPU
65 {A37CC793-F659-4C77-A01C-D183023B6880}.Release|x64.Build.0 = Release|Any CPU
66 {A37CC793-F659-4C77-A01C-D183023B6880}.Release|x86.ActiveCfg = Release|Any CPU
67 {A37CC793-F659-4C77-A01C-D183023B6880}.Release|x86.Build.0 = Release|Any CPU
68 EndGlobalSection
69 GlobalSection(SolutionProperties) = preSolution
70 HideSolutionNode = FALSE
71 EndGlobalSection
72 GlobalSection(ExtensibilityGlobals) = postSolution
73 SolutionGuid = {1EB72678-984C-4F8F-9C3C-8D0FA2450E86}
74 EndGlobalSection
75EndGlobal
diff --git a/src/ext/UI/UI.wixext.slnx b/src/ext/UI/UI.wixext.slnx
new file mode 100644
index 00000000..13296d3e
--- /dev/null
+++ b/src/ext/UI/UI.wixext.slnx
@@ -0,0 +1,18 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="ca/uica.vcxproj" Id="f72d34ca-48da-4dfd-91a9-a0c78bef6981">
8 <Platform Project="Win32" />
9 <Build Solution="*|x64" Project="false" />
10 </Project>
11 <Project Path="test/WixToolsetTest.UI/WixToolsetTest.UI.csproj" />
12 <Project Path="wixext/WixToolset.UI.wixext.csproj" />
13 <Project Path="wixlib/ui.wixproj">
14 <Platform Project="x86" />
15 <Build Solution="*|Any CPU" />
16 <Build Solution="*|x86" />
17 </Project>
18</Solution>
diff --git a/src/ext/UI/ca/uica.vcxproj b/src/ext/UI/ca/uica.vcxproj
index 39c0b404..aa81d5e3 100644
--- a/src/ext/UI/ca/uica.vcxproj
+++ b/src/ext/UI/ca/uica.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|Win32"> 6 <ProjectConfiguration Include="Debug|Win32">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/Util/Util.wixext.sln b/src/ext/Util/Util.wixext.sln
deleted file mode 100644
index 0168dab9..00000000
--- a/src/ext/Util/Util.wixext.sln
+++ /dev/null
@@ -1,87 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.1.32228.430
5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "utilbe", "be\utilbe.vcxproj", "{630C1EE7-2517-4A8C-83E3-DA1150308B58}"
7EndProject
8Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "utilca", "ca\utilca.vcxproj", "{076018F7-19BD-423A-ABBF-229273DA08D8}"
9EndProject
10Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "util", "wixlib\util.wixproj", "{1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Util.wixext", "wixext\WixToolset.Util.wixext.csproj", "{6CF033EB-0A39-4AC6-9D41-9BD506352045}"
13EndProject
14Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Util", "test\WixToolsetTest.Util\WixToolsetTest.Util.csproj", "{D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}"
15EndProject
16Global
17 GlobalSection(SolutionConfigurationPlatforms) = preSolution
18 Debug|Any CPU = Debug|Any CPU
19 Debug|x64 = Debug|x64
20 Debug|x86 = Debug|x86
21 Release|Any CPU = Release|Any CPU
22 Release|x64 = Release|x64
23 Release|x86 = Release|x86
24 EndGlobalSection
25 GlobalSection(ProjectConfigurationPlatforms) = postSolution
26 {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Debug|Any CPU.ActiveCfg = Debug|Win32
27 {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Debug|Any CPU.Build.0 = Debug|Win32
28 {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Debug|x64.ActiveCfg = Debug|Win32
29 {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Debug|x86.ActiveCfg = Debug|Win32
30 {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Debug|x86.Build.0 = Debug|Win32
31 {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Release|Any CPU.ActiveCfg = Release|Win32
32 {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Release|Any CPU.Build.0 = Release|Win32
33 {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Release|x64.ActiveCfg = Release|Win32
34 {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Release|x86.ActiveCfg = Release|Win32
35 {630C1EE7-2517-4A8C-83E3-DA1150308B58}.Release|x86.Build.0 = Release|Win32
36 {076018F7-19BD-423A-ABBF-229273DA08D8}.Debug|Any CPU.ActiveCfg = Debug|Win32
37 {076018F7-19BD-423A-ABBF-229273DA08D8}.Debug|Any CPU.Build.0 = Debug|Win32
38 {076018F7-19BD-423A-ABBF-229273DA08D8}.Debug|x64.ActiveCfg = Debug|Win32
39 {076018F7-19BD-423A-ABBF-229273DA08D8}.Debug|x86.ActiveCfg = Debug|Win32
40 {076018F7-19BD-423A-ABBF-229273DA08D8}.Debug|x86.Build.0 = Debug|Win32
41 {076018F7-19BD-423A-ABBF-229273DA08D8}.Release|Any CPU.ActiveCfg = Release|Win32
42 {076018F7-19BD-423A-ABBF-229273DA08D8}.Release|Any CPU.Build.0 = Release|Win32
43 {076018F7-19BD-423A-ABBF-229273DA08D8}.Release|x64.ActiveCfg = Release|Win32
44 {076018F7-19BD-423A-ABBF-229273DA08D8}.Release|x86.ActiveCfg = Release|Win32
45 {076018F7-19BD-423A-ABBF-229273DA08D8}.Release|x86.Build.0 = Release|Win32
46 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Debug|Any CPU.ActiveCfg = Debug|x86
47 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Debug|Any CPU.Build.0 = Debug|x86
48 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Debug|x64.ActiveCfg = Debug|x86
49 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Debug|x86.ActiveCfg = Debug|x86
50 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Debug|x86.Build.0 = Debug|x86
51 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Release|Any CPU.ActiveCfg = Release|x86
52 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Release|Any CPU.Build.0 = Release|x86
53 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Release|x64.ActiveCfg = Release|x86
54 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Release|x86.ActiveCfg = Release|x86
55 {1ACFFEFD-505A-41A5-ACBF-A02B7B473AA2}.Release|x86.Build.0 = Release|x86
56 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
57 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Debug|Any CPU.Build.0 = Debug|Any CPU
58 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Debug|x64.ActiveCfg = Debug|Any CPU
59 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Debug|x64.Build.0 = Debug|Any CPU
60 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Debug|x86.ActiveCfg = Debug|Any CPU
61 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Debug|x86.Build.0 = Debug|Any CPU
62 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Release|Any CPU.ActiveCfg = Release|Any CPU
63 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Release|Any CPU.Build.0 = Release|Any CPU
64 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Release|x64.ActiveCfg = Release|Any CPU
65 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Release|x64.Build.0 = Release|Any CPU
66 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Release|x86.ActiveCfg = Release|Any CPU
67 {6CF033EB-0A39-4AC6-9D41-9BD506352045}.Release|x86.Build.0 = Release|Any CPU
68 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
69 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Debug|Any CPU.Build.0 = Debug|Any CPU
70 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Debug|x64.ActiveCfg = Debug|Any CPU
71 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Debug|x64.Build.0 = Debug|Any CPU
72 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Debug|x86.ActiveCfg = Debug|Any CPU
73 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Debug|x86.Build.0 = Debug|Any CPU
74 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Release|Any CPU.ActiveCfg = Release|Any CPU
75 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Release|Any CPU.Build.0 = Release|Any CPU
76 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Release|x64.ActiveCfg = Release|Any CPU
77 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Release|x64.Build.0 = Release|Any CPU
78 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Release|x86.ActiveCfg = Release|Any CPU
79 {D5D34EC4-AF91-4B11-AC0A-FA5242AE924B}.Release|x86.Build.0 = Release|Any CPU
80 EndGlobalSection
81 GlobalSection(SolutionProperties) = preSolution
82 HideSolutionNode = FALSE
83 EndGlobalSection
84 GlobalSection(ExtensibilityGlobals) = postSolution
85 SolutionGuid = {E4566A6B-47D0-4EA0-989A-D763AC39105D}
86 EndGlobalSection
87EndGlobal
diff --git a/src/ext/Util/Util.wixext.slnx b/src/ext/Util/Util.wixext.slnx
new file mode 100644
index 00000000..737fba27
--- /dev/null
+++ b/src/ext/Util/Util.wixext.slnx
@@ -0,0 +1,22 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="be/utilbe.vcxproj" Id="630c1ee7-2517-4a8c-83e3-da1150308b58">
8 <Platform Project="Win32" />
9 <Build Solution="*|x64" Project="false" />
10 </Project>
11 <Project Path="ca/utilca.vcxproj" Id="076018f7-19bd-423a-abbf-229273da08d8">
12 <Platform Project="Win32" />
13 <Build Solution="*|x64" Project="false" />
14 </Project>
15 <Project Path="test/WixToolsetTest.Util/WixToolsetTest.Util.csproj" />
16 <Project Path="wixext/WixToolset.Util.wixext.csproj" />
17 <Project Path="wixlib/util.wixproj">
18 <Platform Project="x86" />
19 <Build Solution="*|Any CPU" />
20 <Build Solution="*|x86" />
21 </Project>
22</Solution>
diff --git a/src/ext/Util/ca/utilca.vcxproj b/src/ext/Util/ca/utilca.vcxproj
index 5dbe2792..e7cbc372 100644
--- a/src/ext/Util/ca/utilca.vcxproj
+++ b/src/ext/Util/ca/utilca.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/ext/VisualStudio/VisualStudio.wixext.sln b/src/ext/VisualStudio/VisualStudio.wixext.sln
deleted file mode 100644
index f5f0ad3a..00000000
--- a/src/ext/VisualStudio/VisualStudio.wixext.sln
+++ /dev/null
@@ -1,84 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.30611.23
5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vsca", "ca\vsca.vcxproj", "{45308B85-0628-4978-8FC8-6AD9E1AD5949}"
7EndProject
8Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "vs", "wixlib\vs.wixproj", "{14345C9D-8AF8-435A-BB1B-E067CE7EB321}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.VisualStudio.wixext", "wixext\WixToolset.VisualStudio.wixext.csproj", "{61BFD377-9DE1-48B4-8687-560DF68D6F3B}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.VisualStudio", "test\WixToolsetTest.VisualStudio\WixToolsetTest.VisualStudio.csproj", "{DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}"
13EndProject
14Global
15 GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 Debug|Any CPU = Debug|Any CPU
17 Debug|x64 = Debug|x64
18 Debug|x86 = Debug|x86
19 Release|Any CPU = Release|Any CPU
20 Release|x64 = Release|x64
21 Release|x86 = Release|x86
22 EndGlobalSection
23 GlobalSection(ProjectConfigurationPlatforms) = postSolution
24 {45308B85-0628-4978-8FC8-6AD9E1AD5949}.Debug|Any CPU.ActiveCfg = Debug|Win32
25 {45308B85-0628-4978-8FC8-6AD9E1AD5949}.Debug|Any CPU.Build.0 = Debug|Win32
26 {45308B85-0628-4978-8FC8-6AD9E1AD5949}.Debug|x64.ActiveCfg = Debug|Win32
27 {45308B85-0628-4978-8FC8-6AD9E1AD5949}.Debug|x86.ActiveCfg = Debug|Win32
28 {45308B85-0628-4978-8FC8-6AD9E1AD5949}.Debug|x86.Build.0 = Debug|Win32
29 {45308B85-0628-4978-8FC8-6AD9E1AD5949}.Release|Any CPU.ActiveCfg = Release|Win32
30 {45308B85-0628-4978-8FC8-6AD9E1AD5949}.Release|Any CPU.Build.0 = Release|Win32
31 {45308B85-0628-4978-8FC8-6AD9E1AD5949}.Release|x64.ActiveCfg = Release|Win32
32 {45308B85-0628-4978-8FC8-6AD9E1AD5949}.Release|x86.ActiveCfg = Release|Win32
33 {45308B85-0628-4978-8FC8-6AD9E1AD5949}.Release|x86.Build.0 = Release|Win32
34 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Debug|Any CPU.ActiveCfg = Debug|x86
35 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Debug|Any CPU.Build.0 = Debug|x86
36 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Debug|x64.ActiveCfg = Debug|x86
37 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Debug|x86.ActiveCfg = Debug|x86
38 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Debug|x86.Build.0 = Debug|x86
39 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Release|Any CPU.ActiveCfg = Release|x86
40 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Release|x64.ActiveCfg = Release|x86
41 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Release|x86.ActiveCfg = Release|x86
42 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Release|x86.Build.0 = Release|x86
43 {61BFD377-9DE1-48B4-8687-560DF68D6F3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
44 {61BFD377-9DE1-48B4-8687-560DF68D6F3B}.Debug|Any CPU.Build.0 = Debug|Any CPU
45 {61BFD377-9DE1-48B4-8687-560DF68D6F3B}.Debug|x64.ActiveCfg = Debug|Any CPU
46 {61BFD377-9DE1-48B4-8687-560DF68D6F3B}.Debug|x64.Build.0 = Debug|Any CPU
47 {61BFD377-9DE1-48B4-8687-560DF68D6F3B}.Debug|x86.ActiveCfg = Debug|Any CPU
48 {61BFD377-9DE1-48B4-8687-560DF68D6F3B}.Debug|x86.Build.0 = Debug|Any CPU
49 {61BFD377-9DE1-48B4-8687-560DF68D6F3B}.Release|Any CPU.ActiveCfg = Release|Any CPU
50 {61BFD377-9DE1-48B4-8687-560DF68D6F3B}.Release|Any CPU.Build.0 = Release|Any CPU
51 {61BFD377-9DE1-48B4-8687-560DF68D6F3B}.Release|x64.ActiveCfg = Release|Any CPU
52 {61BFD377-9DE1-48B4-8687-560DF68D6F3B}.Release|x64.Build.0 = Release|Any CPU
53 {61BFD377-9DE1-48B4-8687-560DF68D6F3B}.Release|x86.ActiveCfg = Release|Any CPU
54 {61BFD377-9DE1-48B4-8687-560DF68D6F3B}.Release|x86.Build.0 = Release|Any CPU
55 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Debug|Any CPU.ActiveCfg = Debug|x86
56 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Debug|Any CPU.Build.0 = Debug|x86
57 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Debug|x64.ActiveCfg = Debug|x86
58 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Debug|x86.ActiveCfg = Debug|x86
59 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Debug|x86.Build.0 = Debug|x86
60 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Release|Any CPU.ActiveCfg = Release|x86
61 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Release|Any CPU.Build.0 = Release|x86
62 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Release|x64.ActiveCfg = Release|x86
63 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Release|x86.ActiveCfg = Release|x86
64 {14345C9D-8AF8-435A-BB1B-E067CE7EB321}.Release|x86.Build.0 = Release|x86
65 {DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
66 {DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
67 {DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}.Debug|x64.ActiveCfg = Debug|Any CPU
68 {DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}.Debug|x64.Build.0 = Debug|Any CPU
69 {DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}.Debug|x86.ActiveCfg = Debug|Any CPU
70 {DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}.Debug|x86.Build.0 = Debug|Any CPU
71 {DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}.Release|Any CPU.ActiveCfg = Release|Any CPU
72 {DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}.Release|Any CPU.Build.0 = Release|Any CPU
73 {DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}.Release|x64.ActiveCfg = Release|Any CPU
74 {DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}.Release|x64.Build.0 = Release|Any CPU
75 {DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}.Release|x86.ActiveCfg = Release|Any CPU
76 {DD2BD0F7-1E4A-4D11-954C-3505323C4E1B}.Release|x86.Build.0 = Release|Any CPU
77 EndGlobalSection
78 GlobalSection(SolutionProperties) = preSolution
79 HideSolutionNode = FALSE
80 EndGlobalSection
81 GlobalSection(ExtensibilityGlobals) = postSolution
82 SolutionGuid = {E4566A6B-47D0-4EA0-989A-D763AC39105D}
83 EndGlobalSection
84EndGlobal
diff --git a/src/ext/VisualStudio/VisualStudio.wixext.slnx b/src/ext/VisualStudio/VisualStudio.wixext.slnx
new file mode 100644
index 00000000..f66468a2
--- /dev/null
+++ b/src/ext/VisualStudio/VisualStudio.wixext.slnx
@@ -0,0 +1,18 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="ca/vsca.vcxproj" Id="45308b85-0628-4978-8fc8-6ad9e1ad5949">
8 <Platform Project="Win32" />
9 <Build Solution="*|x64" Project="false" />
10 </Project>
11 <Project Path="test/WixToolsetTest.VisualStudio/WixToolsetTest.VisualStudio.csproj" />
12 <Project Path="wixext/WixToolset.VisualStudio.wixext.csproj" />
13 <Project Path="wixlib/vs.wixproj">
14 <Platform Project="x86" />
15 <Build Solution="*|Any CPU" />
16 <Build Solution="*|x86" />
17 </Project>
18</Solution>
diff --git a/src/ext/VisualStudio/ca/vsca.vcxproj b/src/ext/VisualStudio/ca/vsca.vcxproj
index a2854f15..5cb20b41 100644
--- a/src/ext/VisualStudio/ca/vsca.vcxproj
+++ b/src/ext/VisualStudio/ca/vsca.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|Win32"> 6 <ProjectConfiguration Include="Debug|Win32">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/internal/WixBuildTools.MsgGen/build/WixBuildTools.MsgGen.targets b/src/internal/WixBuildTools.MsgGen/build/WixBuildTools.MsgGen.targets
index 024d7479..948e77c2 100644
--- a/src/internal/WixBuildTools.MsgGen/build/WixBuildTools.MsgGen.targets
+++ b/src/internal/WixBuildTools.MsgGen/build/WixBuildTools.MsgGen.targets
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup> 5 <ItemGroup>
6 <!--Provide support for setting type (BuildAction) from VS--> 6 <!--Provide support for setting type (BuildAction) from VS-->
7 <AvailableItemName Include="MsgGenSource" /> 7 <AvailableItemName Include="MsgGenSource" />
diff --git a/src/internal/WixBuildTools.MsgGen/buildCrossTargeting/WixBuildTools.MsgGen.targets b/src/internal/WixBuildTools.MsgGen/buildCrossTargeting/WixBuildTools.MsgGen.targets
index a3985af5..9d20ad27 100644
--- a/src/internal/WixBuildTools.MsgGen/buildCrossTargeting/WixBuildTools.MsgGen.targets
+++ b/src/internal/WixBuildTools.MsgGen/buildCrossTargeting/WixBuildTools.MsgGen.targets
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <Import Project="..\build\WixBuildTools.MsgGen.targets" /> 5 <Import Project="..\build\WixBuildTools.MsgGen.targets" />
6</Project> 6</Project>
diff --git a/src/internal/WixBuildTools.XsdGen/build/WixBuildTools.XsdGen.targets b/src/internal/WixBuildTools.XsdGen/build/WixBuildTools.XsdGen.targets
index 8420eaca..9643df07 100644
--- a/src/internal/WixBuildTools.XsdGen/build/WixBuildTools.XsdGen.targets
+++ b/src/internal/WixBuildTools.XsdGen/build/WixBuildTools.XsdGen.targets
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup> 5 <ItemGroup>
6 <!--Provide support for setting type (BuildAction) from VS--> 6 <!--Provide support for setting type (BuildAction) from VS-->
7 <AvailableItemName Include="XsdGenSource" /> 7 <AvailableItemName Include="XsdGenSource" />
diff --git a/src/internal/WixBuildTools.XsdGen/buildCrossTargeting/WixBuildTools.XsdGen.targets b/src/internal/WixBuildTools.XsdGen/buildCrossTargeting/WixBuildTools.XsdGen.targets
index 58692095..968f33f3 100644
--- a/src/internal/WixBuildTools.XsdGen/buildCrossTargeting/WixBuildTools.XsdGen.targets
+++ b/src/internal/WixBuildTools.XsdGen/buildCrossTargeting/WixBuildTools.XsdGen.targets
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <Import Project="..\build\WixBuildTools.XsdGen.targets" /> 5 <Import Project="..\build\WixBuildTools.XsdGen.targets" />
6</Project> 6</Project>
diff --git a/src/internal/WixInternal.TestSupport.Native/WixInternal.TestSupport.Native.vcxproj b/src/internal/WixInternal.TestSupport.Native/WixInternal.TestSupport.Native.vcxproj
index 554347b8..2665945b 100644
--- a/src/internal/WixInternal.TestSupport.Native/WixInternal.TestSupport.Native.vcxproj
+++ b/src/internal/WixInternal.TestSupport.Native/WixInternal.TestSupport.Native.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <Import Project="build\WixInternal.TestSupport.Native.props" /> 5 <Import Project="build\WixInternal.TestSupport.Native.props" />
6 6
7 <ItemGroup Label="ProjectConfigurations"> 7 <ItemGroup Label="ProjectConfigurations">
diff --git a/src/internal/WixInternal.TestSupport.Native/WixInternal.TestSupport.Native.vcxproj.filters b/src/internal/WixInternal.TestSupport.Native/WixInternal.TestSupport.Native.vcxproj.filters
index 34c1380f..cf218989 100644
--- a/src/internal/WixInternal.TestSupport.Native/WixInternal.TestSupport.Native.vcxproj.filters
+++ b/src/internal/WixInternal.TestSupport.Native/WixInternal.TestSupport.Native.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -30,4 +30,4 @@
30 <Filter>Source Files</Filter> 30 <Filter>Source Files</Filter>
31 </ClCompile> 31 </ClCompile>
32 </ItemGroup> 32 </ItemGroup>
33</Project> \ No newline at end of file 33</Project>
diff --git a/src/internal/internal.sln b/src/internal/internal.sln
deleted file mode 100644
index 8a326615..00000000
--- a/src/internal/internal.sln
+++ /dev/null
@@ -1,109 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.3.32929.385
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixInternal.TestSupport", "WixInternal.TestSupport\WixInternal.TestSupport.csproj", "{8E082709-7355-41D5-AF86-6BBF9C89BDD7}"
7EndProject
8Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WixInternal.TestSupport.Native", "WixInternal.TestSupport.Native\WixInternal.TestSupport.Native.vcxproj", "{95BABD97-FBDB-453A-AF8A-FA031A07B599}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixInternal.BaseBuildTasks.Sources", "WixInternal.BaseBuildTasks.Sources\WixInternal.BaseBuildTasks.Sources.csproj", "{6B654490-AB0D-4F94-B564-DAA80044D5A3}"
11EndProject
12Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixInternal.MSTestSupport", "WixInternal.MSTestSupport\WixInternal.MSTestSupport.csproj", "{E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}"
13EndProject
14Global
15 GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 Debug|Any CPU = Debug|Any CPU
17 Debug|ARM64 = Debug|ARM64
18 Debug|x64 = Debug|x64
19 Debug|x86 = Debug|x86
20 Release|Any CPU = Release|Any CPU
21 Release|ARM64 = Release|ARM64
22 Release|x64 = Release|x64
23 Release|x86 = Release|x86
24 EndGlobalSection
25 GlobalSection(ProjectConfigurationPlatforms) = postSolution
26 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
27 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
28 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Debug|ARM64.ActiveCfg = Debug|Any CPU
29 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Debug|ARM64.Build.0 = Debug|Any CPU
30 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Debug|x64.ActiveCfg = Debug|Any CPU
31 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Debug|x64.Build.0 = Debug|Any CPU
32 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Debug|x86.ActiveCfg = Debug|Any CPU
33 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Debug|x86.Build.0 = Debug|Any CPU
34 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
35 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Release|Any CPU.Build.0 = Release|Any CPU
36 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Release|ARM64.ActiveCfg = Release|Any CPU
37 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Release|ARM64.Build.0 = Release|Any CPU
38 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Release|x64.ActiveCfg = Release|Any CPU
39 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Release|x64.Build.0 = Release|Any CPU
40 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Release|x86.ActiveCfg = Release|Any CPU
41 {8E082709-7355-41D5-AF86-6BBF9C89BDD7}.Release|x86.Build.0 = Release|Any CPU
42 {95BABD97-FBDB-453A-AF8A-FA031A07B599}.Debug|Any CPU.ActiveCfg = Debug|Win32
43 {95BABD97-FBDB-453A-AF8A-FA031A07B599}.Debug|Any CPU.Build.0 = Debug|Win32
44 {95BABD97-FBDB-453A-AF8A-FA031A07B599}.Debug|ARM64.ActiveCfg = Debug|Win32
45 {95BABD97-FBDB-453A-AF8A-FA031A07B599}.Debug|x64.ActiveCfg = Debug|Win32
46 {95BABD97-FBDB-453A-AF8A-FA031A07B599}.Debug|x86.ActiveCfg = Debug|Win32
47 {95BABD97-FBDB-453A-AF8A-FA031A07B599}.Debug|x86.Build.0 = Debug|Win32
48 {95BABD97-FBDB-453A-AF8A-FA031A07B599}.Release|Any CPU.ActiveCfg = Release|Win32
49 {95BABD97-FBDB-453A-AF8A-FA031A07B599}.Release|Any CPU.Build.0 = Release|Win32
50 {95BABD97-FBDB-453A-AF8A-FA031A07B599}.Release|ARM64.ActiveCfg = Release|Win32
51 {95BABD97-FBDB-453A-AF8A-FA031A07B599}.Release|x64.ActiveCfg = Release|Win32
52 {95BABD97-FBDB-453A-AF8A-FA031A07B599}.Release|x86.ActiveCfg = Release|Win32
53 {95BABD97-FBDB-453A-AF8A-FA031A07B599}.Release|x86.Build.0 = Release|Win32
54 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
55 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
56 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Debug|ARM64.ActiveCfg = Debug|Any CPU
57 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Debug|ARM64.Build.0 = Debug|Any CPU
58 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Debug|x64.ActiveCfg = Debug|Any CPU
59 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Debug|x64.Build.0 = Debug|Any CPU
60 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Debug|x86.ActiveCfg = Debug|Any CPU
61 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Debug|x86.Build.0 = Debug|Any CPU
62 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
63 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Release|Any CPU.Build.0 = Release|Any CPU
64 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Release|ARM64.ActiveCfg = Release|Any CPU
65 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Release|ARM64.Build.0 = Release|Any CPU
66 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Release|x64.ActiveCfg = Release|Any CPU
67 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Release|x64.Build.0 = Release|Any CPU
68 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Release|x86.ActiveCfg = Release|Any CPU
69 {6B654490-AB0D-4F94-B564-DAA80044D5A3}.Release|x86.Build.0 = Release|Any CPU
70 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
71 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Debug|Any CPU.Build.0 = Debug|Any CPU
72 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Debug|ARM64.ActiveCfg = Debug|Any CPU
73 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Debug|ARM64.Build.0 = Debug|Any CPU
74 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Debug|x64.ActiveCfg = Debug|Any CPU
75 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Debug|x64.Build.0 = Debug|Any CPU
76 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Debug|x86.ActiveCfg = Debug|Any CPU
77 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Debug|x86.Build.0 = Debug|Any CPU
78 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Release|Any CPU.ActiveCfg = Release|Any CPU
79 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Release|Any CPU.Build.0 = Release|Any CPU
80 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Release|ARM64.ActiveCfg = Release|Any CPU
81 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Release|ARM64.Build.0 = Release|Any CPU
82 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Release|x64.ActiveCfg = Release|Any CPU
83 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Release|x64.Build.0 = Release|Any CPU
84 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Release|x86.ActiveCfg = Release|Any CPU
85 {AF7C4730-583B-46F8-9BB6-16D1F0330932}.Release|x86.Build.0 = Release|Any CPU
86 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
87 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
88 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Debug|ARM64.ActiveCfg = Debug|Any CPU
89 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Debug|ARM64.Build.0 = Debug|Any CPU
90 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Debug|x64.ActiveCfg = Debug|Any CPU
91 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Debug|x64.Build.0 = Debug|Any CPU
92 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Debug|x86.ActiveCfg = Debug|Any CPU
93 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Debug|x86.Build.0 = Debug|Any CPU
94 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
95 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Release|Any CPU.Build.0 = Release|Any CPU
96 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Release|ARM64.ActiveCfg = Release|Any CPU
97 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Release|ARM64.Build.0 = Release|Any CPU
98 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Release|x64.ActiveCfg = Release|Any CPU
99 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Release|x64.Build.0 = Release|Any CPU
100 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Release|x86.ActiveCfg = Release|Any CPU
101 {E70898F2-8D08-4FCE-9CFF-EF1792FCA2E2}.Release|x86.Build.0 = Release|Any CPU
102 EndGlobalSection
103 GlobalSection(SolutionProperties) = preSolution
104 HideSolutionNode = FALSE
105 EndGlobalSection
106 GlobalSection(ExtensibilityGlobals) = postSolution
107 SolutionGuid = {CCBE86BA-6E38-4A97-8AAD-AA2972350544}
108 EndGlobalSection
109EndGlobal
diff --git a/src/internal/internal.slnx b/src/internal/internal.slnx
new file mode 100644
index 00000000..6b48850b
--- /dev/null
+++ b/src/internal/internal.slnx
@@ -0,0 +1,16 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="ARM64" />
5 <Platform Name="x64" />
6 <Platform Name="x86" />
7 </Configurations>
8 <Project Path="WixInternal.BaseBuildTasks.Sources/WixInternal.BaseBuildTasks.Sources.csproj" />
9 <Project Path="WixInternal.MSTestSupport/WixInternal.MSTestSupport.csproj" />
10 <Project Path="WixInternal.TestSupport.Native/WixInternal.TestSupport.Native.vcxproj" Id="95babd97-fbdb-453a-af8a-fa031a07b599">
11 <Platform Project="Win32" />
12 <Build Solution="*|ARM64" Project="false" />
13 <Build Solution="*|x64" Project="false" />
14 </Project>
15 <Project Path="WixInternal.TestSupport/WixInternal.TestSupport.csproj" />
16</Solution>
diff --git a/src/libs/dutil/WixToolset.DUtil/build/WixToolset.DUtil.props b/src/libs/dutil/WixToolset.DUtil/build/WixToolset.DUtil.props
index 4e773137..66c19206 100644
--- a/src/libs/dutil/WixToolset.DUtil/build/WixToolset.DUtil.props
+++ b/src/libs/dutil/WixToolset.DUtil/build/WixToolset.DUtil.props
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemDefinitionGroup> 5 <ItemDefinitionGroup>
6 <ClCompile> 6 <ClCompile>
7 <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 7 <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/libs/dutil/WixToolset.DUtil/dutil.vcxproj b/src/libs/dutil/WixToolset.DUtil/dutil.vcxproj
index c973b141..f60ef19d 100644
--- a/src/libs/dutil/WixToolset.DUtil/dutil.vcxproj
+++ b/src/libs/dutil/WixToolset.DUtil/dutil.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/libs/dutil/WixToolset.DUtil/dutil.vcxproj.filters b/src/libs/dutil/WixToolset.DUtil/dutil.vcxproj.filters
index 470fd3d0..d8877f25 100644
--- a/src/libs/dutil/WixToolset.DUtil/dutil.vcxproj.filters
+++ b/src/libs/dutil/WixToolset.DUtil/dutil.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -410,4 +410,4 @@
410 <Filter>Header Files</Filter> 410 <Filter>Header Files</Filter>
411 </None> 411 </None>
412 </ItemGroup> 412 </ItemGroup>
413</Project> \ No newline at end of file 413</Project>
diff --git a/src/libs/dutil/dutil.sln b/src/libs/dutil/dutil.sln
deleted file mode 100644
index 9dd7d62b..00000000
--- a/src/libs/dutil/dutil.sln
+++ /dev/null
@@ -1,49 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.30711.63
5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dutil", "WixToolset.DUtil\dutil.vcxproj", "{1244E671-F108-4334-BA52-8A7517F26ECD}"
7EndProject
8Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DUtilUnitTest", "test\DUtilUnitTest\DUtilUnitTest.vcxproj", "{AB7EE608-E5FB-42A5-831F-0DEEEA141223}"
9EndProject
10Global
11 GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 Debug|ARM64 = Debug|ARM64
13 Debug|x64 = Debug|x64
14 Debug|x86 = Debug|x86
15 Release|ARM64 = Release|ARM64
16 Release|x64 = Release|x64
17 Release|x86 = Release|x86
18 EndGlobalSection
19 GlobalSection(ProjectConfigurationPlatforms) = postSolution
20 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|ARM64.ActiveCfg = Debug|ARM64
21 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|ARM64.Build.0 = Debug|ARM64
22 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x64.ActiveCfg = Debug|x64
23 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x64.Build.0 = Debug|x64
24 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x86.ActiveCfg = Debug|Win32
25 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x86.Build.0 = Debug|Win32
26 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|ARM64.ActiveCfg = Release|ARM64
27 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|ARM64.Build.0 = Release|ARM64
28 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x64.ActiveCfg = Release|x64
29 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x64.Build.0 = Release|x64
30 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x86.ActiveCfg = Release|Win32
31 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x86.Build.0 = Release|Win32
32 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|ARM64.ActiveCfg = Debug|x64
33 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x64.ActiveCfg = Debug|x64
34 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x64.Build.0 = Debug|x64
35 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x86.ActiveCfg = Debug|Win32
36 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x86.Build.0 = Debug|Win32
37 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|ARM64.ActiveCfg = Release|x64
38 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x64.ActiveCfg = Release|x64
39 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x64.Build.0 = Release|x64
40 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x86.ActiveCfg = Release|Win32
41 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x86.Build.0 = Release|Win32
42 EndGlobalSection
43 GlobalSection(SolutionProperties) = preSolution
44 HideSolutionNode = FALSE
45 EndGlobalSection
46 GlobalSection(ExtensibilityGlobals) = postSolution
47 SolutionGuid = {DD209744-C40E-4C34-8CB4-BC6B71F9A133}
48 EndGlobalSection
49EndGlobal
diff --git a/src/libs/dutil/dutil.slnx b/src/libs/dutil/dutil.slnx
new file mode 100644
index 00000000..e4a94156
--- /dev/null
+++ b/src/libs/dutil/dutil.slnx
@@ -0,0 +1,12 @@
1<Solution>
2 <Configurations>
3 <Platform Name="ARM64" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="test/DUtilUnitTest/DUtilUnitTest.vcxproj" Id="ab7ee608-e5fb-42a5-831f-0deeea141223">
8 <Platform Solution="*|ARM64" Project="x64" />
9 <Build Solution="*|ARM64" Project="false" />
10 </Project>
11 <Project Path="WixToolset.DUtil/dutil.vcxproj" Id="1244e671-f108-4334-ba52-8a7517f26ecd" />
12</Solution>
diff --git a/src/libs/dutil/test/DUtilUnitTest/DUtilUnitTest.vcxproj b/src/libs/dutil/test/DUtilUnitTest/DUtilUnitTest.vcxproj
index fccb73c4..e12eac00 100644
--- a/src/libs/dutil/test/DUtilUnitTest/DUtilUnitTest.vcxproj
+++ b/src/libs/dutil/test/DUtilUnitTest/DUtilUnitTest.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <Import Project="..\..\..\..\internal\WixInternal.TestSupport.Native\build\WixInternal.TestSupport.Native.props" /> 5 <Import Project="..\..\..\..\internal\WixInternal.TestSupport.Native\build\WixInternal.TestSupport.Native.props" />
6 6
7 <ItemGroup Label="ProjectConfigurations"> 7 <ItemGroup Label="ProjectConfigurations">
diff --git a/src/libs/dutil/test/DUtilUnitTest/DUtilUnitTest.vcxproj.filters b/src/libs/dutil/test/DUtilUnitTest/DUtilUnitTest.vcxproj.filters
index e4972c1a..b236ed80 100644
--- a/src/libs/dutil/test/DUtilUnitTest/DUtilUnitTest.vcxproj.filters
+++ b/src/libs/dutil/test/DUtilUnitTest/DUtilUnitTest.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -102,4 +102,4 @@
102 <None Include="TestData\LocUtilTests\strings.wxl" /> 102 <None Include="TestData\LocUtilTests\strings.wxl" />
103 <None Include="TestData\LocUtilTests\controls.wxl" /> 103 <None Include="TestData\LocUtilTests\controls.wxl" />
104 </ItemGroup> 104 </ItemGroup>
105</Project> \ No newline at end of file 105</Project>
diff --git a/src/libs/libs.sln b/src/libs/libs.sln
deleted file mode 100644
index 1c9c10d1..00000000
--- a/src/libs/libs.sln
+++ /dev/null
@@ -1,105 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.3.32922.545
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dutil", "dutil\WixToolset.DUtil\dutil.vcxproj", "{1244E671-F108-4334-BA52-8A7517F26ECD}"
7EndProject
8Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DUtilUnitTest", "dutil\test\DUtilUnitTest\DUtilUnitTest.vcxproj", "{AB7EE608-E5FB-42A5-831F-0DEEEA141223}"
9EndProject
10Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wcautil", "wcautil\WixToolset.WcaUtil\wcautil.vcxproj", "{5B3714B6-3A76-463E-8595-D48DA276C512}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Versioning", "WixToolset.Versioning\WixToolset.Versioning.csproj", "{7B14B536-4205-4186-B9FD-0765B84F2075}"
13EndProject
14Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Versioning", "test\WixToolsetTest.Versioning\WixToolsetTest.Versioning.csproj", "{3D510701-FF05-4E3B-BB99-BDB97963C3F8}"
15EndProject
16Global
17 GlobalSection(SolutionConfigurationPlatforms) = preSolution
18 Debug|Any CPU = Debug|Any CPU
19 Debug|ARM64 = Debug|ARM64
20 Debug|x64 = Debug|x64
21 Debug|x86 = Debug|x86
22 Release|Any CPU = Release|Any CPU
23 Release|ARM64 = Release|ARM64
24 Release|x64 = Release|x64
25 Release|x86 = Release|x86
26 EndGlobalSection
27 GlobalSection(ProjectConfigurationPlatforms) = postSolution
28 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|Any CPU.ActiveCfg = Debug|Win32
29 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|ARM64.ActiveCfg = Debug|ARM64
30 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|ARM64.Build.0 = Debug|ARM64
31 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x64.ActiveCfg = Debug|x64
32 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x64.Build.0 = Debug|x64
33 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x86.ActiveCfg = Debug|Win32
34 {1244E671-F108-4334-BA52-8A7517F26ECD}.Debug|x86.Build.0 = Debug|Win32
35 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|Any CPU.ActiveCfg = Release|Win32
36 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|ARM64.ActiveCfg = Release|ARM64
37 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|ARM64.Build.0 = Release|ARM64
38 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x64.ActiveCfg = Release|x64
39 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x64.Build.0 = Release|x64
40 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x86.ActiveCfg = Release|Win32
41 {1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x86.Build.0 = Release|Win32
42 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|Any CPU.ActiveCfg = Debug|Win32
43 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|ARM64.ActiveCfg = Debug|Win32
44 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x64.ActiveCfg = Debug|Win32
45 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x86.ActiveCfg = Debug|Win32
46 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x86.Build.0 = Debug|Win32
47 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|Any CPU.ActiveCfg = Release|Win32
48 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|ARM64.ActiveCfg = Release|Win32
49 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x64.ActiveCfg = Release|Win32
50 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x86.ActiveCfg = Release|Win32
51 {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x86.Build.0 = Release|Win32
52 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|Any CPU.ActiveCfg = Debug|Win32
53 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|ARM64.ActiveCfg = Debug|ARM64
54 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|ARM64.Build.0 = Debug|ARM64
55 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|x64.ActiveCfg = Debug|x64
56 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|x64.Build.0 = Debug|x64
57 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|x86.ActiveCfg = Debug|Win32
58 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|x86.Build.0 = Debug|Win32
59 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|Any CPU.ActiveCfg = Release|Win32
60 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|ARM64.ActiveCfg = Release|ARM64
61 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|ARM64.Build.0 = Release|ARM64
62 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|x64.ActiveCfg = Release|x64
63 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|x64.Build.0 = Release|x64
64 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|x86.ActiveCfg = Release|Win32
65 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|x86.Build.0 = Release|Win32
66 {7B14B536-4205-4186-B9FD-0765B84F2075}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
67 {7B14B536-4205-4186-B9FD-0765B84F2075}.Debug|Any CPU.Build.0 = Debug|Any CPU
68 {7B14B536-4205-4186-B9FD-0765B84F2075}.Debug|ARM64.ActiveCfg = Debug|Any CPU
69 {7B14B536-4205-4186-B9FD-0765B84F2075}.Debug|ARM64.Build.0 = Debug|Any CPU
70 {7B14B536-4205-4186-B9FD-0765B84F2075}.Debug|x64.ActiveCfg = Debug|Any CPU
71 {7B14B536-4205-4186-B9FD-0765B84F2075}.Debug|x64.Build.0 = Debug|Any CPU
72 {7B14B536-4205-4186-B9FD-0765B84F2075}.Debug|x86.ActiveCfg = Debug|Any CPU
73 {7B14B536-4205-4186-B9FD-0765B84F2075}.Debug|x86.Build.0 = Debug|Any CPU
74 {7B14B536-4205-4186-B9FD-0765B84F2075}.Release|Any CPU.ActiveCfg = Release|Any CPU
75 {7B14B536-4205-4186-B9FD-0765B84F2075}.Release|Any CPU.Build.0 = Release|Any CPU
76 {7B14B536-4205-4186-B9FD-0765B84F2075}.Release|ARM64.ActiveCfg = Release|Any CPU
77 {7B14B536-4205-4186-B9FD-0765B84F2075}.Release|ARM64.Build.0 = Release|Any CPU
78 {7B14B536-4205-4186-B9FD-0765B84F2075}.Release|x64.ActiveCfg = Release|Any CPU
79 {7B14B536-4205-4186-B9FD-0765B84F2075}.Release|x64.Build.0 = Release|Any CPU
80 {7B14B536-4205-4186-B9FD-0765B84F2075}.Release|x86.ActiveCfg = Release|Any CPU
81 {7B14B536-4205-4186-B9FD-0765B84F2075}.Release|x86.Build.0 = Release|Any CPU
82 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
83 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
84 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Debug|ARM64.ActiveCfg = Debug|Any CPU
85 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Debug|ARM64.Build.0 = Debug|Any CPU
86 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Debug|x64.ActiveCfg = Debug|Any CPU
87 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Debug|x64.Build.0 = Debug|Any CPU
88 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Debug|x86.ActiveCfg = Debug|Any CPU
89 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Debug|x86.Build.0 = Debug|Any CPU
90 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
91 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Release|Any CPU.Build.0 = Release|Any CPU
92 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Release|ARM64.ActiveCfg = Release|Any CPU
93 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Release|ARM64.Build.0 = Release|Any CPU
94 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Release|x64.ActiveCfg = Release|Any CPU
95 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Release|x64.Build.0 = Release|Any CPU
96 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Release|x86.ActiveCfg = Release|Any CPU
97 {3D510701-FF05-4E3B-BB99-BDB97963C3F8}.Release|x86.Build.0 = Release|Any CPU
98 EndGlobalSection
99 GlobalSection(SolutionProperties) = preSolution
100 HideSolutionNode = FALSE
101 EndGlobalSection
102 GlobalSection(ExtensibilityGlobals) = postSolution
103 SolutionGuid = {5A365A50-2958-4E1C-AD69-7B90F09598BC}
104 EndGlobalSection
105EndGlobal
diff --git a/src/libs/libs.slnx b/src/libs/libs.slnx
new file mode 100644
index 00000000..e0a1e0be
--- /dev/null
+++ b/src/libs/libs.slnx
@@ -0,0 +1,24 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="ARM64" />
5 <Platform Name="x64" />
6 <Platform Name="x86" />
7 </Configurations>
8 <Project Path="dutil/test/DUtilUnitTest/DUtilUnitTest.vcxproj" Id="ab7ee608-e5fb-42a5-831f-0deeea141223">
9 <Platform Project="Win32" />
10 <Build Solution="*|Any CPU" Project="false" />
11 <Build Solution="*|ARM64" Project="false" />
12 <Build Solution="*|x64" Project="false" />
13 </Project>
14 <Project Path="dutil/WixToolset.DUtil/dutil.vcxproj" Id="1244e671-f108-4334-ba52-8a7517f26ecd">
15 <Platform Solution="*|Any CPU" Project="Win32" />
16 <Build Solution="*|Any CPU" Project="false" />
17 </Project>
18 <Project Path="test/WixToolsetTest.Versioning/WixToolsetTest.Versioning.csproj" />
19 <Project Path="wcautil/WixToolset.WcaUtil/wcautil.vcxproj" Id="5b3714b6-3a76-463e-8595-d48da276c512">
20 <Platform Solution="*|Any CPU" Project="Win32" />
21 <Build Solution="*|Any CPU" Project="false" />
22 </Project>
23 <Project Path="WixToolset.Versioning/WixToolset.Versioning.csproj" />
24</Solution>
diff --git a/src/libs/out.xml b/src/libs/out.xml
new file mode 100644
index 00000000..03c17142
--- /dev/null
+++ b/src/libs/out.xml
@@ -0,0 +1,19634 @@
1<!--
2============================================================================================================================================
3D:\src\wix\src\libs\libs_t.proj
4============================================================================================================================================
5-->
6<Project InitialTargets="SkipProjects" DefaultTargets="Build">
7 <!--
8============================================================================================================================================
9 <Import Project="Sdk.props" Sdk="Microsoft.Build.Traversal">
10 This import was added implicitly because the Project element's Sdk attribute specified "Microsoft.Build.Traversal".
11
12C:\Users\Rob\.nuget\packages\microsoft.build.traversal\4.1.82\Sdk\Sdk.props
13============================================================================================================================================
14-->
15 <!--
16 Copyright (c) Microsoft Corporation. All rights reserved.
17
18 Licensed under the MIT license.
19-->
20 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
21 <UsingMicrosoftTraversalSdk>true</UsingMicrosoftTraversalSdk>
22 <!-- Don't automatically reference assembly packages since NoTargets don't need reference assemblies -->
23 <AutomaticallyUseReferenceAssemblyPackages Condition="'$(AutomaticallyUseReferenceAssemblyPackages)' == ''">false</AutomaticallyUseReferenceAssemblyPackages>
24 <MSBuildAllProjects Condition="'$(MSBuildToolsVersion)' != 'Current'">$(MSBuildAllProjects);$(MsBuildThisFileFullPath)</MSBuildAllProjects>
25 </PropertyGroup>
26 <!--<Import Project="$(CustomBeforeTraversalProps)" Condition=" '$(CustomBeforeTraversalProps)' != '' And Exists('$(CustomBeforeTraversalProps)') " />-->
27 <Target Name="ShouldSkipProject" Returns="@(ProjectToSkip)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
28 <!-- When building a solution file, import Solution.props, otherwise Traversal.props -->
29 <!--<Import Project="Solution.props" Condition="'$(DirectorySolutionPropsPath)' != ''" />-->
30 <!--
31============================================================================================================================================
32 <Import Project="Traversal.props" Condition="'$(DirectorySolutionPropsPath)' == ''">
33
34C:\Users\Rob\.nuget\packages\microsoft.build.traversal\4.1.82\Sdk\Traversal.props
35============================================================================================================================================
36-->
37 <!--
38 Copyright (c) Microsoft Corporation. All rights reserved.
39
40 Licensed under the MIT license.
41-->
42 <!--
43============================================================================================================================================
44 <Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk">
45
46C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props
47============================================================================================================================================
48-->
49 <!--
50***********************************************************************************************
51Sdk.props
52
53WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
54 created a backup copy. Incorrect changes to this file will make it
55 impossible to load or build your projects from the command-line or the IDE.
56
57Copyright (c) .NET Foundation. All rights reserved.
58***********************************************************************************************
59-->
60 <PropertyGroup Condition="'$(_AfterSdkPublishDependsOn)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
61 <_AfterSdkPublishDependsOn Condition="'$(UsingMicrosoftNETSdkWeb)' == 'true'">AfterPublish</_AfterSdkPublishDependsOn>
62 <_AfterSdkPublishDependsOn Condition="'$(UsingMicrosoftNETSdkWeb)' != 'true'">Publish</_AfterSdkPublishDependsOn>
63 </PropertyGroup>
64 <Target Name="AfterSdkPublish" AfterTargets="$(_AfterSdkPublishDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
65 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
66 <!--
67 Indicate to other targets that Microsoft.NET.Sdk is being used.
68
69 This must be set here (as early as possible, before Microsoft.Common.props)
70 so that everything that follows can depend on it.
71
72 In particular, Directory.Build.props and nuget package props need to be able
73 to use this flag and they are imported by Microsoft.Common.props.
74 -->
75 <UsingMicrosoftNETSdk>true</UsingMicrosoftNETSdk>
76 <!--
77 Indicate whether the set of SDK defaults that makes SDK style project concise are being used.
78 For example: globbing, importing msbuild common targets.
79
80 Similar to the property above, it must be set here.
81 -->
82 <UsingNETSdkDefaults>true</UsingNETSdkDefaults>
83 <CustomAfterDirectoryBuildProps>$(CustomAfterDirectoryBuildProps);$(MSBuildThisFileDirectory)UseArtifactsOutputPath.props</CustomAfterDirectoryBuildProps>
84 </PropertyGroup>
85 <PropertyGroup Condition="'$(MSBuildProjectFullPath)' == '$(ProjectToOverrideProjectExtensionsPath)'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
86 <MSBuildProjectExtensionsPath>$(ProjectExtensionsPathForSpecifiedProject)</MSBuildProjectExtensionsPath>
87 </PropertyGroup>
88 <!--<Import Project="$(AlternateCommonProps)" Condition="'$(AlternateCommonProps)' != ''" />-->
89 <!--
90============================================================================================================================================
91 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="'$(AlternateCommonProps)' == ''">
92
93C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.props
94============================================================================================================================================
95-->
96 <!--
97***********************************************************************************************
98Microsoft.Common.props
99
100WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
101 created a backup copy. Incorrect changes to this file will make it
102 impossible to load or build your projects from the command-line or the IDE.
103
104Copyright (C) Microsoft Corporation. All rights reserved.
105***********************************************************************************************
106-->
107 <PropertyGroup>
108 <ImportByWildcardBeforeMicrosoftCommonProps Condition="'$(ImportByWildcardBeforeMicrosoftCommonProps)' == ''">true</ImportByWildcardBeforeMicrosoftCommonProps>
109 <ImportByWildcardAfterMicrosoftCommonProps Condition="'$(ImportByWildcardAfterMicrosoftCommonProps)' == ''">true</ImportByWildcardAfterMicrosoftCommonProps>
110 <ImportUserLocationsByWildcardBeforeMicrosoftCommonProps Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCommonProps)' == ''">true</ImportUserLocationsByWildcardBeforeMicrosoftCommonProps>
111 <ImportUserLocationsByWildcardAfterMicrosoftCommonProps Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCommonProps)' == ''">true</ImportUserLocationsByWildcardAfterMicrosoftCommonProps>
112 <ImportDirectoryBuildProps Condition="'$(ImportDirectoryBuildProps)' == ''">true</ImportDirectoryBuildProps>
113 </PropertyGroup>
114 <!--
115 Determine the path to the directory build props file if the user did not disable $(ImportDirectoryBuildProps) and
116 they did not already specify an absolute path to use via $(DirectoryBuildPropsPath)
117 -->
118 <PropertyGroup Condition="'$(ImportDirectoryBuildProps)' == 'true' and '$(DirectoryBuildPropsPath)' == ''">
119 <_DirectoryBuildPropsFile Condition="'$(_DirectoryBuildPropsFile)' == ''">Directory.Build.props</_DirectoryBuildPropsFile>
120 <_DirectoryBuildPropsBasePath Condition="'$(_DirectoryBuildPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), '$(_DirectoryBuildPropsFile)'))</_DirectoryBuildPropsBasePath>
121 <DirectoryBuildPropsPath Condition="'$(_DirectoryBuildPropsBasePath)' != '' and '$(_DirectoryBuildPropsFile)' != ''">$([System.IO.Path]::Combine('$(_DirectoryBuildPropsBasePath)', '$(_DirectoryBuildPropsFile)'))</DirectoryBuildPropsPath>
122 </PropertyGroup>
123 <!--<Import Project="$(CustomBeforeDirectoryBuildProps)" Condition="'$(CustomBeforeDirectoryBuildProps)' != ''" />-->
124 <!--
125============================================================================================================================================
126 <Import Project="$(DirectoryBuildPropsPath)" Condition="'$(ImportDirectoryBuildProps)' == 'true' and exists('$(DirectoryBuildPropsPath)')">
127
128D:\src\wix\src\libs\Directory.Build.props
129============================================================================================================================================
130-->
131 <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
132 <PropertyGroup>
133 <SegmentName>libs</SegmentName>
134 </PropertyGroup>
135 <!--
136============================================================================================================================================
137 <Import Project="..\Directory.Build.props">
138
139D:\src\wix\src\Directory.Build.props
140============================================================================================================================================
141-->
142 <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
143 <PropertyGroup>
144 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
145 <EnableSourceLink Condition=" '$(NCrunch)' == '1' ">false</EnableSourceLink>
146 <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
147 <NoWarn>$(NoWarn);MSB3026</NoWarn>
148 <ProjectName Condition=" '$(ProjectName)' == '' ">$(MSBuildProjectName)</ProjectName>
149 <RootFolder>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\))</RootFolder>
150 <RootBuildFolder>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\build\))</RootBuildFolder>
151 <RootPackagesFolder>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\packages\))</RootPackagesFolder>
152 <LogsFolder>$(RootBuildFolder)logs\</LogsFolder>
153 <TestResultsFolder>$(LogsFolder)TestResults\</TestResultsFolder>
154 <PdbsFolder>$(LogsFolder)pdbs\$(Configuration)\</PdbsFolder>
155 <ArtifactsFolder>$(RootBuildFolder)artifacts\</ArtifactsFolder>
156 <ToolsFolder>$(RootBuildFolder).tools</ToolsFolder>
157 <PackageOutputPath>$(ArtifactsFolder)</PackageOutputPath>
158 <BaseOutputPath>$(RootBuildFolder)$(SegmentName)\</BaseOutputPath>
159 <BaseIntermediateOutputPath>$(BaseOutputPath)obj\$(ProjectName)\</BaseIntermediateOutputPath>
160 <OutputPath>$(BaseOutputPath)$(Configuration)\</OutputPath>
161 <!-- This is C++-specific but used from managed projects to pick up native build artifacts. -->
162 <WixNativeSdkLibraryToolset>v143</WixNativeSdkLibraryToolset>
163 <PlatformToolset Condition=" '$(ConfigurationType)' == 'StaticLibrary' ">$(WixNativeSdkLibraryToolset)</PlatformToolset>
164 <PlatformToolset Condition=" '$(PlatformToolset)' == '' ">v143</PlatformToolset>
165 <NuGetAudit>true</NuGetAudit>
166 <NuGetAuditMode>all</NuGetAuditMode>
167 <NuGetAuditLevel>low</NuGetAuditLevel>
168 </PropertyGroup>
169 <PropertyGroup>
170 <Authors Condition=" '$(WixOfficialBuild)'!='true' ">WiX Dev Build</Authors>
171 <Authors Condition=" '$(WixOfficialBuild)'=='true' ">WiX Toolset Team</Authors>
172 <Company Condition=" '$(WixOfficialBuild)'!='true' ">WiX Dev Build</Company>
173 <Company Condition=" '$(WixOfficialBuild)'=='true' ">WiX Toolset</Company>
174 <Copyright>Copyright (c) .NET Foundation and contributors. All rights reserved.</Copyright>
175 <PackageEulaSource>$(RootFolder)OSMFEULA.txt</PackageEulaSource>
176 <PackageLicenseFile>OSMFEULA.txt</PackageLicenseFile>
177 <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
178 <Product Condition=" '$(WixOfficialBuild)'!='true' ">WiX Dev Build</Product>
179 <Product Condition=" '$(WixOfficialBuild)'=='true' ">WiX Toolset</Product>
180 <ProjectUrl>https://wixtoolset.org/</ProjectUrl>
181 <PackageIcon>icon.png</PackageIcon>
182 <PackageIconSource Condition=" '$(WixOfficialBuild)'!='true' ">$(MSBuildThisFileDirectory)internal\images\icon.png</PackageIconSource>
183 <PackageIconSource Condition=" '$(WixOfficialBuild)'=='true' ">$(MSBuildThisFileDirectory)internal\images\official\icon.png</PackageIconSource>
184 <PackageTags>WiX MSI install setup</PackageTags>
185 </PropertyGroup>
186 <!--<Import Project="Directory$(MSBuildProjectExtension).props" Condition=" Exists('Directory$(MSBuildProjectExtension).props') " />-->
187 <!--
188============================================================================================================================================
189 </Import>
190
191D:\src\wix\src\libs\Directory.Build.props
192============================================================================================================================================
193-->
194 <!--
195============================================================================================================================================
196 </Import>
197
198C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.props
199============================================================================================================================================
200-->
201 <!--
202============================================================================================================================================
203 <Import Project="$(CustomAfterDirectoryBuildProps)" Condition="'$(CustomAfterDirectoryBuildProps)' != ''">
204
205C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\Sdk\UseArtifactsOutputPath.props
206============================================================================================================================================
207-->
208 <!--
209***********************************************************************************************
210UseArtifactsOutputPath.props
211
212WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
213 created a backup copy. Incorrect changes to this file will make it
214 impossible to load or build your projects from the command-line or the IDE.
215
216Copyright (c) .NET Foundation. All rights reserved.
217***********************************************************************************************
218-->
219 <!-- If ArtifactsPath or UseArtifactsOutput are set, then import .props to set ArtifactsPath here, so that BaseIntermediateOutputPath can be
220 set in the ArtifactsPath.
221 If the .props file is not imported here, it will be imported from Microsoft.NET.DefaultOutputPaths.targets, so that artifacts output
222 properties can be set directly in the project file too (only in that case they won't affect the intermediate output). -->
223 <!--<Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.DefaultArtifactsPath.props" Condition="'$(UseArtifactsOutput)' == 'true' Or '$(ArtifactsPath)' != ''" />-->
224 <PropertyGroup Condition="'$(UseArtifactsOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
225 <UseArtifactsIntermediateOutput Condition="'$(UseArtifactsIntermediateOutput)' == ''">true</UseArtifactsIntermediateOutput>
226 <ArtifactsProjectName Condition="'$(ArtifactsProjectName)' == ''">$(MSBuildProjectName)</ArtifactsProjectName>
227 </PropertyGroup>
228 <PropertyGroup Condition="'$(UseArtifactsOutput)' == 'true' And '$(BaseIntermediateOutputPath)' == '' And '$(UseArtifactsIntermediateOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
229 <BaseIntermediateOutputPath Condition="'$(IncludeProjectNameInArtifactsPaths)' == 'true'">$(ArtifactsPath)\obj\$(ArtifactsProjectName)\</BaseIntermediateOutputPath>
230 <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">$(ArtifactsPath)\obj\</BaseIntermediateOutputPath>
231 </PropertyGroup>
232 <!-- Record whether ArtifactsPath / UseArtifactsOutput was set at this point in evaluation. We will generate an error if these properties are set
233 after this point (ie in the project file). -->
234 <PropertyGroup Condition="'$(UseArtifactsOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
235 <_ArtifactsPathSetEarly>true</_ArtifactsPathSetEarly>
236 </PropertyGroup>
237 <!--
238============================================================================================================================================
239 </Import>
240
241C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.props
242============================================================================================================================================
243-->
244 <!--
245 Prepare to import project extensions which usually come from packages. Package management systems will create a file at:
246 $(MSBuildProjectExtensionsPath)\$(MSBuildProjectFile).<SomethingUnique>.props
247
248 Each package management system should use a unique moniker to avoid collisions. It is a wild-card import so the package
249 management system can write out multiple files but the order of the import is alphabetic because MSBuild sorts the list.
250 -->
251 <PropertyGroup>
252 <!--
253 The declaration of $(BaseIntermediateOutputPath) had to be moved up from Microsoft.Common.CurrentVersion.targets
254 in order for the $(MSBuildProjectExtensionsPath) to use it as a default.
255 -->
256 <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">obj\</BaseIntermediateOutputPath>
257 <BaseIntermediateOutputPath Condition="!HasTrailingSlash('$(BaseIntermediateOutputPath)')">$(BaseIntermediateOutputPath)\</BaseIntermediateOutputPath>
258 <_InitialBaseIntermediateOutputPath>$(BaseIntermediateOutputPath)</_InitialBaseIntermediateOutputPath>
259 <MSBuildProjectExtensionsPath Condition="'$(MSBuildProjectExtensionsPath)' == '' ">$(BaseIntermediateOutputPath)</MSBuildProjectExtensionsPath>
260 <!--
261 Import paths that are relative default to be relative to the importing file. However, since MSBuildExtensionsPath
262 defaults to BaseIntermediateOutputPath we expect it to be relative to the project directory. So if the path is relative
263 it needs to be made absolute based on the project directory.
264 -->
265 <MSBuildProjectExtensionsPath Condition="'$([System.IO.Path]::IsPathRooted($(MSBuildProjectExtensionsPath)))' == 'false'">$([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', '$(MSBuildProjectExtensionsPath)'))</MSBuildProjectExtensionsPath>
266 <MSBuildProjectExtensionsPath Condition="!HasTrailingSlash('$(MSBuildProjectExtensionsPath)')">$(MSBuildProjectExtensionsPath)\</MSBuildProjectExtensionsPath>
267 <!--
268 Don't import project extensions during restore because NuGet restore generates them. Importing them during restore will embed
269 the pre-restore files in the binary log and then NuGet won't be able to embed the generated one after restore. If some other
270 project extension mechanism wants to import project extensions during restore, they need to explicitly set ImportProjectExtensionProps
271 -->
272 <ImportProjectExtensionProps Condition="$([MSBuild]::AreFeaturesEnabled('17.10')) And '$(ImportProjectExtensionProps)' == '' And '$(MSBuildIsRestoring)' == 'true'">false</ImportProjectExtensionProps>
273 <ImportProjectExtensionProps Condition="'$(ImportProjectExtensionProps)' == ''">true</ImportProjectExtensionProps>
274 <_InitialMSBuildProjectExtensionsPath Condition=" '$(ImportProjectExtensionProps)' == 'true' ">$(MSBuildProjectExtensionsPath)</_InitialMSBuildProjectExtensionsPath>
275 </PropertyGroup>
276 <!--
277============================================================================================================================================
278 <Import Project="$(MSBuildProjectExtensionsPath)$(MSBuildProjectFile).*.props" Condition="'$(ImportProjectExtensionProps)' == 'true' and exists('$(MSBuildProjectExtensionsPath)')">
279
280D:\src\wix\build\libs\obj\libs_t\libs_t.proj.nuget.g.props
281============================================================================================================================================
282-->
283 <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
284 <RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
285 <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
286 <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
287 <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
288 <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Rob\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
289 <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
290 <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
291 </PropertyGroup>
292 <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
293 <SourceRoot Include="C:\Users\Rob\.nuget\packages\" />
294 <SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
295 </ItemGroup>
296 <!--
297============================================================================================================================================
298 </Import>
299
300C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.props
301============================================================================================================================================
302-->
303 <!--
304 Wildcard imports come from $(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ directory.
305 This is very similar to the same extension point used in Microsoft.Common.targets, which is located in
306 the $(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ directory.
307
308 Unfortunately, there is already a file named "Microsoft.Common.props" in this directory,
309 so we have to have a slightly different directory name to hold extensions.
310 -->
311 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCommonProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore')" />-->
312 <!--
313============================================================================================================================================
314 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftCommonProps)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore')">
315
316C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Imports\Microsoft.Common.props\ImportBefore\Microsoft.NuGet.ImportBefore.props
317============================================================================================================================================
318-->
319 <!--
320***********************************************************************************************
321Microsoft.NuGet.ImportBefore.props
322
323WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
324 created a backup copy. Incorrect changes to this file will make it
325 impossible to load or build your projects from the command-line or the IDE.
326
327Copyright (c) .NET Foundation. All rights reserved.
328***********************************************************************************************
329-->
330 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
331 <NuGetProps Condition="'$(NuGetProps)'==''">$(MSBuildExtensionsPath)\Microsoft\NuGet\$(VisualStudioVersion)\Microsoft.NuGet.props</NuGetProps>
332 </PropertyGroup>
333 <!--
334============================================================================================================================================
335 <Import Project="$(NuGetProps)" Condition="Exists('$(NuGetProps)') and '$(SkipImportNuGetProps)' != 'true'">
336
337C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Microsoft\NuGet\18.0\Microsoft.NuGet.props
338============================================================================================================================================
339-->
340 <!--
341***********************************************************************************************
342Microsoft.NuGet.props
343
344WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
345 created a backup copy. Incorrect changes to this file will make it
346 impossible to load or build your projects from the command-line or the IDE.
347
348Copyright (c) .NET Foundation. All rights reserved.
349***********************************************************************************************
350-->
351 <!--<Import Project="$(MSBuildProjectDirectory)\$(MSBuildProjectName).nuget.props" Condition="Exists('$(MSBuildProjectDirectory)\$(MSBuildProjectName).nuget.props') AND '$(IncludeNuGetImports)' != 'false'" />-->
352 <!--
353============================================================================================================================================
354 </Import>
355
356C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Imports\Microsoft.Common.props\ImportBefore\Microsoft.NuGet.ImportBefore.props
357============================================================================================================================================
358-->
359 <!--
360============================================================================================================================================
361 </Import>
362============================================================================================================================================
363-->
364 <!--
365============================================================================================================================================
366 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftCommonProps)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore')">
367
368C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Imports\Microsoft.Common.props\ImportBefore\Microsoft.Windows.UI.Xaml.CSharp.ModernNET.ImportBefore.props
369============================================================================================================================================
370-->
371 <!--
372***********************************************************************************************
373Microsoft.Windows.UI.Xaml.CSharp.ModernNET.ImportBefore.props
374
375WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
376 created a backup copy. Incorrect changes to this file will make it
377 impossible to load or build your projects from the command-line or the IDE.
378
379Copyright (C) Microsoft Corporation. All rights reserved.
380***********************************************************************************************
381-->
382 <!--
383 This .props file conditionally includes a dedicated .props file with common item groups for UWP projects on .NET 9 and above,
384 that should be imported before the .csproj file (such as globs for XAML items). These are in a separate file entirely so that
385 the conditional import can bypass the "ignore conditions" feature of design-time builds in Visual Studio. Without that, those
386 items would also be evaluated for legacy-style projects and non-UWP projects, which would cause issues and perf regressions.
387
388 Note: because imports are evaluated in the same order they're found, we cannot actually check 'UseUwpTools' here, because that
389 property is set either in the .csproj file, or in 'Microsoft.Windows.UI.Xaml.CSharp.ModernNET.ImportBefore.targets'. Because of that,
390 we can simply filter this on when the modern SDK-style format is used for .csproj files (which we check with 'UsingMicrosoftNETSdk').
391 This lets us skip importing this file entirely on all legacy-style .csproj projects (such as legacy UWP), to avoid regressions.
392 On SDK-style projects, it's fine if design-time builds evaluate the item groups anyway, because that matches what the .NET SDK is
393 already doing anyway for all C# files, all .resx files, etc.
394
395 To further reduce design-time evaluation performance regressions as much as possible, we also include conditions for all well-known
396 .NET SDKs, which we know for sure will not apply to UWP scenarios. In all of those cases, we also skip importing the .props file.
397 This ensures that for projects using any of those SDKs, there will be no design-time evaluation impact at all.
398 -->
399 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
400 <UwpToolsMicrosoftWindowsUIXamlCSharpProps Condition="'$(UwpToolsMicrosoftWindowsUIXamlCSharpProps)' == ''">$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\8.21\Microsoft.Windows.UI.Xaml.CSharp.ModernNET.props</UwpToolsMicrosoftWindowsUIXamlCSharpProps>
401 </PropertyGroup>
402 <!--
403============================================================================================================================================
404 <Import Project="$(UwpToolsMicrosoftWindowsUIXamlCSharpProps)" Condition="'$(UsingMicrosoftNETSdk)' == 'true' AND
405 '$(UsingMicrosoftNETSdkBlazorWebAssembly)' != 'true' AND
406 '$(UsingMicrosoftNETSdkPublish)' != 'true' AND
407 '$(UsingMicrosoftNETSdkRazor)' != 'true' AND
408 '$(UsingMicrosoftNETSdkStaticWebAssets)' != 'true' AND
409 '$(UsingMicrosoftNETSdkWeb)' != 'true' AND
410 '$(UsingMicrosoftNETSdkWebProjectSystem)' != 'true' AND
411 '$(UsingMicrosoftNETSdkWebAssembly)' != 'true' AND
412 '$(UsingMicrosoftNETSdkWorker)' != 'true' AND
413 Exists('$(UwpToolsMicrosoftWindowsUIXamlCSharpProps)') AND '$(SkipImportUwpToolsMicrosoftWindowsUIXamlCSharpProps)' != 'true'">
414
415C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Microsoft\WindowsXaml\v18.0\8.21\Microsoft.Windows.UI.Xaml.CSharp.ModernNET.props
416============================================================================================================================================
417-->
418 <!--
419***********************************************************************************************
420Microsoft.Windows.UI.Xaml.CSharp.ModernNET.props
421
422WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
423 created a backup copy. Incorrect changes to this file will make it
424 impossible to load or build your projects from the command-line or the IDE.
425
426Copyright (C) Microsoft Corporation. All rights reserved.
427***********************************************************************************************
428-->
429 <!--
430 This file is imported from 'Microsoft.Windows.UI.Xaml.CSharp.ModernNET.ImportBefore.props' for SDK-style
431 projects that might be using UWP. Any additional items can be added this if needed. Properties
432 should not be defined in this file, as it is imported before the .csproj file is evaluated.
433 As such, it is not possible to conditionally define properties, due to MSBuild passes ordering.
434 -->
435 <!-- Prepare the path to the 'DefaultItems.props' file, which can also be overridden if needed (like all other .props/.targets files) -->
436 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
437 <UwpToolsMicrosoftWindowsUIXamlCSharpDefaultItemsProps Condition="'$(UwpToolsMicrosoftWindowsUIXamlCSharpDefaultItemsProps)' == ''">$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\8.21\Microsoft.Windows.UI.Xaml.CSharp.ModernNET.DefaultItems.props</UwpToolsMicrosoftWindowsUIXamlCSharpDefaultItemsProps>
438 </PropertyGroup>
439 <!-- Wire up the .targets file for all default items (this has to be imported after the .NET SDK .props) -->
440 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
441 <AfterMicrosoftNetSdkProps>$(AfterMicrosoftNetSdkProps);$(UwpToolsMicrosoftWindowsUIXamlCSharpDefaultItemsProps)</AfterMicrosoftNetSdkProps>
442 </PropertyGroup>
443 <!--
444============================================================================================================================================
445 </Import>
446
447C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Imports\Microsoft.Common.props\ImportBefore\Microsoft.Windows.UI.Xaml.CSharp.ModernNET.ImportBefore.props
448============================================================================================================================================
449-->
450 <!--
451============================================================================================================================================
452 </Import>
453
454C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.props
455============================================================================================================================================
456-->
457 <PropertyGroup>
458 <CustomBeforeMicrosoftCommonProps Condition="'$(CustomBeforeMicrosoftCommonProps)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.Before.$(MSBuildThisFile)</CustomBeforeMicrosoftCommonProps>
459 <CustomAfterMicrosoftCommonProps Condition="'$(CustomAfterMicrosoftCommonProps)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.After.$(MSBuildThisFile)</CustomAfterMicrosoftCommonProps>
460 </PropertyGroup>
461 <!--<Import Project="$(CustomBeforeMicrosoftCommonProps)" Condition="'$(CustomBeforeMicrosoftCommonProps)' != '' and Exists('$(CustomBeforeMicrosoftCommonProps)')" />-->
462 <!-- This is used to determine whether Microsoft.Common.targets needs to import
463 Microsoft.Common.props itself, or whether it has been imported previously,
464 e.g. by the project itself. -->
465 <PropertyGroup>
466 <MicrosoftCommonPropsHasBeenImported>true</MicrosoftCommonPropsHasBeenImported>
467 </PropertyGroup>
468 <PropertyGroup>
469 <Configuration Condition=" '$(Configuration)' == '' and '$(DefaultProjectConfiguration)' != '' ">$(DefaultProjectConfiguration)</Configuration>
470 <Platform Condition=" '$(Platform)' == '' and '$(DefaultProjectPlatform)' != '' ">$(DefaultProjectPlatform)</Platform>
471 </PropertyGroup>
472 <PropertyGroup>
473 <WMSJSProject Condition="'$(WMSJSProject)' == ''">WJProject</WMSJSProject>
474 <WMSJSProjectDirectory Condition="'$(WMSJSProjectDirectory)' == ''">JavaScript</WMSJSProjectDirectory>
475 </PropertyGroup>
476 <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualStudioVersion.v*.Common.props" />-->
477 <!--<Import Project="$(CustomAfterMicrosoftCommonProps)" Condition="'$(CustomAfterMicrosoftCommonProps)' != '' and Exists('$(CustomAfterMicrosoftCommonProps)')" />-->
478 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCommonProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportAfter')" />-->
479 <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonProps)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportAfter')" />-->
480 <!--
481 Import NuGet.props file.
482 -->
483 <PropertyGroup>
484 <MSBuildUseVisualStudioDirectoryLayout Condition="'$(MSBuildUseVisualStudioDirectoryLayout)'==''">$([MSBuild]::IsRunningFromVisualStudio())</MSBuildUseVisualStudioDirectoryLayout>
485 <NuGetPropsFile Condition="'$(NuGetPropsFile)'=='' and '$(MSBuildUseVisualStudioDirectoryLayout)'=='true'">$([MSBuild]::GetToolsDirectory32())\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.props</NuGetPropsFile>
486 <NuGetPropsFile Condition="'$(NuGetPropsFile)'==''">$(MSBuildToolsPath)\NuGet.props</NuGetPropsFile>
487 </PropertyGroup>
488 <!--
489============================================================================================================================================
490 <Import Project="$(NuGetPropsFile)" Condition="Exists('$(NuGetPropsFile)')">
491
492C:\Program Files\Microsoft Visual Studio\18\Professional\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.props
493============================================================================================================================================
494-->
495 <!--
496***********************************************************************************************
497NuGet.props
498
499WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
500 created a backup copy. Incorrect changes to this file will make it
501 impossible to load or build your projects from the command-line or the IDE.
502
503Copyright (c) .NET Foundation. All rights reserved.
504***********************************************************************************************
505-->
506 <!--
507 Import 'Directory.Packages.props' which will contain centralized packages for all the projects and solutions under
508 the directory in which the file is present. This is similar to 'Directory.Build.props/targets' logic which is present
509 in the common props/targets which serve a similar purpose.
510 -->
511 <PropertyGroup>
512 <ImportDirectoryPackagesProps Condition="'$(ImportDirectoryPackagesProps)' == ''">true</ImportDirectoryPackagesProps>
513 </PropertyGroup>
514 <!--
515 Determine the path to the 'Directory.Packages.props' file, if the user did not disable $(ImportDirectoryPackagesProps) and
516 they did not already specify an absolute path to use via $(DirectoryPackagesPropsPath)
517 -->
518 <PropertyGroup Condition="'$(ImportDirectoryPackagesProps)' == 'true' and '$(DirectoryPackagesPropsPath)' == ''">
519 <_DirectoryPackagesPropsFile Condition="'$(_DirectoryPackagesPropsFile)' == ''">Directory.Packages.props</_DirectoryPackagesPropsFile>
520 <_DirectoryPackagesPropsBasePath Condition="'$(_DirectoryPackagesPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', '$(_DirectoryPackagesPropsFile)'))</_DirectoryPackagesPropsBasePath>
521 <DirectoryPackagesPropsPath Condition="'$(_DirectoryPackagesPropsBasePath)' != '' and '$(_DirectoryPackagesPropsFile)' != ''">$([MSBuild]::NormalizePath('$(_DirectoryPackagesPropsBasePath)', '$(_DirectoryPackagesPropsFile)'))</DirectoryPackagesPropsPath>
522 </PropertyGroup>
523 <!--
524============================================================================================================================================
525 <Import Project="$(DirectoryPackagesPropsPath)" Condition="'$(ImportDirectoryPackagesProps)' == 'true' and '$(DirectoryPackagesPropsPath)' != '' and Exists('$(DirectoryPackagesPropsPath)')">
526
527D:\src\wix\Directory.Packages.props
528============================================================================================================================================
529-->
530 <PropertyGroup>
531 <CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
532 </PropertyGroup>
533 <!-- Pinned versions to address security vulnerabilities in transitive dependencies. Review as dependencies update. -->
534 <ItemGroup>
535 <PackageVersion Include="System.Private.Uri" Version="4.3.2" />
536 </ItemGroup>
537 <ItemGroup>
538 <PackageVersion Include="WixToolset.Dtf.Compression" Version="7.0.0-build.41" />
539 <PackageVersion Include="WixToolset.Dtf.Compression.Cab" Version="7.0.0-build.41" />
540 <PackageVersion Include="WixToolset.Dtf.CustomAction" Version="7.0.0-build.41" />
541 <PackageVersion Include="WixToolset.Dtf.Resources" Version="7.0.0-build.41" />
542 <PackageVersion Include="WixToolset.Dtf.WindowsInstaller" Version="7.0.0-build.41" />
543 <PackageVersion Include="WixToolset.Dtf.WindowsInstaller.Package" Version="7.0.0-build.41" />
544 <PackageVersion Include="WixInternal.TestSupport" Version="7.0.0-build.41" />
545 <PackageVersion Include="WixInternal.MSTestSupport" Version="7.0.0-build.41" />
546 <PackageVersion Include="WixInternal.TestSupport.Native" Version="7.0.0-build.41" />
547 <PackageVersion Include="WixInternal.BaseBuildTasks.Sources" Version="7.0.0-build.41" />
548 <PackageVersion Include="WixToolset.DUtil" Version="7.0.0-build.41" />
549 <PackageVersion Include="WixToolset.WcaUtil" Version="7.0.0-build.41" />
550 <PackageVersion Include="WixToolset.BootstrapperApplicationApi" Version="7.0.0-build.41" />
551 <PackageVersion Include="WixToolset.BootstrapperExtensionApi" Version="7.0.0-build.41" />
552 <PackageVersion Include="WixToolset.WixStandardBootstrapperApplicationFunctionApi" Version="7.0.0-build.41" />
553 <PackageVersion Include="WixToolset.Data" Version="7.0.0-build.41" />
554 <PackageVersion Include="WixToolset.Extensibility" Version="7.0.0-build.41" />
555 <PackageVersion Include="WixToolset.Versioning" Version="7.0.0-build.41" />
556 <PackageVersion Include="WixToolset.Burn" Version="7.0.0-build.41" />
557 <PackageVersion Include="WixToolset.Core" Version="7.0.0-build.41" />
558 <PackageVersion Include="WixToolset.Core.Burn" Version="7.0.0-build.41" />
559 <PackageVersion Include="WixToolset.Core.WindowsInstaller" Version="7.0.0-build.41" />
560 <PackageVersion Include="WixInternal.Core.TestPackage" Version="7.0.0-build.41" />
561 <PackageVersion Include="WixInternal.Core.MSTestPackage" Version="7.0.0-build.41" />
562 <PackageVersion Include="WixToolset.Bal.wixext" Version="7.0.0-build.41" />
563 <PackageVersion Include="WixToolset.BootstrapperApplications.wixext" Version="7.0.0-build.41" />
564 <PackageVersion Include="WixToolset.ComPlus.wixext" Version="7.0.0-build.41" />
565 <PackageVersion Include="WixToolset.Dependency.wixext" Version="7.0.0-build.41" />
566 <PackageVersion Include="WixToolset.NetFx.wixext" Version="7.0.0-build.41" />
567 <PackageVersion Include="WixToolset.UI.wixext" Version="7.0.0-build.41" />
568 <PackageVersion Include="WixToolset.Util.wixext" Version="7.0.0-build.41" />
569 <PackageVersion Include="WixToolset.Firewall.wixext" Version="7.0.0-build.41" />
570 <PackageVersion Include="WixToolset.Msmq.wixext" Version="7.0.0-build.41" />
571 </ItemGroup>
572 <ItemGroup>
573 <PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.1" />
574 <PackageVersion Include="System.Diagnostics.PerformanceCounter" Version="8.0.1" />
575 <PackageVersion Include="System.DirectoryServices" Version="8.0.0" />
576 <PackageVersion Include="System.DirectoryServices.AccountManagement" Version="8.0.1" />
577 <PackageVersion Include="System.Management" Version="8.0.0" />
578 <PackageVersion Include="System.IO.Compression" Version="4.3.0" />
579 <PackageVersion Include="System.IO.FileSystem.AccessControl" Version="5.0.0" />
580 <PackageVersion Include="System.Net.NetworkInformation" Version="4.3.0" />
581 <PackageVersion Include="System.Reflection.Metadata" Version="8.0.1" />
582 <PackageVersion Include="System.Security.Principal.Windows" Version="5.0.0" />
583 <PackageVersion Include="System.Text.Encoding.CodePages" Version="8.0.0" />
584 <PackageVersion Include="System.Text.Json" Version="8.0.6" />
585 <PackageVersion Include="System.Memory" Version="4.6.3" />
586 <PackageVersion Include="Microsoft.AspNetCore.Owin" Version="8.0.21" />
587 <PackageVersion Include="Microsoft.VisualStudio.Setup.Configuration.Native" Version="3.14.2075" />
588 <PackageVersion Include="Microsoft.Win32.Registry" Version="5.0.0" />
589 </ItemGroup>
590 <ItemGroup>
591 <PackageVersion Include="NuGet.Credentials" Version="6.13.2" />
592 <PackageVersion Include="NuGet.Protocol" Version="6.13.2" />
593 <PackageVersion Include="NuGet.Versioning" Version="6.13.2" />
594 </ItemGroup>
595 <ItemGroup>
596 <PackageVersion Include="Microsoft.Build.Tasks.Core" Version="17.13.26" />
597 </ItemGroup>
598 <!-- Keep the following versions in sync with internal\WixInternal.TestSupport.Native\packages.config -->
599 <ItemGroup>
600 <PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
601 <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
602 <PackageVersion Include="xunit" Version="2.9.3" />
603 <PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
604 <PackageVersion Include="xunit.assert" Version="2.9.3" />
605 </ItemGroup>
606 <ItemGroup>
607 <PackageVersion Include="MSTest.TestFramework" Version="4.0.1" />
608 </ItemGroup>
609 <ItemGroup>
610 <PackageVersion Include="Microsoft.NET.Tools.NETCoreCheck.x86" Version="7.0.0" />
611 <PackageVersion Include="Microsoft.NET.Tools.NETCoreCheck.x64" Version="7.0.0" />
612 <PackageVersion Include="Microsoft.NET.Tools.NETCoreCheck.arm64" Version="7.0.0" />
613 </ItemGroup>
614 <!--
615============================================================================================================================================
616 </Import>
617
618C:\Program Files\Microsoft Visual Studio\18\Professional\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.props
619============================================================================================================================================
620-->
621 <PropertyGroup Condition="'$(ImportDirectoryPackagesProps)' == 'true' and '$(DirectoryPackagesPropsPath)' != '' and Exists('$(DirectoryPackagesPropsPath)')">
622 <CentralPackageVersionsFileImported>true</CentralPackageVersionsFileImported>
623 </PropertyGroup>
624 <!--
625============================================================================================================================================
626 </Import>
627
628C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.props
629============================================================================================================================================
630-->
631 <PropertyGroup Condition=" '$(MSBuildLogVerboseTaskParameters)' != 'true' ">
632 <DisableLogTaskParameter_ConvertToAbsolutePath_Path>true</DisableLogTaskParameter_ConvertToAbsolutePath_Path>
633 <DisableLogTaskParameter_FindUnderPath_OutOfPath>true</DisableLogTaskParameter_FindUnderPath_OutOfPath>
634 <DisableLogTaskParameter_RemoveDuplicates_Inputs>true</DisableLogTaskParameter_RemoveDuplicates_Inputs>
635 <DisableLogTaskParameterItemMetadata_ConvertToAbsolutePath_AbsolutePaths>true</DisableLogTaskParameterItemMetadata_ConvertToAbsolutePath_AbsolutePaths>
636 <DisableLogTaskParameterItemMetadata_Copy_CopiedFiles>true</DisableLogTaskParameterItemMetadata_Copy_CopiedFiles>
637 <DisableLogTaskParameterItemMetadata_Copy_DestinationFiles>true</DisableLogTaskParameterItemMetadata_Copy_DestinationFiles>
638 <DisableLogTaskParameterItemMetadata_Copy_SourceFiles>true</DisableLogTaskParameterItemMetadata_Copy_SourceFiles>
639 <DisableLogTaskParameterItemMetadata_FindUnderPath_Files>true</DisableLogTaskParameterItemMetadata_FindUnderPath_Files>
640 <DisableLogTaskParameterItemMetadata_FindUnderPath_InPath>true</DisableLogTaskParameterItemMetadata_FindUnderPath_InPath>
641 <DisableLogTaskParameterItemMetadata_GenerateResource_FilesWritten>true</DisableLogTaskParameterItemMetadata_GenerateResource_FilesWritten>
642 <DisableLogTaskParameterItemMetadata_Hash_ItemsToHash>true</DisableLogTaskParameterItemMetadata_Hash_ItemsToHash>
643 <DisableLogTaskParameterItemMetadata_RemoveDuplicates_Filtered>true</DisableLogTaskParameterItemMetadata_RemoveDuplicates_Filtered>
644 <DisableLogTaskParameterItemMetadata_WriteLinesToFile_Lines>true</DisableLogTaskParameterItemMetadata_WriteLinesToFile_Lines>
645 </PropertyGroup>
646 <!--
647============================================================================================================================================
648 </Import>
649
650C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props
651============================================================================================================================================
652-->
653 <!--
654============================================================================================================================================
655 <Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.props">
656
657C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
658============================================================================================================================================
659-->
660 <!--
661***********************************************************************************************
662Microsoft.NET.Sdk.props
663
664WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
665 created a backup copy. Incorrect changes to this file will make it
666 impossible to load or build your projects from the command-line or the IDE.
667
668Copyright (c) .NET Foundation. All rights reserved.
669***********************************************************************************************
670-->
671 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
672 <!-- This property disables the conflict resolution logic from the Microsoft.Packaging.Tools package, which is superceded by the logic here in the SDK -->
673 <DisableHandlePackageFileConflicts>true</DisableHandlePackageFileConflicts>
674 </PropertyGroup>
675 <!-- Default configuration and platform to Debug|AnyCPU-->
676 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
677 <Configurations Condition=" '$(Configurations)' == '' ">Debug;Release</Configurations>
678 <Platforms Condition=" '$(Platforms)' == '' ">AnyCPU</Platforms>
679 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
680 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
681 </PropertyGroup>
682 <!-- Default the value of PackRelease for every project. Note that this is pre-evaluated by the CLI in an evaluation before evaluation (see ReleasePropertyProjectLocator.cs).
683 Multitargeting pack splits a single 2 TFM project into 9 separate evaluations, with different target imports. Microsoft.NET.SDK.DefaultItems.Targets ...
684 is where PublishRelease is defaulted because it depends on _TargetFrameworkVersionWithoutV. Some targets do not run in some instances of dotnet pack.
685 So, we must set PackRelease here. Even though this occurs before project import, the project import can override PackRelease later, before the pre-evaluation, so this is fine.-->
686 <PropertyGroup Condition="'$(PackRelease)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
687 <!-- Do not depend on this value being correct until after project evaluation.-->
688 <PackRelease>true</PackRelease>
689 </PropertyGroup>
690 <!-- User-facing configuration-agnostic defaults -->
691 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
692 <OutputType Condition=" '$(OutputType)' == '' ">Library</OutputType>
693 <FileAlignment Condition=" '$(FileAlignment)' == '' ">512</FileAlignment>
694 <ErrorReport Condition=" '$(ErrorReport)' == '' ">prompt</ErrorReport>
695 <AssemblyName Condition=" '$(AssemblyName)' == '' ">$(MSBuildProjectName)</AssemblyName>
696 <RootNamespace Condition=" '$(RootNamespace)' == '' ">$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
697 <Deterministic Condition=" '$(Deterministic)' == '' ">true</Deterministic>
698 </PropertyGroup>
699 <!-- User-facing configuration-specific defaults -->
700 <PropertyGroup Condition=" '$(Configuration)' == 'Debug' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
701 <DebugSymbols Condition=" '$(DebugSymbols)' == '' ">true</DebugSymbols>
702 <Optimize Condition=" '$(Optimize)' == '' ">false</Optimize>
703 </PropertyGroup>
704 <PropertyGroup Condition=" '$(Configuration)' == 'Release' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
705 <Optimize Condition=" '$(Optimize)' == '' ">true</Optimize>
706 </PropertyGroup>
707 <!-- User-facing platform-specific defaults -->
708 <!--
709 NOTE:
710
711 * We cannot compare against $(Platform) directly as that will give VS cause to instantiate extra
712 configurations, for each combination, which leads to performance problems and clutter in the sln
713 in the common AnyCPU-only case.
714
715 * We cannot just set $(PlatformTarget) to $(Platform) here because $(Platform) can be set to anything
716 at the solution level, but there are a fixed set valid $(PlatformTarget) values that can be passed
717 to the compiler. It is up to the user to explicitly set PlatformTarget to non-AnyCPU (if desired)
718 outside the 1:1 defaults below.
719 -->
720 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
721 <_PlatformWithoutConfigurationInference>$(Platform)</_PlatformWithoutConfigurationInference>
722 </PropertyGroup>
723 <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'x64' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
724 <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">x64</PlatformTarget>
725 </PropertyGroup>
726 <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'x86' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
727 <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">x86</PlatformTarget>
728 </PropertyGroup>
729 <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'ARM' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
730 <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">ARM</PlatformTarget>
731 </PropertyGroup>
732 <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'arm64' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
733 <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">arm64</PlatformTarget>
734 </PropertyGroup>
735 <!-- Default settings for all projects built with this Sdk package -->
736 <PropertyGroup Condition=" '$(AssemblySearchPaths)' == '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
737 <!-- By default exclude GAC, registry, output directory from search paths. -->
738 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseCandidateAssemblyFiles)' != 'false'">{CandidateAssemblyFiles}</AssemblySearchPaths>
739 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseHintPathFromItem)' != 'false'">$(AssemblySearchPaths);{HintPathFromItem}</AssemblySearchPaths>
740 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseTargetFrameworkDirectory)' != 'false'">$(AssemblySearchPaths);{TargetFrameworkDirectory}</AssemblySearchPaths>
741 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseRawFileName)' != 'false'">$(AssemblySearchPaths);{RawFileName}</AssemblySearchPaths>
742 </PropertyGroup>
743 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
744 <DebugType Condition="'$(DebugSymbols)' == 'false'">None</DebugType>
745 <DebugType Condition=" '$(DebugType)' == '' ">portable</DebugType>
746 <!-- This will turn off the base UWP-specific 'ResolveNuGetPackages' target -->
747 <ResolveNuGetPackages>false</ResolveNuGetPackages>
748 <!-- Skip import of Microsoft.NuGet.props and Microsoft.NuGet.targets -->
749 <SkipImportNuGetProps>true</SkipImportNuGetProps>
750 <SkipImportNuGetBuildTargets>true</SkipImportNuGetBuildTargets>
751 <!-- NuGet should always restore .NET SDK projects with "PackageReference" style restore. Setting this property will
752 cause the right thing to happen even if there aren't any PackageReference items in the project, such as when
753 a project targets .NET Framework and doesn't have any direct package dependencies. -->
754 <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
755 <DesignTimeAssemblySearchPaths Condition=" '$(DesignTimeAssemblySearchPaths)' == '' ">$(AssemblySearchPaths)</DesignTimeAssemblySearchPaths>
756 <AllowUnsafeBlocks Condition="'$(AllowUnsafeBlocks)'==''">false</AllowUnsafeBlocks>
757 <TreatWarningsAsErrors Condition="'$(TreatWarningsAsErrors)'==''">false</TreatWarningsAsErrors>
758 <Prefer32Bit Condition="'$(Prefer32Bit)'==''">false</Prefer32Bit>
759 <PreferNativeArm64 Condition="'$(PreferNativeArm64)'==''">false</PreferNativeArm64>
760 <SignAssembly Condition="'$(SignAssembly)'==''">false</SignAssembly>
761 <DelaySign Condition="'$(DelaySign)'==''">false</DelaySign>
762 <!-- TODO: should we set _IsPacking=true on the NuGet Pack targets when they hook up the 'generate package on build' stuff -->
763 <GeneratePackageOnBuild Condition="'$(GeneratePackageOnBuild)'==''">false</GeneratePackageOnBuild>
764 <PackageRequireLicenseAcceptance Condition="'$(PackageRequireLicenseAcceptance)'==''">false</PackageRequireLicenseAcceptance>
765 <DebugSymbols Condition="'$(DebugSymbols)'==''">false</DebugSymbols>
766 <CheckForOverflowUnderflow Condition="'$(CheckForOverflowUnderflow)'==''">false</CheckForOverflowUnderflow>
767 <AutomaticallyUseReferenceAssemblyPackages Condition="'$(AutomaticallyUseReferenceAssemblyPackages)'==''">true</AutomaticallyUseReferenceAssemblyPackages>
768 <MicrosoftNETFrameworkReferenceAssembliesLatestPackageVersion>1.0.3</MicrosoftNETFrameworkReferenceAssembliesLatestPackageVersion>
769 <CopyConflictingTransitiveContent>false</CopyConflictingTransitiveContent>
770 <MSBuildCopyContentTransitively Condition="'$(MSBuildCopyContentTransitively)' == ''">true</MSBuildCopyContentTransitively>
771 <ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts Condition="'$(ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts)' == ''">true</ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts>
772 <!-- Uncomment this once https://github.com/Microsoft/visualfsharp/issues/3207 gets fixed -->
773 <!-- <WarningsAsErrors>$(WarningsAsErrors);NU1605</WarningsAsErrors> -->
774 <!-- Implicitly set UserSecretsId for file-based apps. -->
775 <_ImplicitFileBasedProgramUserSecretsId Condition="'$(FileBasedProgram)' == 'true'">$(MSBuildProjectName)-$([MSBuild]::StableStringHash($(MSBuildProjectFullPath.ToLowerInvariant()), 'Sha256'))</_ImplicitFileBasedProgramUserSecretsId>
776 <UserSecretsId Condition="'$(FileBasedProgram)' == 'true' and '$(UserSecretsId)' == ''">$(_ImplicitFileBasedProgramUserSecretsId)</UserSecretsId>
777 </PropertyGroup>
778 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
779 <!-- Path to project that the .NET CLI will build in order to generate deps.json files for .NET CLI tools -->
780 <ToolDepsJsonGeneratorProject>$(MSBuildThisFileDirectory)GenerateDeps\GenerateDeps.proj</ToolDepsJsonGeneratorProject>
781 </PropertyGroup>
782 <!-- Default item includes (globs and implicit references) -->
783 <!--
784============================================================================================================================================
785 <Import Project="Microsoft.NET.Sdk.DefaultItems.props">
786
787C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.props
788============================================================================================================================================
789-->
790 <!--
791***********************************************************************************************
792Microsoft.NET.Sdk.DefaultItems.props
793
794WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
795 created a backup copy. Incorrect changes to this file will make it
796 impossible to load or build your projects from the command-line or the IDE.
797
798Copyright (c) .NET Foundation. All rights reserved.
799***********************************************************************************************
800-->
801 <PropertyGroup Condition="'$(NETCoreSdkBundledVersionsProps)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
802 <NETCoreSdkBundledVersionsProps>$(MSBuildThisFileDirectory)..\..\..\Microsoft.NETCoreSdk.BundledVersions.props</NETCoreSdkBundledVersionsProps>
803 </PropertyGroup>
804 <!--
805============================================================================================================================================
806 <Import Project="$(NETCoreSdkBundledVersionsProps)" Condition="Exists('$(NETCoreSdkBundledVersionsProps)')">
807
808C:\Program Files\dotnet\sdk\10.0.100\Microsoft.NETCoreSdk.BundledVersions.props
809============================================================================================================================================
810-->
811 <!--
812***********************************************************************************************
813Microsoft.NETCoreSdk.BundledVersions.props
814
815WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
816 created a backup copy. Incorrect changes to this file will make it
817 impossible to load or build your projects from the command-line or the IDE.
818
819Copyright (c) .NET Foundation. All rights reserved.
820***********************************************************************************************
821-->
822 <PropertyGroup>
823 <NetCoreRoot Condition="'$(NetCoreRoot)' == ''">$([MSBuild]::NormalizePath('$(MSBuildThisFileDirectory)..\..\'))</NetCoreRoot>
824 <NetCoreTargetingPackRoot Condition="'$(NetCoreTargetingPackRoot)' == ''">$([MSBuild]::EnsureTrailingSlash('$(NetCoreRoot)'))packs</NetCoreTargetingPackRoot>
825 <PrunePackageDataRoot Condition="'$(PrunePackageDataRoot)' == ''">$([MSBuild]::EnsureTrailingSlash('$(MSBuildThisFileDirectory)'))PrunePackageData</PrunePackageDataRoot>
826 <_NetFrameworkHostedCompilersVersion>5.0.0-2.25523.111</_NetFrameworkHostedCompilersVersion>
827 <NETCoreAppMaximumVersion>10.0</NETCoreAppMaximumVersion>
828 <BundledNETCoreAppTargetFrameworkVersion>10.0</BundledNETCoreAppTargetFrameworkVersion>
829 <BundledNETCoreAppPackageVersion>10.0.0</BundledNETCoreAppPackageVersion>
830 <BundledNETStandardTargetFrameworkVersion>2.1</BundledNETStandardTargetFrameworkVersion>
831 <BundledNETStandardPackageVersion>2.1.0</BundledNETStandardPackageVersion>
832 <BundledNETCorePlatformsPackageVersion>10.0.0-rtm.25523.111</BundledNETCorePlatformsPackageVersion>
833 <BundledRuntimeIdentifierGraphFile>$(MSBuildThisFileDirectory)RuntimeIdentifierGraph.json</BundledRuntimeIdentifierGraphFile>
834 <NETCoreSdkVersion>10.0.100</NETCoreSdkVersion>
835 <SdkAnalysisLevel>10.0.100</SdkAnalysisLevel>
836 <NETCoreSdkRuntimeIdentifier>win-x64</NETCoreSdkRuntimeIdentifier>
837 <NETCoreSdkPortableRuntimeIdentifier>win-x64</NETCoreSdkPortableRuntimeIdentifier>
838 <_NETCoreSdkIsPreview>false</_NETCoreSdkIsPreview>
839 </PropertyGroup>
840 <ItemGroup>
841 <ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="1.0" DefaultVersion="1.0.5" LatestVersion="1.0.16" />
842 <ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="1.1" DefaultVersion="1.1.2" LatestVersion="1.1.13" />
843 <ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="2.0" DefaultVersion="2.0.0" LatestVersion="2.0.9" />
844 <ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="2.1" DefaultVersion="2.1.0" LatestVersion="2.1.30" />
845 <ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="2.2" DefaultVersion="2.2.0" LatestVersion="2.2.8" />
846 <ImplicitPackageReferenceVersion Include="Microsoft.AspNetCore.App" TargetFrameworkVersion="2.1" DefaultVersion="2.1.1" LatestVersion="2.1.30" />
847 <ImplicitPackageReferenceVersion Include="Microsoft.AspNetCore.All" TargetFrameworkVersion="2.1" DefaultVersion="2.1.1" LatestVersion="2.1.30" />
848 <ImplicitPackageReferenceVersion Include="Microsoft.AspNetCore.App" TargetFrameworkVersion="2.2" DefaultVersion="2.2.0" LatestVersion="2.2.8" />
849 <ImplicitPackageReferenceVersion Include="Microsoft.AspNetCore.All" TargetFrameworkVersion="2.2" DefaultVersion="2.2.0" LatestVersion="2.2.8" />
850 <!-- .NET 10.0 -->
851 <KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="net10.0" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="10.0.0" LatestRuntimeFrameworkVersion="10.0.0" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="10.0.0" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;linux-bionic-arm;linux-bionic-arm64;linux-bionic-x64;linux-bionic-x86;linux-ppc64le;freebsd-x64;freebsd-arm64;linux-riscv64;linux-musl-riscv64;linux-musl-loongarch64;android-arm64;android-x64" />
852 <KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="net10.0" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="10.0.0" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;linux-bionic-arm;linux-bionic-arm64;linux-bionic-x64;linux-bionic-x86;linux-ppc64le;freebsd-x64;freebsd-arm64;linux-riscv64;linux-musl-riscv64;linux-musl-loongarch64" ExcludedRuntimeIdentifiers="android" />
853 <KnownCrossgen2Pack Include="Microsoft.NETCore.App.Crossgen2" TargetFramework="net10.0" Crossgen2PackNamePattern="Microsoft.NETCore.App.Crossgen2.**RID**" Crossgen2PackVersion="10.0.0" Crossgen2PortableRuntimeIdentifiers="linux-musl-x64;linux-x64;win-x64;linux-arm;linux-arm64;linux-musl-arm;linux-musl-arm64;osx-arm64;osx-x64;win-arm64;win-x86;freebsd-x64;freebsd-arm64;linux-riscv64;linux-musl-riscv64;linux-loongarch64;linux-musl-loongarch64" Crossgen2RuntimeIdentifiers="linux-musl-x64;linux-x64;win-x64;linux-arm;linux-arm64;linux-musl-arm;linux-musl-arm64;osx-arm64;osx-x64;win-arm64;win-x86;freebsd-x64;freebsd-arm64;linux-riscv64;linux-musl-riscv64;linux-loongarch64;linux-musl-loongarch64" />
854 <KnownILCompilerPack Include="Microsoft.DotNet.ILCompiler" TargetFramework="net10.0" ILCompilerPackNamePattern="runtime.**RID**.Microsoft.DotNet.ILCompiler" ILCompilerRuntimePackNamePattern="Microsoft.NETCore.App.Runtime.NativeAOT.**RID**" ILCompilerPackVersion="10.0.0" ILCompilerPortableRuntimeIdentifiers="linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;win-arm64;win-x64;osx-x64;osx-arm64;freebsd-x64;freebsd-arm64;linux-arm;linux-musl-arm;linux-loongarch64;linux-musl-loongarch64;win-x86;linux-riscv64;linux-musl-riscv64" ILCompilerRuntimeIdentifiers="linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;win-arm64;win-x64;osx-x64;osx-arm64;freebsd-x64;freebsd-arm64;linux-arm;linux-musl-arm;linux-loongarch64;linux-musl-loongarch64;win-x86;linux-riscv64;linux-musl-riscv64" />
855 <KnownRuntimePack Include="Microsoft.NETCore.App" TargetFramework="net10.0" RuntimeFrameworkName="Microsoft.NETCore.App" LatestRuntimeFrameworkVersion="10.0.0" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.NativeAOT.**RID**" RuntimePackRuntimeIdentifiers="ios-arm64;iossimulator-arm64;iossimulator-x64;tvos-arm64;tvossimulator-arm64;tvossimulator-x64;maccatalyst-arm64;maccatalyst-x64;linux-bionic-arm64;linux-bionic-x64;osx-arm64;osx-x64;freebsd-arm64;freebsd-x64;linux-x64;linux-arm;linux-arm64;linux-loongarch64;linux-bionic-arm;linux-musl-x64;linux-musl-arm;linux-musl-arm64;linux-musl-loongarch64;win-x64;win-x86;win-arm64;browser-wasm;wasi-wasm;linux-riscv64;linux-musl-riscv64;android-arm64;android-x64" RuntimePackLabels="NativeAOT" />
856 <KnownILLinkPack Include="Microsoft.NET.ILLink.Tasks" TargetFramework="net10.0" ILLinkPackVersion="10.0.0" />
857 <KnownWebAssemblySdkPack Include="Microsoft.NET.Sdk.WebAssembly.Pack" TargetFramework="net10.0" WebAssemblySdkPackVersion="10.0.0" />
858 <KnownAspNetCorePack Include="Microsoft.AspNetCore.App.Internal.Assets" TargetFramework="net10.0" AspNetCorePackVersion="10.0.0" />
859 <KnownRuntimePack Include="Microsoft.NETCore.App" TargetFramework="net10.0" RuntimeFrameworkName="Microsoft.NETCore.App" LatestRuntimeFrameworkVersion="10.0.0" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.Mono.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;browser-wasm;ios-arm64;ios-arm;iossimulator-arm64;iossimulator-x64;iossimulator-x86;tvos-arm64;tvossimulator-arm64;tvossimulator-x64;maccatalyst-x64;maccatalyst-arm64;android-arm64;android-arm;android-x64;android-x86;freebsd-x64;freebsd-arm64;wasi-wasm;linux-riscv64;linux-musl-riscv64;linux-loongarch64;linux-musl-loongarch64" RuntimePackLabels="Mono" />
860 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="net10.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="10.0.0" LatestRuntimeFrameworkVersion="10.0.0" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="10.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" />
861 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="net10.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="10.0.0" LatestRuntimeFrameworkVersion="10.0.0" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="10.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WPF" />
862 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="net10.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="10.0.0" LatestRuntimeFrameworkVersion="10.0.0" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="10.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WindowsForms" />
863 <KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="net10.0" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="10.0.0" LatestRuntimeFrameworkVersion="10.0.0" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="10.0.0" RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;osx-x64;linux-musl-x64;linux-musl-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-arm;win-arm64;osx-arm64;linux-s390x;linux-loongarch64;linux-ppc64le;freebsd-x64;freebsd-arm64;linux-riscv64;linux-musl-riscv64;linux-loongarch64;linux-musl-loongarch64" RuntimePackExcludedRuntimeIdentifiers="android;linux-bionic" />
864 <!-- .NET 9.0 -->
865 <KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="net9.0" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="9.0.0" LatestRuntimeFrameworkVersion="9.0.11" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="9.0.11" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;linux-bionic-arm;linux-bionic-arm64;linux-bionic-x64;linux-bionic-x86;linux-ppc64le;freebsd-x64;freebsd-arm64;linux-riscv64;linux-musl-riscv64;linux-musl-loongarch64" />
866 <KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="net9.0" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="9.0.11" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;linux-bionic-arm;linux-bionic-arm64;linux-bionic-x64;linux-bionic-x86;linux-ppc64le;freebsd-x64;freebsd-arm64;linux-riscv64;linux-musl-riscv64;linux-musl-loongarch64" ExcludedRuntimeIdentifiers="android" />
867 <KnownCrossgen2Pack Include="Microsoft.NETCore.App.Crossgen2" TargetFramework="net9.0" Crossgen2PackNamePattern="Microsoft.NETCore.App.Crossgen2.**RID**" Crossgen2PackVersion="9.0.11" Crossgen2RuntimeIdentifiers="linux-musl-x64;linux-x64;win-x64;linux-arm;linux-arm64;linux-musl-arm;linux-musl-arm64;osx-arm64;osx-x64;win-arm64;win-x86;freebsd-x64;freebsd-arm64;linux-riscv64;linux-musl-riscv64;linux-loongarch64;linux-musl-loongarch64" />
868 <KnownILCompilerPack Include="Microsoft.DotNet.ILCompiler" TargetFramework="net9.0" ILCompilerPackNamePattern="runtime.**RID**.Microsoft.DotNet.ILCompiler" ILCompilerPackVersion="9.0.11" ILCompilerRuntimeIdentifiers="linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;win-arm64;win-x64;osx-x64;osx-arm64;freebsd-x64;freebsd-arm64;linux-arm;linux-musl-arm;linux-loongarch64;linux-musl-loongarch64;win-x86" />
869 <KnownRuntimePack Include="Microsoft.NETCore.App" TargetFramework="net9.0" RuntimeFrameworkName="Microsoft.NETCore.App" LatestRuntimeFrameworkVersion="9.0.11" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.NativeAOT.**RID**" RuntimePackRuntimeIdentifiers="ios-arm64;iossimulator-arm64;iossimulator-x64;tvos-arm64;tvossimulator-arm64;tvossimulator-x64;maccatalyst-arm64;maccatalyst-x64;linux-bionic-arm64;linux-bionic-x64;osx-arm64;osx-x64;freebsd-arm64;freebsd-x64;linux-x64;linux-arm;linux-arm64;linux-loongarch64;linux-bionic-arm;linux-musl-x64;linux-musl-arm;linux-musl-arm64;linux-musl-loongarch64;win-x64;win-x86;win-arm64;browser-wasm;wasi-wasm" RuntimePackLabels="NativeAOT" />
870 <KnownILLinkPack Include="Microsoft.NET.ILLink.Tasks" TargetFramework="net9.0" ILLinkPackVersion="9.0.11" />
871 <KnownWebAssemblySdkPack Include="Microsoft.NET.Sdk.WebAssembly.Pack" TargetFramework="net9.0" WebAssemblySdkPackVersion="10.0.0" />
872 <KnownRuntimePack Include="Microsoft.NETCore.App" TargetFramework="net9.0" RuntimeFrameworkName="Microsoft.NETCore.App" LatestRuntimeFrameworkVersion="9.0.11" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.Mono.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;browser-wasm;ios-arm64;ios-arm;iossimulator-arm64;iossimulator-x64;iossimulator-x86;tvos-arm64;tvossimulator-arm64;tvossimulator-x64;maccatalyst-x64;maccatalyst-arm64;android-arm64;android-arm;android-x64;android-x86;freebsd-x64;freebsd-arm64;wasi-wasm;linux-riscv64;linux-musl-riscv64;linux-loongarch64;linux-musl-loongarch64" RuntimePackLabels="Mono" />
873 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="net9.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="9.0.0" LatestRuntimeFrameworkVersion="9.0.11" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="9.0.11" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" />
874 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="net9.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="9.0.0" LatestRuntimeFrameworkVersion="9.0.11" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="9.0.11" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WPF" />
875 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="net9.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="9.0.0" LatestRuntimeFrameworkVersion="9.0.11" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="9.0.11" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WindowsForms" />
876 <KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="net9.0" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="9.0.0" LatestRuntimeFrameworkVersion="9.0.11" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="9.0.11" RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;osx-x64;linux-musl-x64;linux-musl-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-arm;win-arm64;osx-arm64;linux-s390x;linux-loongarch64;linux-ppc64le;freebsd-x64;freebsd-arm64;linux-riscv64;linux-musl-riscv64;linux-loongarch64;linux-musl-loongarch64" RuntimePackExcludedRuntimeIdentifiers="android;linux-bionic" />
877 <!-- .NET 8.0 -->
878 <KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="net8.0" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="8.0.0" LatestRuntimeFrameworkVersion="8.0.22" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="8.0.22" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;linux-bionic-arm;linux-bionic-arm64;linux-bionic-x64;linux-bionic-x86;linux-ppc64le;freebsd-x64;freebsd-arm64" />
879 <KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="net8.0" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="8.0.22" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;linux-bionic-arm;linux-bionic-arm64;linux-bionic-x64;linux-bionic-x86;linux-ppc64le;freebsd-x64;freebsd-arm64" ExcludedRuntimeIdentifiers="android" />
880 <KnownCrossgen2Pack Include="Microsoft.NETCore.App.Crossgen2" TargetFramework="net8.0" Crossgen2PackNamePattern="Microsoft.NETCore.App.Crossgen2.**RID**" Crossgen2PackVersion="8.0.22" Crossgen2RuntimeIdentifiers="linux-musl-x64;linux-x64;win-x64;linux-arm;linux-arm64;linux-musl-arm;linux-musl-arm64;osx-arm64;osx-x64;win-arm64;win-x86;freebsd-x64;freebsd-arm64" />
881 <KnownILCompilerPack Include="Microsoft.DotNet.ILCompiler" TargetFramework="net8.0" ILCompilerPackNamePattern="runtime.**RID**.Microsoft.DotNet.ILCompiler" ILCompilerPackVersion="8.0.22" ILCompilerRuntimeIdentifiers="linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;win-arm64;win-x64;osx-x64;osx-arm64;freebsd-x64;freebsd-arm64" />
882 <KnownRuntimePack Include="Microsoft.NETCore.App" TargetFramework="net8.0" RuntimeFrameworkName="Microsoft.NETCore.App" LatestRuntimeFrameworkVersion="8.0.22" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.NativeAOT.**RID**" RuntimePackRuntimeIdentifiers="ios-arm64;iossimulator-arm64;iossimulator-x64;tvos-arm64;tvossimulator-arm64;tvossimulator-x64;maccatalyst-arm64;maccatalyst-x64;linux-bionic-arm64;linux-bionic-x64;osx-arm64;osx-x64;freebsd-arm64;freebsd-x64" RuntimePackLabels="NativeAOT" />
883 <KnownILLinkPack Include="Microsoft.NET.ILLink.Tasks" TargetFramework="net8.0" ILLinkPackVersion="8.0.22" />
884 <KnownWebAssemblySdkPack Include="Microsoft.NET.Sdk.WebAssembly.Pack" TargetFramework="net8.0" WebAssemblySdkPackVersion="10.0.0" />
885 <KnownRuntimePack Include="Microsoft.NETCore.App" TargetFramework="net8.0" RuntimeFrameworkName="Microsoft.NETCore.App" LatestRuntimeFrameworkVersion="8.0.22" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.Mono.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;browser-wasm;ios-arm64;ios-arm;iossimulator-arm64;iossimulator-x64;iossimulator-x86;tvos-arm64;tvossimulator-arm64;tvossimulator-x64;maccatalyst-x64;maccatalyst-arm64;android-arm64;android-arm;android-x64;android-x86;freebsd-x64;freebsd-arm64;wasi-wasm" RuntimePackLabels="Mono" />
886 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="net8.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="8.0.0" LatestRuntimeFrameworkVersion="8.0.22" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="8.0.22" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" />
887 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="net8.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="8.0.0" LatestRuntimeFrameworkVersion="8.0.22" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="8.0.22" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WPF" />
888 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="net8.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="8.0.0" LatestRuntimeFrameworkVersion="8.0.22" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="8.0.22" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WindowsForms" />
889 <KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="net8.0" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="8.0.0" LatestRuntimeFrameworkVersion="8.0.22" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="8.0.22" RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;osx-x64;linux-musl-x64;linux-musl-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-arm;win-arm64;osx-arm64;linux-s390x;linux-loongarch64;linux-ppc64le;freebsd-x64;freebsd-arm64" RuntimePackExcludedRuntimeIdentifiers="android;linux-bionic" />
890 <!-- .NET 7.0 -->
891 <KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="net7.0" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="7.0.0" LatestRuntimeFrameworkVersion="7.0.20" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="7.0.20" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;linux-bionic-arm;linux-bionic-arm64;linux-bionic-x64;linux-bionic-x86;linux-ppc64le" />
892 <KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="net7.0" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="7.0.20" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;linux-bionic-arm;linux-bionic-arm64;linux-bionic-x64;linux-bionic-x86;linux-ppc64le" ExcludedRuntimeIdentifiers="android" />
893 <KnownCrossgen2Pack Include="Microsoft.NETCore.App.Crossgen2" TargetFramework="net7.0" Crossgen2PackNamePattern="Microsoft.NETCore.App.Crossgen2.**RID**" Crossgen2PackVersion="7.0.20" Crossgen2RuntimeIdentifiers="linux-musl-x64;linux-x64;win-x64;linux-arm;linux-arm64;linux-musl-arm;linux-musl-arm64;osx-arm64;osx-x64;win-arm;win-arm64;win-x86" />
894 <KnownILCompilerPack Include="Microsoft.DotNet.ILCompiler" TargetFramework="net7.0" ILCompilerPackNamePattern="runtime.**RID**.Microsoft.DotNet.ILCompiler" ILCompilerPackVersion="7.0.20" ILCompilerRuntimeIdentifiers="linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;win-arm64;win-x64" />
895 <KnownILLinkPack Include="Microsoft.NET.ILLink.Tasks" TargetFramework="net7.0" ILLinkPackVersion="7.0.100-1.23211.1" />
896 <KnownWebAssemblySdkPack Include="Microsoft.NET.Sdk.WebAssembly.Pack" TargetFramework="net7.0" WebAssemblySdkPackVersion="10.0.0" />
897 <KnownRuntimePack Include="Microsoft.NETCore.App" TargetFramework="net7.0" RuntimeFrameworkName="Microsoft.NETCore.App" LatestRuntimeFrameworkVersion="7.0.20" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.Mono.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;browser-wasm;ios-arm64;ios-arm;iossimulator-arm64;iossimulator-x64;iossimulator-x86;tvos-arm64;tvossimulator-arm64;tvossimulator-x64;maccatalyst-x64;maccatalyst-arm64;android-arm64;android-arm;android-x64;android-x86" RuntimePackLabels="Mono" />
898 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="net7.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="7.0.0" LatestRuntimeFrameworkVersion="7.0.20" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="7.0.20" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" />
899 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="net7.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="7.0.0" LatestRuntimeFrameworkVersion="7.0.20" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="7.0.20" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WPF" />
900 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="net7.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="7.0.0" LatestRuntimeFrameworkVersion="7.0.20" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="7.0.20" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WindowsForms" />
901 <KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="net7.0" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="7.0.0" LatestRuntimeFrameworkVersion="7.0.20" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="7.0.20" RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm;osx-x64;linux-musl-x64;linux-musl-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-arm;win-arm64;osx-arm64;linux-s390x;linux-loongarch64;linux-ppc64le" RuntimePackExcludedRuntimeIdentifiers="android" />
902 <!-- .NET 6.0 -->
903 <KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="6.0.0" LatestRuntimeFrameworkVersion="6.0.36" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="6.0.36" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64" />
904 <KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="net6.0" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="6.0.36" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64" ExcludedRuntimeIdentifiers="android" />
905 <KnownCrossgen2Pack Include="Microsoft.NETCore.App.Crossgen2" TargetFramework="net6.0" Crossgen2PackNamePattern="Microsoft.NETCore.App.Crossgen2.**RID**" Crossgen2PackVersion="6.0.36" Crossgen2RuntimeIdentifiers="linux-musl-x64;linux-x64;win-x64;linux-arm;linux-arm64;linux-musl-arm;linux-musl-arm64;osx-arm64;osx-x64;win-arm;win-arm64;win-x86" />
906 <KnownILLinkPack Include="Microsoft.NET.ILLink.Tasks" TargetFramework="net6.0" ILLinkPackVersion="7.0.100-1.23211.1" />
907 <KnownWebAssemblySdkPack Include="Microsoft.NET.Sdk.WebAssembly.Pack" TargetFramework="net6.0" WebAssemblySdkPackVersion="10.0.0" />
908 <KnownRuntimePack Include="Microsoft.NETCore.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.NETCore.App" LatestRuntimeFrameworkVersion="6.0.36" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.Mono.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;linux-s390x;linux-loongarch64;browser-wasm;ios-arm64;ios-arm;iossimulator-arm64;iossimulator-x64;iossimulator-x86;tvos-arm64;tvossimulator-arm64;tvossimulator-x64;maccatalyst-x64;maccatalyst-arm64;android-arm64;android-arm;android-x64;android-x86" RuntimePackLabels="Mono" />
909 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="6.0.0" LatestRuntimeFrameworkVersion="6.0.36" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="6.0.36" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" />
910 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="6.0.0" LatestRuntimeFrameworkVersion="6.0.36" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="6.0.36" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WPF" />
911 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="6.0.0" LatestRuntimeFrameworkVersion="6.0.36" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="6.0.36" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WindowsForms" />
912 <KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="6.0.0" LatestRuntimeFrameworkVersion="6.0.36" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="6.0.36" RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm;osx-x64;linux-musl-x64;linux-musl-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-arm;win-arm64;osx-arm64;linux-s390x;linux-loongarch64" />
913 <!-- .NET 5.0 -->
914 <KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.17" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;browser-wasm" IsTrimmable="true" />
915 <KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="net5.0" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="5.0.17" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm" />
916 <KnownCrossgen2Pack Include="Microsoft.NETCore.App.Crossgen2" TargetFramework="net5.0" Crossgen2PackNamePattern="Microsoft.NETCore.App.Crossgen2.**RID**" Crossgen2PackVersion="5.0.17" Crossgen2RuntimeIdentifiers="linux-musl-x64;linux-x64;win-x64" />
917 <KnownILLinkPack Include="Microsoft.NET.ILLink.Tasks" TargetFramework="net5.0" ILLinkPackVersion="7.0.100-1.23211.1" />
918 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.17" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" />
919 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.17" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WPF" />
920 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.17" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WindowsForms" />
921 <KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.17" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm;osx-x64;linux-musl-x64;linux-musl-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-arm;win-arm64" />
922 <!-- .NET Core 3.1 -->
923 <KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.32" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="3.1.0" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" IsTrimmable="true" />
924 <KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="netcoreapp3.1" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="3.1.32" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" />
925 <KnownILLinkPack Include="Microsoft.NET.ILLink.Tasks" TargetFramework="netcoreapp3.1" ILLinkPackVersion="7.0.100-1.23211.1" />
926 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.32" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.1.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" />
927 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.32" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.1.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WPF" />
928 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.32" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.1.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WindowsForms" />
929 <KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.32" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="3.1.10" RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm;osx-x64;linux-musl-x64;linux-musl-arm64;linux-x64;linux-arm;linux-arm64" />
930 <!-- .NET Core 3.0 -->
931 <KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="netcoreapp3.0" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="3.0.0" LatestRuntimeFrameworkVersion="3.0.3" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="3.0.0" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" IsTrimmable="true" />
932 <KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="netcoreapp3.0" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="3.0.3" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" />
933 <KnownILLinkPack Include="Microsoft.NET.ILLink.Tasks" TargetFramework="netcoreapp3.0" ILLinkPackVersion="7.0.100-1.23211.1" />
934 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="netcoreapp3.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.0.0" LatestRuntimeFrameworkVersion="3.0.3" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" />
935 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="netcoreapp3.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.0.0" LatestRuntimeFrameworkVersion="3.0.3" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WPF" />
936 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="netcoreapp3.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.0.0" LatestRuntimeFrameworkVersion="3.0.3" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WindowsForms" />
937 <KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="netcoreapp3.0" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="3.0.0" LatestRuntimeFrameworkVersion="3.0.3" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="3.0.1" RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm;osx-x64;linux-musl-x64;linux-musl-arm64;linux-x64;linux-arm;linux-arm64" />
938 <KnownFrameworkReference Include="NETStandard.Library" TargetFramework="netstandard2.1" TargetingPackName="NETStandard.Library.Ref" TargetingPackVersion="2.1.0" />
939 <!--
940 Supported Windows versions using CsWinRT 3.0 (.NET 10 is the baseline). This leverages the revision of
941 the Windows SDK version to allow multi-targeting, which is required to allow customers to gradually migrate.
942 Both CsWinRT 3.0 and 2.x will be supported for a period of time, and packages can target both of them.
943 -->
944 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.26100.1" WindowsSdkPackageVersion="10.0.26100.57" MinimumNETVersion="10.0" />
945 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.22621.1" WindowsSdkPackageVersion="10.0.22621.57" MinimumNETVersion="10.0" />
946 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.22000.1" WindowsSdkPackageVersion="10.0.22000.57" MinimumNETVersion="10.0" />
947 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.20348.1" WindowsSdkPackageVersion="10.0.20348.57" MinimumNETVersion="10.0" />
948 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.19041.1" WindowsSdkPackageVersion="10.0.19041.57" MinimumNETVersion="10.0" />
949 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.18362.1" WindowsSdkPackageVersion="10.0.18362.57" MinimumNETVersion="10.0" />
950 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.17763.1" WindowsSdkPackageVersion="10.0.17763.57" MinimumNETVersion="10.0" />
951 <!-- Supported Windows versions using CsWinRT 2.x -->
952 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.26100.0" WindowsSdkPackageVersion="10.0.26100.57" MinimumNETVersion="8.0" />
953 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.22621.0" WindowsSdkPackageVersion="10.0.22621.57" MinimumNETVersion="8.0" />
954 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.22000.0" WindowsSdkPackageVersion="10.0.22000.57" MinimumNETVersion="8.0" />
955 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.20348.0" WindowsSdkPackageVersion="10.0.20348.57" MinimumNETVersion="8.0" />
956 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.19041.0" WindowsSdkPackageVersion="10.0.19041.57" MinimumNETVersion="8.0" />
957 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.18362.0" WindowsSdkPackageVersion="10.0.18362.57" MinimumNETVersion="8.0" />
958 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.17763.0" WindowsSdkPackageVersion="10.0.17763.57" MinimumNETVersion="8.0" />
959 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.26100.0" WindowsSdkPackageVersion="10.0.26100.55" MinimumNETVersion="6.0" />
960 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.22621.0" WindowsSdkPackageVersion="10.0.22621.55" MinimumNETVersion="6.0" />
961 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.22000.0" WindowsSdkPackageVersion="10.0.22000.55" MinimumNETVersion="6.0" />
962 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.20348.0" WindowsSdkPackageVersion="10.0.20348.55" MinimumNETVersion="6.0" />
963 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.19041.0" WindowsSdkPackageVersion="10.0.19041.55" MinimumNETVersion="6.0" />
964 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.18362.0" WindowsSdkPackageVersion="10.0.18362.55" MinimumNETVersion="6.0" />
965 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.17763.0" WindowsSdkPackageVersion="10.0.17763.55" MinimumNETVersion="6.0" />
966 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.22000.0" WindowsSdkPackageVersion="10.0.22000.26" MinimumNETVersion="5.0" />
967 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.20348.0" WindowsSdkPackageVersion="10.0.20348.26" MinimumNETVersion="5.0" />
968 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.19041.0" WindowsSdkPackageVersion="10.0.19041.26" MinimumNETVersion="5.0" />
969 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.18362.0" WindowsSdkPackageVersion="10.0.18362.26" MinimumNETVersion="5.0" />
970 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.17763.0" WindowsSdkPackageVersion="10.0.17763.26" MinimumNETVersion="5.0" />
971 <WindowsSdkSupportedTargetPlatformVersion Include="8.0" />
972 <WindowsSdkSupportedTargetPlatformVersion Include="7.0" />
973 <_KnownRuntimeIdentiferPlatforms Include="any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix" />
974 <_ExcludedKnownRuntimeIdentiferPlatforms Include="rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0;tizen.4.0.0;tizen.5.0.0" />
975 </ItemGroup>
976 <!--
977============================================================================================================================================
978 </Import>
979
980C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.props
981============================================================================================================================================
982-->
983 <PropertyGroup Condition="'$(NETCoreSdkBundledMSBuildInformationProps)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
984 <NETCoreSdkBundledMSBuildInformationProps>$(MSBuildThisFileDirectory)..\..\..\Microsoft.NETCoreSdk.BundledMSBuildInformation.props</NETCoreSdkBundledMSBuildInformationProps>
985 </PropertyGroup>
986 <!--
987============================================================================================================================================
988 <Import Project="$(NETCoreSdkBundledMSBuildInformationProps)" Condition="Exists('$(NETCoreSdkBundledMSBuildInformationProps)')">
989
990C:\Program Files\dotnet\sdk\10.0.100\Microsoft.NETCoreSdk.BundledMSBuildInformation.props
991============================================================================================================================================
992-->
993 <!--
994***********************************************************************************************
995Microsoft.NETCoreSdk.BundledMSBuildInformation.props
996WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
997 created a backup copy. Incorrect changes to this file will make it
998 impossible to load or build your projects from the command-line or the IDE.
999Copyright (c) .NET Foundation. All rights reserved.
1000***********************************************************************************************
1001-->
1002 <PropertyGroup>
1003 <MinimumMSBuildVersion>17.14.0</MinimumMSBuildVersion>
1004 <BundledMSBuildVersion>18.0.2</BundledMSBuildVersion>
1005 <_MSBuildVersionMajorMinor>$([System.Version]::Parse('$(MSBuildVersion)').ToString(2))</_MSBuildVersionMajorMinor>
1006 <_IsDisjointMSBuildVersion>$([MSBuild]::VersionLessThan('$(_MSBuildVersionMajorMinor)', '18.0'))</_IsDisjointMSBuildVersion>
1007 </PropertyGroup>
1008 <!--
1009============================================================================================================================================
1010 </Import>
1011
1012C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.props
1013============================================================================================================================================
1014-->
1015 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1016 <!-- Disable web SDK implicit package versions for ASP.NET packages, since the .NET SDK now handles that -->
1017 <EnableWebSdkImplicitPackageVersions>false</EnableWebSdkImplicitPackageVersions>
1018 </PropertyGroup>
1019 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1020 <__WindowsAppSdkDefaultImageIncludes>**/*.png;**/*.bmp;**/*.jpg;**/*.dds;**/*.tif;**/*.tga;**/*.gif</__WindowsAppSdkDefaultImageIncludes>
1021 </PropertyGroup>
1022 <ItemGroup Condition=" '$(EnableDefaultItems)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1023 <Compile Include="**/*$(DefaultLanguageSourceExtension)" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" Condition=" '$(EnableDefaultCompileItems)' == 'true' " />
1024 <EmbeddedResource Include="**/*.resx" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" Condition=" '$(EnableDefaultEmbeddedResourceItems)' == 'true' " />
1025 <!-- Microsoft.WindowsAppSDK is a NuGet delivered SDK. EnableDefaultWindowsAppSdkContentItems and EnableDefaultWindowsAppSdkPRIResourceItems are overridable properties that the SDK will set to true by default. -->
1026 <Content Include="$(__WindowsAppSdkDefaultImageIncludes)" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" Condition=" '$(EnableDefaultContentItems)' != 'false' And '$(EnableDefaultWindowsAppSdkContentItems)' == 'true' " />
1027 <PRIResource Include="**/*.resw" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" Condition=" '$(EnableDefaultPRIResourceItems)' != 'false' And '$(EnableDefaultWindowsAppSdkPRIResourceItems)' == 'true' " />
1028 </ItemGroup>
1029 <ItemGroup Condition=" '$(EnableDefaultItems)' == 'true' And '$(EnableDefaultNoneItems)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1030 <None Include="**/*" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
1031 <None Remove="**/*$(DefaultLanguageSourceExtension)" />
1032 <None Remove="**/*.resx" />
1033 <!-- Microsoft.WindowsAppSDK is a NuGet delivered SDK. EnableDefaultWindowsAppSdkContentItems and EnableDefaultWindowsAppSdkPRIResourceItems are overridable properties that the SDK will set to true by default. -->
1034 <None Remove="$(__WindowsAppSdkDefaultImageIncludes)" Condition=" '$(EnableDefaultWindowsAppSdkContentItems)' == 'true' " />
1035 <None Remove="**/*.resw" Condition=" '$(EnableDefaultWindowsAppSdkPRIResourceItems)' == 'true' " />
1036 </ItemGroup>
1037 <!-- Automatically reference NETStandard.Library or Microsoft.NETCore.App package if targeting the corresponding target framework.
1038 We can refer here in the .props file to properties set in the .targets files because items and their conditions are
1039 evaluated in the second pass of evaluation, after all properties have been evaluated. -->
1040 <ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(_TargetFrameworkVersionWithoutV)' &lt; '2.1'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1041 <PackageReference Include="NETStandard.Library" Version="$(NETStandardImplicitPackageVersion)" IsImplicitlyDefined="true" />
1042 <!-- If targeting .NET Standard 2.0 or higher, then don't include a dependency on NETStandard.Library in the package produced by pack -->
1043 <PackageReference Update="NETStandard.Library" Condition=" ('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &gt;= '2.0') " PrivateAssets="All" Publish="true" />
1044 </ItemGroup>
1045 <ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(_TargetFrameworkVersionWithoutV)' &gt;= '2.1'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1046 <FrameworkReference Include="NETStandard.Library" IsImplicitlyDefined="true" Pack="false" PrivateAssets="All" />
1047 </ItemGroup>
1048 <ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1049 <!-- Use implicit PackageReference for Microsoft.NETCore.App on versions prior to 3.0. For 3.0 or higher, use
1050 an implicit FrameworkReference -->
1051 <PackageReference Include="Microsoft.NETCore.App" IsImplicitlyDefined="true" Condition="('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &lt; '3.0')" />
1052 <!-- For targeting .NET Core 2.0 or higher, don't include a dependency on Microsoft.NETCore.App in the package produced by pack.
1053 Packing an DotnetCliTool should include the Microsoft.NETCore.App package dependency. -->
1054 <PackageReference Update="Microsoft.NETCore.App" Condition="('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &gt;= '2.0') And ('$(PackageType)' != 'DotnetCliTool')" PrivateAssets="All" Publish="true" />
1055 <FrameworkReference Include="Microsoft.NETCore.App" IsImplicitlyDefined="true" Pack="false" PrivateAssets="All" Condition="('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0')" />
1056 <!-- Allow opt-in to Mono runtime pack for .NET 6.0 or higher -->
1057 <FrameworkReference Update="Microsoft.NETCore.App" RuntimePackLabels="Mono" Condition="'$(UseMonoRuntime)' == 'true' And ('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &gt;= '6.0')" />
1058 <!-- Allow opt-in to NativeAOT runtime pack for .NET 8.0 or higher -->
1059 <FrameworkReference Update="Microsoft.NETCore.App" RuntimePackLabels="NativeAOT" Condition="'$(_IsPublishing)' == 'true' and '$(PublishAotUsingRuntimePack)' == 'true' And ('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &gt;= '8.0')" />
1060 </ItemGroup>
1061 <!--
1062============================================================================================================================================
1063 </Import>
1064
1065C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1066============================================================================================================================================
1067-->
1068 <!-- Put workload resolution behind a feature flag. It can be enabled either by setting the MSBuildEnableWorkloadResolver environment variable to true, or by
1069 putting an EnableWorkloadResolver.sentinel file beside the MSBuild SDK resolver DLL -->
1070 <PropertyGroup Condition="'$(MSBuildEnableWorkloadResolver)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1071 <__DisableWorkloadResolverSentinelPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildBinPath)\DisableWorkloadResolver.sentinel</__DisableWorkloadResolverSentinelPath>
1072 <__DisableWorkloadResolverSentinelPath Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildToolsPath32)\SdkResolvers\Microsoft.DotNet.MSBuildSdkResolver\DisableWorkloadResolver.sentinel</__DisableWorkloadResolverSentinelPath>
1073 <MSBuildEnableWorkloadResolver Condition="!Exists('$(__DisableWorkloadResolverSentinelPath)')">true</MSBuildEnableWorkloadResolver>
1074 </PropertyGroup>
1075 <!-- Import workload props -->
1076 <!--
1077============================================================================================================================================
1078 <Import Project="Microsoft.NET.Sdk.ImportWorkloads.props" Condition="'$(MSBuildEnableWorkloadResolver)' == 'true'">
1079
1080C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.props
1081============================================================================================================================================
1082-->
1083 <!--
1084***********************************************************************************************
1085Microsoft.NET.Sdk.ImportWorkloads.props
1086
1087WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1088 created a backup copy. Incorrect changes to this file will make it
1089 impossible to load or build your projects from the command-line or the IDE.
1090
1091Copyright (c) .NET Foundation. All rights reserved.
1092***********************************************************************************************
1093-->
1094 <!-- Import workload props -->
1095 <!--<Import Project="AutoImport.props" Sdk="Microsoft.NET.SDK.WorkloadAutoImportPropsLocator" />-->
1096 <!--
1097============================================================================================================================================
1098 </Import>
1099
1100C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1101============================================================================================================================================
1102-->
1103 <!-- List of supported .NET Core and .NET Standard TFMs -->
1104 <!--
1105============================================================================================================================================
1106 <Import Project="Microsoft.NET.SupportedTargetFrameworks.props">
1107
1108C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.SupportedTargetFrameworks.props
1109============================================================================================================================================
1110-->
1111 <!--
1112***********************************************************************************************
1113Microsoft.NET.SupportedTargetFrameworks.targets
1114
1115WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1116 created a backup copy. Incorrect changes to this file will make it
1117 impossible to load or build your projects from the command-line or the IDE.
1118
1119Copyright (c) .NET Foundation. All rights reserved.
1120***********************************************************************************************
1121-->
1122 <!-- This file contains a list of the TFMs that are supported by this SDK for .NET Core, .NET Standard, and .NET Framework.
1123 This is used by VS to show the list of frameworks to which projects can be retargeted. -->
1124 <!-- .NET Core App -->
1125 <ItemGroup>
1126 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.0" DisplayName=".NET Core 1.0" Alias="netcoreapp1.0" />
1127 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.1" DisplayName=".NET Core 1.1" Alias="netcoreapp1.1" />
1128 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.0" DisplayName=".NET Core 2.0" Alias="netcoreapp2.0" />
1129 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.1" DisplayName=".NET Core 2.1" Alias="netcoreapp2.1" />
1130 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.2" DisplayName=".NET Core 2.2" Alias="netcoreapp2.2" />
1131 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v3.0" DisplayName=".NET Core 3.0" Alias="netcoreapp3.0" />
1132 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v3.1" DisplayName=".NET Core 3.1" Alias="netcoreapp3.1" />
1133 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v5.0" DisplayName=".NET 5.0" Alias="net5.0" />
1134 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v6.0" DisplayName=".NET 6.0" Alias="net6.0" />
1135 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v7.0" DisplayName=".NET 7.0" Alias="net7.0" />
1136 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v8.0" DisplayName=".NET 8.0" Alias="net8.0" />
1137 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v9.0" DisplayName=".NET 9.0" Alias="net9.0" Condition="$([MSBuild]::VersionGreaterThanOrEquals($(MSBuildVersion), '17.12.0'))" />
1138 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v10.0" DisplayName=".NET 10.0" Alias="net10.0" />
1139 </ItemGroup>
1140 <PropertyGroup>
1141 <!-- This is for a better error experience when using an older VS (with an older SDK) to target a newer TFM. The value should be the min VS version for N+1 version-->
1142 <UnsupportedTargetFrameworkVersion>$([MSBuild]::Add($(NETCoreAppMaximumVersion), 1)).0</UnsupportedTargetFrameworkVersion>
1143 <MinimumVisualStudioVersionForUnsupportedTargetFrameworkVersion>17.16</MinimumVisualStudioVersionForUnsupportedTargetFrameworkVersion>
1144 </PropertyGroup>
1145 <!-- .NET Standard -->
1146 <ItemGroup>
1147 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.0" DisplayName=".NET Standard 1.0" Alias="netstandard1.0" />
1148 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.1" DisplayName=".NET Standard 1.1" Alias="netstandard1.1" />
1149 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.2" DisplayName=".NET Standard 1.2" Alias="netstandard1.2" />
1150 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.3" DisplayName=".NET Standard 1.3" Alias="netstandard1.3" />
1151 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.4" DisplayName=".NET Standard 1.4" Alias="netstandard1.4" />
1152 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.5" DisplayName=".NET Standard 1.5" Alias="netstandard1.5" />
1153 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.6" DisplayName=".NET Standard 1.6" Alias="netstandard1.6" />
1154 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v2.0" DisplayName=".NET Standard 2.0" Alias="netstandard2.0" />
1155 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v2.1" DisplayName=".NET Standard 2.1" Alias="netstandard2.1" />
1156 </ItemGroup>
1157 <!-- .NET Framework -->
1158 <ItemGroup>
1159 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v2.0" DisplayName=".NET Framework 2.0" Alias="net20" />
1160 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v3.0" DisplayName=".NET Framework 3.0" Alias="net30" />
1161 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v3.5" DisplayName=".NET Framework 3.5" Alias="net35" />
1162 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.0" DisplayName=".NET Framework 4.0" Alias="net40" />
1163 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.5" DisplayName=".NET Framework 4.5" Alias="net45" />
1164 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.5.1" DisplayName=".NET Framework 4.5.1" Alias="net451" />
1165 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.5.2" DisplayName=".NET Framework 4.5.2" Alias="net452" />
1166 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.6" DisplayName=".NET Framework 4.6" Alias="net46" />
1167 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.6.1" DisplayName=".NET Framework 4.6.1" Alias="net461" />
1168 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.6.2" DisplayName=".NET Framework 4.6.2" Alias="net462" />
1169 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.7" DisplayName=".NET Framework 4.7" Alias="net47" />
1170 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.7.1" DisplayName=".NET Framework 4.7.1" Alias="net471" />
1171 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.7.2" DisplayName=".NET Framework 4.7.2" Alias="net472" />
1172 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.8" DisplayName=".NET Framework 4.8" Alias="net48" />
1173 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.8.1" DisplayName=".NET Framework 4.8.1" Alias="net481" />
1174 </ItemGroup>
1175 <!-- All supported target frameworks -->
1176 <ItemGroup>
1177 <SupportedTargetFramework Include="@(SupportedNETCoreAppTargetFramework);@(SupportedNETStandardTargetFramework);@(SupportedNETFrameworkTargetFramework)" />
1178 </ItemGroup>
1179 <!--
1180============================================================================================================================================
1181 </Import>
1182
1183C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1184============================================================================================================================================
1185-->
1186 <!-- List of supported target platforms -->
1187 <!--
1188============================================================================================================================================
1189 <Import Project="Microsoft.NET.SupportedPlatforms.props">
1190
1191C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.SupportedPlatforms.props
1192============================================================================================================================================
1193-->
1194 <!--
1195***********************************************************************************************
1196Microsoft.NET.SupportedPlatforms.props
1197
1198WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1199 created a backup copy. Incorrect changes to this file will make it
1200 impossible to load or build your projects from the command-line or the IDE.
1201
1202Copyright (c) .NET Foundation. All rights reserved.
1203***********************************************************************************************
1204-->
1205 <ItemGroup>
1206 <!-- Platforms supported by this SDK for analyzer warnings. Spec: https://github.com/dotnet/designs/blob/main/accepted/2020/platform-exclusion/platform-exclusion.md -->
1207 <SupportedPlatform Include="Linux" />
1208 <SupportedPlatform Include="macOS" />
1209 <SupportedPlatform Include="Windows" />
1210 </ItemGroup>
1211 <!--
1212============================================================================================================================================
1213 </Import>
1214
1215C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1216============================================================================================================================================
1217-->
1218 <!-- List of supported .NET windows target platform versions -->
1219 <!--
1220============================================================================================================================================
1221 <Import Project="Microsoft.NET.WindowsSdkSupportedTargetPlatforms.props">
1222
1223C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.WindowsSdkSupportedTargetPlatforms.props
1224============================================================================================================================================
1225-->
1226 <!--
1227***********************************************************************************************
1228Microsoft.NET.WindowsSdkSupportedTargetPlatforms.props
1229
1230WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1231 created a backup copy. Incorrect changes to this file will make it
1232 impossible to load or build your projects from the command-line or the IDE.
1233
1234Copyright (c) .NET Foundation. All rights reserved.
1235***********************************************************************************************
1236-->
1237 <!-- This file contains a list of the windows target platform versions that are supported by this SDK for .NET. Supported versions are processed in _NormalizeTargetPlatformVersion -->
1238 <!-- These will be added to the BundledVersions.props that's generated in dotnet/installer. So only add them here if we don't have that change yet -->
1239 <ItemGroup Condition="'@(WindowsSdkSupportedTargetPlatformVersion)' == ''">
1240 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.19041.0" WindowsSdkPackageVersion="10.0.19041.16" MinimumNETVersion="5.0" />
1241 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.18362.0" WindowsSdkPackageVersion="10.0.18362.16" MinimumNETVersion="5.0" />
1242 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.17763.0" WindowsSdkPackageVersion="10.0.17763.16" MinimumNETVersion="5.0" />
1243 <WindowsSdkSupportedTargetPlatformVersion Include="8.0" />
1244 <WindowsSdkSupportedTargetPlatformVersion Include="7.0" />
1245 </ItemGroup>
1246 <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'Windows'">
1247 <!-- Normalize the last part of TFM to .0 when ending with .1 as that indicates the use of the CsWinRT 3.0 verison. -->
1248 <_NormalizedWindowsSdkSupportedTargetPlatformVersion Include="@(WindowsSdkSupportedTargetPlatformVersion)">
1249 <NormalizedSupportedTargetPlatformVersion Condition="$([System.Text.RegularExpressions.Regex]::IsMatch(%(Identity), '^((\d+\.){3})1$'))">$([System.Text.RegularExpressions.Regex]::Replace(%(Identity), '^((\d+\.){3})1$', '${1}0'))</NormalizedSupportedTargetPlatformVersion>
1250 </_NormalizedWindowsSdkSupportedTargetPlatformVersion>
1251 <SdkSupportedTargetPlatformVersion Include="@(_NormalizedWindowsSdkSupportedTargetPlatformVersion)" />
1252 </ItemGroup>
1253 <!--
1254============================================================================================================================================
1255 </Import>
1256
1257C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1258============================================================================================================================================
1259-->
1260 <!--
1261============================================================================================================================================
1262 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.SourceLink.props">
1263
1264C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.props
1265============================================================================================================================================
1266-->
1267 <!--
1268***********************************************************************************************
1269Microsoft.NET.Sdk.SourceLink.props
1270
1271WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1272 created a backup copy. Incorrect changes to this file will make it
1273 impossible to load or build your projects from the command-line or the IDE.
1274
1275Copyright (c) .NET Foundation. All rights reserved.
1276***********************************************************************************************
1277-->
1278 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1279 <!-- Suppress implicit SourceLink inclusion if any Microsoft.SourceLink package is referenced. -->
1280 <SuppressImplicitGitSourceLink Condition="'$(PkgMicrosoft_SourceLink_Common)' != ''">true</SuppressImplicitGitSourceLink>
1281 <_SourceLinkPropsImported>true</_SourceLinkPropsImported>
1282 </PropertyGroup>
1283 <!--<ImportGroup Condition="'$(SuppressImplicitGitSourceLink)' != 'true'">-->
1284 <!--
1285============================================================================================================================================
1286 <Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.Build.Tasks.Git\build\Microsoft.Build.Tasks.Git.props">
1287
1288C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.Build.Tasks.Git\build\Microsoft.Build.Tasks.Git.props
1289============================================================================================================================================
1290-->
1291 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
1292 <PropertyGroup>
1293 <MicrosoftBuildTasksGitAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\netframework\Microsoft.Build.Tasks.Git.dll</MicrosoftBuildTasksGitAssemblyFile>
1294 <MicrosoftBuildTasksGitAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\net\Microsoft.Build.Tasks.Git.dll</MicrosoftBuildTasksGitAssemblyFile>
1295 </PropertyGroup>
1296 <!--
1297============================================================================================================================================
1298 </Import>
1299
1300C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.props
1301============================================================================================================================================
1302-->
1303 <!--
1304============================================================================================================================================
1305 <Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.SourceLink.Common\build\Microsoft.SourceLink.Common.props">
1306
1307C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.SourceLink.Common\build\Microsoft.SourceLink.Common.props
1308============================================================================================================================================
1309-->
1310 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
1311 <PropertyGroup>
1312 <_MicrosoftSourceLinkCommonAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\netframework\Microsoft.SourceLink.Common.dll</_MicrosoftSourceLinkCommonAssemblyFile>
1313 <_MicrosoftSourceLinkCommonAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\net\Microsoft.SourceLink.Common.dll</_MicrosoftSourceLinkCommonAssemblyFile>
1314 </PropertyGroup>
1315 <PropertyGroup>
1316 <!--
1317 Used to suppress querying source control and features that use the information (e.g. git commit SHA).
1318 -->
1319 <EnableSourceControlManagerQueries Condition="'$(EnableSourceControlManagerQueries)' == ''">true</EnableSourceControlManagerQueries>
1320 <!--
1321 Do not generate SourceLink when building in the IDE or for Live Unit Testing.
1322 -->
1323 <EnableSourceLink Condition="'$(EnableSourceLink)' == '' and '$(DesignTimeBuild)' != 'true' and '$(BuildingForLiveUnitTesting)' != 'true'">true</EnableSourceLink>
1324 </PropertyGroup>
1325 <!--
1326============================================================================================================================================
1327 </Import>
1328
1329C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.props
1330============================================================================================================================================
1331-->
1332 <!--
1333============================================================================================================================================
1334 <Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.SourceLink.GitHub\build\Microsoft.SourceLink.GitHub.props">
1335
1336C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.SourceLink.GitHub\build\Microsoft.SourceLink.GitHub.props
1337============================================================================================================================================
1338-->
1339 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
1340 <ItemGroup>
1341 <SourceLinkGitHubHost Include="github.com" ContentUrl="https://raw.githubusercontent.com" />
1342 </ItemGroup>
1343 <!--
1344============================================================================================================================================
1345 </Import>
1346
1347C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.props
1348============================================================================================================================================
1349-->
1350 <!--
1351============================================================================================================================================
1352 <Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.SourceLink.GitLab\build\Microsoft.SourceLink.GitLab.props">
1353
1354C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.SourceLink.GitLab\build\Microsoft.SourceLink.GitLab.props
1355============================================================================================================================================
1356-->
1357 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
1358 <ItemGroup>
1359 <SourceLinkGitLabHost Include="gitlab.com" />
1360 </ItemGroup>
1361 <!--
1362============================================================================================================================================
1363 </Import>
1364
1365C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.props
1366============================================================================================================================================
1367-->
1368 <!--
1369============================================================================================================================================
1370 <Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.SourceLink.AzureRepos.Git\build\Microsoft.SourceLink.AzureRepos.Git.props">
1371
1372C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.SourceLink.AzureRepos.Git\build\Microsoft.SourceLink.AzureRepos.Git.props
1373============================================================================================================================================
1374-->
1375 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
1376 <ItemGroup>
1377 <SourceLinkAzureReposGitHost Include="visualstudio.com" />
1378 <SourceLinkAzureReposGitHost Include="vsts.me" />
1379 <SourceLinkAzureReposGitHost Include="dev.azure.com" />
1380 </ItemGroup>
1381 <!--
1382============================================================================================================================================
1383 </Import>
1384
1385C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.props
1386============================================================================================================================================
1387-->
1388 <!--
1389============================================================================================================================================
1390 <Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.SourceLink.Bitbucket.Git\build\Microsoft.SourceLink.Bitbucket.Git.props">
1391
1392C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.SourceLink.Bitbucket.Git\build\Microsoft.SourceLink.Bitbucket.Git.props
1393============================================================================================================================================
1394-->
1395 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
1396 <ItemGroup>
1397 <SourceLinkBitbucketGitHost Include="bitbucket.org" EnterpriseEdition="false" />
1398 </ItemGroup>
1399 <!--
1400============================================================================================================================================
1401 </Import>
1402
1403C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.props
1404============================================================================================================================================
1405-->
1406 <!--</ImportGroup>-->
1407 <!--
1408============================================================================================================================================
1409 </Import>
1410
1411C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1412============================================================================================================================================
1413-->
1414 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.CSharp.props" Condition="'$(MSBuildProjectExtension)' == '.csproj'" />-->
1415 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.VisualBasic.props" Condition="'$(MSBuildProjectExtension)' == '.vbproj'" />-->
1416 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.FSharp.props" Condition="'$(MSBuildProjectExtension)' == '.fsproj'" />-->
1417 <!--
1418============================================================================================================================================
1419 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackTool.props">
1420
1421C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.PackTool.props
1422============================================================================================================================================
1423-->
1424 <!--
1425***********************************************************************************************
1426Microsoft.NET.PackTool.props
1427
1428WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1429 created a backup copy. Incorrect changes to this file will make it
1430 impossible to load or build your projects from the command-line or the IDE.
1431
1432Copyright (c) .NET Foundation. All rights reserved.
1433***********************************************************************************************
1434-->
1435 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
1436 <!--
1437============================================================================================================================================
1438 </Import>
1439
1440C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1441============================================================================================================================================
1442-->
1443 <!--
1444============================================================================================================================================
1445 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackProjectTool.props">
1446
1447C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.PackProjectTool.props
1448============================================================================================================================================
1449-->
1450 <!--
1451***********************************************************************************************
1452Microsoft.NET.PackProjectTool.props
1453
1454WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1455 created a backup copy. Incorrect changes to this file will make it
1456 impossible to load or build your projects from the command-line or the IDE.
1457
1458Copyright (c) .NET Foundation. All rights reserved.
1459***********************************************************************************************
1460-->
1461 <!-- This UsingTask is in the PackTool.props because there is usage of it in other areas of the product
1462 and on public GitHub: https://github.com/search?q=path%3A*.props+OR+path%3A*.targets+AND+%28NOT+path%3A*%2FMicrosoft.NET.PackTool.targets%29+AND+%28NOT+path%3A*%2FMicrosoft.NET.Publish.targets%29+GetNuGetShortFolderName&amp;type=code -->
1463 <UsingTask TaskName="Microsoft.NET.Build.Tasks.GetNuGetShortFolderName" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
1464 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1465 <TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);_PackProjectToolValidation</TargetsForTfmSpecificContentInPackage>
1466 </PropertyGroup>
1467 <!--
1468============================================================================================================================================
1469 </Import>
1470
1471C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1472============================================================================================================================================
1473-->
1474 <!--
1475============================================================================================================================================
1476 <Import Project="$(MSBuildThisFileDirectory)../../Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.props" Condition="Exists('$(MSBuildThisFileDirectory)../../Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.props')">
1477
1478C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.props
1479============================================================================================================================================
1480-->
1481 <ItemDefinitionGroup Condition=" '$(_EnableWindowsDesktopGlobbing)' == 'true' ">
1482 <ApplicationDefinition>
1483 <Generator>MSBuild:Compile</Generator>
1484 <XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime>
1485 <SubType>Designer</SubType>
1486 </ApplicationDefinition>
1487 <Page>
1488 <Generator>MSBuild:Compile</Generator>
1489 <XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime>
1490 <SubType>Designer</SubType>
1491 </Page>
1492 </ItemDefinitionGroup>
1493 <ItemGroup Condition=" '$(_EnableWindowsDesktopGlobbing)' == 'true' ">
1494 <ApplicationDefinition Include="App.xaml" Condition="'$(EnableDefaultApplicationDefinition)' != 'false' And Exists('$(MSBuildProjectDirectory)/App.xaml') And '$(MSBuildProjectExtension)' == '.csproj'" />
1495 <ApplicationDefinition Include="Application.xaml" Condition="'$(EnableDefaultApplicationDefinition)' != 'false' And Exists('$(MSBuildProjectDirectory)/Application.xaml') And '$(MSBuildProjectExtension)' == '.vbproj'" />
1496 <Page Include="**/*.xaml" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);@(ApplicationDefinition)" Condition="'$(EnableDefaultPageItems)' != 'false'" />
1497 <!--
1498 See https://github.com/dotnet/wpf/issues/685
1499 Visual Studio would prefer that we remove **/*.xaml instead of
1500 being more precise.
1501
1502 <None Remove="@(Page)"
1503 Condition="'$(EnableDefaultPageItems)' != 'false'" />
1504 <None Remove="@(ApplicationDefinition)"
1505 Condition="'$(EnableDefaultApplicationDefinition)' != 'false'" />
1506 -->
1507 <None Remove="**/*.xaml" Condition="'$(EnableDefaultApplicationDefinition)' != 'false' And '$(EnableDefaultPageItems)' != 'false'" />
1508 </ItemGroup>
1509 <ItemGroup Condition=" '$(_EnableWindowsDesktopNetCoreFrameworkReferences)' == 'true' ">
1510 <FrameworkReference Include="Microsoft.WindowsDesktop.App" IsImplicitlyDefined="true" Condition="('$(UseWPF)' == 'true') And ('$(UseWindowsForms)' == 'true')" />
1511 <FrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" IsImplicitlyDefined="true" Condition="('$(UseWPF)' == 'true') And ('$(UseWindowsForms)' != 'true')" />
1512 <FrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" IsImplicitlyDefined="true" Condition="('$(UseWPF)' != 'true') And ('$(UseWindowsForms)' == 'true')" />
1513 </ItemGroup>
1514 <!--
1515 Traditionally, Visual Studio has supplied these references for .NET Framework based
1516 WPF Projects:
1517
1518 .NET 3.x: PresentationCore, PresentationFramework, WindowsBase
1519 .NET 4.x: PresentationCore, PresentationFramework, WindowsBase, System.Xaml
1520
1521
1522 Microsoft.NET.WindowsDesktop.SDK will supply the following references to .NET Framework based
1523 WPF Projects:
1524
1525 .NET 3.x: PresentationCore, PresentationFramework, WindowsBase
1526
1527 .NET 4.0: PresentationCore, PresentationFramework, WindowsBase, System.Xaml,
1528 UIAutomationClient, UIAutomationClientSideProviders, UIAutomationProvider, UIAutomationTypes
1529
1530 .NET 4.5+: PresentationCore, PresentationFramework, WindowsBase, System.Xaml,
1531 UIAutomationClient, UIAutomationClientSideProviders, UIAutomationProvider, UIAutomationTypes
1532 System.Windows.Controls.Ribbon
1533 -->
1534 <ItemGroup Condition=" '$(_EnableWindowsDesktopNETFrameworkImplicitReference)' == 'true' ">
1535 <!--
1536 The following 3 _WpfCommonNetFxReference items normally require Condition="'$(_TargetFrameworkVersionValue)' >= '3.0'", since
1537 they are supported on .NET Framework 3.0 and above.
1538
1539 This condition is implicitly satisfied by '$(_TargetFrameworkVersionValue)' >= '$(_WindowsDesktopSdkTargetFrameworkVersionFloor)'
1540 in the outer ItemGroup
1541 -->
1542 <_WpfCommonNetFxReference Include="WindowsBase" />
1543 <_WpfCommonNetFxReference Include="PresentationCore" />
1544 <_WpfCommonNetFxReference Include="PresentationFramework" />
1545 <_WpfCommonNetFxReference Include="System.Xaml" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' &gt;= '4.0'">
1546 <RequiredTargetFramework>4.0</RequiredTargetFramework>
1547 </_WpfCommonNetFxReference>
1548 <_WpfCommonNetFxReference Include="UIAutomationClient" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' &gt;= '4.0'" />
1549 <_WpfCommonNetFxReference Include="UIAutomationClientSideProviders" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' &gt;= '4.0'" />
1550 <_WpfCommonNetFxReference Include="UIAutomationProvider" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' &gt;= '4.0'" />
1551 <_WpfCommonNetFxReference Include="UIAutomationTypes" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' &gt;= '4.0'" />
1552 <_WpfCommonNetFxReference Include="System.Windows.Controls.Ribbon" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' &gt;= '4.5'" />
1553 </ItemGroup>
1554 <ItemGroup Condition=" '$(_EnableWindowsDesktopNETFrameworkImplicitReference)' == 'true' ">
1555 <_SDKImplicitReference Include="@(_WpfCommonNetFxReference)" Condition="'$(UseWPF)' == 'true'" />
1556 <_SDKImplicitReference Include="System.Windows.Forms" Condition="('$(UseWindowsForms)' == 'true') " />
1557 <_SDKImplicitReference Include="WindowsFormsIntegration" Condition=" ('$(UseWindowsForms)' == 'true') And ('$(UseWPF)' == 'true') " />
1558 </ItemGroup>
1559 <!--
1560 Supported (and unsupported) TargetFrameworks
1561
1562 Visual Studio Project System determines the list of valid TargetFrameworks to show
1563 in the Project properties by querying SupportedTargetFramework values.
1564
1565 The Project System does not refer to this list at this time for .NET Framework TFM's.
1566 -->
1567 <!--
1568 When WindowsDesktop SDK is used without setting UseWPF or UseWindowsForms, it shows a (suppressible) warning and functions much
1569 like Microsoft.NET.Sdk
1570
1571 Likewise, when WindowsDesktop SDK is used with a netcore TFM that is less than 3.0, it will simply act as if it were an
1572 Microsoft.NET.Sdk project (and show a suppressible build-time warning).
1573
1574 Detect these situations and skip updates to @(SupportedTargetFramework) etc.
1575 -->
1576 <ItemGroup Condition=" '$(_RemoveUnsupportedTargetFrameworksForWindowsDesktop)' == 'true' ">
1577 <!--
1578 Windows Forms and WPF are supported only on .NET Core 3.0+
1579 -->
1580 <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.0" />
1581 <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.1" />
1582 <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.0" />
1583 <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.1" />
1584 <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.2" />
1585 <!--
1586 Windows Forms and WPF are not supported an any .NET Standard targets
1587 -->
1588 <_UnsupportedNETStandardTargetFramework Include="@(SupportedNETStandardTargetFramework)" />
1589 <!--
1590 Windows Forms was supported since .NET Framework 1.0, and is currently supported on
1591 .NET Framework 2.0+.
1592
1593 WPF is supported on .NET Framework and WPF are supported on .NET Framework 3.0+
1594
1595 In practice, the WindowsDesktop SDK is only supported on .NET Framework 3.0+ - this is controlled
1596 by $(_WindowsDesktopSdkTargetFrameworkVersionFloor), defined as 3.0, which applies to both .NETFramework
1597 and .NETCore.
1598
1599 Here, we will encode .NET Framework 3.0 as the lowest supported version for both Windows Forms and WPF.
1600
1601 The SDK does not define versions < 2.0 in @(SupportedNETFrameworkTargetFramework) list, so none of those
1602 need to be excluded here - removing 2.0 would suffice.
1603 -->
1604 <_UnsupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v2.0" />
1605 <SupportedNETCoreAppTargetFramework Remove="@(_UnsupportedNETCoreAppTargetFramework)" />
1606 <SupportedNETStandardTargetFramework Remove="@(_UnsupportedNETStandardTargetFramework)" />
1607 <SupportedNETFrameworkTargetFramework Remove="@(_UnsupportedNETFrameworkTargetFramework)" />
1608 <SupportedTargetFramework Remove="@(_UnsupportedNETCoreAppTargetFramework);@(_UnsupportedNETStandardTargetFramework);@(_UnsupportedNETFrameworkTargetFramework)" />
1609 </ItemGroup>
1610 <!--
1611 Import Windows Forms props.
1612 These come via the Windows Forms transport package, that can be found under
1613 https://github.com/dotnet/winforms/tree/main/pkg/Microsoft.Private.Winforms/sdk
1614 -->
1615 <!--
1616============================================================================================================================================
1617 <Import Project="Microsoft.NET.Sdk.WindowsDesktop.WindowsForms.props">
1618
1619C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.WindowsForms.props
1620============================================================================================================================================
1621-->
1622 <!--
1623 This props file comes from dotnet/winforms. It gets ingested by dotnet/wpf and processed by
1624 packaging/Microsoft.NET.Sdk.WindowsDesktop project.
1625
1626 It is referenced via Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.props.
1627 -->
1628 <!--
1629 ============================================================
1630 GenerateImplicitNamespaceImports
1631 Generates implicit namespace imports source to intermediate directory for Windows Forms projects
1632 ============================================================
1633 -->
1634 <ItemGroup Condition="'$(UseWindowsForms)' == 'true' and ('$(ImplicitUsings)' == 'true' or '$(ImplicitUsings)' == 'enable')">
1635 <!--
1636 SDK defines the following global usings:
1637 * System
1638 * System.Collections.Generic
1639 * System.Linq
1640 * System.Threading.Tasks
1641 -->
1642 <Using Include="System.Drawing" />
1643 <Using Include="System.Windows.Forms" />
1644 </ItemGroup>
1645 <!-- Windows Forms source generator and analyzers -->
1646 <!--
1647============================================================================================================================================
1648 <Import Project="System.Windows.Forms.Analyzers.props">
1649
1650C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\System.Windows.Forms.Analyzers.props
1651============================================================================================================================================
1652-->
1653 <!--
1654 This props file comes from dotnet/winforms. It gets ingested by dotnet/wpf and processed by
1655 packaging/Microsoft.NET.Sdk.WindowsDesktop project.
1656
1657 It is referenced via Microsoft.NET.Sdk.WindowsDesktop.WindowsForms.props.
1658 -->
1659 <!-- Import for Windows Forms applications or when developing/testing locally -->
1660 <ItemGroup Condition="('$(UseWindowsForms)' == 'true') or ('$(ResolveWinFormsAnalyzersFromSdkRefPack)' == 'false')">
1661 <!-- Known Application properties -->
1662 <CompilerVisibleProperty Include="ApplicationManifest" />
1663 <CompilerVisibleProperty Include="StartupObject" />
1664 <!--
1665 Custom Application properties
1666 See for more details: https://github.com/dotnet/designs/blob/main/accepted/2021/winforms/streamline-application-bootstrap.md#msbuild-properties
1667 -->
1668 <CompilerVisibleProperty Include="ApplicationDefaultFont" />
1669 <CompilerVisibleProperty Include="ApplicationHighDpiMode" />
1670 <CompilerVisibleProperty Include="ApplicationUseCompatibleTextRendering" />
1671 <CompilerVisibleProperty Include="ApplicationVisualStyles" />
1672 <!-- If there is an app.manifest - let the generator explore it -->
1673 <AdditionalFiles Include="$(ApplicationManifest)" Condition="'$(ApplicationManifest)' != ''" />
1674 </ItemGroup>
1675 <!--
1676============================================================================================================================================
1677 </Import>
1678
1679C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.WindowsForms.props
1680============================================================================================================================================
1681-->
1682 <!--
1683============================================================================================================================================
1684 </Import>
1685
1686C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.props
1687============================================================================================================================================
1688-->
1689 <!--
1690============================================================================================================================================
1691 <Import Project="Microsoft.NET.Sdk.WindowsDesktop.WPF.props">
1692
1693C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.WPF.props
1694============================================================================================================================================
1695-->
1696 <!--
1697 Generates implicit global namespace imports file <projectname>.ImplicitGlobalNamespaceImports.cs.
1698 -->
1699 <ItemGroup Condition="'$(UseWPF)' == 'true' and ('$(ImplicitUsings)' == 'true' or '$(ImplicitUsings)' == 'enable')">
1700 <Using Remove="System.IO" />
1701 <Using Remove="System.Net.Http" />
1702 </ItemGroup>
1703 <!--
1704============================================================================================================================================
1705 </Import>
1706
1707C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.props
1708============================================================================================================================================
1709-->
1710 <!--
1711============================================================================================================================================
1712 </Import>
1713
1714C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1715============================================================================================================================================
1716-->
1717 <!--
1718============================================================================================================================================
1719 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Windows.props">
1720
1721C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Windows.props
1722============================================================================================================================================
1723-->
1724 <!--
1725***********************************************************************************************
1726Microsoft.NET.Windows.props
1727
1728WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1729 created a backup copy. Incorrect changes to this file will make it
1730 impossible to load or build your projects from the command-line or the IDE.
1731
1732Copyright (c) .NET Foundation. All rights reserved.
1733***********************************************************************************************
1734-->
1735 <ItemGroup Condition=" '$(IncludeWindowsSDKRefFrameworkReferences)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1736 <FrameworkReference Include="Microsoft.Windows.SDK.NET.Ref.Windows" IsImplicitlyDefined="true" Pack="false" PrivateAssets="All" Condition="'$(_TargetPlatformVersionUsesCsWinRT3)' != 'true'" />
1737 <FrameworkReference Include="Microsoft.Windows.SDK.NET.Ref.CsWinRT3.Windows" IsImplicitlyDefined="true" Pack="false" PrivateAssets="All" Condition="'$(_TargetPlatformVersionUsesCsWinRT3)' == 'true'" />
1738 </ItemGroup>
1739 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1740 <MicrosoftNETWindowsWorkloadInstalled>true</MicrosoftNETWindowsWorkloadInstalled>
1741 <!--https://github.com/dotnet/sdk/issues/12403-->
1742 <_TargetFrameworkVersionValue>0.0</_TargetFrameworkVersionValue>
1743 <_WindowsDesktopSdkTargetFrameworkVersionFloor>3.0</_WindowsDesktopSdkTargetFrameworkVersionFloor>
1744 </PropertyGroup>
1745 <!--
1746============================================================================================================================================
1747 </Import>
1748
1749C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1750============================================================================================================================================
1751-->
1752 <!--
1753 Extensibility point for users to import build logic after all of the .NET SDKs .props are imported but before the project's contents are evaluated.
1754 This can be useful for overriding default globs or properties that the SDK sets.
1755 -->
1756 <!--
1757============================================================================================================================================
1758 <Import Project="$(AfterMicrosoftNetSdkProps)" Condition="$(AfterMicrosoftNetSdkProps) != ''">
1759
1760C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Microsoft\WindowsXaml\v18.0\8.21\Microsoft.Windows.UI.Xaml.CSharp.ModernNET.DefaultItems.props
1761============================================================================================================================================
1762-->
1763 <!--
1764***********************************************************************************************
1765Microsoft.Windows.UI.Xaml.CSharp.ModernNET.DefaultItems.props
1766
1767WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1768 created a backup copy. Incorrect changes to this file will make it
1769 impossible to load or build your projects from the command-line or the IDE.
1770
1771Copyright (C) Microsoft Corporation. All rights reserved.
1772***********************************************************************************************
1773-->
1774 <!--
1775 SDK-style auto-import of XAML items for modern .NET UWP XAML apps. Note that we are intentionally
1776 not including content assets here, as those would not work when using a separate WAP project. Those
1777 are added below, only if we have checked that the MSIX tooling is enabled for the project. Note that
1778 it's also valid for a UWP app to not have the XAML compiler enabled, but to still want to include
1779 all default assets. For instance, this is the standard configuration of a non-XAML UWP CoreWindow
1780 (DirectX) app. Such an app will only be using Composition and/or DirectX APIs, but no XAML at all.
1781
1782 Note: these items have to be imported after the common .NET SDK .props, as they are also removing all
1783 'None' items for XAML pages. As such, these .props have to be evaluated after the .props adding those
1784 default items as 'None' in the first place, in order for things to work correctly.
1785 -->
1786 <ItemGroup Condition="'$(UseUwpTools)' == 'true' AND '$(EnableXamlCompilerTargetsForUwpApps)' == 'true' AND '$(EnableDefaultItems)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1787 <!--
1788 'App.xaml' definition (standard application definition, included in all XAML templates).
1789 Note: both 'App.xaml' and all other XAML pages should also have 'SubType=Designer' set as
1790 an attribute on their respective 'ApplicationDefinition' or 'Page' XML elements. However,
1791 doing this from here results in the attribute not being seen by the project system component
1792 that looks for it after creating XAML items from a project/item template. This results in
1793 the .csproj file incorrectly still being modified with a new 'Update' item that sets that
1794 attribute. This comment should be updated to reference the correct location to handle that
1795 (presumably somewhere else in VS), once a solution for this SDK-style issue is found.
1796
1797 Note: while the XAML designer is not currently supported for UWP .NET 9 apps, we still need
1798 the 'SubType=Designer' property, as that enables SHIFT + F7 navigation in the IDE to jump
1799 from a .xaml.cs file back to its associated .xaml file. Without it, only F5 navigation will
1800 work (which allows navigating from a .xaml file to its backing .xaml.cs file).
1801 -->
1802 <ApplicationDefinition Include="App.xaml" Condition="'$(EnableDefaultApplicationDefinition)' != 'false' AND Exists('$(MSBuildProjectDirectory)/App.xaml')">
1803 <SubType>Designer</SubType>
1804 <Generator>MSBuild:Compile</Generator>
1805 <XamlRuntime Condition="'$(DefaultXamlRuntime)' != ''">$(DefaultXamlRuntime)</XamlRuntime>
1806 <XamlRuntime Condition="'$(DefaultXamlRuntime)' == ''">UAP</XamlRuntime>
1807 </ApplicationDefinition>
1808 <!--
1809 'UnitTestApp.xaml' definition, for unit test projects. In this case, we are following the naming convention used by both the classic UWP
1810 unit test project template, and the new WinUI 3 unit test project template, where the application definition is named 'UnitTestApp'. To
1811 make this work, we need to automatically mark that file as the application definition, or we won't get the entry point being generated.
1812 To choose when to do that, we're also checking for 'IsTestProject', which is set by a .targets file in 'Microsoft.NET.Test.Sdk'.
1813 -->
1814 <ApplicationDefinition Include="UnitTestApp.xaml" Condition="'$(EnableDefaultApplicationDefinition)' != 'false' AND '$(IsTestProject)' == 'true' AND Exists('$(MSBuildProjectDirectory)/UnitTestApp.xaml')">
1815 <SubType>Designer</SubType>
1816 <Generator>MSBuild:Compile</Generator>
1817 <XamlRuntime Condition="'$(DefaultXamlRuntime)' != ''">$(DefaultXamlRuntime)</XamlRuntime>
1818 <XamlRuntime Condition="'$(DefaultXamlRuntime)' == ''">UAP</XamlRuntime>
1819 </ApplicationDefinition>
1820 <!-- Auto-include all XAML items (this covers pages, controls, resource dictionaries, etc.) -->
1821 <Page Include="**/*.xaml" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);@(ApplicationDefinition)" Condition="'$(EnableDefaultPageItems)' != 'false'">
1822 <SubType>Designer</SubType>
1823 <Generator>MSBuild:Compile</Generator>
1824 <XamlRuntime Condition="'$(DefaultXamlRuntime)' != ''">$(DefaultXamlRuntime)</XamlRuntime>
1825 <XamlRuntime Condition="'$(DefaultXamlRuntime)' == ''">UAP</XamlRuntime>
1826 </Page>
1827 <!-- Remove all XAML items from the implicit 'None' set if we did include them as XAML elements -->
1828 <None Remove="**/*.xaml" Condition="'$(EnableDefaultApplicationDefinition)' != 'false' AND '$(EnableDefaultPageItems)' != 'false'" />
1829 </ItemGroup>
1830 <!--
1831 If the MSIX tools are enabled, also include assets automatically, to match what WinUI and legacy UWP also do.
1832 This also means that projects migrating from UWP on .NET 9 to WinUI 3 won't have to make any changes here.
1833 Note: 'None' items for assets are intentionally not removed, to avoid Visual Studio adding them back automatically.
1834 -->
1835 <ItemGroup Condition="'$(UseUwpTools)' == 'true' AND&#xD;&#xA; '$(_EnableSingleProjectMsixToolingForUwpApps)' == 'true' AND&#xD;&#xA; '$(EnableDefaultItems)' == 'true' AND&#xD;&#xA; '$(EnableDefaultAssets)' != 'false'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1836 <Content Include="Assets/**/*.*" />
1837 </ItemGroup>
1838 <!--
1839 Automatically import PRI resources (and remove those items from 'None') for class libraries. The logic below is equivalent
1840 to the one for WindowsAppSDK that lives in 'Microsoft.NET.Sdk.DefaultItems.props' in the .NET SDK. Because UWP support is
1841 built-in into Visual Studio, we can include this logic here along with all other item imports. Note that this is only
1842 needed for libraries, and not for executables, since those would be using the lifted MSIX tooling NuGet package. UWP class
1843 libraries use the APPX .targets files that are referenced by MSBuild (Desktop) instead, when 'UseUwpTools' is set.
1844 -->
1845 <ItemGroup Condition="'$(UseUwpTools)' == 'true' AND '$(OutputType)' == 'Library'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1846 <!-- Add all .resw files as PRI resources (opt-out with 'EnableDefaultPRIResourceItems') -->
1847 <PRIResource Include="**/*.resw" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" Condition="'$(EnableDefaultItems)' == 'true' AND '$(EnableDefaultPRIResourceItems)' != 'false'" />
1848 <!--
1849 Remove all .resw files from 'None' items (opt-out via 'EnableDefaultNoneItems', which
1850 is enabled by the .NET SDK in 'Microsoft.NET.Sdk.DefaultItems.targets' by default).
1851 -->
1852 <None Remove="**/*.resw" Condition="'$(EnableDefaultItems)' == 'true' And '$(EnableDefaultNoneItems)' == 'true'" />
1853 </ItemGroup>
1854 <!--
1855============================================================================================================================================
1856 </Import>
1857
1858C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1859============================================================================================================================================
1860-->
1861 <!--
1862============================================================================================================================================
1863 </Import>
1864
1865C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props
1866============================================================================================================================================
1867-->
1868 <!--
1869============================================================================================================================================
1870 </Import>
1871
1872C:\Users\Rob\.nuget\packages\microsoft.build.traversal\4.1.82\Sdk\Traversal.props
1873============================================================================================================================================
1874-->
1875 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1876 <!--
1877 A list of project names that are considered traversal projects. Add to this list if you name your projects something other than "dirs.proj"
1878 -->
1879 <TraversalProjectNames Condition=" '$(TraversalProjectNames)' == '' ">dirs.proj</TraversalProjectNames>
1880 <IsTraversal Condition=" '$(IsTraversal)' == '' And $(TraversalProjectNames.IndexOf($(MSBuildProjectFile), System.StringComparison.OrdinalIgnoreCase)) &gt;= 0 ">true</IsTraversal>
1881 <!--
1882 NuGet should always restore Traversal projects with "PackageReference" style restore. Setting this property will cause the right thing to happen even if there aren't any PackageReference items in the project.
1883 -->
1884 <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
1885 <!-- Targeting packs shouldn't be referenced as traversal projects don't compile. -->
1886 <DisableImplicitFrameworkReferences Condition="'$(DisableImplicitFrameworkReferences)' == ''">true</DisableImplicitFrameworkReferences>
1887 </PropertyGroup>
1888 <ItemDefinitionGroup Condition=" '$(TraversalDoNotReferenceOutputAssemblies)' != 'false' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1889 <ProjectReference>
1890 <!--
1891 Setting ReferenceOutputAssembly skips adding the outputs of the referenced project to an item
1892 -->
1893 <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
1894 <!--
1895 Setting SkipGetTargetFrameworkProperties skips target framework cross-project validation in NuGet
1896 -->
1897 <SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
1898 </ProjectReference>
1899 </ItemDefinitionGroup>
1900 <!-- For CPS/VS support. Importing in .props allows any subsequent targets to redefine this if needed -->
1901 <Target Name="CompileDesignTime" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
1902 <!--
1903============================================================================================================================================
1904 </Import>
1905
1906C:\Users\Rob\.nuget\packages\microsoft.build.traversal\4.1.82\Sdk\Sdk.props
1907============================================================================================================================================
1908-->
1909 <!--<Import Project="$(CustomAfterTraversalProps)" Condition=" '$(CustomAfterTraversalProps)' != '' And Exists('$(CustomAfterTraversalProps)') " />-->
1910 <!--
1911============================================================================================================================================
1912 </Import>
1913
1914D:\src\wix\src\libs\libs_t.proj
1915============================================================================================================================================
1916-->
1917 <ItemGroup>
1918 <ProjectReference Include="dutil\dutil_t.proj" />
1919 <ProjectReference Include="wcautil\wcautil_t.proj" />
1920 <ProjectReference Include="WixToolset.Versioning\WixToolset.Versioning.csproj" Targets="Pack" />
1921 <ProjectReference Include="test\WixToolsetTest.Versioning\WixToolsetTest.Versioning.csproj" />
1922 </ItemGroup>
1923 <!--
1924============================================================================================================================================
1925 <Import Project="Sdk.targets" Sdk="Microsoft.Build.Traversal">
1926 This import was added implicitly because the Project element's Sdk attribute specified "Microsoft.Build.Traversal".
1927
1928C:\Users\Rob\.nuget\packages\microsoft.build.traversal\4.1.82\Sdk\Sdk.targets
1929============================================================================================================================================
1930-->
1931 <!--
1932 Copyright (c) Microsoft Corporation. All rights reserved.
1933
1934 Licensed under the MIT license.
1935-->
1936 <!--<Import Project="$(CustomBeforeTraversalTargets)" Condition=" '$(CustomBeforeTraversalTargets)' != '' And Exists('$(CustomBeforeTraversalTargets)') " />-->
1937 <!--<Import Project="Solution.targets" Condition="'$(DirectorySolutionTargetsPath)' != ''" />-->
1938 <!--
1939============================================================================================================================================
1940 <Import Project="Traversal.targets" Condition="'$(DirectorySolutionTargetsPath)' == ''">
1941
1942C:\Users\Rob\.nuget\packages\microsoft.build.traversal\4.1.82\Sdk\Traversal.targets
1943============================================================================================================================================
1944-->
1945 <!--
1946 Copyright (c) Microsoft Corporation. All rights reserved.
1947
1948 Licensed under the MIT license.
1949-->
1950 <PropertyGroup Condition=" '$(OutputPath)' == '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1951 <!--
1952 OutputPath is required to be set because targets like Clean will read it. Traversal projects shouldn't really emit any
1953 output but it could be hard to track down all of the places where $(OutputPath) and $(OutDir) are expected to be set.
1954 -->
1955 <OutputPath Condition=" '$(Configuration)' == '' And '$(Platform)' == '' ">bin\Debug\</OutputPath>
1956 <OutputPath Condition=" '$(Configuration)' != '' And '$(Platform)' == '' ">bin\$(Configuration)\</OutputPath>
1957 <OutputPath Condition=" '$(Configuration)' != '' And '$(Platform)' != '' ">bin\$(Configuration)\$(Platform)\</OutputPath>
1958 </PropertyGroup>
1959 <!--
1960 TargetFrameworks is used to convey that a project targets multiple frameworks. Traversal does not support multi-targeting
1961 but having this property set to a value can confuse NuGet leading to errors. Setting the property to empty fixes an issue
1962 where a user unknowningly sets it, breaking restore. See also: https://github.com/microsoft/MSBuildSdks/issues/196
1963 -->
1964 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1965 <TargetFrameworks />
1966 <EnableDefaultItems>false</EnableDefaultItems>
1967 <!--
1968 TargetFramework is required for restore and used to default to .NET Framework v4.5. However, Traversal projects don't specify a version so it needs to be defaulted here.
1969 -->
1970 <TargetFramework Condition="'$(TargetFramework)' == ''">net45</TargetFramework>
1971 </PropertyGroup>
1972 <!--
1973============================================================================================================================================
1974 <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk">
1975
1976C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
1977============================================================================================================================================
1978-->
1979 <!--
1980***********************************************************************************************
1981Sdk.targets
1982
1983WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1984 created a backup copy. Incorrect changes to this file will make it
1985 impossible to load or build your projects from the command-line or the IDE.
1986
1987Copyright (c) .NET Foundation. All rights reserved.
1988***********************************************************************************************
1989-->
1990 <!--<Import Project="$(BeforeMicrosoftNETSdkTargets)" Condition="'$(BeforeMicrosoftNETSdkTargets)' != ''" />-->
1991 <!-- Using the same property as Microsoft.CSharp.targets and presumably Microsoft.VisualBasic.targets here -->
1992 <PropertyGroup Condition="'$(TargetFrameworks)' != '' and '$(TargetFramework)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1993 <IsCrossTargetingBuild>true</IsCrossTargetingBuild>
1994 </PropertyGroup>
1995 <!--<Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.BeforeCommonCrossTargeting.targets" Condition="'$(IsCrossTargetingBuild)' == 'true'" />-->
1996 <!--
1997============================================================================================================================================
1998 <Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.BeforeCommon.targets" Condition="'$(IsCrossTargetingBuild)' != 'true'">
1999
2000C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
2001============================================================================================================================================
2002-->
2003 <!--
2004***********************************************************************************************
2005Microsoft.NET.Sdk.BeforeCommon.targets
2006
2007WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2008 created a backup copy. Incorrect changes to this file will make it
2009 impossible to load or build your projects from the command-line or the IDE.
2010
2011Copyright (c) .NET Foundation. All rights reserved.
2012***********************************************************************************************
2013-->
2014 <!-- For projects that aren't using Microsoft.NET.Sdk, these props files won't have been imported yet.
2015 So import them here. -->
2016 <!--<ImportGroup Condition="'$(UsingNETSdkDefaults)' != 'true'">-->
2017 <!--<Import Project="Microsoft.NET.Sdk.DefaultItems.props" />-->
2018 <!--<Import Project="Microsoft.NET.SupportedTargetFrameworks.props" />-->
2019 <!--<Import Project="Microsoft.NET.SupportedPlatforms.props" />-->
2020 <!--<Import Project="Microsoft.NET.WindowsSdkSupportedTargetPlatforms.props" />-->
2021 <!--</ImportGroup>-->
2022 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2023 <_IsExecutable Condition="'$(OutputType)' == 'Exe' or '$(OutputType)'=='WinExe'">true</_IsExecutable>
2024 </PropertyGroup>
2025 <PropertyGroup Condition="'$(HasRuntimeOutput)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2026 <HasRuntimeOutput>$(_IsExecutable)</HasRuntimeOutput>
2027 <_UsingDefaultForHasRuntimeOutput>true</_UsingDefaultForHasRuntimeOutput>
2028 </PropertyGroup>
2029 <!--
2030============================================================================================================================================
2031 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DefaultAssemblyInfo.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'">
2032
2033C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DefaultAssemblyInfo.targets
2034============================================================================================================================================
2035-->
2036 <!--
2037***********************************************************************************************
2038Microsoft.NET.DefaultAssemblyInfo.targets
2039
2040WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2041 created a backup copy. Incorrect changes to this file will make it
2042 impossible to load or build your projects from the command-line or the IDE.
2043
2044Copyright (c) .NET Foundation. All rights reserved.
2045***********************************************************************************************
2046-->
2047 <PropertyGroup Condition=" '$(Version)' == '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2048 <VersionPrefix Condition=" '$(VersionPrefix)' == '' ">1.0.0</VersionPrefix>
2049 <Version Condition=" '$(VersionSuffix)' != '' ">$(VersionPrefix)-$(VersionSuffix)</Version>
2050 <Version Condition=" '$(Version)' == '' ">$(VersionPrefix)</Version>
2051 </PropertyGroup>
2052 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2053 <Authors Condition=" '$(Authors)'=='' ">$(AssemblyName)</Authors>
2054 <Company Condition=" '$(Company)'=='' ">$(Authors)</Company>
2055 <AssemblyTitle Condition=" '$(AssemblyTitle)' == '' ">$(AssemblyName)</AssemblyTitle>
2056 <Product Condition=" '$(Product)' == ''">$(AssemblyName)</Product>
2057 </PropertyGroup>
2058 <!--
2059============================================================================================================================================
2060 </Import>
2061
2062C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
2063============================================================================================================================================
2064-->
2065 <!--
2066 Apply these defaults from Microsoft.Common.CurrentVersion.targets now since we're running before them,
2067 but need to adjust them and/or make decisions in terms of them.
2068 -->
2069 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2070 <Configuration Condition="'$(Configuration)'==''">Debug</Configuration>
2071 <Platform Condition="'$(Platform)'==''">AnyCPU</Platform>
2072 <PlatformName Condition="'$(PlatformName)' == ''">$(Platform)</PlatformName>
2073 </PropertyGroup>
2074 <!-- Before any additional SDK targets are imported, import the publish profile.
2075 This allows the publish profile to set properties like RuntimeIdentifier and them be
2076 respected by the SDK. -->
2077 <!--
2078============================================================================================================================================
2079 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.ImportPublishProfile.targets" Condition="'$(PublishProfileImported)' != 'true'">
2080
2081C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportPublishProfile.targets
2082============================================================================================================================================
2083-->
2084 <!--
2085***********************************************************************************************
2086Microsoft.NET.Sdk.ImportPublishProfile.targets
2087
2088WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2089 created a backup copy. Incorrect changes to this file will make it
2090 impossible to load or build your projects from the command-line or the IDE.
2091
2092Copyright (c) .NET Foundation. All rights reserved.
2093***********************************************************************************************
2094-->
2095 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2096 <!-- Default to having imported the publish profile so the Web SDK doesn't also attempt to do so. -->
2097 <PublishProfileImported>true</PublishProfileImported>
2098 <_PublishProfileDesignerFolder Condition="'$(AppDesignerFolder)' != ''">$(AppDesignerFolder)</_PublishProfileDesignerFolder>
2099 <_PublishProfileDesignerFolder Condition="'$(_PublishProfileDesignerFolder)' == ''">Properties</_PublishProfileDesignerFolder>
2100 <_PublishProfileRootFolder Condition="'$(_PublishProfileRootFolder)' == ''">$(MSBuildProjectDirectory)\$(_PublishProfileDesignerFolder)\PublishProfiles\</_PublishProfileRootFolder>
2101 <PublishProfileName Condition="'$(PublishProfileName)' == '' and '$(PublishProfile)' != ''">$([System.IO.Path]::GetFileNameWithoutExtension($(PublishProfile)))</PublishProfileName>
2102 <PublishProfileFullPath Condition="'$(PublishProfileFullPath)' == '' and '$(PublishProfileName)' != ''">$(_PublishProfileRootFolder)$(PublishProfileName).pubxml</PublishProfileFullPath>
2103 <WebPublishProfileFile Condition="'$(WebPublishProfileFile)' == '' and Exists('$(PublishProfileFullPath)')">$(PublishProfileFullPath)</WebPublishProfileFile>
2104 <!-- If the publish profile doesn't exist, mark as not imported.
2105 This allows the Web SDK to import some default profiles that come with the Web SDK.
2106 Publishing in Visual Studio sets `WebPublishProfileFile` as a global property.
2107 Therefore, check that `ProjectToOverrideProjectExtensionsPath` is equal to `MSBuildProjectFullPath`
2108 to limit the import to the project being published. -->
2109 <PublishProfileImported Condition="('$(ProjectToOverrideProjectExtensionsPath)' != '' and&#xD;&#xA; '$(ProjectToOverrideProjectExtensionsPath)' != '$(MSBuildProjectFullPath)') or&#xD;&#xA; '$(WebPublishProfileFile)' == '' or&#xD;&#xA; !Exists('$(WebPublishProfileFile)')">false</PublishProfileImported>
2110 </PropertyGroup>
2111 <!--<Import Project="$(WebPublishProfileFile)" Condition="'$(PublishProfileImported)' == 'true'" />-->
2112 <!--<Import Project="$(WebPublishProfileFile).user" Condition="'$(PublishProfileImported)' == 'true' and Exists('$(WebPublishProfileFile).user')" />-->
2113 <!--
2114============================================================================================================================================
2115 </Import>
2116
2117C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
2118============================================================================================================================================
2119-->
2120 <!--
2121 Expand TargetFramework to TargetFrameworkIdentifier and TargetFrameworkVersion,
2122 and adjust intermediate and output paths to include it.
2123 -->
2124 <!--
2125============================================================================================================================================
2126 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.TargetFrameworkInference.targets">
2127
2128C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.TargetFrameworkInference.targets
2129============================================================================================================================================
2130-->
2131 <!--
2132***********************************************************************************************
2133Microsoft.NET.TargetFrameworkInference.targets
2134
2135WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2136 created a backup copy. Incorrect changes to this file will make it
2137 impossible to load or build your projects from the command-line or the IDE.
2138
2139Copyright (c) .NET Foundation. All rights reserved.
2140***********************************************************************************************
2141-->
2142 <!--
2143 Note that this file is only included when $(TargetFramework) is set and so we do not need to check that here.
2144
2145 Common targets require that $(TargetFrameworkIdentifier) and $(TargetFrameworkVersion) are set by static evaluation
2146 before they are imported. In common cases (currently netstandard, netcoreapp, or net), we infer them from the short
2147 names given via TargetFramework to allow for terseness and lack of duplication in project files.
2148
2149 For other cases, the user must supply them manually.
2150
2151 For cases where inference is supported, the user need only specify the targets in TargetFrameworks, e.g:
2152 <PropertyGroup>
2153 <TargetFrameworks>net45;netstandard1.0</TargetFrameworks>
2154 </PropertyGroup>
2155
2156 For cases where inference is not supported, identifier, version and profile can be specified explicitly as follows:
2157 <PropertyGroup>
2158 <TargetFrameworks>portable-net451+win81;xyz1.0</TargetFrameworks>
2159 <PropertyGroup>
2160 <PropertyGroup Condition="'$(TargetFramework)' == 'portable-net451+win81'">
2161 <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
2162 <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
2163 <TargetFrameworkProfile>Profile44</TargetFrameworkProfile>
2164 </PropertyGroup>
2165 <PropertyGroup Condition="'$(TargetFramework)' == 'xyz1.0'">
2166 <TargetFrameworkIdentifier>Xyz</TargetFrameworkVersion>
2167 <PropertyGroup>
2168
2169 Note in the xyz1.0 case, which is meant to demonstrate a framework we don't yet recognize, we can still
2170 infer the version of 1.0. The user can also override it as always we honor a TargetFrameworkIdentifier
2171 or TargetFrameworkVersion that is already set.
2172 -->
2173 <!-- Hook for importing custom target framework parsing -->
2174 <!--<Import Project="$(BeforeTargetFrameworkInferenceTargets)" Condition="$(BeforeTargetFrameworkInferenceTargets) != ''" />-->
2175 <!--
2176 Parse TargetFramework properties.
2177 -->
2178 <PropertyGroup Condition="'$(TargetFramework)' != '' and ('$(TargetFrameworkIdentifier)' == '' or '$(TargetFrameworkVersion)' == '')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2179 <TargetFrameworkIdentifier>$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)'))</TargetFrameworkIdentifier>
2180 <TargetFrameworkVersion>v$([MSBuild]::GetTargetFrameworkVersion('$(TargetFramework)', 2))</TargetFrameworkVersion>
2181 </PropertyGroup>
2182 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2183 <_TargetFrameworkVersionWithoutV>$(TargetFrameworkVersion.TrimStart('vV'))</_TargetFrameworkVersionWithoutV>
2184 </PropertyGroup>
2185 <!--
2186 Parse TargetPlatform properties.
2187 -->
2188 <PropertyGroup Condition="'$(TargetFramework)' != '' and ('$(TargetPlatformIdentifier)' == '' or '$(TargetPlatformVersion)' == '')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2189 <TargetPlatformIdentifier Condition="'$(TargetPlatformIdentifier)' == ''">$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)'))</TargetPlatformIdentifier>
2190 <TargetPlatformVersion Condition="'$(TargetPlatformIdentifier)' == 'Windows'">$([MSBuild]::GetTargetPlatformVersion('$(TargetFramework)', 4))</TargetPlatformVersion>
2191 <!--
2192 In order to support multi-targeting between CsWinRT 2.x and CsWinRT 3.0, we use the revision number of the Windows SDK to indicate the CsWinRT version.
2193 Specifically, '.0' indicates CsWinRT 2.x, and '.1' indicates CsWinRT 3.0. Because we want the rest of the tooling to still always see the '.0' version
2194 for the Windows SDK (as the '.1' only has meaning for the .NET SDK and TFM in NuGet), here we check if we're using CsWinRT 3.0, and if so we have a version
2195 of the target platform version with the revision number reset back to '.0' as EffectiveTargetPlatformVersion which we use in other places.
2196 EffectiveTargetPlatformVersion is set to TargetPlatformVersion in other scenarios.
2197 -->
2198 <_TargetPlatformVersionUsesCsWinRT3>false</_TargetPlatformVersionUsesCsWinRT3>
2199 <_TargetPlatformVersionUsesCsWinRT3 Condition="'$(TargetPlatformIdentifier)' == 'Windows' and '$(TargetPlatformVersion)' != '' and $([System.Version]::Parse('$(TargetPlatformVersion)').Revision) == 1">true</_TargetPlatformVersionUsesCsWinRT3>
2200 <EffectiveTargetPlatformVersion Condition="'$(_TargetPlatformVersionUsesCsWinRT3)' == 'true'">$([System.Version]::Parse('$(TargetPlatformVersion)').Major).$([System.Version]::Parse('$(TargetPlatformVersion)').Minor).$([System.Version]::Parse('$(TargetPlatformVersion)').Build).0</EffectiveTargetPlatformVersion>
2201 <TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == '' or ('$(TargetPlatformIdentifier)' == 'Windows' and !$([MSBuild]::VersionGreaterThanOrEquals($(TargetPlatformVersion), 10.0)))">$([MSBuild]::GetTargetPlatformVersion('$(TargetFramework)', 2))</TargetPlatformVersion>
2202 <TargetPlatformVersion Condition="$([MSBuild]::VersionEquals($(TargetPlatformVersion), 0.0))" />
2203 <EffectiveTargetPlatformVersion Condition="'$(EffectiveTargetPlatformVersion)' == ''">$(TargetPlatformVersion)</EffectiveTargetPlatformVersion>
2204 <!-- Normalize casing of windows to Windows -->
2205 <TargetPlatformIdentifier Condition="'$(TargetPlatformIdentifier)' == 'Windows'">Windows</TargetPlatformIdentifier>
2206 </PropertyGroup>
2207 <!--
2208 Trigger an error if we're unable to infer the framework identifier and version.
2209
2210 We have to evaluate this here and not in the target because by the time the target runs,
2211 Microsoft.Common.targets will have defaulted to .NETFramework,Version=v4.0
2212 -->
2213 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '' or '$(TargetFrameworkIdentifier)' == 'Unsupported' or '$(TargetFrameworkVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2214 <_UnsupportedTargetFrameworkError>true</_UnsupportedTargetFrameworkError>
2215 </PropertyGroup>
2216 <!--
2217 NOTE: We must not validate the TFM before restore target runs as it prevents adding additional TFM
2218 support from being provided by a nuget package such as MSBuild.Sdk.Extras.
2219
2220 We run before RunResolvePackageDependencies and GetReferenceAssemblyPaths so that design-time builds
2221 which do not currently invoke _CheckForInvalidConfigurationAndPlatform, will not trigger spurious
2222 errors that are only consequences of the root cause identified here.
2223 -->
2224 <Target Name="_CheckForUnsupportedTargetFramework" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;RunResolvePackageDependencies;GetFrameworkPaths;GetReferenceAssemblyPaths;Restore" Condition="'$(_UnsupportedTargetFrameworkError)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2225 <NETSdkError Condition="!$(TargetFramework.Contains(';'))" ResourceName="CannotInferTargetFrameworkIdentifierAndVersion" FormatArguments="$([MSBuild]::Escape('$(TargetFramework)'))" />
2226 <NETSdkError Condition="$(TargetFramework.Contains(';'))" ResourceName="TargetFrameworkWithSemicolon" FormatArguments="$([MSBuild]::Escape('$(TargetFramework)'))" />
2227 </Target>
2228 <!-- Skip this target for design time builds when there are missing workload packs.
2229 This will prevent design time builds from failing and therefore allow
2230 Visual Studio to collect the workloads from the GetSuggestedWorkloads target -->
2231 <Target Name="_CheckForUnsupportedTargetPlatformIdentifier" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;RunResolvePackageDependencies;GetFrameworkPaths;GetReferenceAssemblyPaths;CollectPackageReferences" Condition="'$(TargetPlatformIdentifier)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) And ('$(DesignTimeBuild)' != 'true' Or '@(MissingWorkloadPack)' == '')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2232 <PropertyGroup>
2233 <TargetPlatformSupported Condition="'$(TargetPlatformIdentifier)' == 'Windows'">true</TargetPlatformSupported>
2234 <UseWorkloadsSpecificError Condition="($(TargetPlatformIdentifier) == 'ios' or $(TargetPlatformIdentifier) == 'tvos' or $(TargetPlatformIdentifier) == 'maccatalyst' or $(TargetPlatformIdentifier) == 'android' or $(TargetPlatformIdentifier.StartsWith('browser'))) and '$(MSBuildEnableWorkloadResolver)' != 'true'">true</UseWorkloadsSpecificError>
2235 </PropertyGroup>
2236 <NETSdkError Condition="'$(TargetPlatformSupported)' != 'true' and '$(UseWorkloadsSpecificError)' != 'true'" ResourceName="UnsupportedTargetPlatformIdentifier" FormatArguments="$(TargetPlatformIdentifier)" />
2237 <NETSdkError Condition="'$(TargetPlatformSupported)' != 'true' and '$(UseWorkloadsSpecificError)' == 'true'" ResourceName="UnsupportedTargetPlatformIdentifierWithWorkloadsDisabled" FormatArguments="$(TargetPlatformIdentifier)" />
2238 </Target>
2239 <UsingTask TaskName="AllowEmptyTelemetry" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
2240 <Target Name="_CollectTargetFrameworkForTelemetry" AfterTargets="_CheckForUnsupportedTargetFramework" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2241 <ItemGroup>
2242 <TFTelemetry Include="TargetFrameworkVersion" Value="$([MSBuild]::Escape('$(TargetFrameworkMoniker)'))" />
2243 <TFTelemetry Include="RuntimeIdentifier" Value="$(RuntimeIdentifier)" />
2244 <TFTelemetry Include="SelfContained" Value="$(SelfContained)" />
2245 <TFTelemetry Include="UseApphost" Value="$(UseApphost)" />
2246 <TFTelemetry Include="OutputType" Value="$(OutputType)" />
2247 <TFTelemetry Include="UseArtifactsOutput" Value="$(UseArtifactsOutput)" />
2248 <TFTelemetry Include="ArtifactsPathLocationType" Value="$(_ArtifactsPathLocationType)" />
2249 <TFTelemetry Include="TargetPlatformIdentifier" Value="$(TargetPlatformIdentifier)" />
2250 <TFTelemetry Include="UseMonoRuntime" Value="$(UseMonoRuntime)" />
2251 <TFTelemetry Include="PublishAot" Value="$(PublishAot)" />
2252 <TFTelemetry Include="PublishTrimmed" Value="$(PublishTrimmed)" />
2253 <TFTelemetry Include="PublishSelfContained" Value="$(PublishSelfContained)" />
2254 <TFTelemetry Include="PublishReadyToRun" Value="$(PublishReadyToRun)" />
2255 <TFTelemetry Include="PublishReadyToRunComposite" Value="$(PublishReadyToRunComposite)" />
2256 <TFTelemetry Include="PublishProtocol" Value="$(PublishProtocol)" />
2257 <TFTelemetry Include="Configuration" Value="$(Configuration)" Hash="true" />
2258 </ItemGroup>
2259 <AllowEmptyTelemetry EventName="targetframeworkeval" EventData="@(TFTelemetry)" />
2260 </Target>
2261 <!--
2262 Don't leave TargetFrameworkVersion empty if it still hasn't been determined. We will trigger the error above,
2263 but we need this to be a valid version so that our error message does not get pre-empted by failure to interpret
2264 version comparison expressions, which is currently unrecoverable in VS.
2265
2266 Also don't leave TargetFrameworkIdentifier unset as it will be defaulted to .NETFramework by common targets, which
2267 can cause restore (which we cannot block, see above) to silently succeed for empty TargetFramework.
2268 -->
2269 <PropertyGroup Condition="'$(TargetFrameworkVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2270 <TargetFrameworkVersion>v0.0</TargetFrameworkVersion>
2271 </PropertyGroup>
2272 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2273 <TargetFrameworkIdentifier>_</TargetFrameworkIdentifier>
2274 </PropertyGroup>
2275 <!--
2276 Trigger an error if targeting a higher version of .NET Core than is supported by the current SDK.
2277 -->
2278 <Target Name="_CheckForUnsupportedNETCoreVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(NETCoreAppMaximumVersion)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2279 <PropertyGroup>
2280 <DisplayVSMessage Condition="$([MSBuild]::VersionLessThan($(MSBuildVersion), '$(MinimumVisualStudioVersionForUnsupportedTargetFrameworkVersion)')) and '$(BuildingInsideVisualStudio)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' == '$(UnsupportedTargetFrameworkVersion)' and '$([MSBuild]::IsOSPlatform(`Windows`))' == 'true'">true</DisplayVSMessage>
2281 </PropertyGroup>
2282 <NETSdkError Condition="'$(_TargetFrameworkVersionWithoutV)' &gt; '$(NETCoreAppMaximumVersion)' and '$(DisplayVSMessage)' != 'true'" ResourceName="UnsupportedTargetFrameworkVersion" FormatArguments=".NET;$(_TargetFrameworkVersionWithoutV);$(NETCoreAppMaximumVersion)" />
2283 <NETSdkError Condition="'$(DisplayVSMessage)' == 'true'" ResourceName="UnsupportedVisualStudioVersion" FormatArguments=".NET;$(_TargetFrameworkVersionWithoutV);$(NETCoreAppMaximumVersion);$(MinimumVisualStudioVersionForUnsupportedTargetFrameworkVersion)" />
2284 </Target>
2285 <!--
2286 Trigger a warning if targeting a lower version of .NET Standard than is recommended
2287 -->
2288 <Target Name="_CheckForNotRecommendedNETStandardVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' and $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '2.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2289 <PropertyGroup>
2290 <!-- Default the check to true, but allow developers to turn the warning off. -->
2291 <CheckNotRecommendedTargetFramework Condition="'$(CheckNotRecommendedTargetFramework)' == ''">true</CheckNotRecommendedTargetFramework>
2292 </PropertyGroup>
2293 <NETSdkWarning Condition="'$(CheckNotRecommendedTargetFramework)' == 'true'" ResourceName="TargetFrameworkIsNotRecommended" FormatArguments="https://aka.ms/dotnet/dotnet-standard-guidance" />
2294 </Target>
2295 <!--
2296 Trigger an error if C++ project targeting a lower version of .NET Core than 3.1.
2297 -->
2298 <Target Name="_CheckForUnsupportedCppNETCoreVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2299 <NETSdkError Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' &lt; '3.1' and ('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true')" ResourceName="CppRequiresTFMVersion31" />
2300 </Target>
2301 <!--C++/CLI has its own logic of determine TargetPlatformIdentifier and TargetPlatformVersion-->
2302 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) and ('$(Language)' != 'C++' or '$(_EnablePackageReferencesInVCProjects)' == 'true')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2303 <_EnableDefaultWindowsPlatform>false</_EnableDefaultWindowsPlatform>
2304 <UseOSWinMdReferences>false</UseOSWinMdReferences>
2305 </PropertyGroup>
2306 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(NETStandardMaximumVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2307 <NETStandardMaximumVersion>2.1</NETStandardMaximumVersion>
2308 </PropertyGroup>
2309 <Target Name="_CheckForUnsupportedNETStandardVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(NETStandardMaximumVersion)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2310 <NETSdkError Condition="'$(_TargetFrameworkVersionWithoutV)' &gt; '$(NETStandardMaximumVersion)'" ResourceName="UnsupportedTargetFrameworkVersion" FormatArguments=".NET Standard;$(_TargetFrameworkVersionWithoutV);$(NETStandardMaximumVersion)" />
2311 </Target>
2312 <Target Name="_CheckForUnsupportedTargetFrameworkAndFeatureCombination" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2313 <NETSdkError Condition="'$(UsingNETSdkDefaults)' != 'true'" ResourceName="NETFrameworkWithoutUsingNETSdkDefaults" />
2314 </Target>
2315 <Target Name="_CheckForSupportedOSPlatformVersionHigherThanTargetPlatformVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(TargetPlatformVersion)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2316 <NETSdkError Condition="'$(SupportedOSPlatformVersion)' != '' and $(TargetPlatformVersion) != '' and $([MSBuild]::VersionGreaterThan($(SupportedOSPlatformVersion), $(TargetPlatformVersion)))" ResourceName="CannotHaveSupportedOSPlatformVersionHigherThanTargetPlatformVersion" FormatArguments="$(SupportedOSPlatformVersion);$(TargetPlatformVersion)" />
2317 </Target>
2318 <!--C++/CLI targets rely on the patch version of the Windows SDK version as TargetPlatformVersion. Skip the normalization.-->
2319 <Target Name="_NormalizeTargetPlatformVersion" BeforeTargets="ProcessFrameworkReferences" Condition="'$(TargetPlatformVersion)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) and ('$(Language)' != 'C++' or '$(_EnablePackageReferencesInVCProjects)' == 'true')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2320 <ItemGroup>
2321 <_ApplicableTargetPlatformVersion Include="@(SdkSupportedTargetPlatformVersion)" Condition="'@(SdkSupportedTargetPlatformVersion)' != '' and '%(SdkSupportedTargetPlatformVersion.DefineConstantsOnly)' != 'true'" RemoveMetadata="DefineConstantsOnly" />
2322 <_ValidTargetPlatformVersion Include="@(_ApplicableTargetPlatformVersion)" Condition="'@(_ApplicableTargetPlatformVersion)' != '' and $([MSBuild]::VersionEquals(%(Identity), $(TargetPlatformVersion)))" />
2323 </ItemGroup>
2324 <PropertyGroup>
2325 <TargetPlatformVersion Condition="'@(_ValidTargetPlatformVersion)' != '' and '@(_ValidTargetPlatformVersion-&gt;Distinct()-&gt;Count())' == '1' and '@(_ValidTargetPlatformVersion)' != '$(TargetPlatformVersion)'">@(_ValidTargetPlatformVersion-&gt;Distinct())</TargetPlatformVersion>
2326 </PropertyGroup>
2327 </Target>
2328 <Target Name="_CheckForInvalidTargetPlatformVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" DependsOnTargets="_NormalizeTargetPlatformVersion" Condition="'$(TargetPlatformVersion)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) and ('$(Language)' != 'C++' or '$(_EnablePackageReferencesInVCProjects)' == 'true')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2329 <PropertyGroup>
2330 <TargetPlatformVersionSupported Condition="'$(TargetPlatformVersionSupported)' == '' and '@(_ValidTargetPlatformVersion)' != ''">true</TargetPlatformVersionSupported>
2331 <_ValidTargetPlatformVersions Condition="'@(_ApplicableTargetPlatformVersion)' != ''">@(_ApplicableTargetPlatformVersion, '%0a')</_ValidTargetPlatformVersions>
2332 <_ValidTargetPlatformVersions Condition="'@(_ApplicableTargetPlatformVersion)' == ''">None</_ValidTargetPlatformVersions>
2333 </PropertyGroup>
2334 <NetSdkError Condition="'$(TargetPlatformVersionSupported)' != 'true'" ResourceName="InvalidTargetPlatformVersion" FormatArguments="$(TargetPlatformVersion);$(TargetPlatformIdentifier);$(_ValidTargetPlatformVersions)" />
2335 </Target>
2336 <!-- Hook for processing after target framework parsing (for example to customize output paths) -->
2337 <!--<Import Project="$(AfterTargetFrameworkInferenceTargets)" Condition="$(AfterTargetFrameworkInferenceTargets) != ''" />-->
2338 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2339 <ProduceReferenceAssembly Condition="'$(ProduceReferenceAssembly)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) and ('$(ProduceOnlyReferenceAssembly)' != 'true') and '$(MSBuildProjectExtension)' != '.fsproj'">true</ProduceReferenceAssembly>
2340 <ProduceReferenceAssembly Condition="'$(ProduceReferenceAssembly)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 7.0)) and ('$(ProduceOnlyReferenceAssembly)' != 'true') and '$(MSBuildProjectExtension)' == '.fsproj'">true</ProduceReferenceAssembly>
2341 </PropertyGroup>
2342 <!--
2343============================================================================================================================================
2344 </Import>
2345
2346C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
2347============================================================================================================================================
2348-->
2349 <!-- Set default intermediate and output paths -->
2350 <!--
2351============================================================================================================================================
2352 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DefaultOutputPaths.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'">
2353
2354C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DefaultOutputPaths.targets
2355============================================================================================================================================
2356-->
2357 <!--
2358***********************************************************************************************
2359Microsoft.NET.DefaultOutputPaths.targets
2360
2361WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2362 created a backup copy. Incorrect changes to this file will make it
2363 impossible to load or build your projects from the command-line or the IDE.
2364
2365Copyright (c) .NET Foundation. All rights reserved.
2366***********************************************************************************************
2367-->
2368 <!--
2369 Note that common targets only set a default OutputPath if neither configuration nor
2370 platform were set by the user. This was used to validate that a valid configuration is passed,
2371 assuming the convention maintained by VS that every Configuration|Platform combination had
2372 an explicit OutputPath. Since we now want to support leaner project files with less
2373 duplication and more automatic defaults, we always set a default OutputPath.
2374 -->
2375 <!-- Projects which don't use Microsoft.NET.Sdk will typically define the OutputPath directly (usually in a
2376 Configuration-specific PropertyGroup), so in that case we won't append to it by default. -->
2377 <PropertyGroup Condition="'$(UsingNETSdkDefaults)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2378 <AppendTargetFrameworkToOutputPath Condition="'$(AppendTargetFrameworkToOutputPath)' == ''">true</AppendTargetFrameworkToOutputPath>
2379 <AppendPlatformToOutputPath Condition="'$(AppendPlatformToOutputPath)' == '' and '$(PlatformName)' == 'AnyCPU'">false</AppendPlatformToOutputPath>
2380 <AppendPlatformToOutputPath Condition="'$(AppendPlatformToOutputPath)' == '' and '$(PlatformName)' != 'AnyCPU'">true</AppendPlatformToOutputPath>
2381 <_PlatformToAppendToOutputPath Condition="'$(AppendPlatformToOutputPath)' == 'true'">$(PlatformName)\</_PlatformToAppendToOutputPath>
2382 </PropertyGroup>
2383 <!-- NOTE: If we want to default UseArtifactsOutput to true when targeting a given version of .NET or higher, this is where we would do it.
2384
2385 It would look something like this:
2386
2387 <PropertyGroup Condition="'$(UseArtifactsOutput)' == '' and
2388 '$(TargetFrameworks)' == '' and
2389 '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and
2390 $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 8.0))">
2391 <UseArtifactsOutput>true</UseArtifactsOutput>
2392 </PropertyGroup>
2393 -->
2394 <!-- Import .props file to set ArtifactsPath if it wasn't already imported from Sdk.props (this is for the case when artifacts
2395 properties are set in the project file instead of Directory.Build.props -->
2396 <!--
2397============================================================================================================================================
2398 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DefaultArtifactsPath.props" Condition="'$(_DefaultArtifactsPathPropsImported)' != 'true'">
2399
2400C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DefaultArtifactsPath.props
2401============================================================================================================================================
2402-->
2403 <!--
2404***********************************************************************************************
2405Microsoft.NET.DefaultArtifactsPath.props
2406
2407WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2408 created a backup copy. Incorrect changes to this file will make it
2409 impossible to load or build your projects from the command-line or the IDE.
2410
2411Copyright (c) .NET Foundation. All rights reserved.
2412***********************************************************************************************
2413-->
2414 <!-- This .props file may be imported either from Sdk.props or from Microsoft.NET.DefaultOutputPaths.targets, depending
2415 on whether artifacts output properties were set in Directory.Build.props or not.
2416
2417 Set a property to indicate it was imported, so we can avoid a duplicate import. -->
2418 <PropertyGroup>
2419 <_DefaultArtifactsPathPropsImported>true</_DefaultArtifactsPathPropsImported>
2420 </PropertyGroup>
2421 <!-- Setting ArtifactsPath automatically opts in to the artifacts output format -->
2422 <PropertyGroup Condition="'$(ArtifactsPath)' != '' And '$(UsingMicrosoftArtifactsSdk)' != 'true'">
2423 <UseArtifactsOutput Condition="'$(UseArtifactsOutput)' == ''">true</UseArtifactsOutput>
2424 <IncludeProjectNameInArtifactsPaths Condition="'$(IncludeProjectNameInArtifactsPaths)' == ''">true</IncludeProjectNameInArtifactsPaths>
2425 <_ArtifactsPathLocationType>ExplicitlySpecified</_ArtifactsPathLocationType>
2426 </PropertyGroup>
2427 <!-- Set up base output folders if UseArtifactsOutput is set -->
2428 <PropertyGroup Condition="'$(UseArtifactsOutput)' == 'true' And '$(ArtifactsPath)' == '' And '$(_DirectoryBuildPropsBasePath)' != ''">
2429 <!-- Default ArtifactsPath to be in the directory where Directory.Build.props is found
2430 Note that we do not append a backslash to the ArtifactsPath as we do with most paths, because it may be a global property passed in on the command-line which we can't easily change -->
2431 <ArtifactsPath>$(_DirectoryBuildPropsBasePath)\artifacts</ArtifactsPath>
2432 <IncludeProjectNameInArtifactsPaths Condition="'$(IncludeProjectNameInArtifactsPaths)' == ''">true</IncludeProjectNameInArtifactsPaths>
2433 <_ArtifactsPathLocationType>DirectoryBuildPropsFolder</_ArtifactsPathLocationType>
2434 </PropertyGroup>
2435 <PropertyGroup Condition="'$(UseArtifactsOutput)' == 'true' And '$(ArtifactsPath)' == ''">
2436 <!-- If there was no Directory.Build.props file, then put the artifacts path in the project folder -->
2437 <ArtifactsPath>$(MSBuildProjectDirectory)\artifacts</ArtifactsPath>
2438 <_ArtifactsPathLocationType>ProjectFolder</_ArtifactsPathLocationType>
2439 </PropertyGroup>
2440 <!--
2441============================================================================================================================================
2442 </Import>
2443
2444C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DefaultOutputPaths.targets
2445============================================================================================================================================
2446-->
2447 <PropertyGroup Condition="'$(UseArtifactsOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2448 <ArtifactsProjectName Condition="'$(ArtifactsProjectName)' == ''">$(MSBuildProjectName)</ArtifactsProjectName>
2449 <ArtifactsBinOutputName Condition="'$(ArtifactsBinOutputName)' == ''">bin</ArtifactsBinOutputName>
2450 <ArtifactsPublishOutputName Condition="'$(ArtifactsPublishOutputName)' == ''">publish</ArtifactsPublishOutputName>
2451 <ArtifactsPackageOutputName Condition="'$(ArtifactsPackageOutputName)' == ''">package</ArtifactsPackageOutputName>
2452 <!-- By default MSBuild won't allow tracking/automatic clean-up of files that are outside of a Project's child directory structure.
2453 This flag opts us into a mode where the Common targets will track and clean such files, which is good because
2454 in Artifacts layout virtually all transitive and package references are such files.
2455 See https://github.com/dotnet/msbuild/pull/12096 for full details. -->
2456 <TrackFileWritesShareableOutsideOfProjectDirectory>true</TrackFileWritesShareableOutsideOfProjectDirectory>
2457 </PropertyGroup>
2458 <PropertyGroup Condition="'$(UseArtifactsOutput)' == 'true' And '$(ArtifactsPivots)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2459 <ArtifactsPivots>$(Configuration.ToLowerInvariant())</ArtifactsPivots>
2460 <!-- Include the TargetFramework in the pivots if the project is multi-targeted (ie TargetFrameworks) is defined -->
2461 <ArtifactsPivots Condition="'$(TargetFrameworks)' != '' And '$(TargetFramework)' != ''">$(ArtifactsPivots)_$(TargetFramework.ToLowerInvariant())</ArtifactsPivots>
2462 <!-- This targets file is evaluated before RuntimeIdentifierInference.targets, so this will only include the
2463 RuntimeIdentifier in the path if it was explicitly specified, not if it was inferred. This is the
2464 behavior we want.
2465
2466 The BlazorWebAssembly .props file sets the RuntimeIdentifier to browser-wasm, so treat that as a special case.
2467 -->
2468 <ArtifactsPivots Condition="'$(RuntimeIdentifier)' != '' And !('$(RuntimeIdentifier)' == 'browser-wasm' And '$(AppendRuntimeIdentifierToOutputPath)' == 'false')">$(ArtifactsPivots)_$(RuntimeIdentifier.ToLowerInvariant())</ArtifactsPivots>
2469 </PropertyGroup>
2470 <PropertyGroup Condition="'$(UseArtifactsOutput)' == 'true' And '$(IncludeProjectNameInArtifactsPaths)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2471 <!-- Set artifacts paths when project name should be included in the path -->
2472 <BaseOutputPath Condition="'$(BaseOutputPath)' == ''">$(ArtifactsPath)\$(ArtifactsBinOutputName)\$(ArtifactsProjectName)\</BaseOutputPath>
2473 <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == '' And '$(UseArtifactsIntermediateOutput)' == 'true'">$(ArtifactsPath)\obj\$(ArtifactsProjectName)\</BaseIntermediateOutputPath>
2474 <PublishDir Condition="'$(PublishDir)' == ''">$(ArtifactsPath)\$(ArtifactsPublishOutputName)\$(ArtifactsProjectName)\$(ArtifactsPivots)\</PublishDir>
2475 </PropertyGroup>
2476 <PropertyGroup Condition="'$(UseArtifactsOutput)' == 'true' And '$(IncludeProjectNameInArtifactsPaths)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2477 <!-- Set artifacts paths when project name should not be included in the path -->
2478 <BaseOutputPath Condition="'$(BaseOutputPath)' == ''">$(ArtifactsPath)\$(ArtifactsBinOutputName)\</BaseOutputPath>
2479 <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == '' And '$(UseArtifactsIntermediateOutput)' == 'true'">$(ArtifactsPath)\obj\</BaseIntermediateOutputPath>
2480 <PublishDir Condition="'$(PublishDir)' == ''">$(ArtifactsPath)\$(ArtifactsPublishOutputName)\$(ArtifactsPivots)\</PublishDir>
2481 </PropertyGroup>
2482 <PropertyGroup Condition="'$(UseArtifactsOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2483 <OutputPath Condition="'$(OutputPath)' == ''">$(BaseOutputPath)$(ArtifactsPivots)\</OutputPath>
2484 <IntermediateOutputPath Condition=" $(IntermediateOutputPath) == '' And '$(UseArtifactsIntermediateOutput)' == 'true'">$(BaseIntermediateOutputPath)$(ArtifactsPivots)\</IntermediateOutputPath>
2485 <!-- The package output path does not include the project name, and only includes the Configuration as a pivot -->
2486 <PackageOutputPath Condition="'$(PackageOutputPath)' == ''">$(ArtifactsPath)\$(ArtifactsPackageOutputName)\$(Configuration.ToLowerInvariant())\</PackageOutputPath>
2487 </PropertyGroup>
2488 <PropertyGroup Condition="'$(UseArtifactsOutput)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2489 <BaseOutputPath Condition="'$(BaseOutputPath)' == ''">bin\</BaseOutputPath>
2490 <BaseOutputPath Condition="!HasTrailingSlash('$(BaseOutputPath)')">$(BaseOutputPath)\</BaseOutputPath>
2491 <OutputPath Condition="'$(OutputPath)' == ''">$(BaseOutputPath)$(_PlatformToAppendToOutputPath)$(Configuration)\</OutputPath>
2492 <OutputPath Condition="!HasTrailingSlash('$(OutputPath)')">$(OutputPath)\</OutputPath>
2493 </PropertyGroup>
2494 <!-- If "UseArtifactsOutput" wasn't set when the MSBuild project extensions .props files were imported, then use "obj" in the project folder for the intermediate output path
2495 instead a folder under ArtifactsPath. To have the intermediate output path in the artifacts folder, "UseArtifactsOutput" should be set in Directory.Build.props-->
2496 <PropertyGroup Condition="'$(UseArtifactsIntermediateOutput)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2497 <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">obj\</BaseIntermediateOutputPath>
2498 <BaseIntermediateOutputPath Condition="!HasTrailingSlash('$(BaseIntermediateOutputPath)')">$(BaseIntermediateOutputPath)\</BaseIntermediateOutputPath>
2499 <IntermediateOutputPath Condition=" $(IntermediateOutputPath) == '' ">$(BaseIntermediateOutputPath)$(_PlatformToAppendToOutputPath)$(Configuration)\</IntermediateOutputPath>
2500 <IntermediateOutputPath Condition="!HasTrailingSlash('$(IntermediateOutputPath)')">$(IntermediateOutputPath)\</IntermediateOutputPath>
2501 </PropertyGroup>
2502 <!-- Set the package output path (for nuget pack target) now, before the TargetFramework is appended -->
2503 <PropertyGroup Condition="'$(PackageOutputPath)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2504 <PackageOutputPath Condition="'$(UseArtifactsOutput)' != 'true'">$(OutputPath)</PackageOutputPath>
2505 </PropertyGroup>
2506 <!-- Exclude files from OutputPath and IntermediateOutputPath from default item globs. Use the value
2507 of these properties before the TargetFramework is appended, so that if these values are specified
2508 in the project file, the specified value will be used for the exclude. -->
2509 <PropertyGroup Condition="'$(UseArtifactsOutput)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2510 <DefaultItemExcludes>$(DefaultItemExcludes);$(OutputPath)/**</DefaultItemExcludes>
2511 <DefaultItemExcludes>$(DefaultItemExcludes);$(IntermediateOutputPath)/**</DefaultItemExcludes>
2512 </PropertyGroup>
2513 <PropertyGroup Condition="'$(UseArtifactsOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2514 <DefaultItemExcludes>$(DefaultItemExcludes);$(ArtifactsPath)/**</DefaultItemExcludes>
2515 <!-- Exclude bin and obj folders to avoid issues with projects that switch to using artifacts output format -->
2516 <DefaultItemExcludes>$(DefaultItemExcludes);bin/**;obj/**</DefaultItemExcludes>
2517 </PropertyGroup>
2518 <!--
2519 Append $(TargetFramework) directory to output and intermediate paths to prevent bin clashes between
2520 targets.
2521 -->
2522 <PropertyGroup Condition="'$(UseArtifactsOutput)' != 'true' and&#xD;&#xA; '$(AppendTargetFrameworkToOutputPath)' == 'true' and '$(TargetFramework)' != '' and '$(_UnsupportedTargetFrameworkError)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2523 <OutputPath>$(OutputPath)$(TargetFramework.ToLowerInvariant())\</OutputPath>
2524 </PropertyGroup>
2525 <PropertyGroup Condition="'$(UseArtifactsOutput)' != 'true' and&#xD;&#xA; '$(AppendTargetFrameworkToOutputPath)' == 'true' and '$(TargetFramework)' != '' and '$(_UnsupportedTargetFrameworkError)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2526 <IntermediateOutputPath>$(IntermediateOutputPath)$(TargetFramework.ToLowerInvariant())\</IntermediateOutputPath>
2527 </PropertyGroup>
2528 <Target Name="_CheckForUnsupportedArtifactsPath" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2529 <!-- Generate an error if ArtifactsPath or UseArtifactsOutput are set in the project file.
2530
2531 We generate an error because if they are set in the project file, it is too late to change the intermediate output path,
2532 and because it would be confusing to set the property in the project file and have the artifacts path depend on whether
2533 there happened to be a Directory.Build.props file defined.
2534 -->
2535 <NetSdkError Condition="'$(UseArtifactsOutput)' == 'true' and '$(_ArtifactsPathSetEarly)' != 'true'" ResourceName="ArtifactsPathCannotBeSetInProject" />
2536 <NetSdkError Condition="'$(_ArtifactsPathLocationType)' == 'ProjectFolder'" ResourceName="UseArtifactsOutputRequiresDirectoryBuildProps" />
2537 </Target>
2538 <!--
2539============================================================================================================================================
2540 </Import>
2541
2542C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
2543============================================================================================================================================
2544-->
2545 <!-- Related issue: https://github.com/dotnet/sdk/issues/12324-->
2546 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2547 <!-- Import winfx targets when we're targeting .NETFramework and not importing the newer WindowsDesktop targets via `UseWPF`. -->
2548 <ImportFrameworkWinFXTargets Condition="'$(ImportFrameworkWinFXTargets)' == '' and '$(UseWPF)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETFramework'">true</ImportFrameworkWinFXTargets>
2549 <!-- Otherwise, don't import. -->
2550 <ImportFrameworkWinFXTargets Condition="'$(ImportFrameworkWinFXTargets)' == ''">false</ImportFrameworkWinFXTargets>
2551 </PropertyGroup>
2552 <!--
2553 Import targets from RazorSDK if referenced
2554 Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
2555 Sdks\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.BeforeCommon.targets
2556 -->
2557 <!--<Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.BeforeCommon.targets" Condition="'$(UsingMicrosoftNETSdkRazor)' == 'true'" />-->
2558 <!-- Import workload targets -->
2559 <!--
2560============================================================================================================================================
2561 <Import Project="Microsoft.NET.Sdk.ImportWorkloads.targets" Condition="'$(MSBuildEnableWorkloadResolver)' == 'true'">
2562
2563C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets
2564============================================================================================================================================
2565-->
2566 <!--
2567***********************************************************************************************
2568Microsoft.NET.Sdk.ImportWorkloads.targets
2569
2570WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2571 created a backup copy. Incorrect changes to this file will make it
2572 impossible to load or build your projects from the command-line or the IDE.
2573
2574Copyright (c) .NET Foundation. All rights reserved.
2575***********************************************************************************************
2576-->
2577 <!-- Workload support -->
2578 <!-- Import workload manifests -->
2579 <!--
2580============================================================================================================================================
2581 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
2582
2583C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.sdk.android\36.1.2\WorkloadManifest.targets
2584============================================================================================================================================
2585-->
2586 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'android' ">-->
2587 <!--<Import Project="Sdk.targets" Sdk="Microsoft.Android.Sdk.net10" Condition=" $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '10.0')) " />-->
2588 <!--<Import Project="Sdk.targets" Sdk="Microsoft.Android.Sdk.net9" Condition=" $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0')) " />-->
2589 <!--<Import Project="Eol.targets" Sdk="Microsoft.Android.Sdk.net10" Condition=" $([MSBuild]::VersionLessThanOrEquals($(TargetFrameworkVersion), '8.0')) " />-->
2590 <!--</ImportGroup>-->
2591 <ItemGroup Condition=" '$(TargetPlatformIdentifier)' == 'android' and $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0')) ">
2592 <KnownFrameworkReference Update="Microsoft.Android" LatestRuntimeFrameworkVersion="35.0.105" TargetingPackVersion="35.0.105" />
2593 </ItemGroup>
2594 <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '9.0')) ">
2595 <SdkSupportedTargetPlatformIdentifier Include="android" DisplayName="Android" />
2596 </ItemGroup>
2597 <!--
2598============================================================================================================================================
2599 </Import>
2600============================================================================================================================================
2601-->
2602 <!--
2603============================================================================================================================================
2604 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
2605
2606C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.sdk.ios\26.0.11017\WorkloadManifest.targets
2607============================================================================================================================================
2608-->
2609 <!-- Load the correct workload depending on the TargetPlatformVersion -->
2610 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '10.0')) And '$(TargetPlatformVersion)' == '26.0'">-->
2611 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Sdk.net10.0_26.0" />-->
2612 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Windows.Sdk.Aliased.net10.0_26.0" Condition=" $([MSBuild]::IsOSPlatform('windows'))" />-->
2613 <!--</ImportGroup>-->
2614 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0')) And '$(TargetPlatformVersion)' == '18.0'">-->
2615 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Sdk.net9.0_18.0" />-->
2616 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Windows.Sdk.Aliased.net9.0_18.0" Condition=" $([MSBuild]::IsOSPlatform('windows'))" />-->
2617 <!--</ImportGroup>-->
2618 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0')) And '$(TargetPlatformVersion)' == '26.0'">-->
2619 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Sdk.net9.0_26.0" />-->
2620 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Windows.Sdk.Aliased.net9.0_26.0" Condition=" $([MSBuild]::IsOSPlatform('windows'))" />-->
2621 <!--</ImportGroup>-->
2622 <!-- If no TargetPlatformVersion is specified, load a default workload depending on the target framework version, and that workload will validate the TargetPlatformVersion value and show an error if applicable -->
2623 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '10.0'))">-->
2624 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Sdk.net10.0_26.0" />-->
2625 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Windows.Sdk.Aliased.net10.0_26.0" Condition=" $([MSBuild]::IsOSPlatform('windows'))" />-->
2626 <!--</ImportGroup>-->
2627 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0'))">-->
2628 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Sdk.net9.0_26.0" />-->
2629 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Windows.Sdk.Aliased.net9.0_26.0" Condition=" $([MSBuild]::IsOSPlatform('windows'))" />-->
2630 <!--</ImportGroup>-->
2631 <!-- Detect if the target framework version is outside our supported range, and show the corresponding error -->
2632 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' And '$(UsingAppleNETSdk)' != 'true'">-->
2633 <!--<Import Project="Sdk-eol.props" Sdk="Microsoft.iOS.Sdk.net10.0_26.0" Condition=" $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '9.0'))" />-->
2634 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Sdk.net10.0_26.0" Condition=" $([MSBuild]::VersionGreaterThan($(TargetFrameworkVersion), '10.0'))" />-->
2635 <!--</ImportGroup>-->
2636 <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
2637 <SdkSupportedTargetPlatformIdentifier Include="ios" DisplayName="iOS" />
2638 </ItemGroup>
2639 <!--
2640============================================================================================================================================
2641 </Import>
2642============================================================================================================================================
2643-->
2644 <!--
2645============================================================================================================================================
2646 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
2647
2648C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.sdk.maccatalyst\26.0.11017\WorkloadManifest.targets
2649============================================================================================================================================
2650-->
2651 <!-- Load the correct workload depending on the TargetPlatformVersion -->
2652 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'MacCatalyst' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '10.0')) And '$(TargetPlatformVersion)' == '26.0'">-->
2653 <!--<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk.net10.0_26.0" />-->
2654 <!--</ImportGroup>-->
2655 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'MacCatalyst' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0')) And '$(TargetPlatformVersion)' == '18.0'">-->
2656 <!--<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk.net9.0_18.0" />-->
2657 <!--</ImportGroup>-->
2658 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'MacCatalyst' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0')) And '$(TargetPlatformVersion)' == '26.0'">-->
2659 <!--<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk.net9.0_26.0" />-->
2660 <!--</ImportGroup>-->
2661 <!-- If no TargetPlatformVersion is specified, load a default workload depending on the target framework version, and that workload will validate the TargetPlatformVersion value and show an error if applicable -->
2662 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'MacCatalyst' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '10.0'))">-->
2663 <!--<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk.net10.0_26.0" />-->
2664 <!--</ImportGroup>-->
2665 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'MacCatalyst' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0'))">-->
2666 <!--<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk.net9.0_26.0" />-->
2667 <!--</ImportGroup>-->
2668 <!-- Detect if the target framework version is outside our supported range, and show the corresponding error -->
2669 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'MacCatalyst' And '$(UsingAppleNETSdk)' != 'true'">-->
2670 <!--<Import Project="Sdk-eol.props" Sdk="Microsoft.MacCatalyst.Sdk.net10.0_26.0" Condition=" $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '9.0'))" />-->
2671 <!--<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk.net10.0_26.0" Condition=" $([MSBuild]::VersionGreaterThan($(TargetFrameworkVersion), '10.0'))" />-->
2672 <!--</ImportGroup>-->
2673 <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
2674 <SdkSupportedTargetPlatformIdentifier Include="maccatalyst" DisplayName="MacCatalyst" />
2675 </ItemGroup>
2676 <!--
2677============================================================================================================================================
2678 </Import>
2679============================================================================================================================================
2680-->
2681 <!--
2682============================================================================================================================================
2683 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
2684
2685C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.sdk.macos\26.0.11017\WorkloadManifest.targets
2686============================================================================================================================================
2687-->
2688 <!-- Load the correct workload depending on the TargetPlatformVersion -->
2689 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'macOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '10.0')) And '$(TargetPlatformVersion)' == '26.0'">-->
2690 <!--<Import Project="Sdk.props" Sdk="Microsoft.macOS.Sdk.net10.0_26.0" />-->
2691 <!--</ImportGroup>-->
2692 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'macOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0')) And '$(TargetPlatformVersion)' == '15.0'">-->
2693 <!--<Import Project="Sdk.props" Sdk="Microsoft.macOS.Sdk.net9.0_15.0" />-->
2694 <!--</ImportGroup>-->
2695 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'macOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0')) And '$(TargetPlatformVersion)' == '26.0'">-->
2696 <!--<Import Project="Sdk.props" Sdk="Microsoft.macOS.Sdk.net9.0_26.0" />-->
2697 <!--</ImportGroup>-->
2698 <!-- If no TargetPlatformVersion is specified, load a default workload depending on the target framework version, and that workload will validate the TargetPlatformVersion value and show an error if applicable -->
2699 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'macOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '10.0'))">-->
2700 <!--<Import Project="Sdk.props" Sdk="Microsoft.macOS.Sdk.net10.0_26.0" />-->
2701 <!--</ImportGroup>-->
2702 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'macOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0'))">-->
2703 <!--<Import Project="Sdk.props" Sdk="Microsoft.macOS.Sdk.net9.0_26.0" />-->
2704 <!--</ImportGroup>-->
2705 <!-- Detect if the target framework version is outside our supported range, and show the corresponding error -->
2706 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'macOS' And '$(UsingAppleNETSdk)' != 'true'">-->
2707 <!--<Import Project="Sdk-eol.props" Sdk="Microsoft.macOS.Sdk.net10.0_26.0" Condition=" $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '9.0'))" />-->
2708 <!--<Import Project="Sdk.props" Sdk="Microsoft.macOS.Sdk.net10.0_26.0" Condition=" $([MSBuild]::VersionGreaterThan($(TargetFrameworkVersion), '10.0'))" />-->
2709 <!--</ImportGroup>-->
2710 <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
2711 <SdkSupportedTargetPlatformIdentifier Include="macos" DisplayName="macOS" />
2712 </ItemGroup>
2713 <!--
2714============================================================================================================================================
2715 </Import>
2716============================================================================================================================================
2717-->
2718 <!--
2719============================================================================================================================================
2720 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
2721
2722C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.sdk.maui\10.0.0\WorkloadManifest.targets
2723============================================================================================================================================
2724-->
2725 <!--
2726 .NET MAUI telemetry and failure tracking. These are used to detect when the user specified one of the
2727 various <UseMaui*> properties, but for some reason the workload was not installed correctly.
2728 -->
2729 <ItemGroup>
2730 <ProjectCapability Condition=" '$(UseMaui)' == 'true' " Include="UseMaui" />
2731 <ProjectCapability Condition=" '$(UseMauiCore)' == 'true' " Include="UseMauiCore" />
2732 <ProjectCapability Condition=" '$(UseMauiNuGets)' == 'true' " Include="UseMauiNuGets" />
2733 <ProjectCapability Condition=" '$(UseMauiEssentials)' == 'true' " Include="UseMauiEssentials" />
2734 <ProjectCapability Condition=" '$(UseMauiAssets)' == 'true' " Include="UseMauiAssets" />
2735 </ItemGroup>
2736 <!--
2737 Specifying any of the <UseMaui*> properties will enable the maui workload. BundledVersions.targets enables
2738 the specific parts of .NET MAUI SDK.
2739 -->
2740 <!--<Import Project="Sdk.targets" Sdk="Microsoft.Maui.Sdk.net10" Condition=" ('$(UseMaui)' == 'true' or '$(UseMauiCore)' == 'true' or '$(UseMauiEssentials)' == 'true' or '$(UseMauiAssets)' == 'true') and ($([MSBuild]::VersionEquals($(TargetFrameworkVersion), '10.0'))) and ('$(SkipMauiWorkloadManifest)' != 'true') " />-->
2741 <!--<Import Project="Sdk.targets" Sdk="Microsoft.Maui.Sdk.net9" Condition=" ('$(UseMaui)' == 'true' or '$(UseMauiCore)' == 'true' or '$(UseMauiEssentials)' == 'true' or '$(UseMauiAssets)' == 'true') and ($([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0'))) and ('$(SkipMauiWorkloadManifest)' != 'true') " />-->
2742 <!--
2743 Previous versions of the .NET MAUI SDK used **FromWorkload**, so replace with explicit versions.
2744 The BundledVersions.targets that is imported is from the previous SDK, so all the other values are correct.
2745 -->
2746 <ItemGroup Condition=" $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0')) and ('$(SkipMauiWorkloadManifest)' != 'true') ">
2747 <KnownFrameworkReference Update="Microsoft.Maui.Core" DefaultRuntimeFrameworkVersion="$(MauiVersion)" LatestRuntimeFrameworkVersion="$(MauiVersion)" TargetingPackVersion="$(MauiVersion)" />
2748 <KnownFrameworkReference Update="Microsoft.Maui.Controls" DefaultRuntimeFrameworkVersion="$(MauiVersion)" LatestRuntimeFrameworkVersion="$(MauiVersion)" TargetingPackVersion="$(MauiVersion)" />
2749 <KnownFrameworkReference Update="Microsoft.Maui.Essentials" DefaultRuntimeFrameworkVersion="$(MauiVersion)" LatestRuntimeFrameworkVersion="$(MauiVersion)" TargetingPackVersion="$(MauiVersion)" />
2750 </ItemGroup>
2751 <!--
2752============================================================================================================================================
2753 </Import>
2754============================================================================================================================================
2755-->
2756 <!--
2757============================================================================================================================================
2758 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
2759
2760C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.sdk.tvos\26.0.11017\WorkloadManifest.targets
2761============================================================================================================================================
2762-->
2763 <!-- Load the correct workload depending on the TargetPlatformVersion -->
2764 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'tvOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '10.0')) And '$(TargetPlatformVersion)' == '26.0'">-->
2765 <!--<Import Project="Sdk.props" Sdk="Microsoft.tvOS.Sdk.net10.0_26.0" />-->
2766 <!--</ImportGroup>-->
2767 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'tvOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0')) And '$(TargetPlatformVersion)' == '18.0'">-->
2768 <!--<Import Project="Sdk.props" Sdk="Microsoft.tvOS.Sdk.net9.0_18.0" />-->
2769 <!--</ImportGroup>-->
2770 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'tvOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0')) And '$(TargetPlatformVersion)' == '26.0'">-->
2771 <!--<Import Project="Sdk.props" Sdk="Microsoft.tvOS.Sdk.net9.0_26.0" />-->
2772 <!--</ImportGroup>-->
2773 <!-- If no TargetPlatformVersion is specified, load a default workload depending on the target framework version, and that workload will validate the TargetPlatformVersion value and show an error if applicable -->
2774 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'tvOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '10.0'))">-->
2775 <!--<Import Project="Sdk.props" Sdk="Microsoft.tvOS.Sdk.net10.0_26.0" />-->
2776 <!--</ImportGroup>-->
2777 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'tvOS' And '$(UsingAppleNETSdk)' != 'true' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '9.0'))">-->
2778 <!--<Import Project="Sdk.props" Sdk="Microsoft.tvOS.Sdk.net9.0_26.0" />-->
2779 <!--</ImportGroup>-->
2780 <!-- Detect if the target framework version is outside our supported range, and show the corresponding error -->
2781 <!--<ImportGroup Condition=" '$(TargetPlatformIdentifier)' == 'tvOS' And '$(UsingAppleNETSdk)' != 'true'">-->
2782 <!--<Import Project="Sdk-eol.props" Sdk="Microsoft.tvOS.Sdk.net10.0_26.0" Condition=" $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '9.0'))" />-->
2783 <!--<Import Project="Sdk.props" Sdk="Microsoft.tvOS.Sdk.net10.0_26.0" Condition=" $([MSBuild]::VersionGreaterThan($(TargetFrameworkVersion), '10.0'))" />-->
2784 <!--</ImportGroup>-->
2785 <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
2786 <SdkSupportedTargetPlatformIdentifier Include="tvos" DisplayName="tvOS" />
2787 </ItemGroup>
2788 <!--
2789============================================================================================================================================
2790 </Import>
2791============================================================================================================================================
2792-->
2793 <!--
2794============================================================================================================================================
2795 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
2796
2797C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.workload.mono.toolchain.current\10.0.100\WorkloadManifest.targets
2798============================================================================================================================================
2799-->
2800 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
2801 <PropertyGroup>
2802 <_RuntimePackInWorkloadVersionCurrent>10.0.0</_RuntimePackInWorkloadVersionCurrent>
2803 <_RuntimePackInWorkloadVersion9>9.0.11</_RuntimePackInWorkloadVersion9>
2804 <_RuntimePackInWorkloadVersion8>8.0.22</_RuntimePackInWorkloadVersion8>
2805 <_RuntimePackInWorkloadVersion7>7.0.20</_RuntimePackInWorkloadVersion7>
2806 <_RuntimePackInWorkloadVersion6>6.0.36</_RuntimePackInWorkloadVersion6>
2807 <TargetsCurrent Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '10.0'))">true</TargetsCurrent>
2808 <!-- Disabled until next release: force net10.0 to use the current targets until the SDK can target net11.0 -->
2809 <!--
2810 <TreatPreviousAsCurrent Condition="'$(TreatPreviousAsCurrent)' == ''">true</TreatPreviousAsCurrent>
2811 <TargetsCurrent Condition="'$(TreatPreviousAsCurrent)' == 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '10.0'))">true</TargetsCurrent>
2812 -->
2813 </PropertyGroup>
2814 <PropertyGroup Condition="'$(TargetsCurrent)' != 'true'">
2815 <TargetsNet9 Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '9.0'))">true</TargetsNet9>
2816 <TargetsNet8 Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '8.0'))">true</TargetsNet8>
2817 <TargetsNet7 Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '7.0'))">true</TargetsNet7>
2818 <TargetsNet6 Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '6.0'))">true</TargetsNet6>
2819 </PropertyGroup>
2820 <!--<Import Project="$(MSBuildThisFileDirectory)WorkloadManifest.Wasi.targets" Condition="'$(RuntimeIdentifier)' == 'wasi-wasm'" />-->
2821 <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
2822 <_BrowserWorkloadNotSupportedForTFM Condition="$([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '6.0'))">true</_BrowserWorkloadNotSupportedForTFM>
2823 <_BrowserWorkloadDisabled>$(_BrowserWorkloadNotSupportedForTFM)</_BrowserWorkloadDisabled>
2824 <_UsingBlazorOrWasmSdk Condition="'$(UsingMicrosoftNETSdkBlazorWebAssembly)' == 'true' or '$(UsingMicrosoftNETSdkWebAssembly)' == 'true'">true</_UsingBlazorOrWasmSdk>
2825 </PropertyGroup>
2826 <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">
2827 <SelfContained>true</SelfContained>
2828 <WasmNativeWorkloadAvailable Condition="'$(TargetsCurrent)' == 'true'">$(WasmNativeWorkload10)</WasmNativeWorkloadAvailable>
2829 <WasmNativeWorkloadAvailable Condition="'$(TargetsNet9)' == 'true'">$(WasmNativeWorkload9)</WasmNativeWorkloadAvailable>
2830 <WasmNativeWorkloadAvailable Condition="'$(TargetsNet8)' == 'true'">$(WasmNativeWorkload8)</WasmNativeWorkloadAvailable>
2831 <WasmNativeWorkloadAvailable Condition="'$(TargetsNet7)' == 'true'">$(WasmNativeWorkload7)</WasmNativeWorkloadAvailable>
2832 <WasmNativeWorkloadAvailable Condition="'$(TargetsNet6)' == 'true'">$(WasmNativeWorkload)</WasmNativeWorkloadAvailable>
2833 <WasmNativeWorkloadAvailable Condition="'$(WasmNativeWorkloadAvailable)' == '' or '$(WasmNativeWorkload)' == 'false'">false</WasmNativeWorkloadAvailable>
2834 <WasmNativeWorkload>$(WasmNativeWorkloadAvailable)</WasmNativeWorkload>
2835 </PropertyGroup>
2836 <!-- Runtime feature defaults to trim unnecessary code -->
2837 <!--<Import Project="$(MSBuildThisFileDirectory)WasmFeatures.props" Condition="'$(RuntimeIdentifier)' == 'browser-wasm' or '$(RuntimeIdentifier)' == 'wasi-wasm'" />-->
2838 <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
2839 <!-- Keep in sync with $(PropertiesThatTriggerRelinking) -->
2840 <_WasmNativeWorkloadNeeded Condition="&#xD;&#xA; '$(WasmEnableSIMD)' == 'false' or&#xD;&#xA; '$(WasmEnableExceptionHandling)' == 'false' or&#xD;&#xA; '$(InvariantTimezone)' == 'true' or&#xD;&#xA; '$(WasmNativeStrip)' == 'false' or&#xD;&#xA; '$(WasmNativeDebugSymbols)' == 'true' or&#xD;&#xA; '$(WasmSingleFileBundle)' == 'false' or&#xD;&#xA; '$(EnableDiagnostics)' == 'true' or&#xD;&#xA; '$(WasmProfilers)' != '' or&#xD;&#xA; '$(RunAOTCompilation)' == 'true' or&#xD;&#xA; '$(WasmBuildNative)' == 'true' or&#xD;&#xA; '$(WasmGenerateAppBundle)' == 'true' or&#xD;&#xA; '$(_UsingBlazorOrWasmSdk)' != 'true' or&#xD;&#xA; '$(EmccInitialHeapSize)' != '' or&#xD;&#xA; '$(EmccMaximumHeapSize)' != '' ">true</_WasmNativeWorkloadNeeded>
2841 <UsingBrowserRuntimeWorkload Condition="'$(_BrowserWorkloadNotSupportedForTFM)' == 'true'">false</UsingBrowserRuntimeWorkload>
2842 <UsingBrowserRuntimeWorkload Condition="'$(UsingBrowserRuntimeWorkload)' == '' and '$(_WasmNativeWorkloadNeeded)' == 'true'">true</UsingBrowserRuntimeWorkload>
2843 <UsingBrowserRuntimeWorkload Condition="'$(UsingBrowserRuntimeWorkload)' == ''">$(WasmNativeWorkloadAvailable)</UsingBrowserRuntimeWorkload>
2844 </PropertyGroup>
2845 <!-- Mono AOT library mode support -->
2846 <PropertyGroup Condition="'$(PublishAot)' != 'true' and '$(NativeLib)' != ''">
2847 <_IsAndroidLibraryMode Condition="'$(RuntimeIdentifier)' == 'android-arm64' or '$(RuntimeIdentifier)' == 'android-arm' or '$(RuntimeIdentifier)' == 'android-x64' or '$(RuntimeIdentifier)' == 'android-x86'">true</_IsAndroidLibraryMode>
2848 <_IsAppleMobileLibraryMode Condition="'$(RuntimeIdentifier)' == 'ios-arm64' or '$(RuntimeIdentifier)' == 'iossimulator-arm64' or '$(RuntimeIdentifier)' == 'iossimulator-x64' or '$(RuntimeIdentifier)' == 'maccatalyst-arm64' or '$(RuntimeIdentifier)' == 'maccatalyst-x64' or '$(RuntimeIdentifier)' == 'tvos-arm64'">true</_IsAppleMobileLibraryMode>
2849 <_IsiOSLibraryMode Condition="'$(RuntimeIdentifier)' == 'ios-arm64' or '$(RuntimeIdentifier)' == 'iossimulator-arm64' or '$(RuntimeIdentifier)' == 'iossimulator-x64'">true</_IsiOSLibraryMode>
2850 <_IsMacCatalystLibraryMode Condition="'$(RuntimeIdentifier)' == 'maccatalyst-arm64' or '$(RuntimeIdentifier)' == 'maccatalyst-x64'">true</_IsMacCatalystLibraryMode>
2851 <_IstvOSLibraryMode Condition="'$(RuntimeIdentifier)' == 'tvos-arm64'">true</_IstvOSLibraryMode>
2852 </PropertyGroup>
2853 <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'android' or '$(_IsAndroidLibraryMode)' == 'true' or '$(TargetPlatformIdentifier)' == 'macOS' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'tvos' or '$(_IsAppleMobileLibraryMode)' == 'true'">
2854 <UsingMobileWorkload>true</UsingMobileWorkload>
2855 </PropertyGroup>
2856 <PropertyGroup Condition="$([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0')) and ('$(UsingMobileWorkload)' == 'true' or '$(RuntimeIdentifier)' == 'browser-wasm' or '$(RuntimeIdentifier)' == 'wasi-wasm')">
2857 <_MonoWorkloadTargetsMobile>true</_MonoWorkloadTargetsMobile>
2858 </PropertyGroup>
2859 <PropertyGroup Condition="'$(_UsingBlazorOrWasmSdk)' == 'true' and '$(UsingBrowserRuntimeWorkload)' == 'true'">
2860 <WasmGenerateAppBundle>false</WasmGenerateAppBundle>
2861 <UsingBlazorAOTWorkloadManifest>true</UsingBlazorAOTWorkloadManifest>
2862 </PropertyGroup>
2863 <ItemGroup>
2864 <KnownWebAssemblySdkPack Update="@(KnownWebAssemblySdkPack)">
2865 <WebAssemblySdkPackVersion>$(_RuntimePackInWorkloadVersionCurrent)</WebAssemblySdkPackVersion>
2866 </KnownWebAssemblySdkPack>
2867 </ItemGroup>
2868 <!-- Support for "browser" target platform identifier -->
2869 <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'browser' and $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0'))">
2870 <TargetPlatformSupported>true</TargetPlatformSupported>
2871 <TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == ''">1.0</TargetPlatformVersion>
2872 </PropertyGroup>
2873 <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'browser' and $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0'))">
2874 <SdkSupportedTargetPlatformVersion Include="1.0" />
2875 </ItemGroup>
2876 <!-- Support for "wasi" target platform identifier -->
2877 <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'wasi' and $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0'))">
2878 <TargetPlatformSupported>true</TargetPlatformSupported>
2879 <TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == ''">1.0</TargetPlatformVersion>
2880 </PropertyGroup>
2881 <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'wasi' and $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '8.0'))">
2882 <SdkSupportedTargetPlatformVersion Include="1.0" />
2883 </ItemGroup>
2884 <!-- we can't condition sdk imports on the item @(NativeFileReference). Instead, explicitly check before the build
2885 and emit a warning -->
2886 <Target Name="_CheckBrowserWorkloadNeededButNotAvailable" Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(_BrowserWorkloadDisabled)' != 'true' and '$(WasmNativeWorkloadAvailable)' != 'true'" BeforeTargets="Build">
2887 <Warning Condition="@(NativeFileReference-&gt;Count()) &gt; 0" Text="%40(NativeFileReference) is not empty, but the native references won't be linked in, because neither %24(WasmBuildNative), nor %24(RunAOTCompilation) are 'true'. NativeFileReference=@(NativeFileReference)" />
2888 </Target>
2889 <Target Name="_ErrorWorkloadDisabledForTFMLessThan6" Condition="'$(_BrowserWorkloadNotSupportedForTFM)' == 'true'" BeforeTargets="Build">
2890 <Error Condition="'$(RunAOTCompilation)' == 'true'" Text="WebAssembly workloads, required for AOT, are only supported for projects targeting net6.0+ . Set %24(RunAOTCompilation)=false to disable it." />
2891 <Error Condition="@(NativeFileReference-&gt;Count()) &gt; 0" Text="WebAssembly workloads, required for linking native files (from %40(NativeFileReference)), are only supported for projects targeting net6.0+ ." />
2892 <Error Condition="'$(WasmBuildNative)' == 'true'" Text="WebAssembly workloads, required for native relinking, are only supported for projects targeting net6.0+ . Set %24(WasmBuildNative)=false to disable it." />
2893 </Target>
2894 <Target Name="_ErrorDualWasmThreadPropsOn7" Condition="'$(TargetsNet7)' == 'true' and '$(RuntimeIdentifier)' == 'browser-wasm' and&#xD;&#xA; '$(BrowserWorkloadDisabled)' != 'true' and '$(WasmEnableThreads)' == 'true' and '$(WasmEnablePerfTrace)' == 'true'" BeforeTargets="Build">
2895 <Error Text="WebAssembly workloads can only support one active threading mode at a time. Either set WasmEnableThreads to true, but not both." />
2896 </Target>
2897 <Target Name="_SuggestWasmWorkloadForBlazor" BeforeTargets="Publish">
2898 <Message Condition="'$(_UsingBlazorOrWasmSdk)' == 'true' and '$(WasmNativeWorkloadAvailable)' != 'true'" Text="Publishing without optimizations. Although it's optional for Blazor, we strongly recommend using `wasm-tools` workload! You can install it by running `dotnet workload install wasm-tools` from the command line." Importance="High" />
2899 </Target>
2900 <!--<Import Project="$(MSBuildThisFileDirectory)WorkloadTelemetry.targets" Condition="'$(_MonoWorkloadTargetsMobile)' == 'true'" />-->
2901 <!-- end of common logic -->
2902 <!-- start of TFM specific logic, make sure every node has a TargetsCurrent/TargetsNet* condition -->
2903 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoAOTCompiler.Task.net10" Condition="'$(TargetsCurrent)' == 'true' and '$(RunAOTCompilation)' == 'true' and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingMobileWorkload)' == 'true' or '$(UsingWasiRuntimeWorkload)' == 'true')" />-->
2904 <!--<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and ('$(TargetPlatformIdentifier)' == 'android' or '$(_IsAndroidLibraryMode)' == 'true')">-->
2905 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2906 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2907 <!--</ImportGroup>-->
2908 <!--<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and ('$(_IsAndroidLibraryMode)' == 'true' or '$(_IsAppleMobileLibraryMode)' == 'true')">-->
2909 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.LibraryBuilder.Sdk.net10" />-->
2910 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.LibraryBuilder.Sdk.net10" />-->
2911 <!--</ImportGroup>-->
2912 <!--<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and '$(RunAOTCompilation)' == 'true' and ('$(TargetPlatformIdentifier)' == 'android' or '$(_IsAndroidLibraryMode)' == 'true')">-->
2913 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.android-x86" />-->
2914 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.android-x64" />-->
2915 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.android-arm" />-->
2916 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.android-arm64" />-->
2917 <!--</ImportGroup>-->
2918 <!--<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and '$(TargetPlatformIdentifier)' == 'macOS'">-->
2919 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2920 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2921 <!--</ImportGroup>-->
2922 <!--<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and ('$(TargetPlatformIdentifier)' == 'ios' or '$(_IsiOSLibraryMode)' == 'true')">-->
2923 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2924 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2925 <!--</ImportGroup>-->
2926 <!--<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and $([MSBuild]::IsOSPlatform('osx')) and ('$(TargetPlatformIdentifier)' == 'ios' or '$(_IsiOSLibraryMode)' == 'true')">-->
2927 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.ios-arm64" />-->
2928 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.iossimulator-arm64" />-->
2929 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.iossimulator-x64" />-->
2930 <!--</ImportGroup>-->
2931 <!--<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and ('$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(_IsMacCatalystLibraryMode)' == 'true')">-->
2932 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2933 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2934 <!--</ImportGroup>-->
2935 <!--<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and $([MSBuild]::IsOSPlatform('osx')) and ('$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(_IsMacCatalystLibraryMode)' == 'true')">-->
2936 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.maccatalyst-arm64" />-->
2937 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.maccatalyst-x64" />-->
2938 <!--</ImportGroup>-->
2939 <!--<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and ('$(TargetPlatformIdentifier)' == 'tvos' or '$(_IstvOSLibraryMode)' == 'true')">-->
2940 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2941 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2942 <!--</ImportGroup>-->
2943 <!--<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and $([MSBuild]::IsOSPlatform('osx')) and ('$(TargetPlatformIdentifier)' == 'tvos' or '$(_IstvOSLibraryMode)' == 'true')">-->
2944 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.tvos-arm64" />-->
2945 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.tvossimulator-arm64" />-->
2946 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.tvossimulator-x64" />-->
2947 <!--</ImportGroup>-->
2948 <!--<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and '$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true'">-->
2949 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2950 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net10" />-->
2951 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net10" />-->
2952 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.browser-wasm" />-->
2953 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2954 <!--</ImportGroup>-->
2955 <!--<ImportGroup Condition="'$(TargetsCurrent)' == 'true' and '$(RuntimeIdentifier)' == 'wasi-wasm' and '$(UsingWasiRuntimeWorkload)' == 'true'">-->
2956 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2957 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.net10" />-->
2958 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.net10" />-->
2959 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net10.wasi-wasm" />-->
2960 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net10" />-->
2961 <!--</ImportGroup>-->
2962 <PropertyGroup Condition="'$(TargetsCurrent)' == 'true' and '$(_MonoWorkloadTargetsMobile)' == 'true'">
2963 <_MonoWorkloadRuntimePackPackageVersion>$(_RuntimePackInWorkloadVersionCurrent)</_MonoWorkloadRuntimePackPackageVersion>
2964 </PropertyGroup>
2965 <ItemGroup Condition="'$(TargetsCurrent)' == 'true' and '$(_MonoWorkloadTargetsMobile)' == 'true'">
2966 <KnownRuntimePack Update="@(KnownRuntimePack)">
2967 <!-- FIXMEWASI: workaround for now -->
2968 <RuntimePackRuntimeIdentifiers Condition="'%(KnownRuntimePack.TargetFramework)' == 'net10.0' and '$(RuntimeIdentifier)' == 'wasi-wasm'">%(RuntimePackRuntimeIdentifiers);wasi-wasm</RuntimePackRuntimeIdentifiers>
2969 <LatestRuntimeFrameworkVersion Condition="'%(KnownRuntimePack.TargetFramework)' == 'net10.0' and '%(KnownRuntimePack.RuntimePackLabels)' == 'Mono'">$(_MonoWorkloadRuntimePackPackageVersion)</LatestRuntimeFrameworkVersion>
2970 <!-- Overrides for wasm threading support -->
2971 <RuntimePackNamePatterns Condition="'%(KnownRuntimePack.TargetFramework)' == 'net10.0' and '$(RuntimeIdentifier)' == 'browser-wasm' and '$(WasmEnableThreads)' == 'true'">Microsoft.NETCore.App.Runtime.Mono.multithread.**RID**</RuntimePackNamePatterns>
2972 </KnownRuntimePack>
2973 <KnownFrameworkReference Update="Microsoft.NETCore.App">
2974 <TargetingPackVersion Condition="'%(KnownFrameworkReference.TargetFramework)' == 'net10.0'">$(_MonoWorkloadRuntimePackPackageVersion)</TargetingPackVersion>
2975 </KnownFrameworkReference>
2976 </ItemGroup>
2977 <!--
2978============================================================================================================================================
2979 </Import>
2980============================================================================================================================================
2981-->
2982 <!--
2983============================================================================================================================================
2984 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
2985
2986C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.workload.emscripten.current\10.0.100\WorkloadManifest.targets
2987============================================================================================================================================
2988-->
2989 <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">
2990 <BrowserWorkloadDisabled Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and !$([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '6.0'))">true</BrowserWorkloadDisabled>
2991 </PropertyGroup>
2992 <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(BrowserWorkloadDisabled)' == 'true'">
2993 <_NativeBuildNeeded Condition="'$(RunAOTCompilation)' == 'true'">true</_NativeBuildNeeded>
2994 <WorkloadDisabledWithReason Condition="'$(_NativeBuildNeeded)' == 'true'">WebAssembly workloads (required for AOT) are only supported for projects targeting net6.0+</WorkloadDisabledWithReason>
2995 </PropertyGroup>
2996 <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(BrowserWorkloadDisabled)' != 'true'">
2997 <UsingBrowserRuntimeWorkload Condition="'$(RunAOTCompilation)' == 'true' or !('$(UsingMicrosoftNETSdkBlazorWebAssembly)' == 'true' or '$(UsingMicrosoftNETSdkWebAssembly)' == 'true')">true</UsingBrowserRuntimeWorkload>
2998 <UsingBrowserRuntimeWorkload Condition="'$(UsingBrowserRuntimeWorkload)' == ''">$(WasmNativeWorkload)</UsingBrowserRuntimeWorkload>
2999 </PropertyGroup>
3000 <PropertyGroup Condition="'$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingEmscriptenWorkload)' == 'true'">
3001 <CurrentEmsdkTarget Condition="'$(TreatPreviousAsCurrent)' == 'true'">9.0</CurrentEmsdkTarget>
3002 <CurrentEmsdkTarget Condition="'$(TreatPreviousAsCurrent)' != 'true'">10.0</CurrentEmsdkTarget>
3003 </PropertyGroup>
3004 <PropertyGroup Condition="'$(BrowserWorkloadDisabled)' == 'true'">
3005 <UsingBrowserRuntimeWorkload>false</UsingBrowserRuntimeWorkload>
3006 <WasmNativeWorkload>false</WasmNativeWorkload>
3007 </PropertyGroup>
3008 <!--<ImportGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingEmscriptenWorkload)' == 'true') and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '$(CurrentEmsdkTarget)'))">-->
3009 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Python.net10" Condition="!$([MSBuild]::IsOsPlatform('Linux'))" />-->
3010 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Node.net10" />-->
3011 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Sdk.net10" />-->
3012 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Cache.net10" />-->
3013 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.Emscripten.Cache.net10" />-->
3014 <!--</ImportGroup>-->
3015 <!--
3016============================================================================================================================================
3017 </Import>
3018============================================================================================================================================
3019-->
3020 <!--
3021============================================================================================================================================
3022 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
3023
3024C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.workload.emscripten.net6\10.0.100\WorkloadManifest.targets
3025============================================================================================================================================
3026-->
3027 <!--<ImportGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '6.0'))">-->
3028 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Python.net6" Condition="!$([MSBuild]::IsOsPlatform('Linux'))" />-->
3029 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Node.net6" />-->
3030 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Sdk.net6" />-->
3031 <!--</ImportGroup>-->
3032 <!--
3033============================================================================================================================================
3034 </Import>
3035============================================================================================================================================
3036-->
3037 <!--
3038============================================================================================================================================
3039 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
3040
3041C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.workload.emscripten.net7\10.0.100\WorkloadManifest.targets
3042============================================================================================================================================
3043-->
3044 <!--<ImportGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '7.0'))">-->
3045 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Python.net7" Condition="!$([MSBuild]::IsOsPlatform('Linux'))" />-->
3046 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Node.net7" />-->
3047 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Sdk.net7" />-->
3048 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Cache.net7" />-->
3049 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.Emscripten.Cache.net7" />-->
3050 <!--</ImportGroup>-->
3051 <!--
3052============================================================================================================================================
3053 </Import>
3054============================================================================================================================================
3055-->
3056 <!--
3057============================================================================================================================================
3058 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
3059
3060C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.workload.emscripten.net8\10.0.100\WorkloadManifest.targets
3061============================================================================================================================================
3062-->
3063 <!--<ImportGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '8.0')) and $([MSBuild]::VersionLessThan('$(TargetFrameworkVersion)', '$(CurrentEmsdkTarget)'))">-->
3064 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Python.net8" Condition="!$([MSBuild]::IsOsPlatform('Linux'))" />-->
3065 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Node.net8" />-->
3066 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Sdk.net8" />-->
3067 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Cache.net8" />-->
3068 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.Emscripten.Cache.net8" />-->
3069 <!--</ImportGroup>-->
3070 <!--
3071============================================================================================================================================
3072 </Import>
3073============================================================================================================================================
3074-->
3075 <!--
3076============================================================================================================================================
3077 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
3078
3079C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.workload.emscripten.net9\10.0.100\WorkloadManifest.targets
3080============================================================================================================================================
3081-->
3082 <!--<ImportGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '9.0')) and $([MSBuild]::VersionLessThan('$(TargetFrameworkVersion)', '$(CurrentEmsdkTarget)'))">-->
3083 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Python.net9" Condition="!$([MSBuild]::IsOsPlatform('Linux'))" />-->
3084 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Node.net9" />-->
3085 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Sdk.net9" />-->
3086 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Cache.net9" />-->
3087 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.Emscripten.Cache.net9" />-->
3088 <!--</ImportGroup>-->
3089 <!--
3090============================================================================================================================================
3091 </Import>
3092============================================================================================================================================
3093-->
3094 <!--
3095============================================================================================================================================
3096 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
3097
3098C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.workload.mono.toolchain.net6\10.0.100\WorkloadManifest.targets
3099============================================================================================================================================
3100-->
3101 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
3102 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoAOTCompiler.Task.net6" Condition="'$(TargetsNet6)' == 'true' and '$(RunAOTCompilation)' == 'true' and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingMobileWorkload)' == 'true')" />-->
3103 <!--<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'android'">-->
3104 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />-->
3105 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />-->
3106 <!--</ImportGroup>-->
3107 <!--<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'android' and '$(RunAOTCompilation)' == 'true'">-->
3108 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x86" />-->
3109 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-x64" />-->
3110 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm" />-->
3111 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.android-arm64" />-->
3112 <!--</ImportGroup>-->
3113 <!--<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'macOS'">-->
3114 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />-->
3115 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />-->
3116 <!--</ImportGroup>-->
3117 <!--
3118 <ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'macOS' and $([MSBuild]::IsOSPlatform('osx'))">
3119 <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.osx-arm64" />
3120 <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.osx-x64" />
3121 </ImportGroup>
3122 -->
3123 <!--<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'ios'">-->
3124 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />-->
3125 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />-->
3126 <!--</ImportGroup>-->
3127 <!--<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'ios' and $([MSBuild]::IsOSPlatform('osx'))">-->
3128 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm" />-->
3129 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.ios-arm64" />-->
3130 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-arm64" />-->
3131 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x64" />-->
3132 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.iossimulator-x86" />-->
3133 <!--</ImportGroup>-->
3134 <!--<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'maccatalyst'">-->
3135 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />-->
3136 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />-->
3137 <!--</ImportGroup>-->
3138 <!--<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'maccatalyst' and $([MSBuild]::IsOSPlatform('osx'))">-->
3139 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-arm64" />-->
3140 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.maccatalyst-x64" />-->
3141 <!--</ImportGroup>-->
3142 <!--<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'tvos'">-->
3143 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />-->
3144 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />-->
3145 <!--</ImportGroup>-->
3146 <!--<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(TargetPlatformIdentifier)' == 'tvos' and $([MSBuild]::IsOSPlatform('osx'))">-->
3147 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvos-arm64" />-->
3148 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-arm64" />-->
3149 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.tvossimulator-x64" />-->
3150 <!--</ImportGroup>-->
3151 <!--<ImportGroup Condition="'$(TargetsNet6)' == 'true' and '$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true'">-->
3152 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />-->
3153 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net6" />-->
3154 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net6.browser-wasm" />-->
3155 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net6" />-->
3156 <!--</ImportGroup>-->
3157 <PropertyGroup Condition="'$(TargetsNet6)' == 'true' and ('$(TargetPlatformIdentifier)' == 'android' or '$(TargetPlatformIdentifier)' == 'macOS' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'tvos' or '$(RuntimeIdentifier)' == 'browser-wasm')">
3158 <_MonoWorkloadTargetsMobile>true</_MonoWorkloadTargetsMobile>
3159 <_MonoWorkloadRuntimePackPackageVersion>$(_RuntimePackInWorkloadVersion6)</_MonoWorkloadRuntimePackPackageVersion>
3160 </PropertyGroup>
3161 <ItemGroup Condition="'$(TargetsNet6)' == 'true' and '$(_MonoWorkloadTargetsMobile)' == 'true'">
3162 <KnownRuntimePack Update="@(KnownRuntimePack)">
3163 <LatestRuntimeFrameworkVersion Condition="'%(KnownRuntimePack.TargetFramework)' == 'net6.0' and '%(KnownRuntimePack.RuntimePackLabels)' == 'Mono'">$(_MonoWorkloadRuntimePackPackageVersion)</LatestRuntimeFrameworkVersion>
3164 </KnownRuntimePack>
3165 </ItemGroup>
3166 <!--
3167============================================================================================================================================
3168 </Import>
3169============================================================================================================================================
3170-->
3171 <!--
3172============================================================================================================================================
3173 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
3174
3175C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.workload.mono.toolchain.net7\10.0.100\WorkloadManifest.targets
3176============================================================================================================================================
3177-->
3178 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
3179 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoAOTCompiler.Task.net7" Condition="'$(TargetsNet7)' == 'true' and '$(RunAOTCompilation)' == 'true' and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingMobileWorkload)' == 'true')" />-->
3180 <!--<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'android'">-->
3181 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />-->
3182 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />-->
3183 <!--</ImportGroup>-->
3184 <!--<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'android' and '$(RunAOTCompilation)' == 'true'">-->
3185 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-x86" />-->
3186 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-x64" />-->
3187 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-arm" />-->
3188 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.android-arm64" />-->
3189 <!--</ImportGroup>-->
3190 <!--<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'macOS'">-->
3191 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />-->
3192 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />-->
3193 <!--</ImportGroup>-->
3194 <!--<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'ios'">-->
3195 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />-->
3196 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />-->
3197 <!--</ImportGroup>-->
3198 <!--<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'ios' and $([MSBuild]::IsOSPlatform('osx'))">-->
3199 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.ios-arm" />-->
3200 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.ios-arm64" />-->
3201 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.iossimulator-arm64" />-->
3202 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.iossimulator-x64" />-->
3203 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.iossimulator-x86" />-->
3204 <!--</ImportGroup>-->
3205 <!--<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'maccatalyst'">-->
3206 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />-->
3207 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />-->
3208 <!--</ImportGroup>-->
3209 <!--<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'maccatalyst' and $([MSBuild]::IsOSPlatform('osx'))">-->
3210 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.maccatalyst-arm64" />-->
3211 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.maccatalyst-x64" />-->
3212 <!--</ImportGroup>-->
3213 <!--<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'tvos'">-->
3214 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />-->
3215 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />-->
3216 <!--</ImportGroup>-->
3217 <!--<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(TargetPlatformIdentifier)' == 'tvos' and $([MSBuild]::IsOSPlatform('osx'))">-->
3218 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.tvos-arm64" />-->
3219 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.tvossimulator-arm64" />-->
3220 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.tvossimulator-x64" />-->
3221 <!--</ImportGroup>-->
3222 <!--<ImportGroup Condition="'$(TargetsNet7)' == 'true' and '$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true'">-->
3223 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />-->
3224 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net7" />-->
3225 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net7" />-->
3226 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net7.browser-wasm" />-->
3227 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net7" />-->
3228 <!--</ImportGroup>-->
3229 <PropertyGroup Condition="'$(TargetsNet7)' == 'true' and ('$(TargetPlatformIdentifier)' == 'android' or '$(TargetPlatformIdentifier)' == 'macOS' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'tvos' or '$(RuntimeIdentifier)' == 'browser-wasm')">
3230 <_MonoWorkloadTargetsMobile>true</_MonoWorkloadTargetsMobile>
3231 <_MonoWorkloadRuntimePackPackageVersion>$(_RuntimePackInWorkloadVersion7)</_MonoWorkloadRuntimePackPackageVersion>
3232 </PropertyGroup>
3233 <ItemGroup Condition="'$(TargetsNet7)' == 'true' and '$(_MonoWorkloadTargetsMobile)' == 'true'">
3234 <KnownRuntimePack Update="@(KnownRuntimePack)">
3235 <LatestRuntimeFrameworkVersion Condition="'%(KnownRuntimePack.TargetFramework)' == 'net7.0' and '%(KnownRuntimePack.RuntimePackLabels)' == 'Mono'">$(_MonoWorkloadRuntimePackPackageVersion)</LatestRuntimeFrameworkVersion>
3236 <!-- Overrides for wasm threads support -->
3237 <RuntimePackNamePatterns Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(WasmEnablethreads)' == 'true'">Microsoft.NETCore.App.Runtime.Mono.multithread.**RID**</RuntimePackNamePatterns>
3238 </KnownRuntimePack>
3239 </ItemGroup>
3240 <!--
3241============================================================================================================================================
3242 </Import>
3243============================================================================================================================================
3244-->
3245 <!--
3246============================================================================================================================================
3247 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
3248
3249C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.workload.mono.toolchain.net8\10.0.100\WorkloadManifest.targets
3250============================================================================================================================================
3251-->
3252 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
3253 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoAOTCompiler.Task.net8" Condition="'$(TargetsNet8)' == 'true' and '$(RunAOTCompilation)' == 'true' and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingMobileWorkload)' == 'true')" />-->
3254 <!--<ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'android'">-->
3255 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />-->
3256 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />-->
3257 <!--</ImportGroup>-->
3258 <!--<ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'android' and '$(RunAOTCompilation)' == 'true'">-->
3259 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x86" />-->
3260 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-x64" />-->
3261 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm" />-->
3262 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.android-arm64" />-->
3263 <!--</ImportGroup>-->
3264 <!--<ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'macOS'">-->
3265 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />-->
3266 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />-->
3267 <!--</ImportGroup>-->
3268 <!--<ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'ios'">-->
3269 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />-->
3270 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />-->
3271 <!--</ImportGroup>-->
3272 <!--<ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'ios' and $([MSBuild]::IsOSPlatform('osx'))">-->
3273 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.ios-arm64" />-->
3274 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-arm64" />-->
3275 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.iossimulator-x64" />-->
3276 <!--</ImportGroup>-->
3277 <!--<ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'maccatalyst'">-->
3278 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />-->
3279 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />-->
3280 <!--</ImportGroup>-->
3281 <!--<ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'maccatalyst' and $([MSBuild]::IsOSPlatform('osx'))">-->
3282 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-arm64" />-->
3283 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.maccatalyst-x64" />-->
3284 <!--</ImportGroup>-->
3285 <!--<ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'tvos'">-->
3286 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />-->
3287 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />-->
3288 <!--</ImportGroup>-->
3289 <!--<ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(TargetPlatformIdentifier)' == 'tvos' and $([MSBuild]::IsOSPlatform('osx'))">-->
3290 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvos-arm64" />-->
3291 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-arm64" />-->
3292 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.tvossimulator-x64" />-->
3293 <!--</ImportGroup>-->
3294 <!--<ImportGroup Condition="'$(TargetsNet8)' == 'true' and '$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true'">-->
3295 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />-->
3296 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net8" />-->
3297 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net8" />-->
3298 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net8.browser-wasm" />-->
3299 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net8" />-->
3300 <!--</ImportGroup>-->
3301 <PropertyGroup Condition="'$(TargetsNet8)' == 'true' and ('$(TargetPlatformIdentifier)' == 'android' or '$(TargetPlatformIdentifier)' == 'macOS' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'tvos' or '$(RuntimeIdentifier)' == 'browser-wasm' or '$(RuntimeIdentifier)' == 'wasi-wasm')">
3302 <_MonoWorkloadTargetsMobile>true</_MonoWorkloadTargetsMobile>
3303 <_MonoWorkloadRuntimePackPackageVersion>$(_RuntimePackInWorkloadVersion8)</_MonoWorkloadRuntimePackPackageVersion>
3304 </PropertyGroup>
3305 <ItemGroup Condition="'$(TargetsNet8)' == 'true' and '$(_MonoWorkloadTargetsMobile)' == 'true'">
3306 <KnownRuntimePack Update="@(KnownRuntimePack)">
3307 <!-- FIXMEWASI: workaround for now -->
3308 <RuntimePackRuntimeIdentifiers Condition="'$(RuntimeIdentifier)' == 'wasi-wasm'">%(RuntimePackRuntimeIdentifiers);wasi-wasm</RuntimePackRuntimeIdentifiers>
3309 <LatestRuntimeFrameworkVersion Condition="'%(KnownRuntimePack.TargetFramework)' == 'net8.0' and '%(KnownRuntimePack.RuntimePackLabels)' == 'Mono'">$(_MonoWorkloadRuntimePackPackageVersion)</LatestRuntimeFrameworkVersion>
3310 <!-- Overrides for wasm threads support -->
3311 <RuntimePackNamePatterns Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(WasmEnablethreads)' == 'true'">Microsoft.NETCore.App.Runtime.Mono.multithread.**RID**</RuntimePackNamePatterns>
3312 </KnownRuntimePack>
3313 </ItemGroup>
3314 <!--
3315============================================================================================================================================
3316 </Import>
3317============================================================================================================================================
3318-->
3319 <!--
3320============================================================================================================================================
3321 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
3322
3323C:\Program Files\dotnet\sdk-manifests\10.0.100\microsoft.net.workload.mono.toolchain.net9\10.0.100\WorkloadManifest.targets
3324============================================================================================================================================
3325-->
3326 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
3327 <!-- TFM specific -->
3328 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoAOTCompiler.Task.net9" Condition="'$(TargetsNet9)' == 'true' and '$(RunAOTCompilation)' == 'true' and ('$(UsingBrowserRuntimeWorkload)' == 'true' or '$(UsingMobileWorkload)' == 'true' or '$(UsingWasiRuntimeWorkload)' == 'true')" />-->
3329 <!--<ImportGroup Condition="'$(TargetsNet9)' == 'true' and ('$(TargetPlatformIdentifier)' == 'android' or '$(_IsAndroidLibraryMode)' == 'true')">-->
3330 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3331 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3332 <!--</ImportGroup>-->
3333 <!--<ImportGroup Condition="'$(TargetsNet9)' == 'true' and ('$(_IsAndroidLibraryMode)' == 'true' or '$(_IsAppleMobileLibraryMode)' == 'true')">-->
3334 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.LibraryBuilder.Sdk.net9" />-->
3335 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.LibraryBuilder.Sdk.net9" />-->
3336 <!--</ImportGroup>-->
3337 <!--<ImportGroup Condition="'$(TargetsNet9)' == 'true' and '$(RunAOTCompilation)' == 'true' and ('$(TargetPlatformIdentifier)' == 'android' or '$(_IsAndroidLibraryMode)' == 'true')">-->
3338 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.android-x86" />-->
3339 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.android-x64" />-->
3340 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.android-arm" />-->
3341 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.android-arm64" />-->
3342 <!--</ImportGroup>-->
3343 <!--<ImportGroup Condition="'$(TargetsNet9)' == 'true' and '$(TargetPlatformIdentifier)' == 'macOS'">-->
3344 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3345 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3346 <!--</ImportGroup>-->
3347 <!--<ImportGroup Condition="'$(TargetsNet9)' == 'true' and ('$(TargetPlatformIdentifier)' == 'ios' or '$(_IsiOSLibraryMode)' == 'true')">-->
3348 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3349 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3350 <!--</ImportGroup>-->
3351 <!--<ImportGroup Condition="'$(TargetsNet9)' == 'true' and $([MSBuild]::IsOSPlatform('osx')) and ('$(TargetPlatformIdentifier)' == 'ios' or '$(_IsiOSLibraryMode)' == 'true')">-->
3352 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.ios-arm64" />-->
3353 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.iossimulator-arm64" />-->
3354 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.iossimulator-x64" />-->
3355 <!--</ImportGroup>-->
3356 <!--<ImportGroup Condition="'$(TargetsNet9)' == 'true' and ('$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(_IsMacCatalystLibraryMode)' == 'true')">-->
3357 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3358 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3359 <!--</ImportGroup>-->
3360 <!--<ImportGroup Condition="'$(TargetsNet9)' == 'true' and $([MSBuild]::IsOSPlatform('osx')) and ('$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(_IsMacCatalystLibraryMode)' == 'true')">-->
3361 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.maccatalyst-arm64" />-->
3362 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.maccatalyst-x64" />-->
3363 <!--</ImportGroup>-->
3364 <!--<ImportGroup Condition="'$(TargetsNet9)' == 'true' and ('$(TargetPlatformIdentifier)' == 'tvos' or '$(_IstvOSLibraryMode)' == 'true')">-->
3365 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3366 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3367 <!--</ImportGroup>-->
3368 <!--<ImportGroup Condition="'$(TargetsNet9)' == 'true' and $([MSBuild]::IsOSPlatform('osx')) and ('$(TargetPlatformIdentifier)' == 'tvos' or '$(_IstvOSLibraryMode)' == 'true')">-->
3369 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.tvos-arm64" />-->
3370 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.tvossimulator-arm64" />-->
3371 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.tvossimulator-x64" />-->
3372 <!--</ImportGroup>-->
3373 <!--<ImportGroup Condition="'$(TargetsNet9)' == 'true' and '$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true'">-->
3374 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3375 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net9" />-->
3376 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk.net9" />-->
3377 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.browser-wasm" />-->
3378 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3379 <!--</ImportGroup>-->
3380 <!--<ImportGroup Condition="'$(TargetsNet9)' == 'true' and '$(RuntimeIdentifier)' == 'wasi-wasm' and '$(UsingWasiRuntimeWorkload)' == 'true'">-->
3381 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3382 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.net9" />-->
3383 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.net9" />-->
3384 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.net9.wasi-wasm" />-->
3385 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk.net9" />-->
3386 <!--</ImportGroup>-->
3387 <PropertyGroup Condition="'$(TargetsNet9)' == 'true' and '$(_MonoWorkloadTargetsMobile)' == 'true'">
3388 <_MonoWorkloadRuntimePackPackageVersion>$(_RuntimePackInWorkloadVersion9)</_MonoWorkloadRuntimePackPackageVersion>
3389 </PropertyGroup>
3390 <ItemGroup Condition="'$(TargetsNet9)' == 'true' and '$(_MonoWorkloadTargetsMobile)' == 'true'">
3391 <KnownRuntimePack Update="@(KnownRuntimePack)">
3392 <!-- FIXMEWASI: workaround for now -->
3393 <RuntimePackRuntimeIdentifiers Condition="'%(KnownRuntimePack.TargetFramework)' == 'net9.0' and '$(RuntimeIdentifier)' == 'wasi-wasm'">%(RuntimePackRuntimeIdentifiers);wasi-wasm</RuntimePackRuntimeIdentifiers>
3394 <LatestRuntimeFrameworkVersion Condition="'%(KnownRuntimePack.TargetFramework)' == 'net9.0' and '%(KnownRuntimePack.RuntimePackLabels)' == 'Mono'">$(_MonoWorkloadRuntimePackPackageVersion)</LatestRuntimeFrameworkVersion>
3395 <!-- Overrides for wasm threading support -->
3396 <RuntimePackNamePatterns Condition="'%(KnownRuntimePack.TargetFramework)' == 'net9.0' and '$(RuntimeIdentifier)' == 'browser-wasm' and '$(WasmEnableThreads)' == 'true'">Microsoft.NETCore.App.Runtime.Mono.multithread.**RID**</RuntimePackNamePatterns>
3397 </KnownRuntimePack>
3398 <KnownFrameworkReference Update="Microsoft.NETCore.App">
3399 <TargetingPackVersion Condition="'%(KnownFrameworkReference.TargetFramework)' == 'net9.0'">$(_MonoWorkloadRuntimePackPackageVersion)</TargetingPackVersion>
3400 </KnownFrameworkReference>
3401 </ItemGroup>
3402 <!--
3403============================================================================================================================================
3404 </Import>
3405
3406C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets
3407============================================================================================================================================
3408-->
3409 <UsingTask TaskName="ShowMissingWorkloads" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3410 <Target Name="GetSuggestedWorkloads" Returns="@(SuggestedWorkload)" Condition="@(MissingWorkloadPack) != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3411 <ShowMissingWorkloads MissingWorkloadPacks="@(MissingWorkloadPack)" NetCoreRoot="$(NetCoreRoot)" NETCoreSdkVersion="$(NETCoreSdkVersion)" GenerateErrorsForMissingWorkloads="false">
3412 <Output TaskParameter="SuggestedWorkloads" ItemName="SuggestedWorkload" />
3413 </ShowMissingWorkloads>
3414 </Target>
3415 <!-- Skip this target for design time builds when there are missing workload packs.
3416 This will prevent design time builds from failing and therefore allow
3417 Visual Studio to collect the workloads from the GetSuggestedWorkloads target -->
3418 <Target Name="_CheckForMissingWorkload" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;_CheckForUnsupportedTargetPlatformIdentifier" Condition="'@(MissingWorkloadPack)' != '' And '$(DesignTimeBuild)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3419 <ShowMissingWorkloads MissingWorkloadPacks="@(MissingWorkloadPack)" NetCoreRoot="$(NetCoreRoot)" NETCoreSdkVersion="$(NETCoreSdkVersion)" GenerateErrorsForMissingWorkloads="true" />
3420 </Target>
3421 <!-- This target is not part of the build. Only used by dotnet workload restore command. Global property "SkipResolvePackageAssets"
3422 need to be set to "true" to avoid requiring restore (which would likely fail if the required workloads aren't already installed).
3423 In addition, since this is a target that is called on potentially-unsupported project types like esproj, we need to not fail
3424 if the Target is missing. -->
3425 <Target Name="_GetRequiredWorkloads" DependsOnTargets="GetSuggestedWorkloads;PrepareProjectReferences" Returns="@(_ResolvedSuggestedWorkload)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3426 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="_GetRequiredWorkloads" BuildInParallel="$(BuildInParallel)" Condition="'%(_MSBuildProjectReferenceExistent.BuildReference)' == 'true' and '@(_MSBuildProjectReferenceExistent)' != ''" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences);TargetFramework;TargetFrameworks" SkipNonexistentTargets="true">
3427 <Output TaskParameter="TargetOutputs" ItemName="SuggestedWorkloadFromReference" />
3428 </MSBuild>
3429 <ItemGroup>
3430 <_ResolvedSuggestedWorkload Include="@(SuggestedWorkload)" />
3431 <_ResolvedSuggestedWorkload Include="@(SuggestedWorkloadFromReference)" />
3432 </ItemGroup>
3433 </Target>
3434 <!--
3435============================================================================================================================================
3436 </Import>
3437
3438C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
3439============================================================================================================================================
3440-->
3441 <!--
3442 Use RuntimeIdentifier to determine PlatformTarget.
3443 Also, enforce that RuntimeIdentifier is always specified for .NETFramework executables.
3444 -->
3445 <!--
3446============================================================================================================================================
3447 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.RuntimeIdentifierInference.targets">
3448
3449C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets
3450============================================================================================================================================
3451-->
3452 <!--
3453***********************************************************************************************
3454Microsoft.NET.RuntimeIdentifierInference.targets
3455
3456WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
3457 created a backup copy. Incorrect changes to this file will make it
3458 impossible to load or build your projects from the command-line or the IDE.
3459
3460Copyright (c) .NET Foundation. All rights reserved.
3461***********************************************************************************************
3462-->
3463 <!--
3464 .NET Framework cannot load native package dependencies dynamically
3465 based on the current architecture. We must have a RID to resolve
3466 and copy native dependencies to the output directory.
3467
3468 When building a .NET Framework exe on Windows and not given a RID,
3469 we'll pick either win7-x64 or win7-x86 (based on PlatformTarget)
3470 if we're not given an explicit RID. However, if after resolving
3471 NuGet assets we find no copy-local native dependencies, we will
3472 emit the binary as AnyCPU.
3473
3474 Note that we must set the RID here early (to be seen during NuGet
3475 restore) in order for the project.assets.json to include the
3476 native dependencies that will let us make the final call on
3477 AnyCPU or platform-specific.
3478
3479 This allows these common cases to work without requiring mention
3480 of RuntimeIdentifier in the user project PlatformTarget:
3481
3482 1. Building an AnyCPU .NET Framework application on any host OS
3483 with no native NuGet dependencies.
3484
3485 2. Building an x86 or x64 .NET Framework application on and for
3486 Windows with native NuGet dependencies that do not require
3487 greater than win7.
3488
3489 However, any other combination of host operating system, CPU
3490 architecture, and minimum Windows version will require some
3491 manual intervention in the project file to set up the right
3492 RID. (**)
3493
3494 (*) Building NET4x from non-Windows is still not fully supported:
3495 https://github.com/dotnet/sdk/issues/335) The point above is
3496 that this code would not have to change to make the first
3497 scenario work on non-Windows hosts.
3498
3499 (**) https://github.com/dotnet/sdk/issues/840 tracks improving
3500 the default RID selection here to make more non-AnyCPU scenarios
3501 work without user intervention. The current static evaluation
3502 requirement limits us.
3503 -->
3504 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and&#xD;&#xA; '$(HasRuntimeOutput)' == 'true' and&#xD;&#xA; $([MSBuild]::IsOSPlatform(`Windows`)) and&#xD;&#xA; '$(RuntimeIdentifier)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3505 <_UsingDefaultRuntimeIdentifier>true</_UsingDefaultRuntimeIdentifier>
3506 <RuntimeIdentifier Condition="'$(PlatformTarget)' == 'x64'">win7-x64</RuntimeIdentifier>
3507 <RuntimeIdentifier Condition="'$(PlatformTarget)' == 'x86' or '$(PlatformTarget)' == ''">win7-x86</RuntimeIdentifier>
3508 <RuntimeIdentifier Condition="'$(PlatformTarget)' == 'x64' and '$(UseRidGraph)' != 'true'">win-x64</RuntimeIdentifier>
3509 <RuntimeIdentifier Condition="('$(PlatformTarget)' == 'x86' or '$(PlatformTarget)' == '') and '$(UseRidGraph)' != 'true'">win-x86</RuntimeIdentifier>
3510 </PropertyGroup>
3511 <!-- Breaking change in .NET 8: Some publish properties used to imply SelfContained or require it at the time of this PR to work. We decided to infer SelfContained still in these situations. -->
3512 <PropertyGroup Condition="'$(SelfContained)' == '' and&#xD;&#xA; '$(PublishSelfContained)' == '' and&#xD;&#xA; '$(_TargetFrameworkVersionWithoutV)' != '' and&#xD;&#xA; '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and&#xD;&#xA; $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '8.0')) and&#xD;&#xA; (&#xD;&#xA; '$(PublishTrimmed)' == 'true' or&#xD;&#xA; '$(PublishSingleFile)' == 'true' or&#xD;&#xA; '$(PublishAot)' == 'true'&#xD;&#xA; )" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3513 <PublishSelfContained>true</PublishSelfContained>
3514 </PropertyGroup>
3515 <!-- Packing a tool runs the publish targets, so in that case set _IsPublishing to true -->
3516 <PropertyGroup Condition="'$(PackAsTool)' == 'true' And '$(_IsPacking)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3517 <_IsPublishing>true</_IsPublishing>
3518 </PropertyGroup>
3519 <!-- Edit SelfContained to match the value of PublishSelfContained if we are publishing.
3520 This Won't affect t:/Publish (because of _IsPublishing), and also won't override a global SelfContained property.-->
3521 <PropertyGroup Condition="'$(_IsPublishing)' == 'true' and ('$(PublishSelfContained)' == 'true' or '$(PublishSelfContained)' == 'false')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3522 <SelfContained>$(PublishSelfContained)</SelfContained>
3523 </PropertyGroup>
3524 <!-- Automatically infer the RuntimeIdentifier for properties that require it.
3525 SelfContained without a RID is a no-op and semantically hints towards the fact that it can change the behavior of build, publish, and friends.
3526 ... So, we infer the RID for SelfContained regardless of the context.
3527
3528 The other publish properties are specifically labelled Publish* and don't 'NEED' their RID unless we are doing a publish, so the RID inference
3529 ... for these properties is limited to publishing only scenarios.
3530
3531 .NET Tools that build RID-specific packages will also need a primary package without a RuntimeIdentifier, so we disable RID inference for them
3532 in order to build the primary package, but only when we are actually packing.
3533
3534 Finally, library projects and non-executable projects have awkward interactions here so they are excluded.
3535 -->
3536 <PropertyGroup Condition="'$(UseCurrentRuntimeIdentifier)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3537 <UseCurrentRuntimeIdentifier Condition="&#xD;&#xA; '$(RuntimeIdentifier)' == '' and&#xD;&#xA; '$(_IsExecutable)' == 'true' and&#xD;&#xA; '$(IsRidAgnostic)' != 'true' and&#xD;&#xA; ('$(PackAsTool)' != 'true' or '$(_IsPacking)' != 'true') and&#xD;&#xA; (&#xD;&#xA; '$(SelfContained)' == 'true' or&#xD;&#xA; ('$(_IsPublishing)' == 'true' and&#xD;&#xA; (&#xD;&#xA; '$(PublishReadyToRun)' == 'true' or&#xD;&#xA; '$(PublishSingleFile)' == 'true' or&#xD;&#xA; '$(PublishAot)' == 'true'&#xD;&#xA; )&#xD;&#xA; )&#xD;&#xA; )">true</UseCurrentRuntimeIdentifier>
3538 </PropertyGroup>
3539 <PropertyGroup Condition="'$(UseCurrentRuntimeIdentifier)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3540 <RuntimeIdentifier>$(NETCoreSdkPortableRuntimeIdentifier)</RuntimeIdentifier>
3541 </PropertyGroup>
3542 <PropertyGroup Condition="'$(_IsPublishing)' == 'true' and '$(PublishRuntimeIdentifier)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3543 <RuntimeIdentifier>$(PublishRuntimeIdentifier)</RuntimeIdentifier>
3544 </PropertyGroup>
3545 <PropertyGroup Condition="'$(PlatformTarget)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3546 <_UsingDefaultPlatformTarget>true</_UsingDefaultPlatformTarget>
3547 </PropertyGroup>
3548 <!-- Determine PlatformTarget (if not already set) from runtime identifier. -->
3549 <Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3550 <When Condition="'$(PlatformTarget)' != '' or '$(RuntimeIdentifier)' == ''" />
3551 <When Condition="$(RuntimeIdentifier.EndsWith('-x86')) or $(RuntimeIdentifier.Contains('-x86-'))">
3552 <PropertyGroup>
3553 <PlatformTarget>x86</PlatformTarget>
3554 </PropertyGroup>
3555 </When>
3556 <When Condition="$(RuntimeIdentifier.EndsWith('-x64')) or $(RuntimeIdentifier.Contains('-x64-'))">
3557 <PropertyGroup>
3558 <PlatformTarget>x64</PlatformTarget>
3559 </PropertyGroup>
3560 </When>
3561 <When Condition="$(RuntimeIdentifier.EndsWith('-arm')) or $(RuntimeIdentifier.Contains('-arm-'))">
3562 <PropertyGroup>
3563 <PlatformTarget>arm</PlatformTarget>
3564 </PropertyGroup>
3565 </When>
3566 <When Condition="$(RuntimeIdentifier.EndsWith('-arm64')) or $(RuntimeIdentifier.Contains('-arm64-'))">
3567 <PropertyGroup>
3568 <PlatformTarget>arm64</PlatformTarget>
3569 </PropertyGroup>
3570 </When>
3571 <Otherwise>
3572 <PropertyGroup>
3573 <PlatformTarget>AnyCPU</PlatformTarget>
3574 </PropertyGroup>
3575 </Otherwise>
3576 </Choose>
3577 <!--
3578 SelfContained was not an option in .NET Core SDK 1.0.
3579 Default SelfContained based on the RuntimeIdentifier, so projects don't have to explicitly set SelfContained.
3580 This avoids a breaking change from 1.0 behavior.
3581 -->
3582 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3583 <!-- Detecting property presence is not harmful and can be done in an unconditioned way -->
3584 <_SelfContainedWasSpecified Condition="'$(SelfContained)' != ''">true</_SelfContainedWasSpecified>
3585 </PropertyGroup>
3586 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3587 <!-- Breaking change in .NET 8: Projects with 8.0+ TFMS will no longer have RuntimeIdentifier imply SelfContained. Note that PublishReadyToRun will imply SelfContained in these versions. -->
3588 <SelfContained Condition="'$(SelfContained)' == '' and&#xD;&#xA; '$(RuntimeIdentifier)' != '' and&#xD;&#xA; '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and&#xD;&#xA; '$(_TargetFrameworkVersionWithoutV)' != '' and&#xD;&#xA; $([MSBuild]::VersionLessThan($(_TargetFrameworkVersionWithoutV), '8.0'))">true</SelfContained>
3589 <SelfContained Condition="'$(SelfContained)' == ''">false</SelfContained>
3590 <_RuntimeIdentifierUsesAppHost Condition="$(RuntimeIdentifier.StartsWith('ios')) or $(RuntimeIdentifier.StartsWith('tvos')) or $(RuntimeIdentifier.StartsWith('maccatalyst')) or $(RuntimeIdentifier.StartsWith('android')) or $(RuntimeIdentifier.StartsWith('browser')) or $(RuntimeIdentifier.StartsWith('wasi')) or $(RuntimeIdentifier) == 'any'">false</_RuntimeIdentifierUsesAppHost>
3591 <_RuntimeIdentifierUsesAppHost Condition="'$(_IsPublishing)' == 'true' and '$(PublishAot)' == 'true'">false</_RuntimeIdentifierUsesAppHost>
3592 <_RuntimeIdentifierUsesAppHost Condition="'$(_RuntimeIdentifierUsesAppHost)' == ''">true</_RuntimeIdentifierUsesAppHost>
3593 <UseAppHost Condition="'$(UseAppHost)' == '' and&#xD;&#xA; '$(_RuntimeIdentifierUsesAppHost)' == 'true' and&#xD;&#xA; ('$(SelfContained)' == 'true' or&#xD;&#xA; ('$(RuntimeIdentifier)' != '' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '2.1') or&#xD;&#xA; '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0')">true</UseAppHost>
3594 <UseAppHost Condition="'$(UseAppHost)' == ''">false</UseAppHost>
3595 </PropertyGroup>
3596 <!-- Only use the default apphost if building without a RID and without a deps file path (used by GenerateDeps.proj for CLI tools). -->
3597 <PropertyGroup Condition="'$(DefaultAppHostRuntimeIdentifier)' == '' and&#xD;&#xA; '$(RuntimeIdentifier)' == '' and&#xD;&#xA; (('$(UseAppHost)' == 'true' and '$(ProjectDepsFilePath)' == '') or&#xD;&#xA; ('$(EnableComHosting)' == 'true' and '$(_IsExecutable)' != 'true') or&#xD;&#xA; '$(UseIJWHost)' == 'true')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3598 <DefaultAppHostRuntimeIdentifier>$(NETCoreSdkRuntimeIdentifier)</DefaultAppHostRuntimeIdentifier>
3599 <DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and '$(PlatformTarget)' == 'x64'">win-x64</DefaultAppHostRuntimeIdentifier>
3600 <DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and '$(PlatformTarget)' == 'x86'">win-x86</DefaultAppHostRuntimeIdentifier>
3601 <DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and '$(PlatformTarget)' == 'ARM'">win-arm</DefaultAppHostRuntimeIdentifier>
3602 <DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and '$(PlatformTarget)' == 'ARM64'">win-arm64</DefaultAppHostRuntimeIdentifier>
3603 <!-- If we are running on an M1 with a native SDK and the TFM is < 6.0, we have to use a x64 apphost since there are no osx-arm64 apphosts previous to .NET 6.0. -->
3604 <DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.EndsWith('arm64')) and&#xD;&#xA; $(DefaultAppHostRuntimeIdentifier.StartsWith('osx')) and&#xD;&#xA; $([MSBuild]::VersionLessThan('$(_TargetFrameworkVersionWithoutV)', '6.0'))">$(DefaultAppHostRuntimeIdentifier.Replace("arm64", "x64"))</DefaultAppHostRuntimeIdentifier>
3605 <!-- If we are running on win-arm64 and the TFM is < 5.0, we have to use a x64 apphost since there are no win-arm64 apphosts previous to .NET 5.0. -->
3606 <DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.EndsWith('arm64')) and&#xD;&#xA; $(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and&#xD;&#xA; $([MSBuild]::VersionLessThan('$(_TargetFrameworkVersionWithoutV)', '5.0'))">$(DefaultAppHostRuntimeIdentifier.Replace("arm64", "x64"))</DefaultAppHostRuntimeIdentifier>
3607 </PropertyGroup>
3608 <Target Name="_CheckRIDAsserts" Condition="'$(PackAsTool)' != 'true' or '$(_IsPacking)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3609 <!-- The following RID errors are asserts, and we don't expect them to ever occur. The error message is added as a safeguard.-->
3610 <NETSdkError Condition="'$(SelfContained)' == 'true' and '$(RuntimeIdentifier)' == '' and '$(AllowSelfContainedWithoutRuntimeIdentifier)' != 'true'" ResourceName="ImplicitRuntimeIdentifierResolutionForPublishPropertyFailed" FormatArguments="SelfContained" />
3611 <NETSdkError Condition="'$(PublishReadyToRun)' == 'true' and '$(RuntimeIdentifier)' == '' and '$(_IsPublishing)' == 'true' and '$(AllowReadyToRunWithoutRuntimeIdentifier)' != 'true'" ResourceName="ImplicitRuntimeIdentifierResolutionForPublishPropertyFailed" FormatArguments="PublishReadyToRun" />
3612 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' and '$(RuntimeIdentifier)' == '' and '$(_IsPublishing)' == 'true' and '$(AllowPublishSingleFileWithoutRuntimeIdentifier)' != 'true'" ResourceName="ImplicitRuntimeIdentifierResolutionForPublishPropertyFailed" FormatArguments="PublishSingleFile" />
3613 <NETSdkError Condition="'$(PublishAot)' == 'true' and '$(RuntimeIdentifier)' == '' and '$(_IsPublishing)' == 'true' and '$(AllowPublishAotWithoutRuntimeIdentifier)' != 'true'" ResourceName="ImplicitRuntimeIdentifierResolutionForPublishPropertyFailed" FormatArguments="PublishAot" />
3614 </Target>
3615 <Target Name="_CheckForUnsupportedAppHostUsage" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" DependsOnTargets="_CheckRIDAsserts" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3616 <!-- End of implicit RID resolver checks.-->
3617 <NETSdkError Condition="'$(PublishSelfContained)' != 'true' and '$(PublishSelfContained)' != 'false' and '$(PublishSelfContained)' != ''" ResourceName="PublishSelfContainedMustBeBool" FormatArguments="$(PublishSelfContained)" />
3618 <NETSdkError Condition="'$(SelfContained)' == 'true' and '$(UseAppHost)' != 'true' and '$(_RuntimeIdentifierUsesAppHost)' == 'true'" ResourceName="CannotUseSelfContainedWithoutAppHost" />
3619 <NETSdkError Condition="'$(SelfContained)' != 'true' and '$(UseAppHost)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' &lt; '2.1'" ResourceName="FrameworkDependentAppHostRequiresVersion21" />
3620 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' &lt; '3.0'" ResourceName="PublishSingleFileRequiresVersion30" />
3621 <!-- The TFM version checks for PublishReadyToRun PublishTrimmed only generate warnings in .Net core 3.1
3622 because we do not want the behavior to be a breaking change compared to version 3.0 -->
3623 <NETSdkWarning Condition="'$(PublishReadyToRun)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' &lt; '3.0'" ResourceName="PublishReadyToRunRequiresVersion30" />
3624 <!-- Previously, RuntimeIdentifier (RID) implied SelfContained (SC). A breaking change in 8.0 made it so RID did not activate SC by default.
3625 So we warn older TFM users before they upgrade to TFM 8.0 or above that they need to add <SelfContained>true</SelfContained> now to keep the same behavior.-->
3626 <NETSdkWarning Condition="'$(RuntimeIdentifier)' != '' and '$(_TargetFrameworkVersionWithoutV)' != '' and $([MSBuild]::VersionLessThan($(_TargetFrameworkVersionWithoutV), '8.0')) and '$(_SelfContainedWasSpecified)' != 'true'" ResourceName="RuntimeIdentifierWillNoLongerImplySelfContained" />
3627 <!-- Generate Trimming warnings for WinForms and Wpf applications-->
3628 <NetSdkError Condition="('$(UseWindowsForms)' == 'true') and ('$(PublishTrimmed)' == 'true') and ('$(_SuppressWinFormsTrimError)' != 'true')" ResourceName="TrimmingWindowsFormsIsNotSupported" />
3629 <NetSdkError Condition="('$(UseWpf)' == 'true') and ('$(PublishTrimmed)' == 'true') and ('$(_SuppressWpfTrimError)' != 'true')" ResourceName="TrimmingWpfIsNotSupported" />
3630 </Target>
3631 <Target Name="_CheckForUnsupportedHostingUsage" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3632 <NETSdkWarning Condition="'$(SelfContained)' == 'true' and '$(EnableComHosting)' == 'true'" ResourceName="NoSupportComSelfContained" />
3633 </Target>
3634 <Target Name="_CheckAndUnsetUnsupportedPrefer32Bit" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '7.0'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3635 <NETSdkWarning Condition="'$(Prefer32Bit)' == 'true'" ResourceName="Prefer32BitIgnoredForNetCoreApp" />
3636 <PropertyGroup>
3637 <Prefer32Bit>false</Prefer32Bit>
3638 </PropertyGroup>
3639 </Target>
3640 <Target Name="_CheckAndUnsetUnsupportedPreferNativeArm64" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(PreferNativeArm64)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3641 <NETSdkWarning ResourceName="PreferNativeArm64IgnoredForNetCoreApp" />
3642 <PropertyGroup>
3643 <PreferNativeArm64>false</PreferNativeArm64>
3644 </PropertyGroup>
3645 </Target>
3646 <Target Name="_CheckForMismatchingPlatform" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(RuntimeIdentifier)' != '' and '$(PlatformTarget)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3647 <NETSdkError Condition="'$(PlatformTarget)' != 'AnyCPU' and !$(RuntimeIdentifier.ToUpperInvariant().Contains($(PlatformTarget.ToUpperInvariant())))" ResourceName="CannotHaveRuntimeIdentifierPlatformMismatchPlatformTarget" FormatArguments="$(RuntimeIdentifier);$(PlatformTarget)" />
3648 </Target>
3649 <Target Name="_CheckForLanguageAndFeatureCombinationSupport" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;ProcessFrameworkReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3650 <NETSdkError Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true') and $(OutputType) != 'library' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" ResourceName="NoSupportCppNonDynamicLibraryDotnetCore" />
3651 <NETSdkError Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true') and $(EnableComHosting) == 'true'" ResourceName="NoSupportCppEnableComHosting" />
3652 <NETSdkError Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true') and $(SelfContained) == 'true'" ResourceName="NoSupportCppSelfContained" />
3653 </Target>
3654 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3655 <!-- Suppress the .NET Core SDK preview message if the users has tried to express their intent to do so.
3656 MSBuild doesn't allow Messages to be suppressed by NoWarn, but we've trained users to reach for this,
3657 so let's bridge their intent a bit. -->
3658 <SuppressNETCoreSdkPreviewMessage Condition="'$(_NETCoreSdkIsPreview)' == 'true'&#xD;&#xA; AND '$(SuppressNETCoreSdkPreviewMessage)' == ''&#xD;&#xA; AND '$(NoWarn)' != ''&#xD;&#xA; AND $(NoWarn.Contains('NETSDK1057'))">true</SuppressNETCoreSdkPreviewMessage>
3659 </PropertyGroup>
3660 <Target Name="_CheckForNETCoreSdkIsPreview" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition=" '$(_NETCoreSdkIsPreview)' == 'true' AND '$(SuppressNETCoreSdkPreviewMessage)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3661 <ShowPreviewMessage />
3662 </Target>
3663 <!-- Projects which don't use Microsoft.NET.Sdk will typically define the OutputPath directly (usually in a
3664 Configuration-specific PropertyGroup), so in that case we won't append to it by default. -->
3665 <PropertyGroup Condition="'$(UsingNETSdkDefaults)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3666 <!-- Projects can opt out of having the RID appended to the output path by setting this to false. -->
3667 <AppendRuntimeIdentifierToOutputPath Condition="'$(AppendRuntimeIdentifierToOutputPath)' == ''">true</AppendRuntimeIdentifierToOutputPath>
3668 </PropertyGroup>
3669 <!--
3670 Append $(RuntimeIdentifier) directory to output and intermediate paths to prevent bin clashes between
3671 targets.
3672
3673 But do not append the implicit default runtime identifier for .NET Framework apps as that would
3674 append a RID the user never mentioned in the path and do so even in the AnyCPU case.
3675 -->
3676 <PropertyGroup Condition="'$(AppendRuntimeIdentifierToOutputPath)' == 'true' and '$(RuntimeIdentifier)' != '' and '$(_UsingDefaultRuntimeIdentifier)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3677 <IntermediateOutputPath Condition="'$(UseArtifactsIntermediateOutput)' != 'true'">$(IntermediateOutputPath)$(RuntimeIdentifier)\</IntermediateOutputPath>
3678 <OutputPath Condition="'$(UseArtifactsOutput)' != 'true'">$(OutputPath)$(RuntimeIdentifier)\</OutputPath>
3679 </PropertyGroup>
3680 <UsingTask TaskName="Microsoft.NET.Build.Tasks.GetDefaultPlatformTargetForNetFramework" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3681 <UsingTask TaskName="Microsoft.NET.Build.Tasks.PickBestRid" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3682 <UsingTask TaskName="Microsoft.NET.Build.Tasks.SelectRuntimeIdentifierSpecificItems" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3683 <!--
3684 Switch our default .NETFramework CPU architecture choice back to AnyCPU before
3685 compiling the exe if no copy-local native dependencies were resolved from NuGet
3686 -->
3687 <Target Name="AdjustDefaultPlatformTargetForNetFrameworkExeWithNoNativeCopyLocalItems" AfterTargets="ResolvePackageAssets" BeforeTargets="CoreCompile" Condition="'$(_UsingDefaultPlatformTarget)' == 'true' and&#xD;&#xA; '$(_UsingDefaultRuntimeIdentifier)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3688 <GetDefaultPlatformTargetForNetFramework PackageDependencies="@(PackageDependencies)" NativeCopyLocalItems="@(NativeCopyLocalItems)">
3689 <Output TaskParameter="DefaultPlatformTarget" PropertyName="PlatformTarget" />
3690 </GetDefaultPlatformTargetForNetFramework>
3691 </Target>
3692 <!--
3693============================================================================================================================================
3694 </Import>
3695
3696C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
3697============================================================================================================================================
3698-->
3699 <!-- Checks for EOL frameworks -->
3700 <!--
3701============================================================================================================================================
3702 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.EolTargetFrameworks.targets">
3703
3704C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets
3705============================================================================================================================================
3706-->
3707 <!--
3708***********************************************************************************************
3709Microsoft.NET.EolTargetFrameworks.targets
3710
3711WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
3712 created a backup copy. Incorrect changes to this file will make it
3713 impossible to load or build your projects from the command-line or the IDE.
3714
3715Copyright (c) .NET Foundation. All rights reserved.
3716***********************************************************************************************
3717-->
3718 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3719 <!-- Default the check to true, but allow developers to turn the warning off. -->
3720 <CheckEolTargetFramework Condition="'$(CheckEolTargetFramework)' == '' and '$(OutputType)' != 'Library'">true</CheckEolTargetFramework>
3721 <CheckEolWorkloads Condition="'$(CheckEolWorkloads)' == ''">true</CheckEolWorkloads>
3722 </PropertyGroup>
3723 <!--
3724 .NET Core framework versions that are currently considered to be end-of-life (EOL). These versions will not be targeted to
3725 receive servicing updates and security fixes.
3726 -->
3727 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3728 <_EolNetCoreTargetFrameworkVersions Include="1.0;1.1;2.0;2.1;2.2;3.0;3.1;5.0;6.0;7.0" />
3729 </ItemGroup>
3730 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3731 <_MinimumNonEolSupportedNetCoreTargetFramework>net8.0</_MinimumNonEolSupportedNetCoreTargetFramework>
3732 </PropertyGroup>
3733 <Target Name="_CheckForEolTargetFrameworks" AfterTargets="_CheckForUnsupportedNETCoreVersion" Condition="'@(_EolNetCoreTargetFrameworkVersions-&gt;AnyHaveMetadataValue('Identity', '$(_TargetFrameworkVersionWithoutV)'))' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(CheckEolTargetFramework)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3734 <NETSdkWarning ResourceName="TargetFrameworkIsEol" FormatArguments="$(TargetFramework.ToLowerInvariant());https://aka.ms/dotnet-core-support" />
3735 </Target>
3736 <Target Name="_CheckForEolWorkloads" AfterTargets="_CheckForUnsupportedNETCoreVersion" Condition="'@(EolWorkload)' != '' and '$(CheckEolWorkloads)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3737 <NETSdkWarning ResourceName="WorkloadIsEol" FormatArguments="%(EolWorkload.Identity);$([MSBuild]::ValueOrDefault('%(EolWorkload.Url)', 'https://aka.ms/dotnet-core-support'))" />
3738 </Target>
3739 <!--
3740============================================================================================================================================
3741 </Import>
3742
3743C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
3744============================================================================================================================================
3745-->
3746 <!-- Checks for deprecated Aspire workload usage -->
3747 <!--
3748============================================================================================================================================
3749 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.AspireWorkloadDeprecation.targets">
3750
3751C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.AspireWorkloadDeprecation.targets
3752============================================================================================================================================
3753-->
3754 <!--
3755***********************************************************************************************
3756Microsoft.NET.AspireWorkloadDeprecation.targets
3757
3758WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
3759 created a backup copy. Incorrect changes to this file will make it
3760 impossible to load or build your projects from the command-line or the IDE.
3761
3762Copyright (c) .NET Foundation. All rights reserved.
3763***********************************************************************************************
3764-->
3765 <!--
3766 This target detects old Aspire applications that still depend on the deprecated Aspire workload.
3767
3768 Starting with Aspire 9.0.0, Aspire moved from a workload-based distribution model to NuGet packages
3769 with the Aspire.AppHost.Sdk. Projects using the old workload-based approach need to be upgraded.
3770
3771 Detection logic:
3772 - IsAspireHost='true' indicates this is an Aspire host project
3773 - AspireHostingSDKVersion is set by Aspire.AppHost.Sdk in new projects (9.0.0+)
3774 - If AspireHostingSDKVersion is missing or < 9.0.0, this is likely an old workload-based project
3775
3776 This check runs before PrepareForBuild to catch the issue early in the build process.
3777
3778 Note: This error provides a clear upgrade message for customers. Without it, users would get
3779 confusing errors about missing workloads that no longer exist, since the Aspire workload has
3780 been removed from the SDK.
3781 -->
3782 <Target Name="_CheckForAspireWorkloadDeprecation" BeforeTargets="PrepareForBuild" Condition="'$(IsAspireHost)' == 'true' and ('$(AspireHostingSDKVersion)' == '' or $([MSBuild]::VersionLessThan('$(AspireHostingSDKVersion)', '9.0.0')))">
3783 <NetSdkError ResourceName="AspireWorkloadIsDeprecated" FormatArguments="https://aka.ms/aspire/update-to-sdk" />
3784 </Target>
3785 <!--
3786============================================================================================================================================
3787 </Import>
3788
3789C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
3790============================================================================================================================================
3791-->
3792 <!-- Check if the Target Framework is coreclr based -->
3793 <PropertyGroup Condition="'$(_IsNETCoreOrNETStandard)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3794 <_IsNETCoreOrNETStandard Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">true</_IsNETCoreOrNETStandard>
3795 <_IsNETCoreOrNETStandard Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard'">true</_IsNETCoreOrNETStandard>
3796 </PropertyGroup>
3797 <!-- Unification / automatic binding redirect logic -->
3798 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3799 <DesignTimeAutoUnify Condition="'$(DesignTimeAutoUnify)' == ''">true</DesignTimeAutoUnify>
3800 <AutoUnifyAssemblyReferences Condition="'$(AutoUnifyAssemblyReferences)' == '' and $(OutputType) == 'Library'">true</AutoUnifyAssemblyReferences>
3801 <AutoUnifyAssemblyReferences Condition="'$(AutoUnifyAssemblyReferences)' == '' and '$(_IsNETCoreOrNETStandard)' == 'true'">true</AutoUnifyAssemblyReferences>
3802 </PropertyGroup>
3803 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3804 <AutoGenerateBindingRedirects Condition="'$(AutoGenerateBindingRedirects)' == ''">true</AutoGenerateBindingRedirects>
3805 </PropertyGroup>
3806 <!-- Default settings for .NET Core and .NET Standard build logic -->
3807 <PropertyGroup Condition="'$(_IsNETCoreOrNETStandard)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3808 <GenerateDependencyFile Condition=" '$(GenerateDependencyFile)' == '' ">true</GenerateDependencyFile>
3809 <!-- Assembly and file versions of runtime assets should be written to the deps.json by default, to support
3810 runtime minor version roll-forward: https://github.com/dotnet/core-setup/issues/3546 -->
3811 <IncludeFileVersionsInDependencyFile Condition="'$(IncludeFileVersionsInDependencyFile)' == ''">true</IncludeFileVersionsInDependencyFile>
3812 <!-- Force .dll extension for .NETCoreApp and .NETStandard projects even if output type is exe. -->
3813 <TargetExt Condition="'$(TargetExt)' == ''">.dll</TargetExt>
3814 <!-- Disable the use of FrameworkPathOverride in Microsoft.Common.CurrentVersion.targets which can slow down evaluation. FrameworkPathOverride
3815 is not needed for NETStandard or NETCore since references come from NuGet packages-->
3816 <EnableFrameworkPathOverride Condition="'$(EnableFrameworkPathOverride)' == ''">false</EnableFrameworkPathOverride>
3817 </PropertyGroup>
3818 <!-- Regardless of platform, enable dependency file generation if PreserveCompilationContext is set. -->
3819 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3820 <GenerateDependencyFile Condition="'$(GenerateDependencyFile)' == ''">$(PreserveCompilationContext)</GenerateDependencyFile>
3821 </PropertyGroup>
3822 <!-- Set PublishDir here, before Microsoft.Common.targets, to avoid a competing default there.
3823 If using artifacts output path format, PublishDir is already set in Microsoft.NET.DefaultOutputPaths.targets -->
3824 <PropertyGroup Condition="'$(UseArtifactsOutput)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3825 <PublishDirName Condition="'$(PublishDirName)' == ''">publish</PublishDirName>
3826 <!-- ensure the PublishDir is RID specific-->
3827 <PublishDir Condition="'$(PublishDir)' == '' and&#xD;&#xA; '$(AppendRuntimeIdentifierToOutputPath)' != 'true' and&#xD;&#xA; '$(RuntimeIdentifier)' != '' and&#xD;&#xA; '$(_UsingDefaultRuntimeIdentifier)' != 'true'">$(OutputPath)$(RuntimeIdentifier)\$(PublishDirName)\</PublishDir>
3828 <PublishDir Condition="'$(PublishDir)' == ''">$(OutputPath)$(PublishDirName)\</PublishDir>
3829 </PropertyGroup>
3830 <!--
3831 Sets RestoreAdditionalProjectSources or RestoreAdditionalProjectFallbackFolders to the SDK Offline Cache based
3832 on the TargetFramework.
3833 -->
3834 <!--
3835============================================================================================================================================
3836 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.NuGetOfflineCache.targets">
3837
3838C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.NuGetOfflineCache.targets
3839============================================================================================================================================
3840-->
3841 <!--
3842***********************************************************************************************
3843Microsoft.NET.NuGetOfflineCache.targets
3844
3845WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
3846 created a backup copy. Incorrect changes to this file will make it
3847 impossible to load or build your projects from the command-line or the IDE.
3848
3849Copyright (c) .NET Foundation. All rights reserved.
3850***********************************************************************************************
3851-->
3852 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3853 <_NugetFallbackFolder>$(MSBuildThisFileDirectory)..\..\..\..\NuGetFallbackFolder</_NugetFallbackFolder>
3854 <_IsNETCore1x Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' &lt; '2.0' ">true</_IsNETCore1x>
3855 <_WorkloadLibraryPacksFolder Condition="'$(_WorkloadLibraryPacksFolder)' == ''">$([MSBuild]::EnsureTrailingSlash('$(NetCoreRoot)'))library-packs</_WorkloadLibraryPacksFolder>
3856 </PropertyGroup>
3857 <PropertyGroup Condition=" '$(DisableImplicitNuGetFallbackFolder)' != 'true' and Exists($(_NugetFallbackFolder)) " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3858 <RestoreAdditionalProjectSources Condition=" '$(_IsNETCore1x)' == 'true' and '$(DisableImplicit1xNuGetFallbackFolder)' != 'true' ">$(RestoreAdditionalProjectSources);$(_NugetFallbackFolder)</RestoreAdditionalProjectSources>
3859 <RestoreAdditionalProjectFallbackFoldersExcludes Condition=" '$(_IsNETCore1x)' == 'true' ">$(RestoreAdditionalProjectFallbackFoldersExcludes);$(_NugetFallbackFolder)</RestoreAdditionalProjectFallbackFoldersExcludes>
3860 <RestoreAdditionalProjectFallbackFolders Condition=" '$(_IsNETCore1x)' != 'true' ">$(RestoreAdditionalProjectFallbackFolders);$(_NugetFallbackFolder)</RestoreAdditionalProjectFallbackFolders>
3861 </PropertyGroup>
3862 <PropertyGroup Condition=" '$(DisableImplicitLibraryPacksFolder)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3863 <RestoreAdditionalProjectSources Condition="Exists('$(_WorkloadLibraryPacksFolder)')">$(RestoreAdditionalProjectSources);$(_WorkloadLibraryPacksFolder)</RestoreAdditionalProjectSources>
3864 </PropertyGroup>
3865 <!--
3866============================================================================================================================================
3867 </Import>
3868
3869C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
3870============================================================================================================================================
3871-->
3872 <ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETFramework'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3873 <_SDKImplicitReference Include="System" />
3874 <_SDKImplicitReference Include="System.Data" />
3875 <_SDKImplicitReference Include="System.Drawing" />
3876 <_SDKImplicitReference Include="System.Xml" />
3877 <!-- When doing greater than/less than comparisons between strings, MSBuild will try to parse the strings as Version objects and compare them as
3878 such if the parse succeeds. -->
3879 <!-- Framework assemblies introduced in .NET 3.5 -->
3880 <_SDKImplicitReference Include="System.Core" Condition=" '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.5' " />
3881 <_SDKImplicitReference Include="System.Runtime.Serialization" Condition=" '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.5' " />
3882 <_SDKImplicitReference Include="System.Xml.Linq" Condition=" '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.5' " />
3883 <!-- Framework assemblies introduced in .NET 4.0 -->
3884 <_SDKImplicitReference Include="System.Numerics" Condition=" '$(_TargetFrameworkVersionWithoutV)' &gt;= '4.0' " />
3885 <!-- Framework assemblies introduced in .NET 4.5 -->
3886 <_SDKImplicitReference Include="System.IO.Compression.FileSystem" Condition=" '$(_TargetFrameworkVersionWithoutV)' &gt;= '4.5' " />
3887 <_SDKImplicitReference Update="@(_SDKImplicitReference)" Pack="false" IsImplicitlyDefined="true" />
3888 <!-- Don't duplicate any references that are explicit in the project file. This means that if you do want to include a framework assembly in your
3889 NuGet package, you can just add the Reference to your project file. -->
3890 <_SDKImplicitReference Remove="@(Reference)" />
3891 <!-- Add the implicit references to @(Reference) -->
3892 <Reference Include="@(_SDKImplicitReference)" />
3893 </ItemGroup>
3894 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3895 <!-- Prevent System.Core reference from being added separately (see Microsoft.NETFramework.CurrentVersion.props) -->
3896 <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
3897 </PropertyGroup>
3898 <PropertyGroup Condition="'$(DisableImplicitAssetTargetFallback)' != 'true' and '$(_IsNETCoreOrNETStandard)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '2.0'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3899 <AssetTargetFallback>$(AssetTargetFallback);net461;net462;net47;net471;net472;net48;net481</AssetTargetFallback>
3900 </PropertyGroup>
3901 <!-- Add conditional compilation symbols for the target framework (for example NET461, NETSTANDARD2_0, NETCOREAPP1_0) -->
3902 <Target Name="GenerateTargetFrameworkDefineConstants" Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' and '$(TargetFrameworkIdentifier)' != '.NETPortable' and '$(TargetFrameworkIdentifier)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3903 <PropertyGroup>
3904 <_FrameworkIdentifierForImplicitDefine>$(TargetFrameworkIdentifier.Replace('.', '').ToUpperInvariant())</_FrameworkIdentifierForImplicitDefine>
3905 <_FrameworkIdentifierForImplicitDefine Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) ">NET</_FrameworkIdentifierForImplicitDefine>
3906 <VersionlessImplicitFrameworkDefine>$(_FrameworkIdentifierForImplicitDefine)</VersionlessImplicitFrameworkDefine>
3907 <_FrameworkIdentifierForImplicitDefine Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework'">NET</_FrameworkIdentifierForImplicitDefine>
3908 <_FrameworkVersionForImplicitDefine>$(TargetFrameworkVersion.TrimStart('vV'))</_FrameworkVersionForImplicitDefine>
3909 <_FrameworkVersionForImplicitDefine>$(_FrameworkVersionForImplicitDefine.Replace('.', '_'))</_FrameworkVersionForImplicitDefine>
3910 <_FrameworkVersionForImplicitDefine Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework'">$(_FrameworkVersionForImplicitDefine.Replace('_', ''))</_FrameworkVersionForImplicitDefine>
3911 <ImplicitFrameworkDefine>$(_FrameworkIdentifierForImplicitDefine)$(_FrameworkVersionForImplicitDefine)</ImplicitFrameworkDefine>
3912 <BackwardsCompatFrameworkDefine Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0))">$(TargetFrameworkIdentifier.Replace('.', '').ToUpperInvariant())</BackwardsCompatFrameworkDefine>
3913 </PropertyGroup>
3914 <ItemGroup>
3915 <_ImplicitDefineConstant Include="$(VersionlessImplicitFrameworkDefine)" />
3916 <_ImplicitDefineConstant Include="$(ImplicitFrameworkDefine)" />
3917 <_ImplicitDefineConstant Include="$(BackwardsCompatFrameworkDefine)" />
3918 </ItemGroup>
3919 </Target>
3920 <!-- Add conditional compilation symbols for the target platform (for example ANDROID, IOS, WINDOWS) -->
3921 <Target Name="GenerateTargetPlatformDefineConstants" Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' and '$(TargetPlatformIdentifier)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3922 <PropertyGroup>
3923 <_PlatformIdentifierForImplicitDefine>$(TargetPlatformIdentifier.ToUpperInvariant())</_PlatformIdentifierForImplicitDefine>
3924 <_PlatformVersionForImplicitDefine>$(EffectiveTargetPlatformVersion.Replace('.', '_'))</_PlatformVersionForImplicitDefine>
3925 </PropertyGroup>
3926 <ItemGroup>
3927 <_ImplicitDefineConstant Include="$(_PlatformIdentifierForImplicitDefine)" />
3928 <_ImplicitDefineConstant Include="$(_PlatformIdentifierForImplicitDefine)$(_PlatformVersionForImplicitDefine)" />
3929 </ItemGroup>
3930 <!--
3931 We support multi-targeting CsWinRT 3.0, which has several breaking changes that consuming projects might require
3932 using 'ifdef'-s for, to handle the differences between CsWinRT 2.x and 3.0. So when that is used, we also define
3933 a constant. Common scenarios are 'TypedEventHandler<,>' not existing anymore, and interop code being different.
3934 -->
3935 <ItemGroup Condition=" '$(IncludeWindowsSDKRefFrameworkReferences)' == 'true' and '$(_TargetPlatformVersionUsesCsWinRT3)' == 'true' ">
3936 <_ImplicitDefineConstant Include="CSWINRT3_0" />
3937 </ItemGroup>
3938 </Target>
3939 <!-- Add OR_GREATER compilation symbols for target frameworks with .NET Framework, .NET Standard, .NET Core, and .NET -->
3940 <Target Name="GenerateNETCompatibleDefineConstants" Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' and ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' or '$(TargetFrameworkIdentifier)' == '.NETFramework' or '$(TargetFrameworkIdentifier)' == '.NETStandard')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3941 <ItemGroup>
3942 <_SupportedFrameworkVersions Include="@(SupportedNETCoreAppTargetFramework-&gt;'%(Identity)'-&gt;TrimStart('.NETCoreApp,Version=v'))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' " />
3943 <_SupportedFrameworkVersions Include="@(SupportedNETFrameworkTargetFramework-&gt;'%(Identity)'-&gt;TrimStart('.NETFramework,Version=v'))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' " />
3944 <_SupportedFrameworkVersions Include="@(SupportedNETStandardTargetFramework-&gt;'%(Identity)'-&gt;TrimStart('.NETStandard,Version=v'))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETStandard' " />
3945 <_CompatibleFrameworkVersions Include="@(_SupportedFrameworkVersions)" Condition=" $([MSBuild]::VersionLessThanOrEquals(%(Identity), $(TargetFrameworkVersion))) " />
3946 <_FormattedCompatibleFrameworkVersions Include="@(_CompatibleFrameworkVersions)" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' or '$(TargetFrameworkIdentifier)' == '.NETStandard' " />
3947 <_FormattedCompatibleFrameworkVersions Include="@(_CompatibleFrameworkVersions-&gt;'%(Identity)'-&gt;Replace('.', ''))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' " />
3948 <_ImplicitDefineConstant Include="@(_FormattedCompatibleFrameworkVersions-&gt;'$(_FrameworkIdentifierForImplicitDefine)%(Identity)_OR_GREATER'-&gt;Replace('.', '_'))" Condition=" '$(TargetFrameworkIdentifier)' != '.NETCoreApp' or $([MSBuild]::VersionGreaterThanOrEquals(%(_FormattedCompatibleFrameworkVersions.Identity), 5.0)) " />
3949 <_ImplicitDefineConstant Include="@(_FormattedCompatibleFrameworkVersions-&gt;'NETCOREAPP%(Identity)_OR_GREATER'-&gt;Replace('.', '_'))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionLessThan(%(_FormattedCompatibleFrameworkVersions.Identity), 5.0)) " />
3950 </ItemGroup>
3951 </Target>
3952 <!-- Add OR_GREATER compilation symbols for target platforms. -->
3953 <Target Name="GeneratePlatformCompatibleDefineConstants" Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' and '$(TargetPlatformIdentifier)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3954 <ItemGroup>
3955 <!--
3956 Prefer the normalized version of the supported target platform version when available.
3957 This allows to drop the .1 at the end of the version in CsWinRT 3.0 scenarios and
3958 use a common define for both CsWinRT 3.0 and CsWinRT 2.x.
3959 -->
3960 <_SupportedPlatformCompatibleVersions Include="@(SdkSupportedTargetPlatformVersion)" Condition=" %(Identity) != '' and '%(SdkSupportedTargetPlatformVersion.NormalizedSupportedTargetPlatformVersion)' == '' and $([MSBuild]::VersionLessThanOrEquals(%(Identity), $(TargetPlatformVersion))) " />
3961 <_SupportedPlatformCompatibleVersions Include="@(SdkSupportedTargetPlatformVersion->'%(NormalizedSupportedTargetPlatformVersion)')" Condition=" '%(SdkSupportedTargetPlatformVersion.NormalizedSupportedTargetPlatformVersion)' != '' and $([MSBuild]::VersionLessThanOrEquals('%(SdkSupportedTargetPlatformVersion.NormalizedSupportedTargetPlatformVersion)', $(TargetPlatformVersion))) " />
3962 <_ImplicitDefineConstant Include="@(_SupportedPlatformCompatibleVersions-&gt;Distinct()-&gt;'$(TargetPlatformIdentifier.ToUpper())%(Identity)_OR_GREATER'-&gt;Replace('.', '_'))" />
3963 </ItemGroup>
3964 </Target>
3965 <!-- Remove TRACE when DisableDiagnosticTracing is true -->
3966 <Target Name="_DisableDiagnosticTracing" Condition="'$(DisableDiagnosticTracing)' == 'true'" DependsOnTargets="GenerateTargetFrameworkDefineConstants;GenerateTargetPlatformDefineConstants;GenerateNETCompatibleDefineConstants;GeneratePlatformCompatibleDefineConstants" BeforeTargets="CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3967 <ItemGroup>
3968 <_DefineConstantsWithoutTrace Include="$(DefineConstants)" />
3969 <_DefineConstantsWithoutTrace Remove="TRACE" />
3970 </ItemGroup>
3971 <PropertyGroup>
3972 <DefineConstants>@(_DefineConstantsWithoutTrace)</DefineConstants>
3973 </PropertyGroup>
3974 </Target>
3975 <!--
3976 Add implicitly defined preprocessor symbols to DefineConstants. Note: this is intentionally using 'PrepareForBuild' as
3977 trigger to ensure that it runs before the XamlPreCompile targets. This targets creates the intermediate XAML project
3978 that is used by some XAML-based UI frameworks (eg. UWP XAML, WinUI 3). If it runs before AddImplicitDefineConstants,
3979 and the code has any '#ifdefs' on constants generated by this target (eg. 'NET9_0_OR_GREATER'), the intermediate XAML
3980 project will end up selecting the other code paths instead, which can cause all kinds of build failures or other
3981 problems. For additional context, see: https://github.com/dotnet/sdk/issues/43908.
3982 -->
3983 <Target Name="AddImplicitDefineConstants" Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' " DependsOnTargets="GenerateTargetFrameworkDefineConstants;GenerateTargetPlatformDefineConstants;GenerateNETCompatibleDefineConstants;GeneratePlatformCompatibleDefineConstants;_DisableDiagnosticTracing" AfterTargets="PrepareForBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3984 <PropertyGroup>
3985 <DefineConstants Condition=" '@(_ImplicitDefineConstant)' != '' ">$(DefineConstants);@(_ImplicitDefineConstant)</DefineConstants>
3986 <FinalDefineConstants Condition=" '@(_ImplicitDefineConstant)' != '' and '$(Language)' == 'VB' ">$(FinalDefineConstants),@(_ImplicitDefineConstant->'%(Identity)=-1', ',')</FinalDefineConstants>
3987 </PropertyGroup>
3988 </Target>
3989 <!-- Handle XML documentation file settings -->
3990 <PropertyGroup Condition="'$(GenerateDocumentationFile)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3991 <GenerateDocumentationFile Condition="'$(DocumentationFile)' == ''">false</GenerateDocumentationFile>
3992 <GenerateDocumentationFile Condition="'$(DocumentationFile)' != ''">true</GenerateDocumentationFile>
3993 </PropertyGroup>
3994 <PropertyGroup Condition="'$(GenerateDocumentationFile)' == 'true' and '$(DocumentationFile)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3995 <DocumentationFile Condition="'$(MSBuildProjectExtension)' == '.vbproj'">$(AssemblyName).xml</DocumentationFile>
3996 <DocumentationFile Condition="'$(MSBuildProjectExtension)' != '.vbproj'">$(IntermediateOutputPath)$(AssemblyName).xml</DocumentationFile>
3997 </PropertyGroup>
3998 <PropertyGroup Condition="'$(GenerateDocumentationFile)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3999 <DocumentationFile />
4000 </PropertyGroup>
4001 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4002 <PublishDocumentationFiles Condition="'$(PublishDocumentationFiles)' == ''">true</PublishDocumentationFiles>
4003 <PublishDocumentationFile Condition="'$(PublishDocumentationFile)' == '' and '$(PublishDocumentationFiles)' == 'true'">true</PublishDocumentationFile>
4004 <PublishReferencesDocumentationFiles Condition="'$(PublishReferencesDocumentationFiles)' == '' and '$(PublishDocumentationFiles)' == 'true'">true</PublishReferencesDocumentationFiles>
4005 </PropertyGroup>
4006 <!-- Add a project capability so that the project properties in the IDE can show the option to generate an XML documentation file without specifying the filename -->
4007 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4008 <ProjectCapability Include="GenerateDocumentationFile" />
4009 </ItemGroup>
4010 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4011 <IsNetCoreAppTargetingLatestTFM Condition="'$(IsNetCoreAppTargetingLatestTFM)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' == '$(NETCoreAppMaximumVersion)'">true</IsNetCoreAppTargetingLatestTFM>
4012 </PropertyGroup>
4013 <!--
4014 Use Roslyn deployed with SDK for builds of SDK-style projects (regardless of whether the initiator is `dotnet` or `msbuild`).
4015 See https://github.com/dotnet/sdk/blob/main/documentation/general/decouple-vs-and-net-sdk.md.
4016 -->
4017 <Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4018 <!-- RoslynCompilerType specified by user, do not overwrite it. -->
4019 <When Condition="'$(RoslynCompilerType)' != ''" />
4020 <!-- BuildWithNetFrameworkHostedCompiler specified by user to opt into downloading compiler framework toolset package. -->
4021 <When Condition="'$(BuildWithNetFrameworkHostedCompiler)' == 'true'">
4022 <PropertyGroup>
4023 <RoslynCompilerType>FrameworkPackage</RoslynCompilerType>
4024 </PropertyGroup>
4025 </When>
4026 <!-- On core MSBuild or if we have path to dotnet host, use Core compiler type. -->
4027 <When Condition="'$(MSBuildRuntimeType)' == 'Core' or '$(DOTNET_HOST_PATH)' != '' or '$(DOTNET_EXPERIMENTAL_HOST_PATH)' != ''">
4028 <PropertyGroup>
4029 <RoslynCompilerType>Core</RoslynCompilerType>
4030 </PropertyGroup>
4031 </When>
4032 <!-- Automatically opt users into using the toolset package if they are running an MSBuild other than what this SDK was built against.
4033 This is to reduce 'tearing'/dependency mismatch, but as always users can override this behavior by disabling the hosted compiler flag. -->
4034 <When Condition="'$(MSBuildRuntimeType)' == 'Full'&#xD;&#xA; and '$(BuildWithNetFrameworkHostedCompiler)' == ''&#xD;&#xA; and '$(_IsDisjointMSBuildVersion)' == 'true'&#xD;&#xA; and ('$(MSBuildProjectExtension)' == '.csproj'&#xD;&#xA; or '$(MSBuildProjectExtension)' == '.vbproj')">
4035 <PropertyGroup>
4036 <RoslynCompilerType>FrameworkPackage</RoslynCompilerType>
4037 </PropertyGroup>
4038 </When>
4039 <!-- Otherwise we must be on full MSBuild, so choose Framework compiler type. -->
4040 <Otherwise>
4041 <PropertyGroup>
4042 <RoslynCompilerType>Framework</RoslynCompilerType>
4043 </PropertyGroup>
4044 </Otherwise>
4045 </Choose>
4046 <!-- NOTE: Compiler toolset packages should set the following properties on their own, hence we set them only for RoslynCompilerType being Core or Framework. -->
4047 <PropertyGroup Condition="'$(RoslynCompilerType)' == 'Core' or '$(RoslynCompilerType)' == 'Framework'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4048 <!-- In Full Framework MSBuild, RoslynTargetsPath originally points to the directory with Full Framework Roslyn assemblies. -->
4049 <RoslynAssembliesPath Condition="'$(RoslynAssembliesPath)' == '' and '$(MSBuildRuntimeType)' != 'Core'">$(RoslynTargetsPath)</RoslynAssembliesPath>
4050 <RoslynCoreAssembliesPath>$(MSBuildThisFileDirectory)..\..\..\Roslyn\bincore</RoslynCoreAssembliesPath>
4051 </PropertyGroup>
4052 <PropertyGroup Condition="'$(RoslynCompilerType)' == 'Core'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4053 <RoslynTargetsPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\..\..\Roslyn</RoslynTargetsPath>
4054 <RoslynTasksAssembly Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\..\..\Roslyn\Microsoft.Build.Tasks.CodeAnalysis.dll</RoslynTasksAssembly>
4055 <RoslynAssembliesPath Condition="'$(RoslynAssembliesPath)' == '' and '$(MSBuildRuntimeType)' == 'Core'">$(RoslynCoreAssembliesPath)</RoslynAssembliesPath>
4056 <RoslynTargetsPath Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\..\..\Roslyn\binfx</RoslynTargetsPath>
4057 <RoslynTasksAssembly Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\..\..\Roslyn\binfx\Microsoft.Build.Tasks.CodeAnalysis.Sdk.dll</RoslynTasksAssembly>
4058 <CSharpCoreTargetsPath>$(MSBuildThisFileDirectory)..\..\..\Roslyn\Microsoft.CSharp.Core.targets</CSharpCoreTargetsPath>
4059 <VisualBasicCoreTargetsPath>$(MSBuildThisFileDirectory)..\..\..\Roslyn\Microsoft.VisualBasic.Core.targets</VisualBasicCoreTargetsPath>
4060 </PropertyGroup>
4061 <!--
4062============================================================================================================================================
4063 </Import>
4064
4065C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
4066============================================================================================================================================
4067-->
4068 <PropertyGroup Condition="'$(LanguageTargets)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4069 <LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(MSBuildToolsPath)\Microsoft.CSharp.targets</LanguageTargets>
4070 <LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.vbproj'">$(MSBuildToolsPath)\Microsoft.VisualBasic.targets</LanguageTargets>
4071 <LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.fsproj'">$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.FSharpTargetsShim.targets</LanguageTargets>
4072 <!-- If LanguageTargets isn't otherwise set, then just import the common targets. This should allow the restore target to run,
4073 which could bring in NuGet packages that set the LanguageTargets to something else. This means support for different
4074 languages could either be supplied via an SDK or via a NuGet package. -->
4075 <LanguageTargets Condition="'$(LanguageTargets)' == ''">$(MSBuildToolsPath)\Microsoft.Common.targets</LanguageTargets>
4076 </PropertyGroup>
4077 <!-- REMARK: Dont remove/rename, the LanguageTargets property is used by F# to hook inside the project's sdk
4078 using Sdk attribute (from .NET Core Sdk 1.0.0-preview4) -->
4079 <!--
4080============================================================================================================================================
4081 <Import Project="$(LanguageTargets)">
4082
4083C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.targets
4084============================================================================================================================================
4085-->
4086 <!--
4087***********************************************************************************************
4088Microsoft.Common.targets
4089
4090WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
4091 created a backup copy. Incorrect changes to this file will make it
4092 impossible to load or build your projects from the command-line or the IDE.
4093
4094This file defines the steps in the standard build process for .NET projects. It
4095contains all the steps that are common among the different .NET languages, such as
4096Visual Basic, and Visual C#.
4097
4098Copyright (C) Microsoft Corporation. All rights reserved.
4099***********************************************************************************************
4100-->
4101 <PropertyGroup>
4102 <CommonTargetsPath>$(MSBuildToolsPath)\Microsoft.Common.CurrentVersion.targets</CommonTargetsPath>
4103 </PropertyGroup>
4104 <!--
4105============================================================================================================================================
4106 <Import Project="$(CommonTargetsPath)">
4107
4108C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
4109============================================================================================================================================
4110-->
4111 <!--
4112***********************************************************************************************
4113Microsoft.Common.CurrentVersion.targets
4114
4115WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
4116 created a backup copy. Incorrect changes to this file will make it
4117 impossible to load or build your projects from the command-line or the IDE.
4118
4119This file defines the steps in the standard build process for .NET projects. It
4120contains all the steps that are common among the different .NET languages, such as
4121Visual Basic, and Visual C#.
4122
4123Copyright (C) Microsoft Corporation. All rights reserved.
4124***********************************************************************************************
4125-->
4126 <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="'$(MicrosoftCommonPropsHasBeenImported)' != 'true' and Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />-->
4127 <PropertyGroup>
4128 <ImportByWildcardBeforeMicrosoftCommonTargets Condition="'$(ImportByWildcardBeforeMicrosoftCommonTargets)' == ''">true</ImportByWildcardBeforeMicrosoftCommonTargets>
4129 <ImportByWildcardAfterMicrosoftCommonTargets Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == ''">true</ImportByWildcardAfterMicrosoftCommonTargets>
4130 <ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets)' == ''">true</ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets>
4131 <ImportUserLocationsByWildcardAfterMicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCommonTargets)' == ''">true</ImportUserLocationsByWildcardAfterMicrosoftCommonTargets>
4132 </PropertyGroup>
4133 <!--
4134============================================================================================================================================
4135 <Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore')">
4136
4137C:\Users\Rob\AppData\Local\Microsoft\MSBuild\Current\Microsoft.Common.targets\ImportBefore\SonarQube.Integration.ImportBefore.targets
4138============================================================================================================================================
4139-->
4140 <!-- **************************************************************************** -->
4141 <!-- Compute the SonarQube analysis temporary directory -->
4142 <!-- **************************************************************************** -->
4143 <PropertyGroup Condition=" $(SonarQubeTempPath) == '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4144 <!-- TFS 2013 -->
4145 <SonarQubeBuildDirectory>$(TF_BUILD_BUILDDIRECTORY)</SonarQubeBuildDirectory>
4146 <!-- TFS 2015 -->
4147 <SonarQubeBuildDirectory Condition=" $(SonarQubeBuildDirectory) == '' ">$(AGENT_BUILDDIRECTORY)</SonarQubeBuildDirectory>
4148 <!-- Command line -->
4149 <SonarQubeBuildDirectory Condition=" $(SonarQubeBuildDirectory) == '' ">$(MSBuildStartupDirectory)</SonarQubeBuildDirectory>
4150 <SonarQubeTempPath Condition=" $(SonarQubeBuildDirectory) != '' AND Exists('$(SonarQubeBuildDirectory)\.sonarqube\conf\SonarQubeAnalysisConfig.xml') ">$(SonarQubeBuildDirectory)\.sonarqube</SonarQubeTempPath>
4151 </PropertyGroup>
4152 <!-- **************************************************************************** -->
4153 <!-- Compute the path to the targets if not specified -->
4154 <!-- **************************************************************************** -->
4155 <PropertyGroup Condition=" $(SonarQubeTempPath) != '' AND $(SonarQubeTargetsPath) == '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4156 <SonarQubeTargetsPath>$(SonarQubeTempPath)\bin\targets</SonarQubeTargetsPath>
4157 </PropertyGroup>
4158 <!-- **************************************************************************** -->
4159 <!-- Import the analysis targets if appropriate -->
4160 <!-- **************************************************************************** -->
4161 <PropertyGroup Condition=" $(SonarQubeTargetsPath) != '' AND $(SonarQubeTargetFilePath) == '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4162 <SonarQubeTargetFilePath>$(SonarQubeTargetsPath)\SonarQube.Integration.targets</SonarQubeTargetFilePath>
4163 </PropertyGroup>
4164 <!--<Import Project="$(SonarQubeTargetFilePath)" Condition=" $(SonarQubeTargetsImported) != 'true' AND $(BuildingInsideVisualStudio) != 'true' AND Exists('$(SonarQubeTargetFilePath)') " />-->
4165 <!-- **************************************************************************** -->
4166 <!-- Write out diagnostic information to help with troubleshooting. -->
4167 <!-- **************************************************************************** -->
4168 <Target Name="SonarQubeImportBeforeInfo" Condition=" $(SonarQubeTempPath) != '' AND $(BuildingInsideVisualStudio) != 'true' " BeforeTargets="CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4169 <PropertyGroup>
4170 <AnalysisTargetsFileFound Condition=" Exists('$(SonarQubeTargetFilePath)') ">true</AnalysisTargetsFileFound>
4171 </PropertyGroup>
4172 <!-- Diagnostic messages for troubleshooting -->
4173 <Message Importance="normal" Text="Sonar: ($(MSBuildProjectName)) SonarQube.Integration.ImportBefore.targets was loaded" />
4174 <Message Importance="low" Text="Sonar: ($(MSBuildProjectFile)) SonarQube analysis targets imported: $(SonarQubeTargetsImported)" />
4175 <Message Condition=" $(AnalysisTargetsFileFound) != 'true'" Importance="high" Text="Sonar: ($(MSBuildProjectFile)) The analysis targets file not found: $(SonarQubeTargetFilePath)" />
4176 </Target>
4177 <!--
4178============================================================================================================================================
4179 </Import>
4180
4181C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
4182============================================================================================================================================
4183-->
4184 <!--
4185============================================================================================================================================
4186 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore')">
4187
4188C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportBefore\Microsoft.Cpp.VCLibs120Universal.targets
4189============================================================================================================================================
4190-->
4191 <!--
4192***********************************************************************************************
4193Microsoft.cpp.VCLibs120Universal.targets
4194
4195WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
4196 created a backup copy. Incorrect changes to this file will make it
4197 impossible to load or build your projects from the command-line or the IDE.
4198
4199Copyright (C) Microsoft Corporation. All rights reserved.
4200***********************************************************************************************
4201-->
4202 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4203 <_GenerateAppxManifestDependsOn>$(_GenerateAppxManifestDependsOn);_FixVCLibs120References</_GenerateAppxManifestDependsOn>
4204 </PropertyGroup>
4205 <Target Name="_FixVCLibs120References" Condition="'$(AppxPackage)' == 'true' and '$(TargetPlatformIdentifier)' == 'UAP'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4206 <!-- Check if VC libs 120 reference is found, If found remove it-->
4207 <ItemGroup>
4208 <VCLibs120Ref Include="'%(PackagingOutputs.SDKName)'" Condition="'%(PackagingOutputs.SDKName)' == 'Microsoft.VCLibs, Version=12.0'" />
4209 </ItemGroup>
4210 <ItemGroup Condition="'@(VCLibs120Ref)' != ''">
4211 <PackagingOutputs Remove="@(PackagingOutputs)" Condition="'%(PackagingOutputs.SDKName)' == 'Microsoft.VCLibs, Version=12.0'" />
4212 </ItemGroup>
4213 <!-- Get the resolved SDK reference item for Microsoft.VCLibs.120, Version=14.0 and add that to the packaging output -->
4214 <GetInstalledSDKLocations SDKDirectoryRoots="$(SDKReferenceDirectoryRoot)" SDKExtensionDirectoryRoots="$(SDKExtensionDirectoryRoot)" SDKRegistryRoot="$(SDKReferenceRegistryRoot)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" Condition="'@(InstalledSDKLocations)' == '' and '@(VCLibs120Ref)' != ''">
4215 <Output TaskParameter="InstalledSDKs" ItemName="InstalledSDKLocations" />
4216 </GetInstalledSDKLocations>
4217 <ResolveSDKReference SDKReferences="Microsoft.VCLibs.120, Version=14.0" RuntimeReferenceOnlySDKDependencies="@(RuntimeReferenceOnlySDKDependencies)" References="@(Reference)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" WarnOnMissingPlatformVersion="$(SDKReferenceWarnOnMissingMaxPlatformVersion)" ProjectName="$(MSBuildProjectName)" TargetedSDKConfiguration="$(TargetedSDKConfiguration)" TargetedSDKArchitecture="$(TargetedSDKArchitecture)" InstalledSDKs="@(InstalledSDKLocations)" LogResolutionErrorsAsWarnings="$(LogSDKReferenceResolutionErrorsAsWarnings)" Prefer32Bit="$(Prefer32Bit)" ContinueOnError="$(ContinueOnError)" Condition="'@(VCLibs120Ref)' != ''">
4218 <Output TaskParameter="ResolvedSDKReferences" ItemName="VCLibs12UniversalReference" />
4219 </ResolveSDKReference>
4220 <ItemGroup Condition="'@(VCLibs120Ref)' != '' and '@(VCLibs12UniversalReference)' != '' ">
4221 <PackagingOutputs Include="@(VCLibs12UniversalReference)">
4222 <OutputGroup>GetResolvedSDKReferences</OutputGroup>
4223 </PackagingOutputs>
4224 </ItemGroup>
4225 </Target>
4226 <!-- This target adds reference to the Microsoft.UniversalCRT.Debug Extension SDK for UWP apps that :
4227 reference the Microsoft.VCLibs.14.00.Debug framework package
4228 Needs to run after the GetPackagingOutputs so that it is not added if a UCRT Debug reference is already present in the parent or referenced projects. -->
4229 <Target Name="_AddVCLibs140UniversalCrtDebugReference" AfterTargets="GetPackagingOutputs" Condition="'$(DisableImplicitUCRTReference)' == '' and '$(AppxPackage)' == 'true' and '$(TargetPlatformIdentifier)' == 'UAP'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4230 <!-- ******************************************************************************
4231 This item group queries the application project for the following traits:
4232 a. Microsoft.VCLibs, Version=14.0, Configuration=Debug is referenced by the project or its referenced projects
4233 b. This project or its referenced projects already reference Microsoft.UniversalCRT.Debug, Version=<Any>
4234 ******************************************************************************* -->
4235 <ItemGroup>
4236 <VCLibs140UCRTRef Include="'%(PackagingOutputs.SDKName)'" Condition="'%(PackagingOutputs.SDKName)' == 'Microsoft.VCLibs, Version=14.0' and ('%(PackagingOutputs.TargetedSDKConfiguration)' == 'Debug' or '$(Configuration)'=='Debug')" />
4237 <HasUCRTRef Include="'%(PackagingOutputs.SDKName)'" Condition="$([System.String]::new('%(PackagingOutputs.SDKName)').StartsWith('Microsoft.UniversalCRT.Debug, Version='))" />
4238 </ItemGroup>
4239 <!-- Add UCRT Debug reference if one is not already specified and the project (or referenced projects) have a reference to VCLibs140 framework package -->
4240 <PropertyGroup>
4241 <AddUCRTRef Condition="'@(HasUCRTRef)'=='' and '@(VCLibs140UCRTRef)'!=''">true</AddUCRTRef>
4242 </PropertyGroup>
4243 <!-- Get the resolved SDK reference item for Microsoft.UniversalCRT.Debug, Version=<TPV> and add that to the packaging output -->
4244 <GetInstalledSDKLocations SDKDirectoryRoots="$(SDKReferenceDirectoryRoot)" SDKExtensionDirectoryRoots="$(SDKExtensionDirectoryRoot)" SDKRegistryRoot="$(SDKReferenceRegistryRoot)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" Condition="'@(InstalledSDKLocations)' == '' and '$(AddUCRTRef)'=='true'">
4245 <Output TaskParameter="InstalledSDKs" ItemName="InstalledSDKLocations" />
4246 </GetInstalledSDKLocations>
4247 <!-- Find the Microsoft.Ucrt.Debug ESDK, based upon TPV. This package is installed by the Windows 10 SDK, so there should always be a matching
4248 ESDK for given TPV value -->
4249 <ResolveSDKReference Condition="'$(AddUCRTRef)'=='true'" SDKReferences="Microsoft.UniversalCRT.Debug, Version=$(TargetPlatformVersion)" RuntimeReferenceOnlySDKDependencies="@(RuntimeReferenceOnlySDKDependencies)" References="@(Reference)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" WarnOnMissingPlatformVersion="$(SDKReferenceWarnOnMissingMaxPlatformVersion)" ProjectName="$(MSBuildProjectName)" TargetedSDKConfiguration="$(TargetedSDKConfiguration)" TargetedSDKArchitecture="$(TargetedSDKArchitecture)" InstalledSDKs="@(InstalledSDKLocations)" LogResolutionErrorsAsWarnings="$(LogSDKReferenceResolutionErrorsAsWarnings)" Prefer32Bit="$(Prefer32Bit)" ContinueOnError="$(ContinueOnError)">
4250 <Output TaskParameter="ResolvedSDKReferences" ItemName="UniversalCrtDebugReference" />
4251 </ResolveSDKReference>
4252 <!-- Add the resolved ucrtbased.dll to the packaging output -->
4253 <ItemGroup>
4254 <PackagingOutputs Condition="'$(AddUCRTRef)' == 'true'" Include="@(UniversalCrtDebugReference->'%(Identity)\redist\Debug\%(TargetedSDKArchitecture)\ucrtbased.dll')">
4255 <OutputGroup>SDKRedistOutputGroup</OutputGroup>
4256 <ProjectName>$(MSBuildProjectName)</ProjectName>
4257 <TargetPath>ucrtbased.dll</TargetPath>
4258 </PackagingOutputs>
4259 </ItemGroup>
4260 </Target>
4261 <!--
4262============================================================================================================================================
4263 </Import>
4264============================================================================================================================================
4265-->
4266 <!--
4267============================================================================================================================================
4268 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore')">
4269
4270C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportBefore\Microsoft.Windows.UI.Xaml.CSharp.ModernNET.ImportBefore.targets
4271============================================================================================================================================
4272-->
4273 <!--
4274***********************************************************************************************
4275Microsoft.Windows.UI.Xaml.CSharp.ModernNET.ImportBefore.targets
4276
4277WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
4278 created a backup copy. Incorrect changes to this file will make it
4279 impossible to load or build your projects from the command-line or the IDE.
4280
4281Copyright (C) Microsoft Corporation. All rights reserved.
4282***********************************************************************************************
4283-->
4284 <!--
4285 This .targets automatically sets 'UseUwpTools' for apps using 'UseUwp'. this property is used by the .NET 9 SDK, and it makes
4286 it reference the new WinRT projections for Windows.UI.Xaml.* types in the Windows SDK package for .NET projects. In the vast
4287 majority of cases, projects setting this property indent to actually be compiled as UWP (that is, importing all tooling for
4288 UWP apps, such as the XAML compiler). Because of this, and also to make the experience consistent with other UI frameworks
4289 such as WinForms, WPF and WinUI 3, which also use a single property to enable their associated tooling (ie. 'UseWinForms',
4290 'UseWpf' and 'UseWinUI' respectively), we automatically set 'UseUwpTools' for all projects setting 'UseUwp' by default.
4291
4292 For advanced "mixed-mode" scenarios where projects are both referencing Windows.UI.Xaml.* projections and using WindowsAppSDK,
4293 and do not intend to compile as a UWP app, they can manually disable 'UseUwpTools', and we will respect their preference.
4294
4295 Note that this property is set in an 'ImportBefore' .targets file, for two reasons:
4296 - We need to read properties set in the .csproj (or in any .props files), so we must be a .targets file.
4297 - We need to set this default option as soon as possible after the project is evaluated, such that the default option is
4298 visible not only to .targets imported by NuGet packages, but also by any Directory.Build.targets files, as well as any
4299 'CustomBeforeMicrosoftCommonTargets' files. MSBuild will import this file before all of them, as it will be picked up
4300 by 'Microsoft.Common.CurrentVersion.targets' before any 'CustomBeforeMicrosoftCommonTargets' file as well.
4301 -->
4302 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4303 <UseUwpTools Condition="'$(UseUwp)' == 'true' AND '$(UseUwpTools)' == ''">true</UseUwpTools>
4304 </PropertyGroup>
4305 <!--
4306 We want to allow projects to skip defining 'TargetPlatformMinVersion', which should automatically match the target platform
4307 version specified in 'TargetFramework' in that case. For WinUI 3, this is handled automatically by the .NET SDK, which sets
4308 the value of 'TargetPlatformMinVersion' from 'Microsoft.NET.Windows.targets' to either sync with 'SupportedOSPlatformVersion',
4309 if that property is set, or to just match 'TargetPlatformVersion' otherwise. For UWP apps, we cannot rely on that same logic,
4310 because there are various checks in the APPX and XAML compiler .targets that assume this property should already be set by
4311 the time they are imported, which happens before that .targets from the .NET SDK. To work around this, we can check whether
4312 the current project didn't define 'TargetPlatformMinVersion', and automatically set it from here. This file is imported
4313 before any of the APPX or XAML .targets, so that ensures those will work correctly. The logic below matches the behavior
4314 of the .NET SDK, with the only difference being that it only sets 'TargetPlatformMinVersion' (not 'SupportedOSPlatformVersion').
4315
4316 Note that this .targets file is imported well after 'Microsoft.NET.TargetFrameworkInference.targets', so we can rely on that
4317 setting the value of 'TargetPlatformVersion' used below, meaning that we don't have to parse 'TargetFramework' from here.
4318 -->
4319 <PropertyGroup Condition="'$(UseUwpTools)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4320 <TargetPlatformMinVersion Condition="'$(TargetPlatformMinVersion)' == ''">$(SupportedOSPlatformVersion)</TargetPlatformMinVersion>
4321 <TargetPlatformMinVersion Condition="'$(TargetPlatformMinVersion)' == ''">$(TargetPlatformVersion)</TargetPlatformMinVersion>
4322 </PropertyGroup>
4323 <!--
4324============================================================================================================================================
4325 </Import>
4326
4327C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
4328============================================================================================================================================
4329-->
4330 <!--<Import Project="$(MSBuildProjectFullPath).user" Condition="Exists('$(MSBuildProjectFullPath).user')" />-->
4331 <!-- VS10 without SP1 and without VS11 will not have VisualStudioVersion set, so do that here -->
4332 <PropertyGroup>
4333 <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
4334 </PropertyGroup>
4335 <PropertyGroup>
4336 <CustomBeforeMicrosoftCommonTargets Condition="'$(CustomBeforeMicrosoftCommonTargets)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.Before.Microsoft.Common.targets</CustomBeforeMicrosoftCommonTargets>
4337 <CustomAfterMicrosoftCommonTargets Condition="'$(CustomAfterMicrosoftCommonTargets)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.After.Microsoft.Common.targets</CustomAfterMicrosoftCommonTargets>
4338 <ReportingServicesTargets Condition="'$(ReportingServicesTargets)'==''">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\ReportingServices\Microsoft.ReportingServices.targets</ReportingServicesTargets>
4339 </PropertyGroup>
4340 <!--<Import Project="$(CustomBeforeMicrosoftCommonTargets)" Condition="'$(CustomBeforeMicrosoftCommonTargets)' != '' and Exists('$(CustomBeforeMicrosoftCommonTargets)')" />-->
4341 <!-- By default, we are creating a managed app because .NET 2.0 projects did not have this property. -->
4342 <PropertyGroup Condition="'$(TargetRuntime)' == ''">
4343 <TargetRuntime>Managed</TargetRuntime>
4344 </PropertyGroup>
4345 <!-- Because .NET 2.0 apps did not set TargetFrameworkIdentifier, we need to set it for them here by default. If
4346 the runtime is set to Managed, we also need to set these. Otherwise they should be blank (for instance Javascript or
4347 Native apps) because they do not target a .NET Framework. -->
4348 <PropertyGroup Condition="'$(TargetRuntime)' == 'Managed'">
4349 <TargetFrameworkIdentifier Condition="'$(TargetFrameworkIdentifier)' == ''">.NETFramework</TargetFrameworkIdentifier>
4350 <TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v4.0</TargetFrameworkVersion>
4351 </PropertyGroup>
4352 <!-- AvailablePlatforms is the list of platform targets available. -->
4353 <PropertyGroup>
4354 <AvailablePlatforms Condition="'$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == ''">Any CPU,x86,x64,Itanium</AvailablePlatforms>
4355 <AvailablePlatforms Condition="'$(VisualStudioVersion)' != '' and '$(VisualStudioVersion)' &gt; '10.0'">Any CPU,x86,x64</AvailablePlatforms>
4356 </PropertyGroup>
4357 <!-- Import depends on if it is .NETCore. Imports for .NETFramework is a superset of that for .NETCore-->
4358 <!--
4359============================================================================================================================================
4360 <Import Project="Microsoft.NETFramework.props" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' or '$(TargetFrameworkIdentifier)' == 'Silverlight'">
4361
4362C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.NETFramework.props
4363============================================================================================================================================
4364-->
4365 <!--
4366***********************************************************************************************
4367Microsoft.NetFramework.props
4368
4369WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
4370 created a backup copy. Incorrect changes to this file will make it
4371 impossible to load or build your projects from the command-line or the IDE.
4372
4373This file contains .net framework specific properties, items and targets. They are factored into a Microsoft.NETFramework.targets and Microsoft.NetFramework.props
4374these two files are used to encapsulate the multi-targeting and framework specific build process.
4375
4376Copyright (C) Microsoft Corporation. All rights reserved.
4377***********************************************************************************************
4378-->
4379 <PropertyGroup>
4380 <NetFrameworkPropsPath>$(MSBuildToolsPath)\Microsoft.NETFramework.CurrentVersion.props</NetFrameworkPropsPath>
4381 </PropertyGroup>
4382 <!--
4383============================================================================================================================================
4384 <Import Project="$(NetFrameworkPropsPath)">
4385
4386C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.NETFramework.CurrentVersion.props
4387============================================================================================================================================
4388-->
4389 <!--
4390***********************************************************************************************
4391Microsoft.NETFramework.CurrentVersion.props
4392
4393WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
4394 created a backup copy. Incorrect changes to this file will make it
4395 impossible to load or build your projects from the command-line or the IDE.
4396
4397This file contains .net framework specific properties, items and targets. They are factored into a Microsoft.NETFramework.targets and Microsoft.NetFramework.props
4398these two files are used to encapsulate the multi-targeting and framework specific build process.
4399
4400Copyright (C) Microsoft Corporation. All rights reserved.
4401***********************************************************************************************
4402-->
4403 <PropertyGroup>
4404 <ImportByWildcardBeforeMicrosoftNetFrameworkProps Condition="'$(ImportByWildcardBeforeMicrosoftNetFrameworkProps)' == ''">true</ImportByWildcardBeforeMicrosoftNetFrameworkProps>
4405 <ImportByWildcardAfterMicrosoftNetFrameworkProps Condition="'$(ImportByWildcardAfterMicrosoftNetFrameworkProps)' == ''">true</ImportByWildcardAfterMicrosoftNetFrameworkProps>
4406 <ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps)' == ''">true</ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps>
4407 <ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps)' == ''">true</ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps>
4408 </PropertyGroup>
4409 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.props\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.props\ImportBefore')" />-->
4410 <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.props\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.props\ImportBefore')" />-->
4411 <PropertyGroup>
4412 <!-- By default we want to replace subsets with profiles, but we do need a way to turning off this "upgrade" in case a user needs to target a subset-->
4413 <UpgradeSubsetToProfile Condition="'$(UpgradeSubsetToProfile)' == '' ">true</UpgradeSubsetToProfile>
4414 <TargetFrameworkProfile Condition="'$(UpgradeSubsetToProfile)' == 'true' and '$(TargetFrameworkSubset)' != '' and '$(TargetFrameworkProfile)' == ''">$(TargetFrameworkSubset)</TargetFrameworkProfile>
4415 <!-- If we are not upgrading the Subset to a profile this means we want to target a subset, do not wipe out the subset name-->
4416 <TargetFrameworkSubset Condition="'$(UpgradeTargetFrameworkSubsetToProfile)' == 'true'" />
4417 </PropertyGroup>
4418 <PropertyGroup Condition="'$(FrameworkPathOverride)' != ''">
4419 <_FullFrameworkReferenceAssemblyPaths>$(FrameworkPathOverride)</_FullFrameworkReferenceAssemblyPaths>
4420 <_TargetFrameworkDirectories>$(FrameworkPathOverride)</_TargetFrameworkDirectories>
4421 </PropertyGroup>
4422 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(TargetFrameworkVersion)' == 'v4.0' and '$(FrameworkPathOverride)' == ''">
4423 <!-- The FrameworkPathOverride property is required for the IDE Visual Basic compiler to initialize.
4424 This location contains reference assemblies for mscorlib.dll and other key VB assemblies.
4425 This property is required during project evaluation, since the IDE compilers need to initialize before
4426 any targets have had a chance to run, hence the use of a function to retrieve the location.
4427 -->
4428 <!-- Hard code for the most common TargetFrameworkVersion of v4.0 with no profile: this enables us to avoid calling the GetReferenceAssemblyPaths task -->
4429 <_FullFrameworkReferenceAssemblyPaths Condition="Exists('$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\RedistList\FrameworkList.xml')">$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0</_FullFrameworkReferenceAssemblyPaths>
4430 <_TargetFrameworkDirectories Condition="'$(TargetFrameworkProfile)' == ''">$(_FullFrameworkReferenceAssemblyPaths)</_TargetFrameworkDirectories>
4431 <FrameworkPathOverride Condition="'$(TargetFrameworkProfile)' == ''">$(_TargetFrameworkDirectories)</FrameworkPathOverride>
4432 <!-- Hard code for the most common TargetFrameworkVersion of v4.0 with Client profile: this enables us to avoid calling the GetReferenceAssemblyPaths task -->
4433 <_TargetFrameworkDirectories Condition="'$(TargetFrameworkProfile)' == 'Client' and Exists('$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\$(TargetFrameworkProfile)\RedistList\FrameworkList.xml')">$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\$(TargetFrameworkProfile)</_TargetFrameworkDirectories>
4434 <FrameworkPathOverride Condition="'$(TargetFrameworkProfile)' == 'Client'">$(_TargetFrameworkDirectories)</FrameworkPathOverride>
4435 <TargetFrameworkMonikerDisplayName Condition="'$(TargetFrameworkMonikerDisplayName)' == '' and '$(TargetFrameworkProfile)' == ''">.NET Framework 4</TargetFrameworkMonikerDisplayName>
4436 <TargetFrameworkMonikerDisplayName Condition="'$(TargetFrameworkMonikerDisplayName)' == '' and '$(TargetFrameworkProfile)' == 'Client'">.NET Framework 4 Client Profile</TargetFrameworkMonikerDisplayName>
4437 </PropertyGroup>
4438 <PropertyGroup>
4439 <MSBuildFrameworkToolsRoot Condition="'$(MSBuildFrameworkToolsRoot)' == '' and '$(MSBuildRuntimeType)' != 'Core'">$(Registry:HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework@InstallRoot)</MSBuildFrameworkToolsRoot>
4440 <_DeploymentSignClickOnceManifests Condition="'$(TargetFrameworkVersion)' == 'v2.0' or '$(TargetFrameworkVersion)' == 'v3.0' or '$(SignManifests)' == 'true'">true</_DeploymentSignClickOnceManifests>
4441 <!-- Assembly names added to the AdditionalExplicitAssemblyReferences property will be added as references to the resolve assembly reference call by default this is done because when upgrading from
4442 a project targeting 2.0 to 3.5 the system.core reference is not added, therefore we need to add it automatically -->
4443 <AddAdditionalExplicitAssemblyReferences Condition="'$(AddAdditionalExplicitAssemblyReferences)' == ''">true</AddAdditionalExplicitAssemblyReferences>
4444 <AdditionalExplicitAssemblyReferences Condition="'$(AddAdditionalExplicitAssemblyReferences)' == 'true' and '$(TargetCompactFramework)' != 'true' and ('$(TargetFrameworkVersion)' != 'v2.0' and '$(TargetFrameworkVersion)' != 'v3.0')">System.Core;$(AdditionalExplicitAssemblyReferences)</AdditionalExplicitAssemblyReferences>
4445 </PropertyGroup>
4446 <!--
4447 ============================================================
4448 GetToolPaths
4449 Get the paths for the .NET Framework tools and sdk tools directories.
4450 This does not need to be a target since all of the values are availiable at project evaluation time.
4451 ============================================================
4452 -->
4453 <PropertyGroup>
4454 <TargetingClr2Framework Condition="'$(TargetFrameworkVersion)' == 'v2.0' or '$(TargetFrameworkVersion)' == 'v3.0' or '$(TargetFrameworkVersion)' == 'v3.5'">true</TargetingClr2Framework>
4455 <MSBuildManagedCompilerPath Condition="'$(TargetingClr2Framework)' == 'true'">$(MSBuildFrameworkToolsRoot)\v3.5</MSBuildManagedCompilerPath>
4456 <TargetFrameworkSDKToolsDirectory Condition="'$(TargetingClr2Framework)' == 'true'">$(SDK35ToolsPath)</TargetFrameworkSDKToolsDirectory>
4457 <!-- If the sdk path is not 3.5 or lower set it to the 40 sdk tools path. This will allow future target framework versions to use the 4.0 sdk tool set
4458 When a new windows SDK revs they will inplace update the location pointed to by this property. When a new sdk is release this target will have to be
4459 revised along with another toolsversion. -->
4460 <TargetedRuntimeVersion Condition="'$(TargetedRuntimeVersion)' == '' and ('$(TargetingClr2Framework)' == 'true')">v2.0.50727</TargetedRuntimeVersion>
4461 <TargetedRuntimeVersion Condition="'$(TargetedRuntimeVersion)' == ''">v$(MSBuildRuntimeVersion)</TargetedRuntimeVersion>
4462 </PropertyGroup>
4463 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(TargetingClr2Framework)' != 'true' and '$(TargetFrameworkVersion)' != 'v4.0' and ('$(OutputType)' == 'exe' or '$(OutputType)' == 'winexe' or '$(OutputType)' == 'appcontainerexe' or '$(OutputType)' == '') and '$(PreferNativeArm64)' != 'true'">
4464 <Prefer32Bit Condition="'$(Prefer32Bit)' == ''">true</Prefer32Bit>
4465 </PropertyGroup>
4466 <PropertyGroup>
4467 <Prefer32Bit Condition="'$(Prefer32Bit)' == ''">false</Prefer32Bit>
4468 </PropertyGroup>
4469 <PropertyGroup>
4470 <!-- ARM and AppContainerExe require subsystem version >= 6.02 (Windows 8) -->
4471 <SubsystemVersion Condition="'$(SubsystemVersion)' == '' and ('$(PlatformTarget)' == 'ARM' or '$(OutputType)' == 'appcontainerexe' or '$(OutputType)' == 'winmdobj')">6.02</SubsystemVersion>
4472 <!-- Starting with .Net 4.5 projects use subsystem 6.00 (Vista) as default -->
4473 <SubsystemVersion Condition="'$(SubsystemVersion)' == '' and ('$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(TargetingClr2Framework)' != 'true' and '$(TargetFrameworkVersion)' != 'v4.0')">6.00</SubsystemVersion>
4474 </PropertyGroup>
4475 <PropertyGroup>
4476 <ComReferenceExecuteAsTool Condition="'$(ExecuteAsTool)'!=''">$(ExecuteAsTool)</ComReferenceExecuteAsTool>
4477 <ComReferenceExecuteAsTool Condition="'$(ExecuteAsTool)'=='' and '$(TargetingClr2Framework)' == 'true'">true</ComReferenceExecuteAsTool>
4478 </PropertyGroup>
4479 <PropertyGroup>
4480 <ResGenExecuteAsTool Condition="'$(ExecuteAsTool)'!=''">$(ExecuteAsTool)</ResGenExecuteAsTool>
4481 <ResGenExecuteAsTool Condition="'$(ExecuteAsTool)'=='' and '$(TargetingClr2Framework)' == 'true'">true</ResGenExecuteAsTool>
4482 </PropertyGroup>
4483 <PropertyGroup>
4484 <!-- Starting with .NET 4.5 projects we implictly reference all portable design-time facades -->
4485 <ImplicitlyExpandDesignTimeFacades Condition="'$(ImplicitlyExpandDesignTimeFacades)' == '' and ('$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(TargetingClr2Framework)' != 'true' and '$(TargetFrameworkVersion)' != 'v4.0')">true</ImplicitlyExpandDesignTimeFacades>
4486 </PropertyGroup>
4487 <PropertyGroup>
4488 <AvailablePlatforms Condition="!$(AvailablePlatforms.Contains('ARM64')) and '$(TargetFrameworkIdentifier)' == '.NETFramework' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '4.0'))">$(AvailablePlatforms),ARM64</AvailablePlatforms>
4489 </PropertyGroup>
4490 <!--Import props that are common for both full framework and core.
4491 And before the ImportAfter\* , so users can override it-->
4492 <!--
4493============================================================================================================================================
4494 <Import Project="$(MSBuildToolsPath)\Microsoft.NET.props">
4495
4496C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.NET.props
4497============================================================================================================================================
4498-->
4499 <!--
4500***********************************************************************************************
4501Microsoft.NET.props
4502
4503WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
4504 created a backup copy. Incorrect changes to this file will make it
4505 impossible to load or build your projects from the command-line or the IDE.
4506
4507This file contains .NET-specific properties, and items. This file is imported for .NET Core, .NET Standard, and .NET Framework projects.
4508these two files are used to encapsulate the multi-targeting and framework specific build process.
4509
4510Copyright (C) Microsoft Corporation. All rights reserved.
4511***********************************************************************************************
4512-->
4513 <!--
4514 ============================================================
4515 GetToolPaths
4516 Get the paths for the .NET Framework and .NET Core tools and sdk tools directories.
4517 This does not need to be a target since all of the values are availiable at project evaluation time.
4518 ============================================================
4519 -->
4520 <PropertyGroup>
4521 <TargetFrameworkSDKToolsDirectory Condition=" '$(TargetFrameworkSDKToolsDirectory)' == '' ">$(SDK40ToolsPath)</TargetFrameworkSDKToolsDirectory>
4522 </PropertyGroup>
4523 <!--
4524 ============================================================
4525 SetHighEntropyVA
4526 Set HighEntropyVA according to the TargetFramework
4527 ============================================================
4528 -->
4529 <PropertyGroup Condition="('$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(TargetingClr2Framework)' != 'true' and '$(TargetFrameworkVersion)' != 'v4.0') or '$(TargetFrameworkIdentifier)' == '.NETCoreApp' or '$(TargetFrameworkIdentifier)' == '.NETStandard'">
4530 <HighEntropyVA Condition="'$(HighEntropyVA)' == ''">true</HighEntropyVA>
4531 </PropertyGroup>
4532 <PropertyGroup>
4533 <HighEntropyVA Condition="'$(HighEntropyVA)' == ''">false</HighEntropyVA>
4534 </PropertyGroup>
4535 <!--
4536============================================================================================================================================
4537 </Import>
4538
4539C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.NETFramework.CurrentVersion.props
4540============================================================================================================================================
4541-->
4542 <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.props\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.props\ImportAfter')" />-->
4543 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.props\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.props\ImportAfter')" />-->
4544 <!--
4545============================================================================================================================================
4546 </Import>
4547
4548C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.NETFramework.props
4549============================================================================================================================================
4550-->
4551 <!--
4552============================================================================================================================================
4553 </Import>
4554
4555C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
4556============================================================================================================================================
4557-->
4558 <!--<Import Project="Microsoft.NET.props" Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' or '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" />-->
4559 <PropertyGroup>
4560 <!-- Generates full paths for the 'File' property in errors, warnings and messages in many targets -->
4561 <GenerateFullPaths Condition="'$(GenerateFullPaths)' == ''">true</GenerateFullPaths>
4562 <!-- Yield optimization properties -->
4563 <YieldDuringToolExecution Condition="'$(YieldDuringToolExecution)' == ''">true</YieldDuringToolExecution>
4564 </PropertyGroup>
4565 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' != '' and '$(TargetFrameworkVersion)' != ''">
4566 <TargetFrameworkMoniker Condition="'$(TargetFrameworkMoniker)' == '' and '$([System.String]::IsNullOrWhitespace($(TargetFrameworkProfile)))' != 'true'">$(TargetFrameworkIdentifier),Version=$(TargetFrameworkVersion),Profile=$(TargetFrameworkProfile)</TargetFrameworkMoniker>
4567 <TargetFrameworkMoniker Condition="'$(TargetFrameworkMoniker)' == ''">$(TargetFrameworkIdentifier),Version=$(TargetFrameworkVersion)</TargetFrameworkMoniker>
4568 <!-- When working off a packaged reference assemblies, do not go to machine-global locations. This property is target-framework-specific, so it cannot be overridden in msbuild.exe.config once and for all. -->
4569 <FrameworkPathOverride Condition="'$(EnableFrameworkPathOverride)' != 'false' And '$(FrameworkPathOverride)' == '' And Exists('$(TargetFrameworkRootPath)$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)')">$(TargetFrameworkRootPath)$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)</FrameworkPathOverride>
4570 <!-- The FrameworkPathOverride is required for the inproc visual basic compiler to initialize when targeting target frameworks less than 4.0. If .net 2.0 is not installed then the property value above will not provide the location
4571 of mscorlib. This is also true if the build author overrides this property to some other directory which does not contain mscorlib.dll. In the case we cannot find mscorlib.dll at the correct location
4572 we need to find a directory which does contain mscorlib to allow the inproc compiler to initialize and give us the chance to show certain dialogs in the IDE (which only happen after initialization).-->
4573 <FrameworkPathOverride Condition="'$(EnableFrameworkPathOverride)' != 'false' And '$(FrameworkPathOverride)' == ''">$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPathToStandardLibraries($(TargetFrameworkIdentifier), $(TargetFrameworkVersion), $(TargetFrameworkProfile), $(PlatformTarget), $(TargetFrameworkRootPath), $(TargetFrameworkFallbackSearchPaths)))</FrameworkPathOverride>
4574 <FrameworkPathOverride Condition="'$(EnableFrameworkPathOverride)' != 'false' And !Exists('$(FrameworkPathOverride)\mscorlib.dll')">$(MSBuildFrameworkToolsPath)</FrameworkPathOverride>
4575 </PropertyGroup>
4576 <PropertyGroup>
4577 <TargetPlatformIdentifier Condition="'$(TargetPlatformIdentifier)' == '' and '$(_EnableDefaultWindowsPlatform)' != 'false'">Windows</TargetPlatformIdentifier>
4578 <TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == '' and '$(_EnableDefaultWindowsPlatform)' != 'false'">7.0</TargetPlatformVersion>
4579 <TargetPlatformSdkPath Condition="'$(TargetPlatformSdkPath)' == '' and '$(TargetPlatformSdkRootOverride)' != ''">$(TargetPlatformSdkRootOverride)\</TargetPlatformSdkPath>
4580 <TargetPlatformSdkPath Condition="'$(TargetPlatformSdkPath)' == '' and '$(TargetPlatformIdentifier)' == 'Windows' and $([MSBuild]::IsOSPlatform('Windows')) and '$(MSBuildRuntimeType)' != 'Core'">$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SDKs\Windows\v$(TargetPlatformVersion)', InstallationFolder, null, RegistryView.Registry32, RegistryView.Default))</TargetPlatformSdkPath>
4581 <TargetPlatformSdkPath Condition="'$(TargetPlatformSdkPath)' == ''">$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformSDKLocation($(TargetPlatformIdentifier), $(TargetPlatformVersion)))</TargetPlatformSdkPath>
4582 <TargetPlatformSdkMetadataLocation Condition="'$(TargetPlatformSdkMetadataLocation)' == '' and Exists('$(TargetPlatformSdkPath)')">$(TargetPlatformSdkPath)Windows Metadata</TargetPlatformSdkMetadataLocation>
4583 <TargetPlatformSdkMetadataLocation Condition="Exists('$(TargetPlatformSdkPath)') and ('$(TargetPlatformSdkMetadataLocation)' == '' or !Exists('$(TargetPlatformSdkMetadataLocation)'))">$(TargetPlatformSdkPath)References\CommonConfiguration\Neutral</TargetPlatformSdkMetadataLocation>
4584 <TargetPlatformWinMDLocation Condition="'$(TargetPlatformWinMDLocation)' == '' and Exists('$(TargetPlatformSdkMetadataLocation)')">$(TargetPlatformSdkMetadataLocation)</TargetPlatformWinMDLocation>
4585 <UseOSWinMdReferences Condition="'$(UseOSWinMdReferences)' == '' and ('$(TargetPlatformWinMDLocation)' == '' and '$(TargetPlatformIdentifier)' == 'Windows' and '$(TargetPlatformVersion)' &gt; '7.0')">true</UseOSWinMdReferences>
4586 <TargetPlatformWinMDLocation Condition="'$(UseOsWinMdReferences)' == 'true'">$(WinDir)\System32\WinMetadata</TargetPlatformWinMDLocation>
4587 <TargetPlatformMoniker Condition="'$(TargetPlatformMoniker)' == '' and '$(TargetPlatformIdentifier)' != '' and '$(TargetPlatformVersion)' != ''">$(TargetPlatformIdentifier),Version=$(TargetPlatformVersion)</TargetPlatformMoniker>
4588 <TargetPlatformDisplayName Condition="'$(TargetPlatformDisplayName)' == ''">$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformSDKDisplayName($(TargetPlatformIdentifier), $(TargetPlatformVersion)))</TargetPlatformDisplayName>
4589 </PropertyGroup>
4590 <!--
4591 Several properties must be set in the main project file, before using this .TARGETS file.
4592 However, if the properties are not set, we pick some defaults.
4593
4594 OutDir:
4595 Indicates the final output location for the project or solution. When building a solution,
4596 OutDir can be used to gather multiple project outputs in one location. In addition,
4597 OutDir is included in AssemblySearchPaths used for resolving references.
4598
4599 BaseOutputPath:
4600 This is the top level folder where all configuration specific output folders will be created.
4601 Default value is bin\
4602
4603 OutputPath:
4604 This is the full Output Path, and is derived from BaseOutputPath, if none specified
4605 (eg. bin\Debug). If this property is overridden, then setting BaseOutputPath has no effect.
4606
4607 For Legacy projects using only Common targets, this property is usually specified in the project file
4608 and is used to initialize OutDir. Some SDKs including the .NET SDK derive this automatically.
4609 OutDir and OutputPath are distinguished for legacy reasons, and OutDir should be used if at all possible.
4610
4611 BaseIntermediateOutputPath:
4612 This is the top level folder where all configuration specific intermediate output folders will be created.
4613 Default value is obj\
4614
4615 IntermediateOutputPath:
4616 This is the full intermediate Output Path, and is derived from BaseIntermediateOutputPath, if none specified
4617 (eg. obj\Debug). If this property is overridden, then setting BaseIntermediateOutputPath has no effect.
4618
4619 Ensure any and all path property has a trailing slash, so it can be concatenated.
4620 -->
4621 <PropertyGroup>
4622 <!-- Example, AnyCPU -->
4623 <_OriginalPlatform>$(Platform)</_OriginalPlatform>
4624 <!-- Example, Debug -->
4625 <_OriginalConfiguration>$(Configuration)</_OriginalConfiguration>
4626 <!-- Check whether OutputPath was specified for valid Configuration/Platform combination -->
4627 <_OutputPathWasMissing Condition="'$(_OriginalPlatform)' != '' and '$(_OriginalConfiguration)' != '' and '$(OutputPath)' == ''">true</_OutputPathWasMissing>
4628 <!-- Check whether BaseOutputPath was specified -->
4629 <BaseOutputPathWasSpecified Condition="'$(BaseOutputPath)' != ''">true</BaseOutputPathWasSpecified>
4630 </PropertyGroup>
4631 <PropertyGroup>
4632 <Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>
4633 <PlatformName Condition="'$(PlatformName)' == ''">$(Platform)</PlatformName>
4634 <Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
4635 <ConfigurationName Condition="'$(ConfigurationName)' == ''">$(Configuration)</ConfigurationName>
4636 <BaseOutputPath Condition="'$(BaseOutputPath)' == ''">bin\</BaseOutputPath>
4637 <BaseOutputPath Condition="!HasTrailingSlash('$(BaseOutputPath)')">$(BaseOutputPath)\</BaseOutputPath>
4638 <OutputPath Condition="'$(OutputPath)' == '' and '$(PlatformName)' == 'AnyCPU'">$(BaseOutputPath)$(Configuration)\</OutputPath>
4639 <OutputPath Condition="'$(OutputPath)' == '' and '$(PlatformName)' != 'AnyCPU'">$(BaseOutputPath)$(PlatformName)\$(Configuration)\</OutputPath>
4640 <OutputPath Condition="!HasTrailingSlash('$(OutputPath)')">$(OutputPath)\</OutputPath>
4641 <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">obj\</BaseIntermediateOutputPath>
4642 <BaseIntermediateOutputPath Condition="!HasTrailingSlash('$(BaseIntermediateOutputPath)')">$(BaseIntermediateOutputPath)\</BaseIntermediateOutputPath>
4643 <IntermediateOutputPath Condition="'$(IntermediateOutputPath)' == '' and '$(PlatformName)' == 'AnyCPU'">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
4644 <IntermediateOutputPath Condition="'$(IntermediateOutputPath)' == '' and '$(PlatformName)' != 'AnyCPU'">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath>
4645 <IntermediateOutputPath Condition="!HasTrailingSlash('$(IntermediateOutputPath)')">$(IntermediateOutputPath)\</IntermediateOutputPath>
4646 </PropertyGroup>
4647 <PropertyGroup>
4648 <!-- Determine OutputType property from the legacy TargetType property -->
4649 <OutputType Condition=" '$(TargetType)' != ''">$(TargetType)</OutputType>
4650 <OutputType Condition=" '$(TargetType)' == 'Container' or '$(TargetType)' == 'DocumentContainer' ">library</OutputType>
4651 <OutputType Condition=" '$(OutputType)' == '' ">exe</OutputType>
4652 <DebugSymbols Condition=" '$(ConfigurationName)' == 'Debug' and '$(DebugSymbols)' == '' and '$(DebugType)'==''">true</DebugSymbols>
4653 <!-- Whether or not a .pdb file is produced. -->
4654 <_DebugSymbolsProduced>false</_DebugSymbolsProduced>
4655 <_DebugSymbolsProduced Condition="'$(DebugSymbols)'=='true'">true</_DebugSymbolsProduced>
4656 <_DebugSymbolsProduced Condition="'$(DebugType)'=='none'">false</_DebugSymbolsProduced>
4657 <_DebugSymbolsProduced Condition="'$(DebugType)'=='pdbonly'">true</_DebugSymbolsProduced>
4658 <_DebugSymbolsProduced Condition="'$(DebugType)'=='full'">true</_DebugSymbolsProduced>
4659 <_DebugSymbolsProduced Condition="'$(DebugType)'=='portable'">true</_DebugSymbolsProduced>
4660 <_DebugSymbolsProduced Condition="'$(DebugType)'=='embedded'">false</_DebugSymbolsProduced>
4661 <_DebugSymbolsProduced Condition="'$(ProduceOnlyReferenceAssembly)'=='true'">false</_DebugSymbolsProduced>
4662 <!-- Whether or not a .xml file is produced. -->
4663 <_DocumentationFileProduced>true</_DocumentationFileProduced>
4664 <_DocumentationFileProduced Condition="'$(DocumentationFile)'==''">false</_DocumentationFileProduced>
4665 <!-- Whether or not a reference assembly is produced. -->
4666 <ProduceReferenceAssembly Condition="'$(ProduceReferenceAssembly)' == ''">false</ProduceReferenceAssembly>
4667 </PropertyGroup>
4668 <!--
4669 For Legacy projects that define properties per Configuration/Platform combination, the validity of an
4670 invalid combination is determined by the non-empty value of the 'OutputPath' property specified under
4671 the IDE generated Configuration/Platform specific 'PropertyGroup' section.
4672
4673 If 'BaseOutputPath' is specified, we can skip the validation, since, we assume the 'OutputPath' property
4674 will be derived (e.g.: from the 'BaseOutputPath' property).
4675 -->
4676 <PropertyGroup Condition="'$(BaseOutputPathWasSpecified)' != 'true' and '$(_OutputPathWasMissing)' == 'true'">
4677 <!--
4678 When 'OutputPath' is missing or empty (along with non-existent 'BaseOutputPath') at this point means,
4679 we're in legacy mode and we shall assume the current Configuration/Platform combination as invalid.
4680 Whether this is considered an error or a warning depends on the value of $(SkipInvalidConfigurations).
4681 -->
4682 <_InvalidConfigurationMessageSeverity Condition=" '$(SkipInvalidConfigurations)' == 'true' ">Warning</_InvalidConfigurationMessageSeverity>
4683 <_InvalidConfigurationMessageSeverity Condition=" '$(SkipInvalidConfigurations)' != 'true' ">Error</_InvalidConfigurationMessageSeverity>
4684 </PropertyGroup>
4685 <!--
4686 IDE Macros available from both integrated builds and from command line builds.
4687 The following properties are 'macros' that are available via IDE for
4688 pre and post build steps.
4689 -->
4690 <PropertyGroup>
4691 <TargetExt Condition="'$(TargetExt)' == '' and '$(OutputType)'=='exe'">.exe</TargetExt>
4692 <TargetExt Condition="'$(TargetExt)' == '' and '$(OutputType)'=='winexe'">.exe</TargetExt>
4693 <TargetExt Condition="'$(TargetExt)' == '' and '$(OutputType)'=='appcontainerexe'">.exe</TargetExt>
4694 <TargetExt Condition="'$(TargetExt)' == '' and '$(OutputType)'=='library'">.dll</TargetExt>
4695 <TargetExt Condition="'$(TargetExt)' == '' and '$(OutputType)'=='module'">.netmodule</TargetExt>
4696 <TargetExt Condition="'$(TargetExt)' == '' and '$(OutputType)'=='winmdobj'">.winmdobj</TargetExt>
4697 </PropertyGroup>
4698 <PropertyGroup>
4699 <!-- Required for enabling Team Build for packaging app package-generating projects -->
4700 <OutDirWasSpecified Condition=" '$(OutDir)'!='' and '$(OutDirWasSpecified)'=='' ">true</OutDirWasSpecified>
4701 <OutDir Condition=" '$(OutDir)' == '' ">$(OutputPath)</OutDir>
4702 <!-- Example, bin\Debug\ -->
4703 <!-- Ensure OutDir has a trailing slash, so it can be concatenated -->
4704 <OutDir Condition="'$(OutDir)' != '' and !HasTrailingSlash('$(OutDir)')">$(OutDir)\</OutDir>
4705 <ProjectName Condition=" '$(ProjectName)' == '' ">$(MSBuildProjectName)</ProjectName>
4706 <!-- Example, MyProject -->
4707 <!-- For projects that generate app packages or ones that want a per-project output directory, update OutDir to include the project name -->
4708 <OutDir Condition="'$(OutDir)' != '' and '$(OutDirWasSpecified)' == 'true' and (('$(WindowsAppContainer)' == 'true' and '$(GenerateProjectSpecificOutputFolder)' != 'false') or '$(GenerateProjectSpecificOutputFolder)' == 'true')">$(OutDir)$(ProjectName)\</OutDir>
4709 <AssemblyName Condition=" '$(AssemblyName)'=='' ">$(MSBuildProjectName)</AssemblyName>
4710 <TargetName Condition="'$(TargetName)' == '' and '$(OutputType)' == 'winmdobj' and '$(RootNamespace)' != ''">$(RootNamespace)</TargetName>
4711 <TargetName Condition=" '$(TargetName)' == '' ">$(AssemblyName)</TargetName>
4712 <!-- Example, MyAssembly -->
4713 <ProjectFileName Condition=" '$(ProjectFileName)' == '' ">$(MSBuildProjectFile)</ProjectFileName>
4714 <!-- Example, MyProject.csproj -->
4715 <ProjectExt Condition=" '$(ProjectExt)' == '' ">$(MSBuildProjectExtension)</ProjectExt>
4716 <!-- Example, .csproj -->
4717 <WinMDExpOutputWindowsMetadataFilename Condition="'$(WinMDExpOutputWindowsMetadataFilename)' == '' and '$(OutputType)' == 'winmdobj'">$(TargetName).winmd</WinMDExpOutputWindowsMetadataFilename>
4718 <TargetFileName Condition=" '$(TargetFileName)' == '' and '$(OutputType)' == 'winmdobj'">$(WinMDExpOutputWindowsMetadataFilename)</TargetFileName>
4719 <TargetFileName Condition=" '$(TargetFileName)' == '' ">$(TargetName)$(TargetExt)</TargetFileName>
4720 <!-- Example, MyAssembly.dll -->
4721 </PropertyGroup>
4722 <PropertyGroup>
4723 <!--
4724 The PublishableProject property is used when invoking the publish target on a solution that
4725 contains multiple projects. The property determines which projects should be published, and
4726 which projects should be skipped in the publish target. By default any "Windows Application"
4727 or "Console Application" project type is publishable. However, a project that would otherwise
4728 be published can be skipped by defining the PublishableProject property in the project itself.
4729 -->
4730 <_DeploymentPublishableProjectDefault Condition="'$(OutputType)'=='winexe' or '$(OutputType)'=='exe' or '$(OutputType)'=='appcontainerexe'">true</_DeploymentPublishableProjectDefault>
4731 <PublishableProject Condition="'$(PublishableProject)'==''">$(_DeploymentPublishableProjectDefault)</PublishableProject>
4732 <_DeploymentTargetApplicationManifestFileName Condition="'$(OutputType)'=='library'">Native.$(AssemblyName).manifest</_DeploymentTargetApplicationManifestFileName>
4733 <!-- Example, Native.MyAssembly.manifest -->
4734 <_DeploymentTargetApplicationManifestFileName Condition="'$(OutputType)'=='winexe'">$(TargetFileName).manifest</_DeploymentTargetApplicationManifestFileName>
4735 <!-- Example, MyAssembly.exe.manifest -->
4736 <_DeploymentTargetApplicationManifestFileName Condition="'$(OutputType)'=='exe'">$(TargetFileName).manifest</_DeploymentTargetApplicationManifestFileName>
4737 <!-- Example, MyAssembly.exe.manifest -->
4738 <_DeploymentTargetApplicationManifestFileName Condition="'$(OutputType)'=='appcontainerexe'">$(TargetFileName).manifest</_DeploymentTargetApplicationManifestFileName>
4739 <!-- Example, MyAssembly.exe.manifest -->
4740 <TargetDeployManifestFileName Condition="'$(TargetDeployManifestFileName)' == '' and '$(HostInBrowser)' != 'true'">$(AssemblyName).application</TargetDeployManifestFileName>
4741 <!-- Example, MyAssembly.application -->
4742 <TargetDeployManifestFileName Condition="'$(TargetDeployManifestFileName)' == '' and '$(HostInBrowser)' == 'true'">$(AssemblyName).xbap</TargetDeployManifestFileName>
4743 <!-- Example, MyAssembly.xbap -->
4744 <GenerateClickOnceManifests Condition="'$(OutputType)'=='winexe' or '$(OutputType)'=='exe' or '$(OutputType)'=='appcontainerexe'">$(GenerateManifests)</GenerateClickOnceManifests>
4745 <_DeploymentApplicationManifestIdentity Condition="'$(OutputType)'=='library'">Native.$(AssemblyName)</_DeploymentApplicationManifestIdentity>
4746 <_DeploymentApplicationManifestIdentity Condition="'$(OutputType)'=='winexe'">$(AssemblyName).exe</_DeploymentApplicationManifestIdentity>
4747 <_DeploymentApplicationManifestIdentity Condition="'$(OutputType)'=='exe'">$(AssemblyName).exe</_DeploymentApplicationManifestIdentity>
4748 <_DeploymentApplicationManifestIdentity Condition="'$(OutputType)'=='appcontainerexe'">$(AssemblyName).exe</_DeploymentApplicationManifestIdentity>
4749 <_DeploymentDeployManifestIdentity Condition="'$(HostInBrowser)' != 'true'">$(AssemblyName).application</_DeploymentDeployManifestIdentity>
4750 <_DeploymentDeployManifestIdentity Condition="'$(HostInBrowser)' == 'true'">$(AssemblyName).xbap</_DeploymentDeployManifestIdentity>
4751 <_DeploymentFileMappingExtension Condition="'$(MapFileExtensions)'=='true'">.deploy</_DeploymentFileMappingExtension>
4752 <_DeploymentFileMappingExtension Condition="'$(MapFileExtensions)'!='true'" />
4753 <_DeploymentBuiltUpdateInterval Condition="'$(UpdatePeriodically)'=='true'">$(UpdateInterval)</_DeploymentBuiltUpdateInterval>
4754 <_DeploymentBuiltUpdateIntervalUnits Condition="'$(UpdatePeriodically)'=='true'">$(UpdateIntervalUnits)</_DeploymentBuiltUpdateIntervalUnits>
4755 <_DeploymentBuiltUpdateInterval Condition="'$(UpdatePeriodically)'!='true'">0</_DeploymentBuiltUpdateInterval>
4756 <_DeploymentBuiltUpdateIntervalUnits Condition="'$(UpdatePeriodically)'!='true'">Days</_DeploymentBuiltUpdateIntervalUnits>
4757 <_DeploymentBuiltMinimumRequiredVersion Condition="'$(UpdateRequired)'=='true' and '$(Install)'=='true'">$(MinimumRequiredVersion)</_DeploymentBuiltMinimumRequiredVersion>
4758 <_DeploymentLauncherBased Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">true</_DeploymentLauncherBased>
4759 <MaxTargetPath Condition="'$(MaxTargetPath)'==''">100</MaxTargetPath>
4760 </PropertyGroup>
4761 <PropertyGroup>
4762 <!--
4763 By default, GenerateApplicationManifest puts all satellite assemblies to the manifest
4764 record by default by setting TargetCulture to *.
4765 -->
4766 <TargetCulture Condition="'$(TargetCulture)'==''">*</TargetCulture>
4767 <FallbackCulture Condition="'$(UICulture)'!='' and '$(FallbackCulture)'==''">$(UICulture)</FallbackCulture>
4768 </PropertyGroup>
4769 <ItemGroup>
4770 <!-- Not used any more-->
4771 <_OutputPathItem Include="$(OutDir)" />
4772 <_UnmanagedRegistrationCache Include="$(BaseIntermediateOutputPath)$(MSBuildProjectFile).UnmanagedRegistration.cache" />
4773 <_ResolveComReferenceCache Include="$(IntermediateOutputPath)$(MSBuildProjectFile).ResolveComReference.cache" />
4774 </ItemGroup>
4775 <PropertyGroup>
4776 <!-- Example, C:\MyProjects\MyProject\bin\Debug\ -->
4777 <!--
4778 Condition intentionally omitted on this one, because it causes problems
4779 when we pick up the value of an environment variable named TargetDir
4780 -->
4781 <TargetDir Condition="'$(OutDir)' != ''">$([MSBuild]::Escape($([System.IO.Path]::GetFullPath(`$([System.IO.Path]::Combine(`$(MSBuildProjectDirectory)`, `$(OutDir)`))`))))</TargetDir>
4782 <!-- Example, C:\MyProjects\MyProject\bin\Debug\MyAssembly.dll -->
4783 <TargetPath Condition=" '$(TargetPath)' == '' ">$(TargetDir)$(TargetFileName)</TargetPath>
4784 <TargetRefPath Condition=" '$(TargetRefPath)' == '' and '$(ProduceReferenceAssembly)' == 'true' and '$(ProduceReferenceAssemblyInOutDir)' == 'true' ">$([MSBuild]::NormalizePath($(TargetDir), 'ref', $(TargetFileName)))</TargetRefPath>
4785 <TargetRefPath Condition=" '$(TargetRefPath)' == '' and '$(ProduceReferenceAssembly)' == 'true' ">$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(IntermediateOutputPath), 'ref', $(TargetFileName)))</TargetRefPath>
4786 <!-- Example, C:\MyProjects\MyProject\ -->
4787 <ProjectDir Condition=" '$(ProjectDir)' == '' ">$([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))</ProjectDir>
4788 <!-- Example, C:\MyProjects\MyProject\MyProject.csproj -->
4789 <ProjectPath Condition=" '$(ProjectPath)' == '' ">$(ProjectDir)$(ProjectFileName)</ProjectPath>
4790 </PropertyGroup>
4791 <ItemGroup>
4792 <!-- This is not used here but remains for backwards compatibility -->
4793 <AppConfigFileDestination Include="$(OutDir)$(TargetFileName).config" />
4794 </ItemGroup>
4795 <!--
4796 IDE Macros available only from integrated builds.
4797 The following properties are 'macros' that are available via IDE for
4798 pre and post build steps. However, they are not defined when directly building
4799 a project from the command line, only when building a solution.
4800 -->
4801 <PropertyGroup>
4802 <DevEnvDir Condition="'$(DevEnvDir)'==''">*Undefined*</DevEnvDir>
4803 <SolutionName Condition="'$(SolutionName)'==''">*Undefined*</SolutionName>
4804 <!-- Example, MySolution -->
4805 <SolutionFileName Condition="'$(SolutionFileName)'==''">*Undefined*</SolutionFileName>
4806 <!-- Example, MySolution.sln -->
4807 <SolutionPath Condition="'$(SolutionPath)'==''">*Undefined*</SolutionPath>
4808 <!-- Example, f:\MySolutions\MySolution\MySolution.sln -->
4809 <SolutionDir Condition="'$(SolutionDir)'==''">*Undefined*</SolutionDir>
4810 <!-- Example, f:\MySolutions\MySolution\ -->
4811 <SolutionExt Condition="'$(SolutionExt)'==''">*Undefined*</SolutionExt>
4812 <!-- Example, .sln -->
4813 </PropertyGroup>
4814 <PropertyGroup>
4815 <GenerateBindingRedirectsOutputType Condition="'$(OutputType)'=='exe' or '$(OutputType)'=='winexe'">true</GenerateBindingRedirectsOutputType>
4816 <!-- It would be a breaking change to automatically turn on binding redirects for existing projects, so turn them on only when opting into a new framework. -->
4817 <AutoGenerateBindingRedirects Condition="'$(AutoGenerateBindingRedirects)' == '' and '$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(TargetFrameworkVersion.TrimStart(vV))' &gt;= '4.7.2'">true</AutoGenerateBindingRedirects>
4818 </PropertyGroup>
4819 <PropertyGroup Condition="'$(AutoUnifyAssemblyReferences)' == ''">
4820 <AutoUnifyAssemblyReferences>true</AutoUnifyAssemblyReferences>
4821 <AutoUnifyAssemblyReferences Condition="'$(GenerateBindingRedirectsOutputType)' == 'true' and '$(AutoGenerateBindingRedirects)' != 'true'">false</AutoUnifyAssemblyReferences>
4822 </PropertyGroup>
4823 <PropertyGroup>
4824 <CleanFile Condition="'$(CleanFile)'==''">$(MSBuildProjectFile).FileListAbsolute.txt</CleanFile>
4825 <!-- During DesignTime Builds, skip project reference build as Design time is only queueing information.-->
4826 <BuildProjectReferences Condition="'$(BuildProjectReferences)' == '' and '$(DesignTimeBuild)' == 'true'">false</BuildProjectReferences>
4827 <!-- By default we will build (and if applicable, clean) all project references. But this can be used to disable that-->
4828 <BuildProjectReferences Condition="'$(BuildProjectReferences)' == ''">true</BuildProjectReferences>
4829 <BuildInParallel Condition="'$(BuildInParallel)' == ''">true</BuildInParallel>
4830 <_ResolveReferenceDependencies Condition="'$(_ResolveReferenceDependencies)' == ''">false</_ResolveReferenceDependencies>
4831 <_GetChildProjectCopyToOutputDirectoryItems Condition="'$(_GetChildProjectCopyToOutputDirectoryItems)' == ''">true</_GetChildProjectCopyToOutputDirectoryItems>
4832 <OverwriteReadOnlyFiles Condition="'$(OverwriteReadOnlyFiles)' == ''">false</OverwriteReadOnlyFiles>
4833 <ComReferenceNoClassMembers Condition="'$(ComReferenceNoClassMembers)' == ''">false</ComReferenceNoClassMembers>
4834 </PropertyGroup>
4835 <PropertyGroup>
4836 <_GenerateBindingRedirectsIntermediateAppConfig>$(IntermediateOutputPath)$(TargetFileName).config</_GenerateBindingRedirectsIntermediateAppConfig>
4837 </PropertyGroup>
4838 <PropertyGroup Condition="'$(MSBuildCopyMarkerName)' == ''">
4839 <MSBuildCopyMarkerName>$(MSBuildProjectFile)</MSBuildCopyMarkerName>
4840 <!-- For a long MSBuildProjectFile let's shorten this to 17 chars - using the first 8 codepoints of the filename and a filename hash. -->
4841 <MSBuildCopyMarkerName Condition="'$(MSBuildCopyMarkerName.Length)' &gt; '17'">$([MSBuild]::SubstringByAsciiChars($(MSBuildProjectFile), 0, 8)).$([MSBuild]::StableStringHash($(MSBuildProjectFile)).ToString("X8"))</MSBuildCopyMarkerName>
4842 <MSBuildCopyMarkerName>$(MSBuildCopyMarkerName).Up2Date</MSBuildCopyMarkerName>
4843 </PropertyGroup>
4844 <ItemGroup>
4845 <IntermediateAssembly Include="$(IntermediateOutputPath)$(TargetName)$(TargetExt)" />
4846 <FinalDocFile Include="@(DocFileItem->'$(OutDir)%(Filename)%(Extension)')" />
4847 <CopyUpToDateMarker Include="$([MSBuild]::NormalizePath('$(MSBuildProjectDirectory)', '$(IntermediateOutputPath)', '$(MSBuildCopyMarkerName)'))" />
4848 </ItemGroup>
4849 <ItemGroup Condition="'$(ProduceReferenceAssembly)' == 'true'">
4850 <IntermediateRefAssembly Include="$(IntermediateOutputPath)refint\$(TargetName)$(TargetExt)" Condition="'@(IntermediateRefAssembly)' == ''" />
4851 <CreateDirectory Include="@(IntermediateRefAssembly->'%(RootDir)%(Directory)')" />
4852 <CreateDirectory Include="$(OutDir)ref" Condition=" '$(ProduceReferenceAssemblyInOutDir)' == 'true'" />
4853 <CreateDirectory Include="$(IntermediateOutputPath)ref" Condition=" '$(ProduceReferenceAssemblyInOutDir)' != 'true'" />
4854 </ItemGroup>
4855 <ItemGroup Condition="'$(_DebugSymbolsProduced)' == 'true'">
4856 <_DebugSymbolsIntermediatePath Include="$(IntermediateOutputPath)$(TargetName).compile.pdb" Condition="'$(OutputType)' == 'winmdobj' and '@(_DebugSymbolsIntermediatePath)' == ''" />
4857 <_DebugSymbolsIntermediatePath Include="$(IntermediateOutputPath)$(TargetName).pdb" Condition="'$(OutputType)' != 'winmdobj' and '@(_DebugSymbolsIntermediatePath)' == ''" />
4858 <_DebugSymbolsOutputPath Include="@(_DebugSymbolsIntermediatePath->'$(OutDir)%(Filename)%(Extension)')" />
4859 </ItemGroup>
4860 <PropertyGroup Condition="'$(_DebugSymbolsProduced)' == 'true' and '$(OutputType)' == 'winmdobj'">
4861 <WinMDExpOutputPdb Condition="'$(WinMDExpOutputPdb)' == ''">$(IntermediateOutputPath)$(TargetName).pdb</WinMDExpOutputPdb>
4862 <_WinMDDebugSymbolsOutputPath>$([System.IO.Path]::Combine('$(OutDir)', $([System.IO.Path]::GetFileName('$(WinMDExpOutputPdb)'))))</_WinMDDebugSymbolsOutputPath>
4863 </PropertyGroup>
4864 <PropertyGroup Condition="'$(OutputType)' == 'winmdobj' and '$(DocumentationFile)'!=''">
4865 <WinMDOutputDocumentationFile Condition="'$(WinMDOutputDocumentationFile)' == ''">$(IntermediateOutputPath)$(TargetName).xml</WinMDOutputDocumentationFile>
4866 <_WinMDDocFileOutputPath>$([System.IO.Path]::Combine('$(OutDir)', $([System.IO.Path]::GetFileName('$(WinMDOutputDocumentationFile)'))))</_WinMDDocFileOutputPath>
4867 </PropertyGroup>
4868 <PropertyGroup Condition="'$(WinMDExpOutputWindowsMetadataFilename)' != ''">
4869 <_IntermediateWindowsMetadataPath>$(IntermediateOutputPath)$(WinMDExpOutputWindowsMetadataFilename)</_IntermediateWindowsMetadataPath>
4870 <_WindowsMetadataOutputPath>$(OutDir)$(WinMDExpOutputWindowsMetadataFilename)</_WindowsMetadataOutputPath>
4871 </PropertyGroup>
4872 <!-- ARM64-related properties -->
4873 <PropertyGroup>
4874 <_SupportedArchitectures>amd64 arm64</_SupportedArchitectures>
4875 </PropertyGroup>
4876 <ItemGroup>
4877 <!-- Create an item for entry point of the ClickOnce application (Example: WindowsApplication1.exe) -->
4878 <_DeploymentManifestEntryPoint Include="@(IntermediateAssembly)">
4879 <TargetPath>$(TargetFileName)</TargetPath>
4880 </_DeploymentManifestEntryPoint>
4881 <!-- Create an item for the application icon if one exists in the project (Example: app.ico) -->
4882 <!-- NOTE: The item Include and the Exists function are operating relative to the PROJECT (.csproj, .vbproj etc.) directory in this case -->
4883 <_DeploymentManifestIconFile Include="$(ApplicationIcon)" Condition="Exists('$(ApplicationIcon)')">
4884 <TargetPath>$(ApplicationIcon)</TargetPath>
4885 </_DeploymentManifestIconFile>
4886 <!-- Create an item for the output application manifest (Example: WindowsApplication1.exe.manifeset) -->
4887 <ApplicationManifest Include="$(IntermediateOutputPath)$(_DeploymentTargetApplicationManifestFileName)">
4888 <TargetPath>$(_DeploymentTargetApplicationManifestFileName)</TargetPath>
4889 </ApplicationManifest>
4890 <!-- Create an item for the final application manifest (Example: WindowsApplication1.exe.manifeset)
4891 This item represents the final output application manifest used for project-to-project
4892 references and for copying to the publish output location. -->
4893 <_ApplicationManifestFinal Include="$(OutDir)$(_DeploymentTargetApplicationManifestFileName)">
4894 <TargetPath>$(_DeploymentTargetApplicationManifestFileName)</TargetPath>
4895 </_ApplicationManifestFinal>
4896 <!-- Create an item for the output deploy manifest (Example: WindowsApplication1.application) -->
4897 <DeployManifest Include="$(IntermediateOutputPath)$(TargetDeployManifestFileName)">
4898 <TargetPath>$(TargetDeployManifestFileName)</TargetPath>
4899 </DeployManifest>
4900 <!-- Create an item for the intermediate trust info file -->
4901 <_DeploymentIntermediateTrustInfoFile Include="$(IntermediateOutputPath)$(TargetName).TrustInfo.xml" Condition="'$(TargetZone)'!=''" />
4902 </ItemGroup>
4903 <!--
4904 Determine the <deploymentProvider> (_DeploymentUrl) for the ClickOnce deployment manifest.
4905 Prefer the UpdateUrl, falling back to InstallUrl or PublishUrl if not specified.
4906 If the UpdateUrl is specified then _DeploymentUrl is always set to the UpdateUrl.
4907 Otherwise, only set the _DeploymentUrl if it's an installed app and updates are enabled.
4908 -->
4909 <PropertyGroup>
4910 <_DeploymentUrl Condition="'$(_DeploymentUrl)'==''">$(UpdateUrl)</_DeploymentUrl>
4911 <_DeploymentUrl Condition="'$(_DeploymentUrl)'==''">$(InstallUrl)</_DeploymentUrl>
4912 <_DeploymentUrl Condition="'$(_DeploymentUrl)'==''">$(PublishUrl)</_DeploymentUrl>
4913 <_DeploymentUrl Condition="!('$(UpdateUrl)'=='') and '$(Install)'=='false'" />
4914 <_DeploymentUrl Condition="'$(_DeploymentUrl)'!=''">$(_DeploymentUrl)$(TargetDeployManifestFileName)</_DeploymentUrl>
4915 <!--
4916 Need to explicitly blank out the _DeploymentUrl when it's not used. Otherwise an
4917 inappropriate value may be used. For example a local path from the PublishUrl
4918 is something we never want to see in the manifest because it means you could
4919 only install the app from that machine.
4920 -->
4921 <_DeploymentUrl Condition="'$(UpdateUrl)'=='' and !('$(Install)'=='true' and '$(UpdateEnabled)'=='true')" />
4922 <_DeploymentUrl Condition="'$(ExcludeDeploymentUrl)'=='true'" />
4923 </PropertyGroup>
4924 <!-- Determine the URLs for the bootstrapper. -->
4925 <PropertyGroup>
4926 <_DeploymentApplicationUrl Condition="'$(IsWebBootstrapper)'=='true'">$(InstallUrl)</_DeploymentApplicationUrl>
4927 <_DeploymentApplicationUrl Condition="'$(IsWebBootstrapper)'=='true' and '$(InstallUrl)'==''">$(PublishUrl)</_DeploymentApplicationUrl>
4928 <_DeploymentComponentsUrl Condition="'$(BootstrapperComponentsLocation)'=='Absolute'">$(BootstrapperComponentsUrl)</_DeploymentComponentsUrl>
4929 </PropertyGroup>
4930 <!-- Output location for publish target. -->
4931 <PropertyGroup>
4932 <PublishDir Condition="'$(PublishDir)' != '' and !HasTrailingSlash('$(PublishDir)')">$(PublishDir)\</PublishDir>
4933 <PublishDir Condition="'$(PublishDir)'==''">$([MSBuild]::EnsureTrailingSlash('$(OutputPath)'))app.publish\</PublishDir>
4934 </PropertyGroup>
4935 <!--
4936 ClickOncePublishDir property is the output location used by all ClickOnce publish targets. This should be same as PublishDir except
4937 for a trailing slash. PublishDir when specified as a global property on the command line cannot be changed to add a trailing slash.
4938 -->
4939 <PropertyGroup>
4940 <ClickOncePublishDir>$(PublishDir)</ClickOncePublishDir>
4941 <ClickOncePublishDir Condition="!HasTrailingSlash('$(ClickOncePublishDir)')">$(ClickOncePublishDir)\</ClickOncePublishDir>
4942 </PropertyGroup>
4943 <!--
4944 ProcessorArchitecture is the target processor architecture.
4945 -->
4946 <PropertyGroup Condition="'$(ProcessorArchitecture)'==''">
4947 <!--
4948 If ProcessorArchitecture is not set, set it to PlatformTarget
4949 Note: if $(PlatformTarget) is also blank resolve assembly reference defaults to msil which is the
4950 desired behavior in this case
4951 -->
4952 <ProcessorArchitecture>$(PlatformTarget)</ProcessorArchitecture>
4953 <!--
4954 If Processor architecture is not set and PlatformTarget is a known target translate the
4955 PlatformTarget into something ResolveAssemblyReference knows about
4956 -->
4957 <ProcessorArchitecture Condition=" '$(PlatformTarget)' == 'AnyCpu' ">msil</ProcessorArchitecture>
4958 <ProcessorArchitecture Condition=" '$(PlatformTarget)' == 'x64' ">amd64</ProcessorArchitecture>
4959 <ProcessorArchitecture Condition=" '$(PlatformTarget)' == 'Itanium' ">ia64</ProcessorArchitecture>
4960 <ProcessorArchitecture Condition=" '$(PlatformTarget)' == 'x86' ">x86</ProcessorArchitecture>
4961 <ProcessorArchitecture Condition=" '$(PlatformTarget)' == 'ARM' ">arm</ProcessorArchitecture>
4962 </PropertyGroup>
4963 <PropertyGroup>
4964 <ConsiderPlatformAsProcessorArchitecture Condition="'$(ConsiderPlatformAsProcessorArchitecture)' == ''">true</ConsiderPlatformAsProcessorArchitecture>
4965 </PropertyGroup>
4966 <PropertyGroup Condition="'$(ProcessorArchitecture)' == '' and '$(ConsiderPlatformAsProcessorArchitecture)' == 'true'">
4967 <!-- We need to do this here because if we were to just compare against platform visual would parse them out as available platforms which may not be the case -->
4968 <ProcessorArchitectureAsPlatform>$(Platform)</ProcessorArchitectureAsPlatform>
4969 <ProcessorArchitecture Condition=" '$(ProcessorArchitectureAsPlatform)' == 'AnyCpu' or '$(ProcessorArchitectureAsPlatform)' == 'Any Cpu'">msil</ProcessorArchitecture>
4970 <ProcessorArchitecture Condition=" '$(ProcessorArchitectureAsPlatform)' == 'x64' or '$(ProcessorArchitectureAsPlatform)' == 'amd64'">amd64</ProcessorArchitecture>
4971 <ProcessorArchitecture Condition=" '$(ProcessorArchitectureAsPlatform)' == 'Itanium' ">ia64</ProcessorArchitecture>
4972 <ProcessorArchitecture Condition=" '$(ProcessorArchitectureAsPlatform)' == 'x86' or '$(ProcessorArchitectureAsPlatform)' == 'win32'">x86</ProcessorArchitecture>
4973 <ProcessorArchitecture Condition=" '$(ProcessorArchitectureAsPlatform)' == 'ARM' ">arm</ProcessorArchitecture>
4974 <!--For compatibility with the 4.0 behavior, if not set above, default to the environment. To override this, set ProcessorArchitecture explicitly. We also need to disable the warning since we do not know if what the environment is set to is correct-->
4975 <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch Condition="'$(ProcessorArchitecture)'==''">None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
4976 <ProcessorArchitecture Condition="'$(ProcessorArchitecture)'==''">$(PROCESSOR_ARCHITECTURE)</ProcessorArchitecture>
4977 </PropertyGroup>
4978 <!-- Sensible defaults for the most-commonly-desired MSBuildRuntime and MSBuildArchitecture values. The Core runtime does not currently support specifying task architecture or runtime.
4979 If support for out-of-proc task execution is added on other runtimes, make sure each task's logic is checked against the current state of support. -->
4980 <PropertyGroup Condition="'$(DisableOutOfProcTaskHost)' == '' and '$(MSBuildRuntimeType)' == 'Full'">
4981 <TargetFrameworkAsMSBuildRuntime Condition="'$(TargetFrameworkVersion)' == 'v2.0' or '$(TargetFrameworkVersion)' == 'v3.0' or '$(TargetFrameworkVersion)' == 'v3.5'">CLR2</TargetFrameworkAsMSBuildRuntime>
4982 <TargetFrameworkAsMSBuildRuntime Condition="'$(TargetFrameworkVersion)' == 'v4.0' or '$(TargetFrameworkVersion)' == 'v4.5'">CLR4</TargetFrameworkAsMSBuildRuntime>
4983 <TargetFrameworkAsMSBuildRuntime Condition="'$(TargetFrameworkAsMSBuildRuntime)' == ''">CurrentRuntime</TargetFrameworkAsMSBuildRuntime>
4984 <PlatformTargetAsMSBuildArchitectureExplicitlySet Condition="'$(PlatformTargetAsMSBuildArchitecture)' != ''">true</PlatformTargetAsMSBuildArchitectureExplicitlySet>
4985 <PlatformTargetAsMSBuildArchitectureExplicitlySet Condition="'$(PlatformTargetAsMSBuildArchitecture)' == ''">false</PlatformTargetAsMSBuildArchitectureExplicitlySet>
4986 <PlatformTargetAsMSBuildArchitecture Condition="'$(PlatformTarget)' == 'x86' or ('$(PlatformTarget)' == 'x64' and '$(MSBuildExtensionsPath64)' != '')">$(PlatformTarget)</PlatformTargetAsMSBuildArchitecture>
4987 <PlatformTargetAsMSBuildArchitecture Condition="'$(PlatformTarget)' == 'arm'">x86</PlatformTargetAsMSBuildArchitecture>
4988 <PlatformTargetAsMSBuildArchitecture Condition="('$(PlatformTarget)' == 'ia64' and '$(MSBuildExtensionsPath64)' != '')">x64</PlatformTargetAsMSBuildArchitecture>
4989 <PlatformTargetAsMSBuildArchitecture Condition="'$(PlatformTargetAsMSBuildArchitecture)' == ''">CurrentArchitecture</PlatformTargetAsMSBuildArchitecture>
4990 </PropertyGroup>
4991 <!-- Flavor is the project flavor. For example, Client, Smart Devices, SQL Server, etc. -->
4992 <PropertyGroup>
4993 <ProjectFlavor Condition="'$(ProjectFlavor)'==''">Client</ProjectFlavor>
4994 </PropertyGroup>
4995 <!--
4996 The default for compilers is to not delay-sign. If $(DelaySign) is false, let the compiler
4997 use its default rather than forcing a no-delay-sign flag to be passed in. This is so that
4998 attributes in the source code can override this decision.
4999 -->
5000 <PropertyGroup>
5001 <DelaySign Condition="'$(SignAssembly)' != 'true'">false</DelaySign>
5002 <DelaySign Condition="'$(DelaySign)'!='true'" />
5003 </PropertyGroup>
5004 <!-- These properties control web reference proxy generation. -->
5005 <PropertyGroup>
5006 <WebReference_EnableProperties Condition=" '$(WebReference_EnableProperties)' == '' ">true</WebReference_EnableProperties>
5007 <WebReference_EnableSQLTypes Condition=" '$(WebReference_EnableSQLTypes)' == '' ">true</WebReference_EnableSQLTypes>
5008 <WebReference_EnableLegacyEventingModel Condition=" '$(WebReference_EnableLegacyEventingModel)' == '' ">false</WebReference_EnableLegacyEventingModel>
5009 </PropertyGroup>
5010 <!--
5011 These parameters control where to look in the registry for directories to search for
5012 assemblies in the assembly resolution tasks.
5013 -->
5014 <PropertyGroup>
5015 <AssemblyFoldersSuffix Condition=" '$(AssemblyFoldersSuffix)' == '' ">AssemblyFoldersEx</AssemblyFoldersSuffix>
5016 <FrameworkRegistryBase Condition=" '$(FrameworkRegistryBase)' == '' ">Software\Microsoft\$(TargetFrameworkIdentifier)</FrameworkRegistryBase>
5017 <TargetPlatformRegistryBase Condition="'$(TargetPlatformRegistryBase)' == ''">Software\Microsoft\Microsoft SDKs\$(TargetPlatformIdentifier)</TargetPlatformRegistryBase>
5018 <AssemblyFoldersConfigFile Condition="'$(AssemblyFoldersConfigFile)' == ''">$([MSBuild]::GetToolsDirectory32())\AssemblyFolders.config</AssemblyFoldersConfigFile>
5019 <AssemblyFoldersConfigFileSearchPath Condition="Exists('$(AssemblyFoldersConfigFile)')">{AssemblyFoldersFromConfig:$(AssemblyFoldersConfigFile),$(TargetFrameworkVersion)};</AssemblyFoldersConfigFileSearchPath>
5020 <!--
5021 These are the extensions that assembly reference resolution will consider for resolution.
5022 Add new extensions here if you want to add new file types to consider (for example, .metadata_dll).
5023 Put the most likely extensions first for reference resolution speed.
5024 -->
5025 <AllowedReferenceAssemblyFileExtensions Condition=" '$(AllowedReferenceAssemblyFileExtensions)' == '' ">
5026 .winmd;
5027 .dll;
5028 .exe
5029 </AllowedReferenceAssemblyFileExtensions>
5030 <!--
5031 These are the extensions that reference resolution will consider when looking for files related
5032 to resolved references. Add new extensions here if you want to add new file types to consider.
5033 -->
5034 <AllowedReferenceRelatedFileExtensions Condition=" '$(AllowedReferenceRelatedFileExtensions)' == '' ">
5035 .pdb;
5036 .xml;
5037 .pri;
5038 .dll.config;
5039 .exe.config
5040 </AllowedReferenceRelatedFileExtensions>
5041 <!--
5042 These names are used when determining which TargetFramework subset to use. If the any of the FullReferenceAssemblyNames
5043 are seen in the list of client subsets, RAR will assume that no client subset is being used. The list is semicolon seperated
5044 For example : Full;Complete;AllThere
5045 -->
5046 <FullReferenceAssemblyNames Condition="'$(FullReferenceAssemblyNames)' == ''">Full</FullReferenceAssemblyNames>
5047 </PropertyGroup>
5048 <PropertyGroup Condition="$(AssemblySearchPaths) == ''">
5049 <!--
5050 The SearchPaths property is set to find assemblies in the following order:
5051
5052 (1) Files from current project - indicated by {CandidateAssemblyFiles}
5053 (2) $(ReferencePath) - the reference path property, which comes from the .USER file.
5054 (3) The hintpath from the referenced item itself, indicated by {HintPathFromItem}.
5055 (4) The directory of MSBuild's "target" runtime from GetFrameworkPath.
5056 The "target" runtime folder is the folder of the runtime that MSBuild is a part of.
5057 (5) Assembly folders from AssemblyFolders.config file (provided by Visual Studio Dev15+).
5058 (6) Registered assembly folders, indicated by {Registry:*,*,*}
5059 (7) Legacy registered assembly folders, indicated by {AssemblyFolders}
5060 (8) Resolve to the GAC.
5061 (9) Treat the reference's Include as if it were a real file name.
5062 (10) Look in the application's output folder (like bin\debug)
5063 -->
5064 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseCandidateAssemblyFiles)' != 'false'">{CandidateAssemblyFiles}</AssemblySearchPaths>
5065 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseReferencePath)' != 'false'">$(AssemblySearchPaths);$(ReferencePath)</AssemblySearchPaths>
5066 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseHintPathFromItem)' != 'false'">$(AssemblySearchPaths);{HintPathFromItem}</AssemblySearchPaths>
5067 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseTargetFrameworkDirectory)' != 'false'">$(AssemblySearchPaths);{TargetFrameworkDirectory}</AssemblySearchPaths>
5068 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseAssemblyFoldersConfigFileSearchPath)' != 'false'">$(AssemblySearchPaths);$(AssemblyFoldersConfigFileSearchPath)</AssemblySearchPaths>
5069 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseRegistry)' != 'false'">$(AssemblySearchPaths);{Registry:$(FrameworkRegistryBase),$(TargetFrameworkVersion),$(AssemblyFoldersSuffix)$(AssemblyFoldersExConditions)}</AssemblySearchPaths>
5070 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseAssemblyFolders)' != 'false'">$(AssemblySearchPaths);{AssemblyFolders}</AssemblySearchPaths>
5071 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseGAC)' != 'false'">$(AssemblySearchPaths);{GAC}</AssemblySearchPaths>
5072 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseRawFileName)' != 'false'">$(AssemblySearchPaths);{RawFileName}</AssemblySearchPaths>
5073 <AssemblySearchPaths Condition="'$(AssemblySearchPath_UseOutDir)' != 'false'">$(AssemblySearchPaths);$(OutDir)</AssemblySearchPaths>
5074 </PropertyGroup>
5075 <!-- ContinueOnError takes 3 values: WarnAndContinue (true), ErrorAndStop (false), and ErrorAndContinue.
5076 Default to ErrorAndStop, since that matches the behaviour in previous versions, and what users
5077 typically expect -->
5078 <PropertyGroup>
5079 <ContinueOnError Condition="'$(ContinueOnError)' == ''">false</ContinueOnError>
5080 </PropertyGroup>
5081 <!-- Users familiar with how some other repos work try to use NoWarn with MSBuild in place of MSBuildWarningsAsMessages. -->
5082 <PropertyGroup>
5083 <MSBuildWarningsAsMessages Condition="'$(MSBuildWarningsAsMessages)'==''">$(NoWarn)</MSBuildWarningsAsMessages>
5084 <MSBuildWarningsAsErrors Condition="'$(MSBuildWarningsAsErrors)'==''">$(WarningsAsErrors)</MSBuildWarningsAsErrors>
5085 <MSBuildWarningsNotAsErrors Condition="'$(MSBuildWarningsNotAsErrors)'==''">$(WarningsNotAsErrors)</MSBuildWarningsNotAsErrors>
5086 </PropertyGroup>
5087 <!-- Common Project System support -->
5088 <PropertyGroup>
5089 <CommonXamlResourcesDirectory Condition=" '$(CommonXamlResourcesDirectory)' == '' ">$(MSBuildThisFileDirectory)$(LangName)\</CommonXamlResourcesDirectory>
5090 </PropertyGroup>
5091 <!-- We need to fallback to en-US in case the xaml rules are not localized (possibly happen on community languages). -->
5092 <PropertyGroup Condition="!Exists('$(CommonXamlResourcesDirectory)')">
5093 <CommonXamlResourcesDirectory>$(MSBuildThisFileDirectory)en-US\</CommonXamlResourcesDirectory>
5094 </PropertyGroup>
5095 <ItemGroup Condition=" '$(DefineCommonItemSchemas)' == 'true' ">
5096 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)ProjectItemsSchema.xaml" />
5097 <PropertyPageSchema Include="&#xD;&#xA; $(CommonXamlResourcesDirectory)General.xaml;&#xD;&#xA; $(CommonXamlResourcesDirectory)Debugger_General.xaml">
5098 <Context>Project</Context>
5099 </PropertyPageSchema>
5100 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)General.BrowseObject.xaml">
5101 <Context>BrowseObject</Context>
5102 </PropertyPageSchema>
5103 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)General_File.xaml">
5104 <Context>File</Context>
5105 </PropertyPageSchema>
5106 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)SCC.xaml">
5107 <Context>Invisible</Context>
5108 </PropertyPageSchema>
5109 <PropertyPageSchema Include="&#xD;&#xA; $(CommonXamlResourcesDirectory)Folder.xaml;&#xD;&#xA; $(CommonXamlResourcesDirectory)None.xaml;&#xD;&#xA; $(CommonXamlResourcesDirectory)Content.xaml;&#xD;&#xA; $(CommonXamlResourcesDirectory)EmbeddedResource.xaml;&#xD;&#xA; ">
5110 <Context>File;BrowseObject</Context>
5111 </PropertyPageSchema>
5112 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)SpecialFolder.xaml;">
5113 <Context>File;ProjectSubscriptionService</Context>
5114 </PropertyPageSchema>
5115 </ItemGroup>
5116 <PropertyGroup>
5117 <DefineCommonReferenceSchemas Condition=" '$(DefineCommonReferenceSchemas)' == '' ">$(DefineCommonItemSchemas)</DefineCommonReferenceSchemas>
5118 </PropertyGroup>
5119 <ItemGroup Condition=" '$(DefineCommonReferenceSchemas)' == 'true' ">
5120 <!-- Assembly references -->
5121 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)assemblyreference.xaml">
5122 <Context>;BrowseObject</Context>
5123 </PropertyPageSchema>
5124 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)ResolvedAssemblyReference.xaml">
5125 <Context>ProjectSubscriptionService;BrowseObject</Context>
5126 </PropertyPageSchema>
5127 <!-- COM references -->
5128 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)COMReference.xaml">
5129 <Context>;BrowseObject</Context>
5130 </PropertyPageSchema>
5131 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)ResolvedCOMReference.xaml">
5132 <Context>ProjectSubscriptionService;BrowseObject</Context>
5133 </PropertyPageSchema>
5134 <!-- Project references -->
5135 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)ProjectReference.xaml">
5136 <Context>;BrowseObject</Context>
5137 </PropertyPageSchema>
5138 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)ResolvedProjectReference.xaml">
5139 <Context>ProjectSubscriptionService;BrowseObject</Context>
5140 </PropertyPageSchema>
5141 </ItemGroup>
5142 <ItemGroup Condition=" '$(DefineCommonCapabilities)' == 'true' ">
5143 <ProjectCapability Include="&#xD;&#xA; AssemblyReferences;&#xD;&#xA; COMReferences;&#xD;&#xA; ProjectReferences;&#xD;&#xA; SharedProjectReferences;&#xD;&#xA; OutputGroups;&#xD;&#xA; AllTargetOutputGroups;&#xD;&#xA; VisualStudioWellKnownOutputGroups;&#xD;&#xA; SingleFileGenerators;&#xD;&#xA; DeclaredSourceItems;&#xD;&#xA; UserSourceItems;&#xD;&#xA; " />
5144 <ProjectCapability Condition=" '$(TargetPlatformIdentifier)' == 'Windows' and '$(TargetPlatformVersion)' &lt; 8.0 " Include="BuildWindowsDesktopTarget" />
5145 </ItemGroup>
5146 <ItemDefinitionGroup Condition=" '$(DefineExplicitDefaults)' == 'true' ">
5147 <None>
5148 <CopyToOutputDirectory>Never</CopyToOutputDirectory>
5149 </None>
5150 <Content>
5151 <CopyToOutputDirectory>Never</CopyToOutputDirectory>
5152 </Content>
5153 <Compile>
5154 <CopyToOutputDirectory>Never</CopyToOutputDirectory>
5155 </Compile>
5156 <EmbeddedResource>
5157 <CopyToOutputDirectory>Never</CopyToOutputDirectory>
5158 </EmbeddedResource>
5159 </ItemDefinitionGroup>
5160 <!--
5161 Target that allows targets consuming source control confirmation to establish a dependency on targets producing this information.
5162
5163 Any target that reads SourceRevisionId, PrivateRepositoryUrl, SourceRoot, and other source control properties and items
5164 should depend on this target and be conditioned on '$(SourceControlInformationFeatureSupported)' == 'true'.
5165
5166 SourceRevisionId property uniquely identifies the source control revision of the repository the project belongs to.
5167 For Git repositories this id is a commit hash, for TFVC repositories it's the changeset number, etc.
5168
5169 PrivateRepositoryUrl property stores the URL of the repository supplied by the CI server or retrieved from source control manager.
5170 Targets consuming this property shall not publish its value implicitly as it might inadvertently reveal an internal URL.
5171 Instead, they shall only do so if the project sets PublishRepositoryUrl property to true. For example, the NuGet Pack target
5172 may include the repository URL in the nuspec file generated for NuGet package produced by the project if PublishRepositoryUrl is true.
5173
5174 SourceRoot item group lists all source roots that the project source files reside under and their mapping to source control server URLs,
5175 if available. This includes both source files under source control as well as source files in source packages. SourceRoot items are
5176 used by compilers to determine path map in deterministic build and by SourceLink provider, which maps local paths to URLs of source files
5177 stored on the source control server.
5178
5179 Source control information provider that sets these properties and items shall execute before this target (by including
5180 InitializeSourceControlInformation in its BeforeTargets) and set source control properties and items that haven't been initialized yet.
5181 -->
5182 <Target Name="InitializeSourceControlInformation" />
5183 <PropertyGroup>
5184 <SourceControlInformationFeatureSupported>true</SourceControlInformationFeatureSupported>
5185 </PropertyGroup>
5186 <!--
5187 ***********************************************************************************************
5188 ***********************************************************************************************
5189 Build Section
5190 ***********************************************************************************************
5191 ***********************************************************************************************
5192 -->
5193 <Target Name="_AddOutputPathToGlobalPropertiesToRemove">
5194 <PropertyGroup>
5195 <_GlobalPropertiesToRemoveFromProjectReferences Condition="'$(PassOutputPathToReferencedProjects)'=='false'">$(_GlobalPropertiesToRemoveFromProjectReferences);OutputPath</_GlobalPropertiesToRemoveFromProjectReferences>
5196 </PropertyGroup>
5197 </Target>
5198 <!--
5199 ============================================================
5200 _CheckForInvalidConfigurationAndPlatform
5201
5202 This target checks for errors in statically defined properties. By setting BeforeTargets, we try
5203 to ensure that the target runs before any build related targets.
5204 If your target requires this check and is running as a BeforeTargets of one of the first targets
5205 of $(BuildDependsOn), $(RebuildDependsOn), or $(CleanDependsOn) you will need to set your DependsOn
5206 to this target.
5207 ============================================================
5208 -->
5209 <Target Name="_CheckForInvalidConfigurationAndPlatform" BeforeTargets="$(BuildDependsOn);Build;$(RebuildDependsOn);Rebuild;$(CleanDependsOn);Clean">
5210 <PropertyGroup>
5211 <_InvalidConfigurationMessageResourceName Condition=" '$(BuildingInsideVisualStudio)' == 'true' ">CommonSdk.InvalidConfigurationTextWhenBuildingInsideVisualStudio</_InvalidConfigurationMessageResourceName>
5212 <_InvalidConfigurationMessageResourceName Condition=" '$(BuildingInsideVisualStudio)' != 'true' ">CommonSdk.InvalidConfigurationTextWhenBuildingOutsideVisualStudio</_InvalidConfigurationMessageResourceName>
5213 </PropertyGroup>
5214 <MSBuildInternalMessage Condition="'$(_InvalidConfigurationMessageSeverity)' != ''" ResourceName="$(_InvalidConfigurationMessageResourceName)" Severity="$(_InvalidConfigurationMessageSeverity)" FormatArguments="$(MSBuildProjectFile);$(_OriginalConfiguration);$(_OriginalPlatform)" />
5215 <Message Condition="'$(DesignTimeBuild)' != 'true'" Text="Configuration=$(Configuration)" Importance="Low" />
5216 <Message Condition="'$(DesignTimeBuild)' != 'true'" Text="Platform=$(Platform)" Importance="Low" />
5217 <!-- Although we try to ensure a trailing slash, it's possible to circumvent this if the property is set on the command line -->
5218 <MSBuildInternalMessage Condition="'$(OutDir)' != '' and !HasTrailingSlash('$(OutDir)')" ResourceName="CommonSdk.PropertyWithTrailingSlash" Severity="Error" FormatArguments="OutDir" />
5219 <MSBuildInternalMessage Condition="'$(IntermediateOutputPath)' != '' and !HasTrailingSlash('$(IntermediateOutputPath)')" ResourceName="CommonSdk.PropertyWithTrailingSlash" Severity="Error" FormatArguments="IntermediateOutputPath" />
5220 <MSBuildInternalMessage Condition="'$(BaseIntermediateOutputPath)' != '' and !HasTrailingSlash('$(BaseIntermediateOutputPath)')" ResourceName="CommonSdk.PropertyWithTrailingSlash" Severity="Error" FormatArguments="BaseIntermediateOutputPath" />
5221 <!-- Also update the value of PlatformTargetAsMSBuildArchitecture per the value of Prefer32Bit. We are doing
5222 this here because Prefer32Bit may be set anywhere in the targets, so we can't depend on it having the
5223 correct value when we're trying to figure out PlatformTargetAsMSBuildArchitecture -->
5224 <PropertyGroup Condition="'$(Prefer32Bit)' == 'true' and ('$(PlatformTarget)' == 'AnyCPU' or '$(PlatformTarget)' == '') and '$(PlatformTargetAsMSBuildArchitectureExplicitlySet)' != 'true'">
5225 <PlatformTargetAsMSBuildArchitecture>x86</PlatformTargetAsMSBuildArchitecture>
5226 </PropertyGroup>
5227 <MSBuildInternalMessage Condition=" '$(Prefer32Bit)' == 'true' and '$(PreferNativeArm64)' == 'true' " ResourceName="CommonSdk.Prefer32BitAndPreferNativeArm64Enabled" Severity="Error" />
5228 <MSBuildInternalMessage Condition=" '$(NoWin32Manifest)' == 'true' and '$(PreferNativeArm64)' == 'true' " ResourceName="CommonSdk.NoWin32ManifestAndPreferNativeArm64Enabled" Severity="Error" />
5229 <MSBuildInternalMessage Condition=" '$(PreferNativeArm64)' == 'true' and '$(Platform)' != 'AnyCPU' " ResourceName="CommonSdk.PlatformIsAnyCPUAndPreferNativeArm64Enabled" Severity="Warning" FormatArguments="$(Platform)" />
5230 <!--
5231 Log an error MSB3540 if the user set MSBuildProjectExtensionsPath in the body of a project. In an SDK style project
5232 if you set a value in the body, the value is not used by the top implicit import but is used by the bottom.
5233 This can lead to confusing behavior and builds can fail for obscure reasons.
5234 -->
5235 <MSBuildInternalMessage Condition=" '$(_InitialMSBuildProjectExtensionsPath)' != '' And '$(MSBuildProjectExtensionsPath)' != '$(_InitialMSBuildProjectExtensionsPath)' " ResourceName="CommonSdk.MSBuildProjectExtensionsPathModifiedAfterUse" Severity="Error" />
5236 <!--
5237 Log a warning MSB3539 if:
5238 1. $(EnableBaseIntermediateOutputPathMismatchWarning) is 'true'
5239 2. $(BaseIntermediateOutputPath) was set in the body of a project after its default value was set in Microsoft.Common.props
5240 3. $(BaseIntermediateOutputPath) is not the same as $(MSBuildProjectExtensionsPath)
5241
5242 Similar to the error above, there are cases when users set $(BaseIntermediateOutputPath) in the body of their project and things build but only by coincidence.
5243 MSBuild does not know if $(BaseIntermediateOutputPath) changing would cause problems so tools like NuGet must set $(EnableBaseIntermediateOutputPathMismatchWarning)
5244 to 'true'.
5245 -->
5246 <MSBuildInternalMessage Condition=" '$(EnableBaseIntermediateOutputPathMismatchWarning)' == 'true' And '$(_InitialBaseIntermediateOutputPath)' != '$(BaseIntermediateOutputPath)' And '$(BaseIntermediateOutputPath)' != '$(MSBuildProjectExtensionsPath)' " ResourceName="CommonSdk.BaseIntermediateOutputPathMismatchWarning" Severity="Warning" />
5247 </Target>
5248 <!--
5249 ============================================================
5250 Build
5251
5252 The main build entry point.
5253 ============================================================
5254 -->
5255 <PropertyGroup>
5256 <BuildDependsOn>
5257 BeforeBuild;
5258 CoreBuild;
5259 AfterBuild
5260 </BuildDependsOn>
5261 </PropertyGroup>
5262 <Target Name="Build" Condition=" '$(_InvalidConfigurationWarning)' != 'true' " DependsOnTargets="$(BuildDependsOn)" Returns="@(TargetPathWithTargetPlatformMoniker)" />
5263 <!--
5264 ============================================================
5265 BeforeBuild
5266
5267 Redefine this target in your project in order to run tasks just before Build
5268 ============================================================
5269 -->
5270 <Target Name="BeforeBuild" />
5271 <!--
5272 ============================================================
5273 AfterBuild
5274
5275 Redefine this target in your project in order to run tasks just after Build
5276 ============================================================
5277 -->
5278 <Target Name="AfterBuild" />
5279 <!--
5280 ============================================================
5281 CoreBuild
5282
5283 The core build step calls each of the build targets.
5284 ============================================================
5285 -->
5286 <PropertyGroup>
5287 <CoreBuildDependsOn>
5288 BuildOnlySettings;
5289 PrepareForBuild;
5290 PreBuildEvent;
5291 ResolveReferences;
5292 PrepareResources;
5293 ResolveKeySource;
5294 Compile;
5295 ExportWindowsMDFile;
5296 UnmanagedUnregistration;
5297 GenerateSerializationAssemblies;
5298 CreateSatelliteAssemblies;
5299 GenerateManifests;
5300 GetTargetPath;
5301 PrepareForRun;
5302 UnmanagedRegistration;
5303 IncrementalClean;
5304 PostBuildEvent
5305 </CoreBuildDependsOn>
5306 </PropertyGroup>
5307 <Target Name="CoreBuild" DependsOnTargets="$(CoreBuildDependsOn)">
5308 <OnError ExecuteTargets="_TimeStampAfterCompile;PostBuildEvent" Condition="'$(RunPostBuildEvent)'=='Always' or '$(RunPostBuildEvent)'=='OnOutputUpdated'" />
5309 <OnError ExecuteTargets="_CleanRecordFileWrites" />
5310 </Target>
5311 <!--
5312 ============================================================
5313 Rebuild
5314
5315 Delete all intermediate and final build outputs, and then build the project from scratch.
5316 ============================================================
5317 -->
5318 <PropertyGroup>
5319 <_ProjectDefaultTargets Condition="'$(MSBuildProjectDefaultTargets)' != ''">$(MSBuildProjectDefaultTargets)</_ProjectDefaultTargets>
5320 <_ProjectDefaultTargets Condition="'$(MSBuildProjectDefaultTargets)' == ''">Build</_ProjectDefaultTargets>
5321 <RebuildDependsOn>
5322 BeforeRebuild;
5323 Clean;
5324 $(_ProjectDefaultTargets);
5325 AfterRebuild;
5326 </RebuildDependsOn>
5327 <RebuildDependsOn Condition=" '$(MSBuildProjectDefaultTargets)' == 'Rebuild' ">
5328 BeforeRebuild;
5329 Clean;
5330 Build;
5331 AfterRebuild;
5332 </RebuildDependsOn>
5333 </PropertyGroup>
5334 <Target Name="Rebuild" Condition=" '$(_InvalidConfigurationWarning)' != 'true' " DependsOnTargets="$(RebuildDependsOn)" Returns="$(TargetPath)" />
5335 <!--
5336 ============================================================
5337 BeforeRebuild
5338
5339 Redefine this target in your project in order to run tasks just before Rebuild
5340 ============================================================
5341 -->
5342 <Target Name="BeforeRebuild" />
5343 <!--
5344 ============================================================
5345 AfterRebuild
5346
5347 Redefine this target in your project in order to run tasks just after Rebuild
5348 ============================================================
5349 -->
5350 <Target Name="AfterRebuild" />
5351 <!--
5352 ============================================================
5353 BuildGenerateSources
5354
5355 Redefine this target in your project in order to run tasks for BuildGenerateSources
5356
5357 Set BuildPassReferences to enable P2P builds
5358 ============================================================
5359 -->
5360 <PropertyGroup>
5361 <BuildGenerateSourcesAction>Build</BuildGenerateSourcesAction>
5362 </PropertyGroup>
5363 <Target Name="BuildGenerateSources" DependsOnTargets="BuildGenerateSourcesTraverse;$(BuildGenerateSourcesAction)" />
5364 <Target Name="BuildGenerateSourcesTraverse" DependsOnTargets="PrepareProjectReferences">
5365 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="BuildGenerateSources" BuildInParallel="$(BuildInParallel)" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework);" Condition="'$(BuildPassReferences)' == 'true' and '@(ProjectReferenceWithConfiguration)' != '' and '@(_MSBuildProjectReferenceExistent)' != '' and '%(_MSBuildProjectReferenceExistent.BuildReference)' == 'true'" ContinueOnError="!$(BuildingProject)" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences)" />
5366 </Target>
5367 <ItemGroup Condition="'$(IsGraphBuild)' == 'true' and '$(BuildPassReferences)' == 'true'">
5368 <ProjectReferenceTargets Include="BuildGenerateSources" Targets="BuildGenerateSources" />
5369 </ItemGroup>
5370 <!--
5371 ============================================================
5372 BuildCompile
5373
5374 Redefine this target in your project in order to run tasks for BuildCompile
5375 ============================================================
5376 -->
5377 <PropertyGroup>
5378 <BuildCompileAction>Build</BuildCompileAction>
5379 </PropertyGroup>
5380 <Target Name="BuildCompile" DependsOnTargets="BuildCompileTraverse;$(BuildCompileAction)" />
5381 <Target Name="BuildCompileTraverse" DependsOnTargets="PrepareProjectReferences">
5382 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="BuildCompile" BuildInParallel="$(BuildInParallel)" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework)" Condition="'$(BuildPassReferences)' == 'true' and '@(ProjectReferenceWithConfiguration)' != '' and '@(_MSBuildProjectReferenceExistent)' != '' and '%(_MSBuildProjectReferenceExistent.BuildReference)' == 'true'" ContinueOnError="!$(BuildingProject)" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences)" />
5383 </Target>
5384 <ItemGroup Condition="'$(IsGraphBuild)' == 'true' and '$(BuildPassReferences)' == 'true'">
5385 <ProjectReferenceTargets Include="BuildCompile" Targets="BuildCompile" />
5386 </ItemGroup>
5387 <!--
5388 ============================================================
5389 BuildLink
5390
5391 Redefine this target in your project in order to run tasks for BuildLink
5392 ============================================================
5393 -->
5394 <PropertyGroup>
5395 <BuildLinkAction>Build</BuildLinkAction>
5396 </PropertyGroup>
5397 <Target Name="BuildLink" DependsOnTargets="BuildLinkTraverse;$(BuildLinkAction)" />
5398 <Target Name="BuildLinkTraverse" DependsOnTargets="PrepareProjectReferences">
5399 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="BuildLink" BuildInParallel="$(BuildInParallel)" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework)" Condition="'$(BuildPassReferences)' == 'true' and '@(ProjectReferenceWithConfiguration)' != '' and '@(_MSBuildProjectReferenceExistent)' != '' and '%(_MSBuildProjectReferenceExistent.BuildReference)' == 'true'" ContinueOnError="!$(BuildingProject)" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences)" />
5400 </Target>
5401 <ItemGroup Condition="'$(IsGraphBuild)' == 'true' and '$(BuildPassReferences)' == 'true'">
5402 <ProjectReferenceTargets Include="BuildLink" Targets="BuildLink" />
5403 </ItemGroup>
5404 <!--
5405 ============================================================
5406 CopyRunEnvironmentFiles
5407
5408 Copy environment files necessary to run the user's app to the final directory.
5409 This is a public target that can be invoked by an IDE.
5410
5411 This may be used by an IDE to make the app.config file available for running
5412 the target app.
5413 ============================================================
5414 -->
5415 <Target Name="CopyRunEnvironmentFiles" DependsOnTargets="PrepareForBuild;SetWin32ManifestProperties;_CopyAppConfigFile;_CleanRecordFileWrites" />
5416 <!--
5417 ============================================================
5418 Run
5419
5420 Run the final build output if it is a .EXE
5421 ============================================================
5422 -->
5423 <PropertyGroup>
5424 <RunDependsOn />
5425 </PropertyGroup>
5426 <Target Name="Run" DependsOnTargets="$(RunDependsOn)">
5427 <MSBuildInternalMessage Condition="'$(TargetExt)'!='.exe'" ResourceName="CommonSdk.RunTargetDependsOnMessage" Severity="Error" FormatArguments="$(TargetPath)" />
5428 <Exec Command="$(TargetPath) $(StartArguments)" WorkingDirectory="$(OutDir)" Condition=" '$(StartWorkingDirectory)' == '' " />
5429 <Exec Command="$(TargetPath) $(StartArguments)" WorkingDirectory="$(StartWorkingDirectory)" Condition=" '$(StartWorkingDirectory)' != '' " />
5430 </Target>
5431 <!--
5432 ***********************************************************************************************
5433 ***********************************************************************************************
5434 BuildOnlySettings Section
5435 ***********************************************************************************************
5436 ***********************************************************************************************
5437 -->
5438 <!--
5439 ============================================================
5440 BuildOnlySettings
5441
5442 This target is called only when doing a real build. It is specifically not called during project load.
5443 ============================================================
5444 -->
5445 <PropertyGroup>
5446 <BuildingProject>false</BuildingProject>
5447 </PropertyGroup>
5448 <Target Name="BuildOnlySettings">
5449 <PropertyGroup>
5450 <BuildingProject>true</BuildingProject>
5451 </PropertyGroup>
5452 </Target>
5453 <!--
5454 ***********************************************************************************************
5455 ***********************************************************************************************
5456 PrepareForBuild Section
5457 ***********************************************************************************************
5458 ***********************************************************************************************
5459 -->
5460 <!--
5461 ============================================================
5462 PrepareForBuild
5463
5464 Prepare the prerequisites for building.
5465 ============================================================
5466 -->
5467 <PropertyGroup>
5468 <PrepareForBuildDependsOn>$(PrepareForBuildDependsOn);GetFrameworkPaths;GetReferenceAssemblyPaths;AssignLinkMetadata</PrepareForBuildDependsOn>
5469 </PropertyGroup>
5470 <Target Name="PrepareForBuild" DependsOnTargets="$(PrepareForBuildDependsOn)">
5471 <ItemGroup>
5472 <AppConfigWithTargetPath Include="$(AppConfig)" Condition="'$(AppConfig)'!=''">
5473 <TargetPath>$(TargetFileName).config</TargetPath>
5474 </AppConfigWithTargetPath>
5475 </ItemGroup>
5476 <FindAppConfigFile PrimaryList="@(None)" SecondaryList="@(Content)" TargetPath="$(TargetFileName).config" Condition="'$(AppConfig)'==''">
5477 <Output TaskParameter="AppConfigFile" ItemName="AppConfigWithTargetPath" />
5478 <Output TaskParameter="AppConfigFile" PropertyName="AppConfig" />
5479 </FindAppConfigFile>
5480 <!-- Create the directories for intermediate and final build products, and any other arbitrary directories. -->
5481 <!-- We are going to continue on error here so that if the tree is read only we will still get intellisense -->
5482 <MakeDir Directories="$(OutDir);$(IntermediateOutputPath);@(DocFileItem->'%(RelativeDir)');@(CreateDirectory)" ContinueOnError="true" />
5483 </Target>
5484 <!--
5485 ============================================================
5486 GetFrameworkPaths
5487
5488 Get the paths for the .NET Framework installation directory
5489
5490 These paths are not used directly by this .targets file but are available for pre and
5491 post build steps.
5492 ============================================================
5493 -->
5494 <PropertyGroup>
5495 <Framework40Dir>@(_TargetFramework40DirectoryItem)</Framework40Dir>
5496 <Framework35Dir>@(_TargetFramework35DirectoryItem)</Framework35Dir>
5497 <Framework30Dir>@(_TargetFramework30DirectoryItem)</Framework30Dir>
5498 <Framework20Dir>@(_TargetFramework20DirectoryItem)</Framework20Dir>
5499 <!-- Note we need to make the 4.0 FrameworkDir point to the 2.0 location by default since we shipped msbuild 4.0 that way and to change it would be a breaking change.-->
5500 <FrameworkDir Condition="'$(FrameworkDir)' == '' and ('$(TargetFrameworkVersion)' == 'v2.0' or '$(TargetFrameworkVersion)' == 'v3.5' or '$(TargetFrameworkVersion)' == 'v4.0')">@(_TargetFramework20DirectoryItem)</FrameworkDir>
5501 <FrameworkDir Condition="'$(FrameworkDir)' == ''">@(_TargetFramework40DirectoryItem)</FrameworkDir>
5502 <TargetedFrameworkDir Condition="'$(TargetedFrameworkDir)' == ''">@(_TargetedFrameworkDirectoryItem)</TargetedFrameworkDir>
5503 <FrameworkSDKDir Condition="'$(FrameworkSDKDir)' == ''">@(_TargetFrameworkSDKDirectoryItem)</FrameworkSDKDir>
5504 <GetFrameworkPathsDependsOn />
5505 </PropertyGroup>
5506 <!-- This is a generally overriden target, for example it is overriden in the Microsoft.NETFramework.targets file -->
5507 <Target Name="GetFrameworkPaths" />
5508 <!--
5509 ============================================================
5510 GetReferenceAssemblyPaths
5511
5512 Get the paths for the Reference Assemblies for the known versions of the
5513 .NET Framework.
5514
5515 These paths are used by the build process in order to resolve the correct
5516 assemblies from the various directories, and to support multi-targeting
5517 ============================================================
5518 -->
5519 <Target Name="GetReferenceAssemblyPaths" DependsOnTargets="$(GetReferenceAssemblyPathsDependsOn);GetFrameworkPaths">
5520 <!-- if TargetFrameworkDirectory doesn't have a custom value, clear it out; that way we can get reference paths and target framework directories all in the right order -->
5521 <PropertyGroup>
5522 <TargetFrameworkDirectory Condition="'@(_CombinedTargetFrameworkDirectoriesItem)' == '$(TargetFrameworkDirectory)'" />
5523 </PropertyGroup>
5524 <!-- By default if there is no root path set then the task will assume it is Program Files\Reference Assemblies\Microsoft\Framework-->
5525 <GetReferenceAssemblyPaths Condition="'$(TargetFrameworkMoniker)' != '' and ('$(_TargetFrameworkDirectories)' == '' or '$(_FullFrameworkReferenceAssemblyPaths)' == '')" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" RootPath="$(TargetFrameworkRootPath)" TargetFrameworkFallbackSearchPaths="$(TargetFrameworkFallbackSearchPaths)" BypassFrameworkInstallChecks="$(BypassFrameworkInstallChecks)" ContinueOnError="!$(BuildingProject)">
5526 <Output TaskParameter="ReferenceAssemblyPaths" PropertyName="_TargetFrameworkDirectories" />
5527 <Output TaskParameter="FullFrameworkReferenceAssemblyPaths" PropertyName="_FullFrameworkReferenceAssemblyPaths" />
5528 <Output TaskParameter="TargetFrameworkMonikerDisplayName" PropertyName="TargetFrameworkMonikerDisplayName" Condition="'$(TargetFrameworkMonikerDisplayName)' == ''" />
5529 </GetReferenceAssemblyPaths>
5530 <PropertyGroup>
5531 <TargetFrameworkDirectory>$(_TargetFrameworkDirectories);$(TargetFrameworkDirectory);$(WinFXAssemblyDirectory)</TargetFrameworkDirectory>
5532 <TargetFrameworkDirectory Condition="'$(TargetPlatformWinMDLocation)' != '' and Exists('$(TargetPlatformWinMDLocation)')">$(TargetFrameworkDirectory);$(TargetPlatformWinMDLocation)</TargetFrameworkDirectory>
5533 </PropertyGroup>
5534 <!-- Remove the AssemblyFolders if no target framework directories could be found. This is to prevent us from
5535 resolving from the assemblyfolders global location if we are not acutally targeting a framework-->
5536 <PropertyGroup>
5537 <RemoveAssemblyFoldersIfNoTargetFramework Condition="'$(RemoveAssemblyFoldersIfNoTargetFramework)' == ''">true</RemoveAssemblyFoldersIfNoTargetFramework>
5538 </PropertyGroup>
5539 <PropertyGroup Condition="'$(_TargetFrameworkDirectories)' == '' and '$(AssemblySearchPaths)' != '' and '$(RemoveAssemblyFoldersIfNoTargetFramework)' == 'true'">
5540 <AssemblySearchPaths>$(AssemblySearchPaths.Replace('{AssemblyFolders}', '').Split(';'))</AssemblySearchPaths>
5541 </PropertyGroup>
5542 <ItemGroup Condition="'$(ImplicitlyExpandDesignTimeFacades)' == 'true'">
5543 <DesignTimeFacadeDirectoryRoots Include="$(TargetFrameworkDirectory)" />
5544 <DesignTimeFacadeDirectories Include="%(DesignTimeFacadeDirectoryRoots.Identity)Facades\" Condition="Exists('%(DesignTimeFacadeDirectoryRoots.Identity)Facades\')" />
5545 </ItemGroup>
5546 <PropertyGroup Condition="'@(DesignTimeFacadeDirectories)' != ''">
5547 <TargetFrameworkDirectory>$(TargetFrameworkDirectory);@(DesignTimeFacadeDirectories)</TargetFrameworkDirectory>
5548 </PropertyGroup>
5549 <PropertyGroup Condition="'$(_TargetFrameworkDirectories)' == ''">
5550 <TargetFrameworkProfile />
5551 </PropertyGroup>
5552 </Target>
5553 <!-- Returns target framework moniker. E.g. ".NETFramework,Version=v4.0.1" -->
5554 <Target Name="GetTargetFrameworkMoniker" Returns="$(TargetFrameworkMoniker)" />
5555 <!-- Returns target framework moniker display name. E.g. ".NET Framework 4 Platform Update 1 (KB2478063)" -->
5556 <Target Name="GetTargetFrameworkMonikerDisplayName" DependsOnTargets="GetFrameworkPaths;GetReferenceAssemblyPaths" Returns="$(TargetFrameworkMonikerDisplayName)" />
5557 <!-- Returns semicolon separated list of target framework directories.
5558 E.g "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0.1\;C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\" -->
5559 <Target Name="GetTargetFrameworkDirectories" DependsOnTargets="GetFrameworkPaths;GetReferenceAssemblyPaths" Returns="$(TargetFrameworkDirectory)" />
5560 <!--
5561 ============================================================
5562 AssignLinkMetadata
5563
5564 For items of a certain set of allowlisted types, make sure that
5565 if they are defined in a file other than the project file, that
5566 they have "Link" metadata set to an appropriate default.
5567 ============================================================
5568 -->
5569 <Target Name="AssignLinkMetadata" Condition=" '$(SynthesizeLinkMetadata)' == 'true' ">
5570 <!-- NONE ITEMS -->
5571 <AssignLinkMetadata Items="@(None)" Condition="'@(None)' != '' and '%(None.DefiningProjectFullPath)' != '$(MSBuildProjectFullPath)'">
5572 <Output TaskParameter="OutputItems" ItemName="_Temp" />
5573 </AssignLinkMetadata>
5574 <ItemGroup>
5575 <None Remove="@(_Temp)" />
5576 <None Include="@(_Temp)" />
5577 <_Temp Remove="@(_Temp)" />
5578 </ItemGroup>
5579 <!-- CONTENT ITEMS -->
5580 <AssignLinkMetadata Items="@(Content)" Condition="'@(Content)' != '' and '%(Content.DefiningProjectFullPath)' != '$(MSBuildProjectFullPath)'">
5581 <Output TaskParameter="OutputItems" ItemName="_Temp" />
5582 </AssignLinkMetadata>
5583 <ItemGroup>
5584 <Content Remove="@(_Temp)" />
5585 <Content Include="@(_Temp)" />
5586 <_Temp Remove="@(_Temp)" />
5587 </ItemGroup>
5588 <!-- PAGE ITEMS -->
5589 <AssignLinkMetadata Items="@(Page)" Condition="'@(Page)' != '' and '%(Page.DefiningProjectFullPath)' != '$(MSBuildProjectFullPath)'">
5590 <Output TaskParameter="OutputItems" ItemName="_Temp" />
5591 </AssignLinkMetadata>
5592 <ItemGroup>
5593 <Page Remove="@(_Temp)" />
5594 <Page Include="@(_Temp)" />
5595 <_Temp Remove="@(_Temp)" />
5596 </ItemGroup>
5597 <!-- APPLICATIONDEFINITION ITEMS -->
5598 <AssignLinkMetadata Items="@(ApplicationDefinition)" Condition="'@(ApplicationDefinition)' != '' and '%(ApplicationDefinition.DefiningProjectFullPath)' != '$(MSBuildProjectFullPath)'">
5599 <Output TaskParameter="OutputItems" ItemName="_Temp" />
5600 </AssignLinkMetadata>
5601 <ItemGroup>
5602 <ApplicationDefinition Remove="@(_Temp)" />
5603 <ApplicationDefinition Include="@(_Temp)" />
5604 <_Temp Remove="@(_Temp)" />
5605 </ItemGroup>
5606 <!-- EMBEDDEDRESOURCE ITEMS -->
5607 <AssignLinkMetadata Items="@(EmbeddedResource)" Condition="'@(EmbeddedResource)' != '' and '%(EmbeddedResource.DefiningProjectFullPath)' != '$(MSBuildProjectFullPath)'">
5608 <Output TaskParameter="OutputItems" ItemName="_Temp" />
5609 </AssignLinkMetadata>
5610 <ItemGroup>
5611 <EmbeddedResource Remove="@(_Temp)" />
5612 <EmbeddedResource Include="@(_Temp)" />
5613 <_Temp Remove="@(_Temp)" />
5614 </ItemGroup>
5615 <!-- RESOURCE ITEMS -->
5616 <AssignLinkMetadata Items="@(Resource)" Condition="'@(Resource)' != '' and '%(Resource.DefiningProjectFullPath)' != '$(MSBuildProjectFullPath)' and $([MSBuild]::AreFeaturesEnabled('17.10'))">
5617 <Output TaskParameter="OutputItems" ItemName="_Temp" />
5618 </AssignLinkMetadata>
5619 <ItemGroup Condition="$([MSBuild]::AreFeaturesEnabled('17.10'))">
5620 <Resource Remove="@(_Temp)" />
5621 <Resource Include="@(_Temp)" />
5622 <_Temp Remove="@(_Temp)" />
5623 </ItemGroup>
5624 </Target>
5625 <!--
5626 ***********************************************************************************************
5627 ***********************************************************************************************
5628 PreBuildEvent Section
5629 ***********************************************************************************************
5630 ***********************************************************************************************
5631 -->
5632 <!--
5633 ============================================================
5634 PreBuildEvent
5635
5636 Run the pre-build event if there is one.
5637 ============================================================
5638 -->
5639 <PropertyGroup>
5640 <PreBuildEventDependsOn />
5641 </PropertyGroup>
5642 <Target Name="PreBuildEvent" Condition="'$(PreBuildEvent)'!=''" DependsOnTargets="$(PreBuildEventDependsOn)">
5643 <Exec WorkingDirectory="$(OutDir)" Command="$(PreBuildEvent)" />
5644 </Target>
5645 <!--
5646 ***********************************************************************************************
5647 ***********************************************************************************************
5648 UnmanagedUnregistration Section
5649 ***********************************************************************************************
5650 ***********************************************************************************************
5651 -->
5652 <!--
5653 ============================================================
5654 UnmanagedUnregistration
5655
5656 If the main assembly had previously been registered for COM interop, unregister it now.
5657 We will re-register the new version after it has been built.
5658 ============================================================
5659 -->
5660 <PropertyGroup>
5661 <UnmanagedUnregistrationDependsOn />
5662 </PropertyGroup>
5663 <Target Name="UnmanagedUnregistration" Condition="(('$(_AssemblyTimestampBeforeCompile)' != '$(_AssemblyTimestampAfterCompile)' or '$(RegisterForComInterop)' != 'true' or '$(OutputType)' != 'library') or&#xD;&#xA; ('$(_AssemblyTimestampBeforeCompile)' == '')) and&#xD;&#xA; Exists('@(_UnmanagedRegistrationCache)')" DependsOnTargets="$(UnmanagedUnregistrationDependsOn)">
5664 <PropertyGroup>
5665 <UnregisterAssemblyMSBuildArchitecture Condition="'$(UnregisterAssemblyMSBuildArchitecture)' == ''">$(PlatformTargetAsMSBuildArchitecture)</UnregisterAssemblyMSBuildArchitecture>
5666 </PropertyGroup>
5667 <PropertyGroup Condition="'$(TargetFrameworkAsMSBuildRuntime)' != '' and '$(UnregisterAssemblyMSBuildArchitecture)' != ''">
5668 <!-- Falling back to the current runtime if we are targeting CLR2 and the task host doesn't exist will lead to
5669 incorrect behavior in some cases, but it's the same incorrect behavior as Visual Studio 2010, and thus better
5670 than causing build breaks on upgrade to Win8 the way not doing so would. For more details, see the
5671 corresponding comment in GenerateResource. -->
5672 <UnregisterAssemblyMSBuildRuntime Condition="'$(UnregisterAssemblyMSBuildRuntime)' == '' and&#xD;&#xA; $([MSBuild]::DoesTaskHostExist(`$(TargetFrameworkAsMSBuildRuntime)`, `$(UnregisterAssemblyMSBuildArchitecture)`))">$(TargetFrameworkAsMSBuildRuntime)</UnregisterAssemblyMSBuildRuntime>
5673 <!-- If the targeted runtime doesn't exist, fall back to current -->
5674 <UnregisterAssemblyMSBuildRuntime Condition="'$(UnregisterAssemblyMSBuildRuntime)' == ''">CurrentRuntime</UnregisterAssemblyMSBuildRuntime>
5675 </PropertyGroup>
5676 <UnregisterAssembly AssemblyListFile="@(_UnmanagedRegistrationCache)" MSBuildArchitecture="$(UnregisterAssemblyMSBuildArchitecture)" MSBuildRuntime="$(UnregisterAssemblyMSBuildRuntime)" />
5677 </Target>
5678 <!--
5679 ***********************************************************************************************
5680 ***********************************************************************************************
5681 ResolveReferences Section
5682 ***********************************************************************************************
5683 ***********************************************************************************************
5684 -->
5685 <!--
5686 ============================================================
5687 GetTargetFrameworkVersion
5688
5689 This stand-alone target returns the target framework version (i.e. v3.5, v4.0, etc.)
5690 that would be used if we built this project.
5691
5692 ============================================================
5693 -->
5694 <Target Name="GetTargetFrameworkVersion" Returns="$(TargetFrameworkVersion)" />
5695 <!--
5696 ============================================================
5697 ResolveReferences
5698 ============================================================
5699 -->
5700 <PropertyGroup>
5701 <ResolveReferencesDependsOn>
5702 BeforeResolveReferences;
5703 AssignProjectConfiguration;
5704 ResolveProjectReferences;
5705 FindInvalidProjectReferences;
5706 ResolveNativeReferences;
5707 ResolveAssemblyReferences;
5708 GenerateBindingRedirects;
5709 GenerateBindingRedirectsUpdateAppConfig;
5710 ResolveComReferences;
5711 AfterResolveReferences
5712 </ResolveReferencesDependsOn>
5713 </PropertyGroup>
5714 <Target Name="ResolveReferences" Returns="@(ReferencePath)" DependsOnTargets="$(ResolveReferencesDependsOn)" />
5715 <!--
5716 ============================================================
5717 BeforeResolveReferences
5718
5719 Redefine this target in your project in order to run tasks just before ResolveReferences
5720 ============================================================
5721 -->
5722 <Target Name="BeforeResolveReferences" />
5723 <!--
5724 ============================================================
5725 AfterResolveReferences
5726
5727 Redefine this target in your project in order to run tasks just after ResolveReferences
5728 ============================================================
5729 -->
5730 <Target Name="AfterResolveReferences" />
5731 <!--
5732 ============================================================
5733 IgnoreJavaScriptOutputAssembly
5734
5735 esproj are JavaScript or TypeScript Projects that never produce an assembly.
5736 Set ReferenceOutputAssembly to false in any reference to an esproj.
5737 ============================================================
5738 -->
5739 <Target Name="IgnoreJavaScriptOutputAssembly" BeforeTargets="AssignProjectConfiguration">
5740 <ItemGroup>
5741 <ProjectReference Condition="'%(ProjectReference.Extension)' == '.esproj' and '%(ProjectReference.ReferenceOutputAssembly)' == ''">
5742 <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
5743 </ProjectReference>
5744 </ItemGroup>
5745 </Target>
5746 <!--
5747 ============================================================
5748 AssignProjectConfiguration
5749
5750 Assigns the appropriate configuration to each project in the list of project references passed in.
5751 Adds to the project references passed in any project references implied by dependencies expressed in the solution file, if any.
5752
5753 [IN]
5754 @(ProjectReference) - the list of all project references
5755
5756 [OUT]
5757 @(ProjectReferenceWithConfiguration) - the list of project references (MSBuild and potentially VSIP projects)
5758 with metadata values FullConfiguration, Configuration, Platform,
5759 SetConfiguration, and SetPlatform
5760 ============================================================
5761 -->
5762 <Target Name="AssignProjectConfiguration" Condition="'$(CurrentSolutionConfigurationContents)' != '' or '@(ProjectReference)'!=''">
5763 <PropertyGroup>
5764 <OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration Condition="'$(OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration)' == ''">true</OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration>
5765 <ShouldUnsetParentConfigurationAndPlatform Condition="'$(ShouldUnsetParentConfigurationAndPlatform)' == '' and ('$(BuildingInsideVisualStudio)' == 'true' or '$(BuildingSolutionFile)' == 'true')">true</ShouldUnsetParentConfigurationAndPlatform>
5766 <ShouldUnsetParentConfigurationAndPlatform Condition="'$(ShouldUnsetParentConfigurationAndPlatform)' == ''">false</ShouldUnsetParentConfigurationAndPlatform>
5767 <!-- Web Application projects can "secretly" reference Silverlight projects, which can take project dependencies on that same Web Application. If the project
5768 dependencies are promoted to project references, this ends up creating a situation where we have a circular reference between the two projects. We don't
5769 want this to happen, so just turn off synthetic project reference generation for Silverlight projects. -->
5770 <AddSyntheticProjectReferencesForSolutionDependencies Condition="'$(AddSyntheticProjectReferencesForSolutionDependencies)' == '' and '$(TargetFrameworkIdentifier)' == 'Silverlight'">false</AddSyntheticProjectReferencesForSolutionDependencies>
5771 <!-- Inside VS, we do not need to add synthetic references, as VS already organizes the build per any solution-level dependencies; we only do this on the command line-->
5772 <AddSyntheticProjectReferencesForSolutionDependencies Condition="'$(AddSyntheticProjectReferencesForSolutionDependencies)' == '' and '$(BuildingInsideVisualStudio)' != 'true'">true</AddSyntheticProjectReferencesForSolutionDependencies>
5773 </PropertyGroup>
5774 <!-- Assign a project configuration to each project reference if we're building a solution file. -->
5775 <AssignProjectConfiguration ProjectReferences="@(ProjectReference)" CurrentProject="$(MSBuildProjectFullPath)" CurrentProjectConfiguration="$(Configuration)" CurrentProjectPlatform="$(Platform)" DefaultToVcxPlatformMapping="$(DefaultToVcxPlatformMapping)" VcxToDefaultPlatformMapping="$(VcxToDefaultPlatformMapping)" OutputType="$(OutputType)" ResolveConfigurationPlatformUsingMappings="false" SolutionConfigurationContents="$(CurrentSolutionConfigurationContents)" AddSyntheticProjectReferencesForSolutionDependencies="$(AddSyntheticProjectReferencesForSolutionDependencies)" OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration="$(OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration)" ShouldUnsetParentConfigurationAndPlatform="$(ShouldUnsetParentConfigurationAndPlatform)">
5776 <!-- EMITTED FOR COMPATIBILITY REASONS ONLY. CONSUME PROJECTREFERENCEWITHCONFIGURATION INSTEAD -->
5777 <Output TaskParameter="AssignedProjects" ItemName="_ProjectReferenceWithConfiguration" />
5778 <Output TaskParameter="UnassignedProjects" ItemName="_ProjectReferenceWithConfiguration" />
5779 <Output TaskParameter="AssignedProjects" ItemName="ProjectReferenceWithConfiguration" />
5780 <Output TaskParameter="UnassignedProjects" ItemName="ProjectReferenceWithConfiguration" />
5781 </AssignProjectConfiguration>
5782 <ItemGroup>
5783 <_ProjectReferenceWithConfiguration>
5784 <BuildReference Condition="'%(_ProjectReferenceWithConfiguration.BuildReference)' == ''">true</BuildReference>
5785 <ReferenceOutputAssembly Condition="'%(_ProjectReferenceWithConfiguration.ReferenceOutputAssembly)' == ''">true</ReferenceOutputAssembly>
5786 </_ProjectReferenceWithConfiguration>
5787 <ProjectReferenceWithConfiguration>
5788 <BuildReference Condition="'%(ProjectReferenceWithConfiguration.BuildReference)' == ''">true</BuildReference>
5789 <ReferenceOutputAssembly Condition="'%(ProjectReferenceWithConfiguration.ReferenceOutputAssembly)' == ''">true</ReferenceOutputAssembly>
5790 </ProjectReferenceWithConfiguration>
5791 </ItemGroup>
5792 </Target>
5793 <!--
5794 ============================================================
5795 _SplitProjectReferencesByFileExistence
5796
5797 Split referenced projects into two lists: those that exist on
5798 disk and those that don't.
5799 ============================================================
5800 -->
5801 <Target Name="_SplitProjectReferencesByFileExistence">
5802 <!--
5803 Use this task for matching projects with pre-resolved project outputs set by the IDE
5804 if building inside the IDE. The IDE only includes non-MSBuild projects in the output list. We'll
5805 use MSBuild to resolve MSBuild projects.
5806 This task will resolve VSIP (3rd party) project references and create a new item list with only project references
5807 to projects in the MSBuild format.
5808 -->
5809 <ResolveNonMSBuildProjectOutput ProjectReferences="@(ProjectReferenceWithConfiguration)" PreresolvedProjectOutputs="$(VSIDEResolvedNonMSBuildProjectOutputs)" Condition="'$(BuildingInsideVisualStudio)'=='true' and '@(ProjectReferenceWithConfiguration)'!=''">
5810 <Output TaskParameter="ResolvedOutputPaths" ItemName="_ResolvedProjectReferencePaths" />
5811 <Output TaskParameter="UnresolvedProjectReferences" ItemName="_MSBuildProjectReference" />
5812 </ResolveNonMSBuildProjectOutput>
5813 <!--
5814 If building from the command line, simply copy the ProjectReferenceWithConfiguration item list to _MSBuildProjectReference,
5815 since we have to assume all projects are in the MSBuild format. We have no way of building
5816 VSIP (3rd party) projects from the command line.
5817 -->
5818 <ItemGroup>
5819 <_MSBuildProjectReference Include="@(ProjectReferenceWithConfiguration)" Condition="'$(BuildingInsideVisualStudio)'!='true' and '@(ProjectReferenceWithConfiguration)'!=''" />
5820 </ItemGroup>
5821 <!-- Break the project list into two lists: those that exist on disk and those that don't. -->
5822 <ItemGroup>
5823 <_MSBuildProjectReferenceExistent Include="@(_MSBuildProjectReference)" Condition="Exists('%(Identity)')" />
5824 <_MSBuildProjectReferenceNonexistent Include="@(_MSBuildProjectReference)" Condition="!Exists('%(Identity)')" />
5825 </ItemGroup>
5826 </Target>
5827 <!--
5828 ====================================================================================
5829 _GetProjectReferencePlatformProperties
5830
5831 If a project is opted in via $(EnableDynamicPlatformResolution), this target calls the
5832 GetCompatiblePlatform task on all ProjectReference items to determine the most compatible
5833 platform for each project. It then sets SetPlatform metadata on each ProjectReference.
5834 This prevents overbuilding a project when 'AnyCPU' is available.
5835
5836 ======================================================================================
5837 -->
5838 <PropertyGroup>
5839 <UseDefaultPlatformLookupTables Condition="'$(UseDefaultPlatformLookupTables)' == ''">true</UseDefaultPlatformLookupTables>
5840 </PropertyGroup>
5841 <!-- This target skips sln-based builds because they already supply Platform and
5842 Configuration information. See AssignProjectConfiguration -->
5843 <Target Name="_GetProjectReferencePlatformProperties" Condition="'$(EnableDynamicPlatformResolution)' == 'true'&#xD;&#xA; and '@(_MSBuildProjectReferenceExistent)' != ''">
5844 <!-- Allow preset SetPlatform to override this operation -->
5845 <ItemGroup>
5846 <_MSBuildProjectReferenceExistent Condition="'%(_MSBuildProjectReferenceExistent.SetPlatform)' != ''">
5847 <SkipGetPlatformProperties>true</SkipGetPlatformProperties>
5848 </_MSBuildProjectReferenceExistent>
5849 </ItemGroup>
5850 <ItemGroup>
5851 <_ProjectReferencePlatformPossibilities Include="@(_MSBuildProjectReferenceExistent)" Condition="'%(_MSBuildProjectReferenceExistent.SkipGetPlatformProperties)' != 'true'" />
5852 </ItemGroup>
5853 <!-- Assign default PlatformLookupTables when doing Managed <-> Unmanaged hops -->
5854 <ItemGroup>
5855 <!-- If we're looking at a c++ project from a managed project, map managed platforms to native platforms. -->
5856 <_ProjectReferencePlatformPossibilities Condition="'$(MSBuildProjectExtension)' != '.vcxproj' and '$(MSBuildProjectExtension)' != '.nativeproj' and '%(_ProjectReferencePlatformPossibilities.IsVcxOrNativeProj)' == 'true'">
5857 <!-- Taken from https://docs.microsoft.com/visualstudio/msbuild/assignprojectconfiguration-task -->
5858 <PlatformLookupTable Condition="'$(UseDefaultPlatformLookupTables)' == 'true' and '$(PlatformLookupTable)' == ''">x86=Win32</PlatformLookupTable>
5859 </_ProjectReferencePlatformPossibilities>
5860 <!-- If we're looking at a managed project from a cpp project, map native to managed platforms. -->
5861 <_ProjectReferencePlatformPossibilities Condition="('$(MSBuildProjectExtension)' == '.vcxproj' or '$(MSBuildProjectExtension)' == '.nativeproj') and '%(_ProjectReferencePlatformPossibilities.IsVcxOrNativeProj)' != 'true'">
5862 <PlatformLookupTable Condition="'$(UseDefaultPlatformLookupTables)' == 'true' and '$(PlatformLookupTable)' == ''">Win32=x86</PlatformLookupTable>
5863 </_ProjectReferencePlatformPossibilities>
5864 </ItemGroup>
5865 <GetCompatiblePlatform AnnotatedProjects="@(_ProjectReferencePlatformPossibilities)" CurrentProjectPlatform="$(Platform)" PlatformLookupTable="$(PlatformLookupTable)" Condition="'@(_ProjectReferencePlatformPossibilities)' != ''">
5866 <Output ItemName="_ProjectsWithPlatformAssignment" TaskParameter="AssignedProjectsWithPlatform" />
5867 </GetCompatiblePlatform>
5868 <!-- If GetCompatiblePlatform didn't run, @(ProjectsWithPlatformAssignment) will be empty.
5869 Don't do anything in this case. Ex: A project references many projects
5870 that can't multiplatform. -->
5871 <ItemGroup Condition="'@(_ProjectsWithPlatformAssignment)' != ''">
5872 <ProjectsWithNearestPlatform Include="@(_ProjectsWithPlatformAssignment)" />
5873 <ProjectsWithNearestPlatform Condition="'@(ProjectsWithNearestPlatform)' == '%(Identity)' and '%(ProjectsWithNearestPlatform.NearestPlatform)' != ''">
5874 <SetPlatform>Platform=%(ProjectsWithNearestPlatform.NearestPlatform)</SetPlatform>
5875 </ProjectsWithNearestPlatform>
5876 <!-- When GetCompatiblePlatform fails to assign NearestPlatform (or determines it's identical to default for the referenced project), undefine Platform and let that project build "on its own" -->
5877 <ProjectsWithNearestPlatform Condition="'@(ProjectsWithNearestPlatform)' == '%(Identity)' and '%(ProjectsWithNearestPlatform.NearestPlatform)' == ''">
5878 <UndefineProperties>%(ProjectsWithNearestPlatform.UndefineProperties);Platform</UndefineProperties>
5879 </ProjectsWithNearestPlatform>
5880 <_MSBuildProjectReferenceExistent Remove="@(_MSBuildProjectReferenceExistent)" Condition="'%(_MSBuildProjectReferenceExistent.SkipGetPlatformProperties)' != 'true'" />
5881 <_MSBuildProjectReferenceExistent Include="@(ProjectsWithNearestPlatform)" />
5882 </ItemGroup>
5883 </Target>
5884 <!--
5885 ====================================================================================
5886 _GetProjectReferenceTargetFrameworkProperties
5887
5888 Builds the GetTargetFrameworks target of all existent project references to get a list
5889 of all supported TargetFrameworks of the referenced projects. Calls the
5890 GetReferenceNearestTargetFrameworkTask to determine the closest match for each project.
5891 This allows a cross-targeting project to select how it should be configured to build
5892 against the most appropriate target for the referring target framework.
5893
5894 ======================================================================================
5895 -->
5896 <Target Name="_GetProjectReferenceTargetFrameworkProperties" DependsOnTargets="_AddOutputPathToGlobalPropertiesToRemove">
5897 <!--
5898 Select the moniker to send to each project reference if not already set. NugetTargetMoniker (NTM) is preferred by default over
5899 TargetFrameworkMoniker (TFM) because it is required to disambiguate the UWP case where TFM is fixed at .NETCore,Version=v5.0 and
5900 has floating NTM=UAP,Version=vX.Y.Z. However, in other cases (classic PCLs), NTM contains multiple values and that will cause the MSBuild
5901 invocation below to fail by passing invalid properties. Therefore we do not use the NTM if it contains a semicolon.
5902 -->
5903 <PropertyGroup Condition="'$(ReferringTargetFrameworkForProjectReferences)' == ''">
5904 <ReferringTargetFrameworkForProjectReferences Condition="'$(NuGetTargetMoniker)' != '' and !$(NuGetTargetMoniker.Contains(';'))">$(NuGetTargetMoniker)</ReferringTargetFrameworkForProjectReferences>
5905 <ReferringTargetFrameworkForProjectReferences Condition="'$(NuGetTargetMoniker)' == ''">$(TargetFrameworkMoniker)</ReferringTargetFrameworkForProjectReferences>
5906 </PropertyGroup>
5907 <!--
5908 Honor SkipGetTargetFrameworkProperties=true metadata on project references
5909 to mean that the project reference is known not to target multiple frameworks
5910 and the mechanism here for selecting the best one can be skipped as an optimization.
5911
5912 We give this treatment to .vcxproj by default since no .vcxproj can target more
5913 than one framework currently. The user must specify exactly one TargetFramework.
5914
5915 vcxproj files compile down to OS-specific binaries, either native or .NET. In the
5916 _GetProjectReferenceTargetFrameworkProperties target of Microsoft.Common.CurrentVersion.targets,
5917 SkipTargetFrameworkProperties is set to true for vcxproj to account for that.
5918
5919 This means we do not fill the Item _ProjectReferenceTargetFrameworkPossibilities or, by extension,
5920 the AnnotatedProjects Item.
5921
5922 For single-targeted projects, we normally decorate the AnnotatedProjects Item with
5923 UndefineProperties metadata specifying that TargetFramework should be undefined. Because it
5924 isn't defined properly at that stage, however, this does not happen, and TargetFramework is
5925 defined at this point in addition to having been defined globally. Currently, this is always
5926 true for vcxproj.
5927
5928 MSBuild permits building the same project twice as long as it has different sets of global properties.
5929 Because the TargetFramework global property is not being removed as expected by the multitargeting
5930 part of MSBuild, the engine recognizes that there are differences and builds it twice. This can
5931 become more noticeable if the projects build in parallel, since they could try to access the same
5932 resources and conflict, failing the build. Note, however, that building the same project twice in
5933 this way is always wrong even if it seems minor because they do not conflict, and the second build is
5934 relatively fast.
5935 -->
5936 <ItemGroup>
5937 <_MSBuildProjectReferenceExistent Condition="'%(_MSBuildProjectReferenceExistent.SkipGetTargetFrameworkProperties)' == '' and ('%(Extension)' == '.vcxproj' or '%(Extension)' == '.nativeproj')">
5938 <!--
5939 Platform negotiation requires the MSBuild task call to GetTargetFrameworks.
5940 Don't skip when opted into the feature.
5941 -->
5942 <SkipGetTargetFrameworkProperties Condition="'$(EnableDynamicPlatformResolution)' != 'true'">true</SkipGetTargetFrameworkProperties>
5943 <UndefineProperties>%(_MSBuildProjectReferenceExistent.UndefineProperties);TargetFramework</UndefineProperties>
5944 </_MSBuildProjectReferenceExistent>
5945 </ItemGroup>
5946 <!--
5947 Allow project references to specify which target framework properties to set and their values
5948 without consulting the referenced project. This has two use cases:
5949
5950 1. A caller may wish to pick a compatible but sub-optimal target framework. For example,
5951 to unit test the .NETStandard implementation using a .NETFramework caller even though
5952 there is also a .NETFramework implementation.
5953
5954 2. As an escape hatch for cases where the compatibility check performed by
5955 GetTargetFrameworkProperties is faulty.
5956 -->
5957 <ItemGroup>
5958 <_MSBuildProjectReferenceExistent Condition="'%(_MSBuildProjectReferenceExistent.SetTargetFramework)' != ''">
5959 <!--
5960 Platform negotiation requires the MSBuild task call to GetTargetFrameworks.
5961 Don't skip when opted into the feature.
5962 -->
5963 <SkipGetTargetFrameworkProperties Condition="'$(EnableDynamicPlatformResolution)' != 'true'">true</SkipGetTargetFrameworkProperties>
5964 </_MSBuildProjectReferenceExistent>
5965 </ItemGroup>
5966 <!--
5967 Get reference target framework lists.
5968 Note: A future optimization could cache the closest match and set the target framework on
5969 this MSBuild task invocation. This would (optimistically) save an evaluation of the referenced
5970 project when the answer is the same.
5971 -->
5972 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="GetTargetFrameworks" BuildInParallel="$(BuildInParallel)" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform)" ContinueOnError="!$(BuildingProject)" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove);TargetFramework;RuntimeIdentifier;SelfContained;$(_GlobalPropertiesToRemoveFromProjectReferences)" Condition="'%(_MSBuildProjectReferenceExistent.SkipGetTargetFrameworkProperties)' != 'true' and '$(EnableDynamicPlatformResolution)' != 'true'" SkipNonexistentTargets="true">
5973 <Output TaskParameter="TargetOutputs" ItemName="_ProjectReferenceTargetFrameworkPossibilities" />
5974 </MSBuild>
5975 <!--
5976 SetPlatform negotiation requires the 'GetTargetFrameworks' MSBuild call to NOT pass global properties. This is to verify
5977 whether or not the referenced project would build as the same platform as the current project by default. The above
5978 MSBuild call is kept for legacy scenarios that may depend on passing %(SetConfiguration) and %(SetPlatform).
5979 -->
5980 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="GetTargetFrameworks" BuildInParallel="$(BuildInParallel)" ContinueOnError="!$(BuildingProject)" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove);TargetFramework;RuntimeIdentifier;SelfContained;Platform;Configuration;$(_GlobalPropertiesToRemoveFromProjectReferences)" Condition="'%(_MSBuildProjectReferenceExistent.SkipGetTargetFrameworkProperties)' != 'true' and '$(EnableDynamicPlatformResolution)' == 'true'" SkipNonexistentTargets="true">
5981 <Output TaskParameter="TargetOutputs" ItemName="_ProjectReferenceTargetFrameworkPossibilities" />
5982 </MSBuild>
5983 <ItemGroup>
5984 <!--
5985 Preserve the ItemSpec value on the _ProjectReferenceTargetFrameworkPossibilities. Because relative paths in another project
5986 context would be incorrect, the MSBuild task invocation needs expands the project reference paths in the MSBuild task above.
5987 This is generally OK, but if the list is copied the OriginalItemSpec can become the expanded value and cause issues correlating
5988 a project reference back to an Item instance.
5989 -->
5990 <_ProjectReferenceTargetFrameworkPossibilitiesOriginalItemSpec Include="@(_ProjectReferenceTargetFrameworkPossibilities->'%(OriginalItemSpec)')" />
5991 <_ProjectReferenceTargetFrameworkPossibilities Remove="@(_ProjectReferenceTargetFrameworkPossibilities)" />
5992 <_ProjectReferenceTargetFrameworkPossibilities Include="@(_ProjectReferenceTargetFrameworkPossibilitiesOriginalItemSpec)" />
5993 </ItemGroup>
5994 <!-- For each reference, get closest match -->
5995 <!-- Pass the CurrentProjectTargetPlatform parameter to the task only if GetReferenceNearestTargetFrameworkTaskSupportsTargetPlatformParameter is true. This means
5996 that we are using a version of NuGet which supports that parameter on this task. -->
5997 <GetReferenceNearestTargetFrameworkTask AnnotatedProjectReferences="@(_ProjectReferenceTargetFrameworkPossibilities)" CurrentProjectTargetFramework="$(ReferringTargetFrameworkForProjectReferences)" CurrentProjectTargetPlatform="$(TargetPlatformMoniker)" CurrentProjectName="$(MSBuildProjectName)" FallbackTargetFrameworks="$(AssetTargetFallback)" Condition="'@(_ProjectReferenceTargetFrameworkPossibilities)' != '' and '$(ReferringTargetFrameworkForProjectReferences)' != ''&#xD;&#xA; And '$(GetReferenceNearestTargetFrameworkTaskSupportsTargetPlatformParameter)' == 'true' and '%(_ProjectReferenceTargetFrameworkPossibilities.IsVcxOrNativeProj)' != 'true'">
5998 <Output ItemName="AnnotatedProjects" TaskParameter="AssignedProjects" />
5999 </GetReferenceNearestTargetFrameworkTask>
6000 <GetReferenceNearestTargetFrameworkTask AnnotatedProjectReferences="@(_ProjectReferenceTargetFrameworkPossibilities)" CurrentProjectTargetFramework="$(ReferringTargetFrameworkForProjectReferences)" CurrentProjectName="$(MSBuildProjectName)" FallbackTargetFrameworks="$(AssetTargetFallback)" Condition="'@(_ProjectReferenceTargetFrameworkPossibilities)' != '' and '$(ReferringTargetFrameworkForProjectReferences)' != ''&#xD;&#xA; And '$(GetReferenceNearestTargetFrameworkTaskSupportsTargetPlatformParameter)' != 'true' and '%(_ProjectReferenceTargetFrameworkPossibilities.IsVcxOrNativeProj)' != 'true'">
6001 <Output ItemName="AnnotatedProjects" TaskParameter="AssignedProjects" />
6002 </GetReferenceNearestTargetFrameworkTask>
6003 <ItemGroup>
6004 <!--
6005 If the task was skipped or the current TargetFramework is empty, AnnotatedProjects will be empty.
6006 In this case, copy _ProjectReferenceTargetFrameworkPossibilities as is. See:
6007 https://github.com/dotnet/sdk/issues/416
6008
6009 Furthermore, if we're referencing a .vcxproj or .nativeproj, those items won't be populated into `AnnotatedProjects`
6010 by `GetReferenceNearestTargetFrameworkTask`, so let them flow when `EnableDynamicPlatformResolution` is set.
6011 -->
6012 <AnnotatedProjects Include="@(_ProjectReferenceTargetFrameworkPossibilities)" Condition="'$(ReferringTargetFrameworkForProjectReferences)' == '' or&#xD;&#xA; ('$(EnableDynamicPlatformResolution)' == 'true' and '%(_ProjectReferenceTargetFrameworkPossibilities.IsVcxOrNativeProj)' == 'true')" />
6013 </ItemGroup>
6014 <!-- IsRidAgnostic metadata is used to determine whether global properties such as RuntimeIdentifier and SelfContained flow to a referenced project.
6015 However, for multi-targeted projects there may be a different IsRidAgnostic value for each TargetFramework. In that case, this task selects
6016 the IsRidAgnostic value for the NearestTargetFramework for the project. -->
6017 <SetRidAgnosticValueForProjects Projects="@(AnnotatedProjects)">
6018 <Output ItemName="UpdatedAnnotatedProjects" TaskParameter="UpdatedProjects" />
6019 </SetRidAgnosticValueForProjects>
6020 <ItemGroup>
6021 <AnnotatedProjects Remove="@(AnnotatedProjects)" />
6022 <AnnotatedProjects Include="@(UpdatedAnnotatedProjects)" />
6023 <UpdatedAnnotatedProjects Remove="@(UpdatedAnnotatedProjects)" />
6024 <!-- If the NearestTargetFramework property was set and the project multi-targets, SetTargetFramework must be set. -->
6025 <AnnotatedProjects Condition="'@(AnnotatedProjects)' == '%(Identity)' and '%(AnnotatedProjects.NearestTargetFramework)' != '' and '%(AnnotatedProjects.HasSingleTargetFramework)' != 'true'">
6026 <SetTargetFramework>TargetFramework=%(AnnotatedProjects.NearestTargetFramework)</SetTargetFramework>
6027 </AnnotatedProjects>
6028 <!--
6029 If the NearestTargetFramework property was not set or the project has a single TargetFramework, we need to Undefine
6030 TargetFramework to avoid another project evaluation.
6031 -->
6032 <AnnotatedProjects Condition="'@(AnnotatedProjects)' == '%(Identity)' and ('%(AnnotatedProjects.NearestTargetFramework)' == '' or '%(AnnotatedProjects.HasSingleTargetFramework)' == 'true')">
6033 <UndefineProperties>%(AnnotatedProjects.UndefineProperties);TargetFramework</UndefineProperties>
6034 </AnnotatedProjects>
6035 <!-- Add RuntimeIdentifier and SelfContained to the list of global properties that should not flow to the referenced project,
6036 unless the project is expecting those properties to flow. -->
6037 <AnnotatedProjects Condition="'@(AnnotatedProjects)' == '%(Identity)' and '%(AnnotatedProjects.IsRidAgnostic)' != 'false'">
6038 <UndefineProperties>%(AnnotatedProjects.UndefineProperties);RuntimeIdentifier;SelfContained</UndefineProperties>
6039 </AnnotatedProjects>
6040 <!--
6041 Remove the items we've touched from _MSBuildProjectReferenceExistent. This will leave all projects where
6042 SkipGetTargetFrameworkProperties was set. Then add all AnnotatedProjects back.
6043 -->
6044 <_MSBuildProjectReferenceExistent Remove="@(_MSBuildProjectReferenceExistent)" Condition="'%(_MSBuildProjectReferenceExistent.SkipGetTargetFrameworkProperties)' != 'true'" />
6045 <_MSBuildProjectReferenceExistent Include="@(AnnotatedProjects)" />
6046 </ItemGroup>
6047 </Target>
6048 <Target Name="GetTargetFrameworks" DependsOnTargets="GetTargetFrameworksWithPlatformForSingleTargetFramework" Returns="@(_ThisProjectBuildMetadata)">
6049 <MSBuildInternalMessage Condition="'$(IsCrossTargetingBuild)' == 'true'" ResourceName="CommonSdk.CrossTargetingGetTargetFrameworks" Severity="Error" />
6050 <CombineXmlElements RootElementName="AdditionalProjectProperties" XmlElements="@(_TargetFrameworkInfo->'%(AdditionalPropertiesFromProject)')">
6051 <Output TaskParameter="Result" PropertyName="_AdditionalPropertiesFromProject" />
6052 </CombineXmlElements>
6053 <ItemGroup>
6054 <_ThisProjectBuildMetadata Include="$(MSBuildProjectFullPath)">
6055 <TargetFrameworks>@(_TargetFrameworkInfo)</TargetFrameworks>
6056 <TargetFrameworkMonikers>@(_TargetFrameworkInfo->'%(TargetFrameworkMonikers)')</TargetFrameworkMonikers>
6057 <TargetPlatformMonikers>@(_TargetFrameworkInfo->'%(TargetPlatformMonikers)')</TargetPlatformMonikers>
6058 <AdditionalPropertiesFromProject>$(_AdditionalPropertiesFromProject)</AdditionalPropertiesFromProject>
6059 <HasSingleTargetFramework>true</HasSingleTargetFramework>
6060 <IsRidAgnostic>@(_TargetFrameworkInfo->'%(IsRidAgnostic)')</IsRidAgnostic>
6061 <!-- Extract necessary information for SetPlatform negotiation -->
6062 <IsVcxOrNativeProj Condition="'$(MSBuildProjectExtension)' == '.vcxproj' or '$(MSBuildProjectExtension)' == '.nativeproj'">true</IsVcxOrNativeProj>
6063 <Platform>$(Platform)</Platform>
6064 <Platforms>$(Platforms)</Platforms>
6065 <!-- .vcxproj and .nativeproj contain a `ProjectConfiguration` item that have `Platform` metadata within.
6066 Build the `Platforms` property from that. -->
6067 <Platforms Condition="'$(UsePlatformFromProjectConfiguration)' != 'false' and '@(ProjectConfiguration)' != '' and ('$(MSBuildProjectExtension)' == '.vcxproj' or '$(MSBuildProjectExtension)' == '.nativeproj')">@(ProjectConfiguration-&gt;'%(Platform)'-&gt;Distinct())</Platforms>
6068 </_ThisProjectBuildMetadata>
6069 </ItemGroup>
6070 </Target>
6071 <Target Name="GetTargetFrameworksWithPlatformForSingleTargetFramework" Returns="@(_TargetFrameworkInfo)">
6072 <ItemGroup>
6073 <_AdditionalTargetFrameworkInfoPropertyWithValue Include="@(AdditionalTargetFrameworkInfoProperty)">
6074 <Value>$(%(AdditionalTargetFrameworkInfoProperty.Identity))</Value>
6075 </_AdditionalTargetFrameworkInfoPropertyWithValue>
6076 </ItemGroup>
6077 <PropertyGroup>
6078 <_UseAttributeForTargetFrameworkInfoPropertyNames Condition="'$(_UseAttributeForTargetFrameworkInfoPropertyNames)' == ''">false</_UseAttributeForTargetFrameworkInfoPropertyNames>
6079 </PropertyGroup>
6080 <CombineTargetFrameworkInfoProperties RootElementName="$(TargetFramework)" PropertiesAndValues="@(_AdditionalTargetFrameworkInfoPropertyWithValue)" UseAttributeForTargetFrameworkInfoPropertyNames="$(_UseAttributeForTargetFrameworkInfoPropertyNames)">
6081 <Output TaskParameter="Result" PropertyName="_AdditionalTargetFrameworkInfoProperties" />
6082 </CombineTargetFrameworkInfoProperties>
6083 <ItemGroup>
6084 <_TargetFrameworkInfo Include="$(TargetFramework)">
6085 <TargetFrameworks>$(TargetFramework)</TargetFrameworks>
6086 <TargetFrameworkMonikers>$(TargetFrameworkMoniker)</TargetFrameworkMonikers>
6087 <TargetPlatformMonikers>$(TargetPlatformMoniker)</TargetPlatformMonikers>
6088 <TargetPlatformMonikers Condition="'$(TargetPlatformMoniker)' == ''">None</TargetPlatformMonikers>
6089 <AdditionalPropertiesFromProject>$(_AdditionalTargetFrameworkInfoProperties)</AdditionalPropertiesFromProject>
6090 <!-- Determine whether a project is "RID agnostic" for each TargetFramework. "RID agnostic" means that global properties such as
6091 SelfContained and RuntimeIdentifier should not flow across project references. The IsRidAgnostic metadata value is consumed in the
6092 _GetProjectReferenceTargetFrameworkProperties target, where those properties are added to a project's UndefineProperties if
6093 IsRidAgnostic is set.
6094
6095 Generally we set the IsRidAgnostic metadata based on the IsRidAgnostic property set by the .NET SDK. If that's not set, then the
6096 fallback logic here will be that the project is RID agnostic if it doesn't have RuntimeIdentifier or RuntimeIdentifiers properties set. -->
6097 <IsRidAgnostic>$(IsRidAgnostic)</IsRidAgnostic>
6098 <IsRidAgnostic Condition=" '%(IsRidAgnostic)' == '' and '$(RuntimeIdentifier)' == '' and '$(RuntimeIdentifiers)' == '' ">true</IsRidAgnostic>
6099 <IsRidAgnostic Condition=" '%(IsRidAgnostic)' == ''">false</IsRidAgnostic>
6100 </_TargetFrameworkInfo>
6101 </ItemGroup>
6102 </Target>
6103 <!--
6104 ============================================================
6105 GetTargetFrameworkProperties
6106
6107 OBSOLETE: present only for theoretical backward compatibility.
6108 -->
6109 <Target Name="GetTargetFrameworkProperties" />
6110 <!--
6111 ============================================================
6112 PrepareProjectReferences
6113
6114 Prepares project references for consumption by other targets.
6115
6116 [IN]
6117 @(ProjectReference) - The list of project references.
6118
6119 [OUT]
6120 @(ProjectReferenceWithConfiguration) - Project references with apporpriate metadata
6121 @(_MSBuildProjectReferenceExistent) - Subset of @(ProjectReferenceWithConfiguration) that exist
6122 with added SetTargetFramework metadata for cross-targeting
6123 @(_MSBuildProjectReferenceNonExistent) - Subset of @(ProjectReferenceWithConfiguration) that do not exist
6124 ============================================================
6125 -->
6126 <PropertyGroup>
6127 <PrepareProjectReferencesDependsOn>
6128 AssignProjectConfiguration;
6129 _SplitProjectReferencesByFileExistence;
6130 _GetProjectReferenceTargetFrameworkProperties;
6131 _GetProjectReferencePlatformProperties
6132 </PrepareProjectReferencesDependsOn>
6133 </PropertyGroup>
6134 <Target Name="PrepareProjectReferences" DependsOnTargets="$(PrepareProjectReferencesDependsOn)" />
6135 <!--
6136 ============================================================
6137 ResolveProjectReferences
6138
6139 Build referenced projects:
6140
6141 [IN]
6142 @(ProjectReferenceWithConfiguration) - The list of project references.
6143
6144 [OUT]
6145 @(_ResolvedNativeProjectReferencePaths) - Paths to referenced native projects.
6146 @(_ResolvedProjectReferencePaths) - Paths to referenced managed projects.
6147 ============================================================
6148 -->
6149 <!-- By default, the outputs of project references are passed to the compiler -->
6150 <ItemDefinitionGroup>
6151 <ProjectReference>
6152 <!-- Target to build in the project reference; by default, this property is blank, indicating the default targets-->
6153 <Targets>$(ProjectReferenceBuildTargets)</Targets>
6154 <!-- Extra item type to emit outputs of the destination into. Defaults to blank. To emit only into this list, set the ReferenceOutputAssembly metadata to false as well. -->
6155 <OutputItemType />
6156 <ReferenceSourceTarget>ProjectReference</ReferenceSourceTarget>
6157 </ProjectReference>
6158 </ItemDefinitionGroup>
6159 <Target Name="ResolveProjectReferences" DependsOnTargets="PrepareProjectReferences" Returns="@(_ResolvedNativeProjectReferencePaths);@(_ResolvedProjectReferencePaths)">
6160 <!--
6161 When building this project from the IDE, just gather the referenced build outputs.
6162 The IDE will already have built the project, so there's no need to do it again here.
6163
6164 The ContinueOnError setting is here so that, during project load, as
6165 much information as possible will be passed to the compilers.
6166 -->
6167 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="GetTargetPath" BuildInParallel="$(BuildInParallel)" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework)" Condition="'%(_MSBuildProjectReferenceExistent.BuildReference)' == 'true' and '@(ProjectReferenceWithConfiguration)' != '' and ('$(BuildingInsideVisualStudio)' == 'true' or '$(BuildProjectReferences)' != 'true') and '$(VisualStudioVersion)' != '10.0' and '@(_MSBuildProjectReferenceExistent)' != ''" ContinueOnError="!$(BuildingProject)" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences)">
6168 <Output TaskParameter="TargetOutputs" ItemName="_ResolvedProjectReferencePaths" Condition="'%(_MSBuildProjectReferenceExistent.ReferenceOutputAssembly)'=='true'" />
6169 <Output TaskParameter="TargetOutputs" ItemName="%(_MSBuildProjectReferenceExistent.OutputItemType)" Condition="'%(_MSBuildProjectReferenceExistent.OutputItemType)' != ''" />
6170 </MSBuild>
6171 <!--
6172 Build referenced projects when building from the command line.
6173 -->
6174 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="%(_MSBuildProjectReferenceExistent.Targets)" BuildInParallel="$(BuildInParallel)" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework)" Condition="'%(_MSBuildProjectReferenceExistent.BuildReference)' == 'true' and '@(ProjectReferenceWithConfiguration)' != '' and '$(BuildingInsideVisualStudio)' != 'true' and '$(BuildProjectReferences)' == 'true' and '@(_MSBuildProjectReferenceExistent)' != ''" ContinueOnError="$(ContinueOnError)" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences)">
6175 <Output TaskParameter="TargetOutputs" ItemName="_ResolvedProjectReferencePaths" Condition="'%(_MSBuildProjectReferenceExistent.ReferenceOutputAssembly)'=='true' or '$(DesignTimeBuild)' == 'true'" />
6176 <Output TaskParameter="TargetOutputs" ItemName="%(_MSBuildProjectReferenceExistent.OutputItemType)" Condition="'%(_MSBuildProjectReferenceExistent.OutputItemType)' != ''" />
6177 </MSBuild>
6178 <!--
6179 Get manifest items from the (non-exe) built project references (to feed them into ResolveNativeReference).
6180 -->
6181 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="GetNativeManifest" BuildInParallel="$(BuildInParallel)" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework)" Condition="'%(_MSBuildProjectReferenceExistent.BuildReference)' == 'true' and '@(ProjectReferenceWithConfiguration)' != '' and '$(BuildingProject)' == 'true' and '@(_MSBuildProjectReferenceExistent)' != ''" ContinueOnError="$(ContinueOnError)" SkipNonexistentTargets="true" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences)">
6182 <Output TaskParameter="TargetOutputs" ItemName="NativeReference" Condition="'%(_MSBuildProjectReferenceExistent.ReferenceOutputAssembly)' == 'true'" />
6183 </MSBuild>
6184 <ItemGroup>
6185 <_ResolvedProjectReferencePaths Remove="@(_ResolvedProjectReferencePaths)" Condition="'%(_ResolvedProjectReferencePaths.ResolveableAssembly)' == 'false'" />
6186 <!--
6187 Copy OriginalItemSpec to OriginalProjectReferenceItemSpec, so that when ResolveAssemblyReferences
6188 takes these items and resolves them to ReferencePath, we can still recover the _real_ OriginalItemSpec
6189 for the unresolved reference items.
6190 -->
6191 <_ResolvedProjectReferencePaths>
6192 <OriginalProjectReferenceItemSpec>%(_ResolvedProjectReferencePaths.OriginalItemSpec)</OriginalProjectReferenceItemSpec>
6193 </_ResolvedProjectReferencePaths>
6194 </ItemGroup>
6195 <!-- Issue a warning or error MSB9008 for each non-existent project. -->
6196 <PropertyGroup>
6197 <_NonExistentProjectReferenceSeverity Condition="'@(ProjectReferenceWithConfiguration)' != '' and '@(_MSBuildProjectReferenceNonexistent)' != '' and '$(ErrorOnMissingProjectReference)' != 'True'">Warning</_NonExistentProjectReferenceSeverity>
6198 <_NonExistentProjectReferenceSeverity Condition="'@(ProjectReferenceWithConfiguration)' != '' and '@(_MSBuildProjectReferenceNonexistent)' != '' and '$(ErrorOnMissingProjectReference)' == 'True'">Error</_NonExistentProjectReferenceSeverity>
6199 </PropertyGroup>
6200 <MSBuildInternalMessage Condition="'$(_NonExistentProjectReferenceSeverity)' != ''" ResourceName="CommonSdk.NonExistentProjectReference" Severity="$(_NonExistentProjectReferenceSeverity)" FormatArguments="@(_MSBuildProjectReferenceNonexistent->'%(Identity)')" />
6201 </Target>
6202 <Target Name="ResolveProjectReferencesDesignTime" Returns="@(_ProjectReferencesFromRAR);@(_ResolvedNativeProjectReferencePaths)" DependsOnTargets="ResolveProjectReferences;ResolveAssemblyReferences">
6203 <!-- We need to do this here because we only want project references which have passed through rar and have not been unresolved due to violating some MT rule
6204 which means we need to pull the project references out of the referencepath item because they will only exist there if they were correctly resolved.
6205 -->
6206 <ItemGroup>
6207 <_ProjectReferencesFromRAR Include="@(ReferencePath-&gt;WithMetadataValue('ReferenceSourceTarget', 'ProjectReference'))">
6208 <OriginalItemSpec>%(ReferencePath.ProjectReferenceOriginalItemSpec)</OriginalItemSpec>
6209 </_ProjectReferencesFromRAR>
6210 </ItemGroup>
6211 </Target>
6212 <Target Name="ExpandSDKReferencesDesignTime" Returns="@(ReferencesFromSDK)" DependsOnTargets="ExpandSDKReferences" />
6213 <!--
6214 ============================================================
6215 GetTargetPath
6216
6217 This target returns an item containing the build product (i.e. EXE, DLL)
6218 that would be produced if we built this project, with some relevant
6219 metadata.
6220 ============================================================
6221 -->
6222 <Target Name="GetTargetPath" DependsOnTargets="$(GetTargetPathDependsOn)" Returns="@(TargetPathWithTargetPlatformMoniker)" />
6223 <!--
6224 ============================================================
6225 GetTargetPathWithTargetPlatformMoniker
6226
6227 This stand-alone target returns the name and version of the target platform for this project.
6228
6229 NOTE: The ProjectReference protocol uses only GetTargetPath. Computing the item
6230 in this target allows projects to override GetTargetPath without having to reimplement
6231 the details of the metadata computation.
6232 ============================================================
6233 -->
6234 <PropertyGroup>
6235 <GetTargetPathWithTargetPlatformMonikerDependsOn>$(GetTargetPathDependsOn)</GetTargetPathWithTargetPlatformMonikerDependsOn>
6236 </PropertyGroup>
6237 <!--NOTE: since an overridden GetTargetPath might not include a DependsOn
6238 for this target, it's safer to establish the dependency here with a
6239 BeforeTargets. -->
6240 <Target Name="GetTargetPathWithTargetPlatformMoniker" BeforeTargets="GetTargetPath" DependsOnTargets="$(GetTargetPathWithTargetPlatformMonikerDependsOn)" Returns="@(TargetPathWithTargetPlatformMoniker)">
6241 <ItemGroup>
6242 <TargetPathWithTargetPlatformMoniker Include="$(TargetPath)">
6243 <TargetPlatformMoniker>$(TargetPlatformMoniker)</TargetPlatformMoniker>
6244 <TargetPlatformIdentifier>$(TargetPlatformIdentifier)</TargetPlatformIdentifier>
6245 <TargetFrameworkIdentifier>$(TargetFrameworkIdentifier)</TargetFrameworkIdentifier>
6246 <TargetFrameworkVersion>$(TargetFrameworkVersion.TrimStart('vV'))</TargetFrameworkVersion>
6247 <ReferenceAssembly Condition="'$(ProduceReferenceAssembly)' == 'true'">$(TargetRefPath)</ReferenceAssembly>
6248 <CopyUpToDateMarker>@(CopyUpToDateMarker)</CopyUpToDateMarker>
6249 </TargetPathWithTargetPlatformMoniker>
6250 </ItemGroup>
6251 </Target>
6252 <!--
6253 ============================================================
6254 GetNativeManifest
6255
6256 Compute the manifest item for this project.
6257
6258 [IN]
6259 $(_DeploymentApplicationManifestIdentity) - the manifest identity
6260 @(ApplicationManifest) - the original application manifest item
6261
6262 [OUT]
6263 @(ComputedApplicationManifest) - application manifest item with full hint path, if generated
6264 ============================================================
6265 -->
6266 <Target Name="GetNativeManifest" Returns="@(ComputedApplicationManifest)">
6267 <ItemGroup>
6268 <ComputedApplicationManifest Include="$(_DeploymentApplicationManifestIdentity)" Condition="'$(OutputType)'!='winexe' and '$(OutputType)'!='exe' and '$(OutputType)'!='appcontainerexe' and Exists('%(_ApplicationManifestFinal.FullPath)')">
6269 <HintPath>%(_ApplicationManifestFinal.FullPath)</HintPath>
6270 </ComputedApplicationManifest>
6271 </ItemGroup>
6272 </Target>
6273 <!--
6274 ============================================================
6275 ResolveNativeReferences
6276
6277 Resolve native references
6278
6279 [IN]
6280 @(NativeReference) - The manifest reference (or list of manifest references)
6281
6282 [OUT]
6283 @(NativeReferenceFile) - List of manifest files referenced.
6284 @(_DeploymentNativePrerequisite) - List of native assembly prerequisites contained in the manifest.
6285 @(ComClassReference) - List of COM components contained in the manifest.
6286 @(COMReferenceFromNative) List of type libraries contained in the manifest.
6287 @(COMFileReference) - List of loose files contained in the manifest.
6288 @(_DeploymentLooseManifestFile) - List of extra files that should be published.
6289 ============================================================
6290 -->
6291 <Target Name="ResolveNativeReferences" Condition="'@(NativeReference)'!=''" DependsOnTargets="ResolveProjectReferences">
6292 <ResolveNativeReference NativeReferences="@(NativeReference)" AdditionalSearchPaths="$(ReferencePath);$(OutDir)">
6293 <Output TaskParameter="ContainingReferenceFiles" ItemName="NativeReferenceFile" />
6294 <Output TaskParameter="ContainedPrerequisiteAssemblies" ItemName="_DeploymentNativePrerequisite" />
6295 <Output TaskParameter="ContainedComComponents" ItemName="ComClassReference" />
6296 <Output TaskParameter="ContainedTypeLibraries" ItemName="COMReferenceFromNative" />
6297 <Output TaskParameter="ContainedLooseTlbFiles" ItemName="COMFileReference" />
6298 <Output TaskParameter="ContainedLooseEtcFiles" ItemName="_DeploymentLooseManifestFile" />
6299 </ResolveNativeReference>
6300 </Target>
6301 <!--
6302 ============================================================
6303
6304 ResolveAssemblyReferences
6305
6306 Given the list of assemblies, find the closure of all assemblies that they depend on. These are
6307 what we need to copy to the output directory.
6308
6309 [IN]
6310 @(Reference) - List of assembly references as fusion names.
6311 @(_ResolvedProjectReferencePaths) - List of project references produced by projects that this project depends on.
6312
6313 The 'Private' attribute on the reference corresponds to the Copy Local flag in IDE.
6314 The 'Private' flag can have three possible values:
6315 - 'True' means the reference should be Copied Local
6316 - 'False' means the reference should not be Copied Local
6317 - [Missing] means this task will decide whether to treat this reference as CopyLocal or not.
6318
6319 [OUT]
6320 @(ReferencePath) - Paths to resolved primary files.
6321 @(ReferenceDependencyPaths) - Paths to resolved dependency files.
6322 @(_ReferenceRelatedPaths) - Paths to .xmls and .pdbs.
6323 @(ReferenceSatellitePaths) - Paths to satellites.
6324 @(_ReferenceSerializationAssemblyPaths) - Paths to XML serialization assemblies created by sgen.
6325 @(_ReferenceScatterPaths) - Paths to scatter files.
6326 @(ReferenceCopyLocalPaths) - Paths to files that should be copied to the local directory.
6327 ============================================================
6328 -->
6329 <PropertyGroup>
6330 <ResolveAssemblyReferencesDependsOn>
6331 ResolveProjectReferences;
6332 FindInvalidProjectReferences;
6333 GetFrameworkPaths;
6334 GetReferenceAssemblyPaths;
6335 PrepareForBuild;
6336 ResolveSDKReferences;
6337 ExpandSDKReferences;
6338 </ResolveAssemblyReferencesDependsOn>
6339 </PropertyGroup>
6340 <Target Name="ResolveAssemblyReferences" Returns="@(ReferencePath)" DependsOnTargets="$(ResolveAssemblyReferencesDependsOn)">
6341 <ItemGroup>
6342 <_ReferenceInstalledAssemblyDirectory Include="$(TargetFrameworkDirectory)" />
6343 <_ReferenceInstalledAssemblySubsets Include="$(TargetFrameworkSubset)" />
6344 </ItemGroup>
6345 <!--
6346 Only read and write cache file at build time, skip it for load time because its more
6347 expensive to write the newly created cache file.
6348 -->
6349 <PropertyGroup>
6350 <ResolveAssemblyReferencesStateFile Condition="'$(DisableRarCache)'!='true' and '$(ResolveAssemblyReferencesStateFile)' == ''">$(IntermediateOutputPath)$(MSBuildProjectFile).AssemblyReference.cache</ResolveAssemblyReferencesStateFile>
6351 </PropertyGroup>
6352 <PropertyGroup>
6353 <AllowResolveAssemblyReferencesOutOfProcNode Condition="'$(AllowResolveAssemblyReferencesOutOfProcNode)' == ''">false</AllowResolveAssemblyReferencesOutOfProcNode>
6354 </PropertyGroup>
6355 <!-- Make an App.Config item that exists when AutoUnify is false. -->
6356 <ItemGroup>
6357 <_ResolveAssemblyReferencesApplicationConfigFileForExes Include="@(AppConfigWithTargetPath)" Condition="'$(AutoGenerateBindingRedirects)'=='true' or '$(AutoUnifyAssemblyReferences)'=='false'" />
6358 </ItemGroup>
6359 <PropertyGroup>
6360 <!-- Default in task is true -->
6361 <_FindDependencies Condition="'$(BuildingProject)' != 'true' and '$(_ResolveReferenceDependencies)' != 'true'">false</_FindDependencies>
6362 <ResolveAssemblyReferencesSilent Condition="'$(ResolveAssemblyReferencesSilent)' == '' and '$(TraceDesignTime)' != 'true' and '$(BuildingProject)' == 'false'">true</ResolveAssemblyReferencesSilent>
6363 <ResolveAssemblyReferencesSilent Condition="'$(ResolveAssemblyReferencesSilent)' == ''">false</ResolveAssemblyReferencesSilent>
6364 <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch Condition="'$(ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch)' == ''">Warning</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
6365 <ResolveAssemblyReferencesFindRelatedSatellites Condition="'$(ResolveAssemblyReferencesFindRelatedSatellites)' == ''">$(BuildingProject)</ResolveAssemblyReferencesFindRelatedSatellites>
6366 <ResolveAssemblyReferencesFindSerializationAssemblies Condition="'$(ResolveAssemblyReferencesFindSerializationAssemblies)' == ''">$(BuildingProject)</ResolveAssemblyReferencesFindSerializationAssemblies>
6367 <ResolveAssemblyReferencesFindRelatedFiles Condition="'$(ResolveAssemblyReferencesFindRelatedFiles)' == ''">$(BuildingProject)</ResolveAssemblyReferencesFindRelatedFiles>
6368 <ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts Condition="'$(ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts)' == ''">false</ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts>
6369 </PropertyGroup>
6370 <ItemGroup>
6371 <!-- Remove any references which we have added as explicit reference so that we do not get duplicates. We need to make sure we do not have duplicates
6372 because this confuses the IDE when it tries to compare the list of references passed in to the list of resolved references. If it does not match then the
6373 ide will show one of the references as not resolved, this will not break the build but is a display issue -->
6374 <Reference Remove="$(AdditionalExplicitAssemblyReferences)" />
6375 <Reference Include="$(AdditionalExplicitAssemblyReferences)">
6376 <Implicit>true</Implicit>
6377 </Reference>
6378 </ItemGroup>
6379 <!--Converts string property NonCultureResourceDirectories to array if present. NonCultureResourceDirectories defines exclusions for the custom cultures. -->
6380 <ItemGroup Condition="'$(NonCultureResourceDirectories)' != ''">
6381 <NonCultureResourceDirectory Include="$(NonCultureResourceDirectories)" />
6382 </ItemGroup>
6383 <PropertyGroup Condition="'$(EnableCustomCulture)' == ''">
6384 <EnableCustomCulture>false</EnableCustomCulture>
6385 </PropertyGroup>
6386 <!--
6387 Normally, as an optimization, finding dependencies of references marked with ExternallyResolved=true metadata is skipped.
6388 However, skipping that step breaks binding redirect generation when there are conflicting versions within the externally
6389 resolved graph.
6390 -->
6391 <PropertyGroup Condition="'$(FindDependenciesOfExternallyResolvedReferences)' == ''">
6392 <FindDependenciesOfExternallyResolvedReferences>false</FindDependenciesOfExternallyResolvedReferences>
6393 <FindDependenciesOfExternallyResolvedReferences Condition="'$(AutoGenerateBindingRedirects)' == 'true'">true</FindDependenciesOfExternallyResolvedReferences>
6394 </PropertyGroup>
6395 <ResolveAssemblyReference Assemblies="@(Reference)" AssemblyFiles="@(_ResolvedProjectReferencePaths);@(_ExplicitReference)" TargetFrameworkDirectories="@(_ReferenceInstalledAssemblyDirectory)" InstalledAssemblyTables="@(InstalledAssemblyTables);@(RedistList)" IgnoreDefaultInstalledAssemblyTables="$(IgnoreDefaultInstalledAssemblyTables)" IgnoreDefaultInstalledAssemblySubsetTables="$(IgnoreInstalledAssemblySubsetTables)" CandidateAssemblyFiles="@(Content);@(None)" SearchPaths="$(AssemblySearchPaths)" AllowedAssemblyExtensions="$(AllowedReferenceAssemblyFileExtensions)" AllowedRelatedFileExtensions="$(AllowedReferenceRelatedFileExtensions)" TargetProcessorArchitecture="$(ProcessorArchitecture)" AppConfigFile="@(_ResolveAssemblyReferencesApplicationConfigFileForExes)" AutoUnify="$(AutoUnifyAssemblyReferences)" SupportsBindingRedirectGeneration="$(GenerateBindingRedirectsOutputType)" IgnoreVersionForFrameworkReferences="$(IgnoreVersionForFrameworkReferences)" FindDependencies="$(_FindDependencies)" FindSatellites="$(ResolveAssemblyReferencesFindRelatedSatellites)" FindSerializationAssemblies="$(ResolveAssemblyReferencesFindSerializationAssemblies)" FindRelatedFiles="$(ResolveAssemblyReferencesFindRelatedFiles)" Silent="$(ResolveAssemblyReferencesSilent)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetFrameworkMonikerDisplayName="$(TargetFrameworkMonikerDisplayName)" TargetedRuntimeVersion="$(TargetedRuntimeVersion)" StateFile="$(ResolveAssemblyReferencesStateFile)" AssemblyInformationCachePaths="$(AssemblyInformationCachePaths)" AssemblyInformationCacheOutputPath="$(AssemblyInformationCacheOutputPath)" InstalledAssemblySubsetTables="@(InstalledAssemblySubsetTables)" TargetFrameworkSubsets="@(_ReferenceInstalledAssemblySubsets)" FullTargetFrameworkSubsetNames="$(FullReferenceAssemblyNames)" FullFrameworkFolders="$(_FullFrameworkReferenceAssemblyPaths)" FullFrameworkAssemblyTables="@(FullFrameworkAssemblyTables)" ProfileName="$(TargetFrameworkProfile)" LatestTargetFrameworkDirectories="@(LatestTargetFrameworkDirectories)" CopyLocalDependenciesWhenParentReferenceInGac="$(CopyLocalDependenciesWhenParentReferenceInGac)" DoNotCopyLocalIfInGac="$(DoNotCopyLocalIfInGac)" ResolvedSDKReferences="@(ResolvedSDKReference)" WarnOrErrorOnTargetArchitectureMismatch="$(ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch)" IgnoreTargetFrameworkAttributeVersionMismatch="$(ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch)" FindDependenciesOfExternallyResolvedReferences="$(FindDependenciesOfExternallyResolvedReferences)" ContinueOnError="$(ContinueOnError)" OutputUnresolvedAssemblyConflicts="$(ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts)" NonCultureResourceDirectories="@(NonCultureResourceDirectory)" EnableCustomCulture="$(EnableCustomCulture)" AllowOutOfProcNode="$(AllowResolveAssemblyReferencesOutOfProcNode)" Condition="'@(Reference)'!='' or '@(_ResolvedProjectReferencePaths)'!='' or '@(_ExplicitReference)' != ''">
6396 <Output TaskParameter="ResolvedFiles" ItemName="ReferencePath" />
6397 <Output TaskParameter="ResolvedFiles" ItemName="_ResolveAssemblyReferenceResolvedFiles" />
6398 <Output TaskParameter="ResolvedDependencyFiles" ItemName="ReferenceDependencyPaths" />
6399 <Output TaskParameter="RelatedFiles" ItemName="_ReferenceRelatedPaths" />
6400 <Output TaskParameter="SatelliteFiles" ItemName="ReferenceSatellitePaths" />
6401 <Output TaskParameter="SerializationAssemblyFiles" ItemName="_ReferenceSerializationAssemblyPaths" />
6402 <Output TaskParameter="ScatterFiles" ItemName="_ReferenceScatterPaths" />
6403 <Output TaskParameter="CopyLocalFiles" ItemName="ReferenceCopyLocalPaths" />
6404 <Output TaskParameter="SuggestedRedirects" ItemName="SuggestedBindingRedirects" />
6405 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
6406 <Output TaskParameter="DependsOnSystemRuntime" PropertyName="DependsOnSystemRuntime" />
6407 <Output TaskParameter="DependsOnNETStandard" PropertyName="_DependsOnNETStandard" />
6408 <Output TaskParameter="UnresolvedAssemblyConflicts" ItemName="ResolveAssemblyReferenceUnresolvedAssemblyConflicts" />
6409 </ResolveAssemblyReference>
6410 </Target>
6411 <!--
6412 ============================================================
6413
6414 FindReferenceAssembliesForReferences
6415
6416 Given the list of references, create a list of assemblies to pass to the compiler that
6417 includes reference assemblies rather than implementation assemblies where possible.
6418
6419 [IN]
6420 @(ReferencePath) - List of assembly references as resolved paths with ReferenceAssembly metadata
6421
6422 [OUT]
6423 @(ReferencePathWithRefAssemblies) - Paths to resolved reference (or implementation) assemblies.
6424 ============================================================
6425 -->
6426 <Target Name="FindReferenceAssembliesForReferences" DependsOnTargets="ResolveReferences">
6427 <ItemGroup>
6428 <!-- Reference assemblies are not produced in all cases, but it's easier to consume them
6429 if this metadatum is always populated. Ensure that it points to the implementation
6430 assembly unless already specified. -->
6431 <ReferencePath Condition="'%(ReferencePath.ReferenceAssembly)' == ''">
6432 <ReferenceAssembly>%(FullPath)</ReferenceAssembly>
6433 </ReferencePath>
6434 <ReferencePathWithRefAssemblies Include="@(ReferencePath->'%(ReferenceAssembly)')" Condition="'$(CompileUsingReferenceAssemblies)' != 'false'">
6435 <OriginalPath Condition="'%(ReferencePath.Identity)' != '@(ReferencePath->'%(ReferenceAssembly)')'">%(ReferencePath.Identity)</OriginalPath>
6436 </ReferencePathWithRefAssemblies>
6437 <ReferencePathWithRefAssemblies Include="@(ReferencePath)" Condition="'$(CompileUsingReferenceAssemblies)' == 'false'" />
6438 </ItemGroup>
6439 </Target>
6440 <!--
6441 ====================================================================================================
6442
6443 GenerateBindingRedirects
6444 Inject the binding redirects into the app config file based on suggested redirects as output from
6445 ResolveAssemblyReferences.
6446
6447 [IN]
6448 @(AppConfigWithTargetPath) - Path to the source app config file. This can be null if the project
6449 doesn't contain an app config file.
6450 $(TargetFileName) - The file name of the build target.
6451
6452 [OUT]
6453 @(OutputAppConfigFile) - Path to the output app config file in the intermediate directory.
6454
6455 ====================================================================================================
6456 -->
6457 <Target Name="GenerateBindingRedirects" Inputs="$(MSBuildAllProjects);@(AppConfigWithTargetPath);$(SuggestedBindingRedirectsCacheFile)" Outputs="$(_GenerateBindingRedirectsIntermediateAppConfig)" Condition="'$(AutoGenerateBindingRedirects)' == 'true' and '$(GenerateBindingRedirectsOutputType)' == 'true' and '@(SuggestedBindingRedirects)' != '' and '$(DesignTimeBuild)' != 'true' and '$(BuildingProject)' == 'true'" DependsOnTargets="_GenerateSuggestedBindingRedirectsCache">
6458 <GenerateBindingRedirects AppConfigFile="@(AppConfigWithTargetPath)" TargetName="$(TargetFileName).config" OutputAppConfigFile="$(_GenerateBindingRedirectsIntermediateAppConfig)" SuggestedRedirects="@(SuggestedBindingRedirects)" />
6459 <ItemGroup>
6460 <FileWrites Include="$(_GenerateBindingRedirectsIntermediateAppConfig)" />
6461 </ItemGroup>
6462 </Target>
6463 <!--
6464 ====================================================================================================
6465
6466 GenerateBindingRedirectsUpdateAppConfig
6467 Updates the project to use the generated app.config content. This needs to run regardless of
6468 inputs/outputs so it is seperate from GenerateBindingRedirects.
6469 ====================================================================================================
6470 -->
6471 <Target Name="GenerateBindingRedirectsUpdateAppConfig" Condition="'$(AutoGenerateBindingRedirects)' == 'true' and '$(GenerateBindingRedirectsOutputType)' == 'true'">
6472 <PropertyGroup>
6473 <_NewGenerateBindingRedirectsIntermediateAppConfig Condition="Exists('$(_GenerateBindingRedirectsIntermediateAppConfig)')">true</_NewGenerateBindingRedirectsIntermediateAppConfig>
6474 <AppConfig Condition="$(_NewGenerateBindingRedirectsIntermediateAppConfig) == 'true'">$(_GenerateBindingRedirectsIntermediateAppConfig)</AppConfig>
6475 </PropertyGroup>
6476 <ItemGroup Condition="$(_NewGenerateBindingRedirectsIntermediateAppConfig) == 'true'">
6477 <AppConfigWithTargetPath Remove="@(AppConfigWithTargetPath)" />
6478 <AppConfigWithTargetPath Include="$(AppConfig)">
6479 <TargetPath>$(TargetFileName).config</TargetPath>
6480 </AppConfigWithTargetPath>
6481 </ItemGroup>
6482 </Target>
6483 <!--
6484 ===========================================================================================
6485 GetInstalledSDKs
6486
6487 Gets the list of SDKs installed in the SDKDirectoryRoot and SDKRegistryRoot locations
6488
6489 These paths are used by the ResolveSDKReference task and the ResolveAssemblyReference task.
6490 ===========================================================================================
6491 -->
6492 <PropertyGroup>
6493 <SDKReferenceRegistryRoot Condition="'$(SDKReferenceRegistryRoot)' == ''">Software\Microsoft\Microsoft SDKs</SDKReferenceRegistryRoot>
6494 <SDKReferenceDirectoryRoot Condition="'$(SDKReferenceDirectoryRoot)' == ''">$(LocalAppData)\Microsoft SDKs;$(MSBuildProgramFiles32)\Microsoft SDKs</SDKReferenceDirectoryRoot>
6495 <!-- Manifest driven extension SDK locations -->
6496 <SDKExtensionDirectoryRoot Condition="'$(SDKExtensionDirectoryRoot)' == '' and '$(SDKIdentifier)' != ''">$(MSBuildProgramFiles32)\Microsoft SDKs\Windows Kits\10;$(WindowsKitsRoot)</SDKExtensionDirectoryRoot>
6497 <!-- UAP projects by default should support Windows 8.1 SDKs -->
6498 <SupportWindows81SDKs Condition="'$(SupportWindows81SDKs)' == '' and '$(Support81SDKs)' != 'false' and '$(TargetPlatformIdentifier)' == 'UAP'">true</SupportWindows81SDKs>
6499 <TargetPlatformIdentifierWindows81 Condition="'$(TargetPlatformIdentifierWindows81)' == '' and '$(SupportWindows81SDKs)' == 'true'">Windows</TargetPlatformIdentifierWindows81>
6500 <TargetPlatformVersionWindows81 Condition="'$(TargetPlatformVersionWindows81)' == '' and '$(SupportWindows81SDKs)' == 'true'">8.1</TargetPlatformVersionWindows81>
6501 <!-- Desktop and phone SDKs often have the exact same identifiers, don't enable phone by default -->
6502 <SupportWindowsPhone81SDKs Condition="'$(SupportWindowsPhone81SDKs)' == '' and '$(Support81SDKs)' != 'false' and '$(TargetPlatformIdentifier)' == 'UAP'">false</SupportWindowsPhone81SDKs>
6503 <TargetPlatformIdentifierWindowsPhone81 Condition="'$(TargetPlatformIdentifierWindowsPhone81)' == '' and '$(SupportWindowsPhone81SDKs)' == 'true'">WindowsPhoneApp</TargetPlatformIdentifierWindowsPhone81>
6504 <TargetPlatformVersionWindowsPhone81 Condition="'$(TargetPlatformVersionWindowsPhone81)' == '' and '$(SupportWindowsPhone81SDKs)' == 'true'">8.1</TargetPlatformVersionWindowsPhone81>
6505 </PropertyGroup>
6506 <Target Name="GetInstalledSDKLocations" Condition="'@(SDKReference)' != ''" DependsOnTargets="$(GetInstalledSDKLocationsDependsOn)" Returns="@(InstalledSDKLocations)">
6507 <GetInstalledSDKLocations SDKDirectoryRoots="$(SDKReferenceDirectoryRoot)" SDKExtensionDirectoryRoots="$(SDKExtensionDirectoryRoot)" SDKRegistryRoot="$(SDKReferenceRegistryRoot)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)">
6508 <Output TaskParameter="InstalledSDKs" ItemName="InstalledSDKLocations" />
6509 </GetInstalledSDKLocations>
6510 <!-- Also lookup 8.1 SDKs if requested -->
6511 <GetInstalledSDKLocations SDKDirectoryRoots="$(SDKReferenceDirectoryRoot)" SDKExtensionDirectoryRoots="" SDKRegistryRoot="$(SDKReferenceRegistryRoot)" TargetPlatformVersion="$(TargetPlatformVersionWindows81)" TargetPlatformIdentifier="$(TargetPlatformIdentifierWindows81)" Condition="'$(SupportWindows81SDKs)' == 'true' and '$(TargetPlatformIdentifierWindows81)' != '' and '$(TargetPlatformVersionWindows81)' != ''" WarnWhenNoSDKsFound="false">
6512 <Output TaskParameter="InstalledSDKs" ItemName="InstalledSDKLocations" />
6513 </GetInstalledSDKLocations>
6514 <GetInstalledSDKLocations SDKDirectoryRoots="$(SDKReferenceDirectoryRoot)" SDKExtensionDirectoryRoots="" SDKRegistryRoot="$(SDKReferenceRegistryRoot)" TargetPlatformVersion="$(TargetPlatformVersionWindowsPhone81)" TargetPlatformIdentifier="$(TargetPlatformIdentifierWindowsPhone81)" Condition="'$(SupportWindowsPhone81SDKs)' == 'true' and '$(TargetPlatformIdentifierWindowsPhone81)' != '' and '$(TargetPlatformVersionWindowsPhone81)' != ''" WarnWhenNoSDKsFound="false">
6515 <Output TaskParameter="InstalledSDKs" ItemName="InstalledSDKLocations" />
6516 </GetInstalledSDKLocations>
6517 </Target>
6518 <!--
6519 ============================================================
6520
6521 ResolveSDKReferences
6522
6523 Given a list of SDKReference items and a list of resolved winmd files which may contain metadata as to which sdk they came from
6524 we need to find the sdk root folders on disk and populate a ResolvedSDKReference item which has the full path to the SDK ROOT
6525 and the sdk identity as a piece of metadata.
6526
6527 [IN]
6528 @(SDKReference) - List of sdk references (the identity in the sdk manifest file).
6529 @(ReferencePath) -List of resolved assemblies, we are interested in the ones which have IsWinMDFile set to true.
6530
6531 [OUT]
6532 @(ResolvedSDKReference) - Full path to the root of the SDK
6533 ============================================================
6534 -->
6535 <PropertyGroup>
6536 <ResolveSDKReferencesDependsOn>
6537 GetInstalledSDKLocations
6538 </ResolveSDKReferencesDependsOn>
6539 </PropertyGroup>
6540 <PropertyGroup>
6541 <TargetedSDKConfiguration Condition="'$(TargetedSDKConfiguration)' == '' and '_$(Configuration)' == '_Debug'">Debug</TargetedSDKConfiguration>
6542 <TargetedSDKConfiguration Condition="'$(TargetedSDKConfiguration)' == '' and '_$(Configuration)' == '_Release'">Retail</TargetedSDKConfiguration>
6543 <TargetedSDKConfiguration Condition="'$(TargetedSDKConfiguration)' == ''">Retail</TargetedSDKConfiguration>
6544 <TargetedSDKArchitecture Condition="'$(TargetedSDKArchitecture)' == ''">$(ProcessorArchitecture)</TargetedSDKArchitecture>
6545 <TargetedSDKArchitecture Condition="'$(TargetedSDKArchitecture)' == ''">Neutral</TargetedSDKArchitecture>
6546 </PropertyGroup>
6547 <PropertyGroup>
6548 <ShouldMarkCertainSDKReferencesAsRuntimeOnly Condition="'$(ShouldMarkCertainSDKReferencesAsRuntimeOnly)' == ''">true</ShouldMarkCertainSDKReferencesAsRuntimeOnly>
6549 </PropertyGroup>
6550 <ItemGroup Condition="'$(ShouldMarkCertainSDKReferencesAsRuntimeOnly)' == 'true'">
6551 <!-- Dependencies that are specified as runtime-only dependencies. Therefore the associated files are not used to build Appx package. -->
6552 <!-- TODO: Do we need to do anything like this for the new SDK? -->
6553 <RuntimeReferenceOnlySDKDependencies Condition="'$(TargetPlatformVersion)' == '8.1'" Include="Microsoft.VCLibs, Version=11.0" />
6554 </ItemGroup>
6555 <Target Name="ResolveSDKReferences" Returns="@(ResolvedSDKReference)" DependsOnTargets="$(ResolveSDKReferencesDependsOn)">
6556 <ResolveSDKReference SDKReferences="@(SDKReference)" RuntimeReferenceOnlySDKDependencies="@(RuntimeReferenceOnlySDKDependencies)" References="@(Reference)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" WarnOnMissingPlatformVersion="$(SDKReferenceWarnOnMissingMaxPlatformVersion)" ProjectName="$(MSBuildProjectName)" TargetedSDKConfiguration="$(TargetedSDKConfiguration)" TargetedSDKArchitecture="$(TargetedSDKArchitecture)" InstalledSDKs="@(InstalledSDKLocations)" LogResolutionErrorsAsWarnings="$(LogSDKReferenceResolutionErrorsAsWarnings)" Prefer32Bit="$(Prefer32Bit)" ContinueOnError="$(ContinueOnError)" Condition="'@(SDKReference)'!=''">
6557 <Output TaskParameter="ResolvedSDKReferences" ItemName="ResolvedSDKReference" />
6558 </ResolveSDKReference>
6559 </Target>
6560 <Target Name="ResolveSDKReferencesDesignTime" Returns="@(ResolvedSDKReference)" DependsOnTargets="ResolveSDKReferences" />
6561 <!--
6562 ============================================================
6563
6564 FindInvalidProjectReferences
6565
6566 Find project to project references with target platform version higher than the one used by the current project and
6567 creates a list of invalid references to be unresolved. It issues a warning for each invalid reference.
6568
6569 [IN]
6570 $(TargetPlatformVersion) - Project's target platform version
6571 @(_ProjectReferenceTargetPlatformMonikers) - List of monikers of all referenced projects gathered by the helper
6572 target GetTargetPlatformMonikers.
6573
6574 [OUT]
6575 @(InvalidProjectReferences) - List of invalid project references
6576
6577 ============================================================
6578 -->
6579 <PropertyGroup>
6580 <FindInvalidProjectReferencesDependsOn>
6581 GetReferenceTargetPlatformMonikers
6582 </FindInvalidProjectReferencesDependsOn>
6583 </PropertyGroup>
6584 <Target Name="FindInvalidProjectReferences" Condition="'$(FindInvalidProjectReferences)' == 'true'" DependsOnTargets="$(FindInvalidProjectReferencesDependsOn)">
6585 <FindInvalidProjectReferences TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" ProjectReferences="@(_ProjectReferenceTargetPlatformMonikers)">
6586 <Output TaskParameter="InvalidReferences" ItemName="InvalidProjectReferences" />
6587 </FindInvalidProjectReferences>
6588 <ItemGroup>
6589 <_ResolvedProjectReferencePaths Remove="@(InvalidProjectReferences)" />
6590 </ItemGroup>
6591 </Target>
6592 <Target Name="GetReferenceTargetPlatformMonikers" DependsOnTargets="PrepareProjectReferences">
6593 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework)" Targets="GetTargetPathWithTargetPlatformMoniker" BuildInParallel="$(BuildInParallel)" ContinueOnError="!$(BuildingProject)" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences)">
6594 <Output TaskParameter="TargetOutputs" ItemName="_ProjectReferenceTargetPlatformMonikers" />
6595 </MSBuild>
6596 </Target>
6597 <ItemGroup Condition="'$(IsGraphBuild)' == 'true' and '$(FindInvalidProjectReferences)' == 'true'">
6598 <ProjectReferenceTargets Include="Build" Targets="GetTargetPathWithTargetPlatformMoniker" />
6599 </ItemGroup>
6600 <!--
6601 ============================================================
6602
6603 ExpandSDKReferences
6604
6605 After we have resolved the sdk refrence we need to make sure that we automatically include the references which are part of the SDK (both winmd and dll)
6606 as part of the assemblies passed to the compiler.
6607
6608 Project systems or project which do not want to reference all dlls or winmd files should override this target to do nothing.
6609 ============================================================
6610 -->
6611 <PropertyGroup>
6612 <ExpandSDKReferencesDependsOn>
6613 ResolveSDKReferences
6614 </ExpandSDKReferencesDependsOn>
6615 <ExpandSDKAllowedReferenceExtensions Condition="'$(ExpandSDKAllowedReferenceExtensions)' == ''">
6616 .winmd;
6617 .dll
6618 </ExpandSDKAllowedReferenceExtensions>
6619 </PropertyGroup>
6620 <Target Name="ExpandSDKReferences" Returns="@(ReferencesFromSDK)" DependsOnTargets="$(ExpandSDKReferencesDependsOn)">
6621 <GetSDKReferenceFiles ResolvedSDKReferences="@(ResolvedSDKReference)" ReferenceExtensions="$(ExpandSDKAllowedReferenceExtensions)" TargetSDKIdentifier="$(SDKIdentifier)" TargetSDKVersion="$(SDKVersion)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" TargetPlatformVersion="$(TargetPlatformVersion)" LogRedistFilesList="$(GetSDKReferenceFilesLogRedistFilesList)" LogRedistConflictWithinSDKAsWarning="$(GetSDKReferenceFilesLogRedistConflictsWithinSDKAsWarning)" LogRedistConflictBetweenSDKsAsWarning="$(GetSDKReferenceFilesLogRedistConflictsBetweenSDKsAsWarning)" LogReferencesList="$(GetSDKReferenceFilesLogReferencesList)" LogReferenceConflictWithinSDKAsWarning="$(GetSDKReferenceFilesLogReferenceConflictsWithinSDKAsWarning)" LogReferenceConflictBetweenSDKsAsWarning="$(GetSDKReferenceFilesLogReferenceConflictsBetweenSDKsAsWarning)" CacheFileFolderPath="$(GetSDKReferenceFilesCacheFolder)" LogCacheFileExceptions="$(GetSDKReferenceFilesLogCacheFileExceptions)" Condition="'@(ResolvedSDKReference)'!=''">
6622 <Output TaskParameter="References" ItemName="ReferencePath" />
6623 <Output TaskParameter="References" ItemName="ReferencesFromSDK" />
6624 <Output TaskParameter="References" ItemName="_ResolveAssemblyReferenceResolvedFiles" />
6625 <Output TaskParameter="CopyLocalFiles" ItemName="ReferenceCopyLocalPaths" />
6626 <Output TaskParameter="RedistFiles" ItemName="ResolvedRedistFiles" />
6627 </GetSDKReferenceFiles>
6628 </Target>
6629 <!--
6630 ============================================================
6631
6632 ExportWindowsMDFile
6633
6634 When a project is generating a a winmd file through c# or vb, ect the compiler will create a WinMDModule file. This file needs to be run
6635 through the winmdexp tool in order to generate the resulting WinMD file.
6636
6637 ===========================================================
6638 -->
6639 <Target Name="ExportWindowsMDFile" DependsOnTargets="Compile" Condition="'$(ExportWinMDFile)' == 'true'" Inputs="@(IntermediateAssembly);@(DocFileItem);@(_DebugSymbolsIntermediatePath);@(ReferencePathWithRefAssemblies);$(MSBuildAllProjects)" Outputs="$(_IntermediateWindowsMetadataPath);$(WinMDExpOutputPdb);$(WinMDOutputDocumentationFile)">
6640 <PropertyGroup>
6641 <!-- Will be copied by the "copy WinMD artifacts" step instead -->
6642 <CopyBuildOutputToOutputDirectory>false</CopyBuildOutputToOutputDirectory>
6643 <CopyOutputSymbolsToOutputDirectory>false</CopyOutputSymbolsToOutputDirectory>
6644 <CopyDocumentationFileToOutputDirectory>false</CopyDocumentationFileToOutputDirectory>
6645 <WinMdExpToolPath Condition="'$(WinMdExpToolPath)' == ''">$(TargetFrameworkSDKToolsDirectory)</WinMdExpToolPath>
6646 <WinMdExpUTF8Ouput Condition="'$(WinMdExpUTF8Ouput)' == ''">true</WinMdExpUTF8Ouput>
6647 </PropertyGroup>
6648 <WinMDExp WinMDModule="@(IntermediateAssembly)" References="@(ReferencePathWithRefAssemblies)" DisabledWarnings="$(WinMdExpNoWarn)" InputDocumentationFile="@(DocFileItem)" OutputDocumentationFile="$(WinMDOutputDocumentationFile)" TreatWarningsAsErrors="$(TreatWarningsAsErrors)" InputPDBFile="@(_DebugSymbolsIntermediatePath)" OutputPDBFile="$(WinMDExpOutputPdb)" OutputWindowsMetadataFile="$(_IntermediateWindowsMetadataPath)" EnvironmentVariables="$(WinMDExpEnvironment)" UTF8Output="$(WinMdExpUTF8Ouput)" SdkToolsPath="$(WinMdExpToolPath)" AssemblyUnificationPolicy="$(WinMDExpAssemblyUnificationPolicy)">
6649 <Output TaskParameter="OutputWindowsMetadataFile" ItemName="FileWrites" />
6650 </WinMDExp>
6651 <ItemGroup>
6652 <WinMDExpArtifacts Include="$(_IntermediateWindowsMetadataPath)" />
6653 <WinMDExpArtifacts Include="$(WinMDOutputDocumentationFile)" />
6654 <WinMDExpArtifacts Include="$(WinMDExpOutputPdb)" />
6655 <FileWrites Include="$(WinMDOutputDocumentationFile);$(WinMDExpOutputPdb)" />
6656 </ItemGroup>
6657 </Target>
6658 <Target Name="ResolveAssemblyReferencesDesignTime" Returns="@(_ReferencesFromRAR)" DependsOnTargets="ResolveProjectReferences;ResolveAssemblyReferences">
6659 <!-- We need to do this here because we only want references which have been passed into rar but are not project to project references. -->
6660 <ItemGroup>
6661 <_ReferencesFromRAR Include="@(ReferencePath-&gt;WithMetadataValue('ReferenceSourceTarget', 'ResolveAssemblyReference'))" />
6662 </ItemGroup>
6663 </Target>
6664 <PropertyGroup>
6665 <ProjectDesignTimeAssemblyResolutionSearchPaths Condition=" '$(ProjectDesignTimeAssemblyResolutionSearchPaths)' == '' ">
6666 {CandidateAssemblyFiles};
6667 $(ReferencePath);
6668 {HintPathFromItem};
6669 {TargetFrameworkDirectory};
6670 {Registry:$(FrameworkRegistryBase),$(TargetFrameworkVersion),$(AssemblyFoldersSuffix)$(AssemblyFoldersExConditions)};
6671 {RawFileName};
6672 $(TargetDir)
6673 </ProjectDesignTimeAssemblyResolutionSearchPaths>
6674 </PropertyGroup>
6675 <!--
6676 ==============================================================
6677
6678 DesignTimeResolveAssemblyReferences
6679
6680 Given the list of assemblies, resolve their reference paths.
6681 This target is called by Visual Studio at run time in order to filter references
6682 according to the targeted framework.
6683
6684 [IN]
6685 @(DesignTimeReference) - List of assembly references as simple/fusion names.
6686
6687 [OUT]
6688 @(ReferencePath) - Paths to resolved primary files.
6689
6690 ==============================================================
6691 -->
6692 <PropertyGroup>
6693 <DesignTimeResolveAssemblyReferencesDependsOn>
6694 GetFrameworkPaths;
6695 GetReferenceAssemblyPaths;
6696 ResolveReferences
6697 </DesignTimeResolveAssemblyReferencesDependsOn>
6698 </PropertyGroup>
6699 <Target Name="DesignTimeResolveAssemblyReferences" Condition="'$(DesignTimeReference)'!=''" DependsOnTargets="$(DesignTimeResolveAssemblyReferencesDependsOn)">
6700 <ItemGroup>
6701 <_DesignTimeReferenceInstalledAssemblyDirectory Include="$(TargetFrameworkDirectory)" />
6702 </ItemGroup>
6703 <PropertyGroup>
6704 <DesignTimeResolveAssemblyReferencesStateFile Condition="'$(DisableRarCache)'!='true'">$(IntermediateOutputPath)$(MSBuildProjectFile)DesignTimeResolveAssemblyReferences.cache</DesignTimeResolveAssemblyReferencesStateFile>
6705 </PropertyGroup>
6706 <PropertyGroup>
6707 <DesignTimeAssemblySearchPaths Condition=" '$(DesignTimeAssemblySearchPaths)' == '' ">
6708 {CandidateAssemblyFiles};
6709 $(ReferencePath);
6710 {HintPathFromItem};
6711 {TargetFrameworkDirectory};
6712 {Registry:$(FrameworkRegistryBase),$(TargetFrameworkVersion),$(AssemblyFoldersSuffix)$(AssemblyFoldersExConditions)};
6713 {RawFileName};
6714 $(OutDir)
6715 </DesignTimeAssemblySearchPaths>
6716 </PropertyGroup>
6717 <PropertyGroup>
6718 <DesignTimeFindDependencies Condition=" '$(DesignTimeFindDependencies)' == '' ">false</DesignTimeFindDependencies>
6719 <DesignTimeIgnoreVersionForFrameworkReferences Condition=" '$(DesignTimeIgnoreVersionForFrameworkReferences)' == '' ">false</DesignTimeIgnoreVersionForFrameworkReferences>
6720 <DesignTimeFindSatellites Condition=" '$(DesignTimeFindSatellites)' == '' ">false</DesignTimeFindSatellites>
6721 <DesignTimeFindSerializationAssemblies Condition=" '$(DesignTimeFindSerializationAssemblies)' == '' ">false</DesignTimeFindSerializationAssemblies>
6722 <DesignTimeFindRelatedFiles Condition=" '$(DesignTimeFindRelatedFiles)' == '' ">false</DesignTimeFindRelatedFiles>
6723 <DesignTimeSilentResolution Condition=" '$(DesignTimeSilentResolution)' == '' and '$(TraceDesignTime)' != 'true'">true</DesignTimeSilentResolution>
6724 <DesignTimeAutoUnify Condition="'$(DesignTimeAutoUnify)' == ''">false</DesignTimeAutoUnify>
6725 </PropertyGroup>
6726 <ItemGroup>
6727 <_DesignTimeReferenceAssemblies Include="$(DesignTimeReference)" />
6728 </ItemGroup>
6729 <ItemGroup>
6730 <_RARResolvedReferencePath Include="@(ReferencePath)" />
6731 <ReferencePath Remove="@(ReferencePath)" />
6732 </ItemGroup>
6733 <ResolveAssemblyReference Assemblies="@(_DesignTimeReferenceAssemblies)" TargetFrameworkDirectories="@(_DesignTimeReferenceInstalledAssemblyDirectory)" SearchPaths="$(DesignTimeAssemblySearchPaths)" AllowedAssemblyExtensions="$(AllowedReferenceAssemblyFileExtensions)" TargetProcessorArchitecture="$(ProcessorArchitecture)" CandidateAssemblyFiles="@(Content);@(None);@(_RARResolvedReferencePath)" FindDependencies="$(DesignTimeFindDependencies)" AutoUnify="$(DesignTimeAutoUnify)" IgnoreVersionForFrameworkReferences="$(DesignTimeIgnoreVersionForFrameworkReferences)" FindSatellites="$(DesignTimeFindSatellites)" FindSerializationAssemblies="$(DesignTimeFindSerializationAssemblies)" FindRelatedFiles="$(DesignTimeFindRelatedFiles)" Silent="$(DesignTimeSilentResolution)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetFrameworkMonikerDisplayName="$(TargetFrameworkMonikerDisplayName)" TargetedRuntimeVersion="$(TargetedRuntimeVersion)" StateFile="$(DesignTimeResolveAssemblyReferencesStateFile)" InstalledAssemblySubsetTables="@(InstalledAssemblySubsetTables)" IgnoreDefaultInstalledAssemblySubsetTables="$(IgnoreInstalledAssemblySubsetTables)" TargetFrameworkSubsets="@(_ReferenceInstalledAssemblySubsets)" FullTargetFrameworkSubsetNames="$(FullReferenceAssemblyNames)" FullFrameworkFolders="$(_FullFrameworkReferenceAssemblyPaths)" FullFrameworkAssemblyTables="@(FullFrameworkAssemblyTables)" ProfileName="$(TargetFrameworkProfile)" ResolvedSDKReferences="@(ResolvedSDKReference)" IgnoreTargetFrameworkAttributeVersionMismatch="$(DesignTimeIgnoreTargetFrameworkAttributeVersionMismatch)">
6734 <Output TaskParameter="ResolvedFiles" ItemName="DesignTimeReferencePath" />
6735 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
6736 </ResolveAssemblyReference>
6737 </Target>
6738 <!--
6739 ============================================================
6740 ResolveComReferences
6741
6742 Resolve COM references
6743
6744 [IN]
6745 @(COMReference) - The list of COM references
6746 $(InteropOutputPath) - The output directory in which to generate wrapper assemblies
6747 When $(InteropOutputPath) is not set, then it defaults to $(IntermediateOutputPath).
6748
6749 [OUT]
6750 @(ReferencePath) - Paths to referenced wrappers.
6751
6752 If ResolveComReferences is invoked from the IDE, PrepareForBuild may need to run to create directories.
6753 ============================================================
6754 -->
6755 <PropertyGroup>
6756 <ComReferenceExecuteAsTool Condition="'$(ComReferenceExecuteAsTool)'==''">false</ComReferenceExecuteAsTool>
6757 </PropertyGroup>
6758 <Target Name="ResolveComReferences" Condition="'@(COMReference)'!='' or '@(COMFileReference)'!=''" Returns="@(ReferencePath)" DependsOnTargets="PrepareForBuild;ResolveKeySource;ResolveAssemblyReferences">
6759 <PropertyGroup Condition=" '$(InteropOutputPath)' == '' ">
6760 <InteropOutputPath>$(IntermediateOutputPath)</InteropOutputPath>
6761 </PropertyGroup>
6762 <MakeDir Directories="$(InteropOutputPath)" />
6763 <!--
6764 Note: This task should not be batched, since it relies on having all the COM references fed into it at once.
6765 -->
6766 <PropertyGroup>
6767 <ResolveComReferenceMSBuildArchitecture Condition="'$(ResolveComReferenceMSBuildArchitecture)' == ''">$(PlatformTargetAsMSBuildArchitecture)</ResolveComReferenceMSBuildArchitecture>
6768 <ResolveComReferenceToolPath Condition="'$(ResolveComReferenceToolPath)' == ''">$(TargetFrameworkSDKToolsDirectory)</ResolveComReferenceToolPath>
6769 <ResolveComReferenceSilent Condition="'$(ResolveComReferenceSilent)' == ''">false</ResolveComReferenceSilent>
6770 </PropertyGroup>
6771 <ResolveComReference TypeLibNames="@(COMReference)" TypeLibFiles="@(COMFileReference)" ResolvedAssemblyReferences="@(ReferencePath)" WrapperOutputDirectory="$(InteropOutputPath)" IncludeVersionInInteropName="$(IncludeVersionInInteropName)" KeyContainer="$(KeyContainerName)" KeyFile="$(KeyOriginatorFile)" DelaySign="$(DelaySign)" StateFile="@(_ResolveComReferenceCache)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetProcessorArchitecture="$(ProcessorArchitecture)" NoClassMembers="$(ComReferenceNoClassMembers)" Silent="$(ResolveComReferenceSilent)" EnvironmentVariables="$(ResolveComReferenceEnvironment)" SdkToolsPath="$(ResolveComReferenceToolPath)" ExecuteAsTool="$(ComReferenceExecuteAsTool)" MSBuildArchitecture="$(ResolveComReferenceMSBuildArchitecture)" ContinueOnError="$(ContinueOnError)">
6772 <Output TaskParameter="ResolvedFiles" ItemName="ReferencePath" />
6773 <Output TaskParameter="ResolvedFiles" ItemName="ComReferenceWrappers" />
6774 <Output TaskParameter="ResolvedFiles" ItemName="FileWrites" />
6775 <!-- This output list only includes items with Isolated attribute set to True. It's done by the task itself. -->
6776 <Output TaskParameter="ResolvedModules" ItemName="ResolvedIsolatedComModules" />
6777 </ResolveComReference>
6778 <ItemGroup>
6779 <FileWrites Include="@(_ResolveComReferenceCache)" />
6780 <ReferenceComWrappersToCopyLocal Include="@(ComReferenceWrappers)" Condition="'%(ComReferenceWrappers.CopyLocal)'!='false'" />
6781 </ItemGroup>
6782 </Target>
6783 <!--
6784 ============================================================
6785 _GetAssembliesMetadata
6786
6787 Resolve Assembly attributes for assemblies
6788 The ResolveComReferences dependency is needed for defining COM-referenced wrappers only,
6789 but this target handles all the assembly references from ResolveAssemblyReferences
6790 This target is needed by the Visual Studio legacy project system during design time build only
6791
6792 [IN]
6793 @(ReferencePath) - Paths to COM-referenced wrappers and other types of assembly references.
6794
6795 [OUT]
6796 @(AssembliesMetadata) - Resolved assemblies attributes.
6797 ============================================================
6798 -->
6799 <Target Name="_GetAssembliesMetadata" Condition="'@(ReferencePath)'!=''and '$(DesignTimeBuild)' == 'true' " Returns="@(_AssembliesMetadata)" DependsOnTargets="ResolveComReferences">
6800 <GetAssembliesMetadata AssemblyPaths="@(ReferencePath)" ContinueOnError="$(ContinueOnError)">
6801 <Output TaskParameter="AssembliesMetadata" ItemName="_AssembliesMetadata" />
6802 </GetAssembliesMetadata>
6803 </Target>
6804 <Target Name="ResolveComReferencesDesignTime" Returns="@(ComReferenceWrappers)" DependsOnTargets="ResolveComReferences" />
6805 <!--
6806 ============================================================
6807 ResolveFrameworkReferences
6808
6809 Overrridden by Microsoft.NET.Sdk to return
6810 ResolvedFrameworkReference items in order to populate the
6811 Frameworks node of the Solution Explorer in the IDE.
6812 -->
6813 <Target Name="ResolveFrameworkReferences" />
6814 <!--
6815 ***********************************************************************************************
6816 ***********************************************************************************************
6817 PrepareResources Section
6818 ***********************************************************************************************
6819 ***********************************************************************************************
6820 -->
6821 <!--
6822 ============================================================
6823 PrepareResources
6824
6825 Prepare resources for the Compile step.
6826 ============================================================
6827 -->
6828 <PropertyGroup>
6829 <PrepareResourcesDependsOn>
6830 $(PrepareResourcesDependsOn);
6831 PrepareResourceNames;
6832 ResGen;
6833 CompileLicxFiles
6834 </PrepareResourcesDependsOn>
6835 </PropertyGroup>
6836 <Target Name="PrepareResources" DependsOnTargets="$(PrepareResourcesDependsOn)" />
6837 <!--
6838 ============================================================
6839 PrepareResourceNames
6840
6841 Prepare the names of resource files.
6842 ============================================================
6843 -->
6844 <PropertyGroup>
6845 <PrepareResourceNamesDependsOn>
6846 AssignTargetPaths;
6847 SplitResourcesByCulture;
6848 CreateManifestResourceNames;
6849 CreateCustomManifestResourceNames
6850 </PrepareResourceNamesDependsOn>
6851 </PropertyGroup>
6852 <Target Name="PrepareResourceNames" DependsOnTargets="$(PrepareResourceNamesDependsOn)" />
6853 <!--
6854 ============================================================
6855 AssignTargetPaths
6856
6857 This target creates <TargetPath> tags for items. <TargetPath> is a relative folder plus filename
6858 for the destination of this item.
6859 ============================================================
6860 -->
6861 <PropertyGroup>
6862 <AssignTargetPathsDependsOn />
6863 </PropertyGroup>
6864 <Target Name="AssignTargetPaths" DependsOnTargets="$(AssignTargetPathsDependsOn)">
6865 <ItemGroup>
6866 <_Temporary Remove="@(_Temporary)" />
6867 </ItemGroup>
6868 <!-- AssignTargetPath generates TargetPath metadata that is consumed by CreateManifestResourceNames target for manifest name generation -->
6869 <AssignTargetPath Files="@(EmbeddedResource)" RootFolder="$(MSBuildProjectDirectory)">
6870 <Output TaskParameter="AssignedFiles" ItemName="_Temporary" />
6871 </AssignTargetPath>
6872 <ItemGroup>
6873 <!-- Replace items in EmbeddedResource with the items emitted by the AssignTargetPath task that have the TargetPath metadata -->
6874 <EmbeddedResource Remove="@(_Temporary)" />
6875 <EmbeddedResource Include="@(_Temporary)" />
6876 <_Temporary Remove="@(_Temporary)" />
6877 </ItemGroup>
6878 <AssignTargetPath Files="@(Content)" RootFolder="$(MSBuildProjectDirectory)">
6879 <Output TaskParameter="AssignedFiles" ItemName="ContentWithTargetPath" />
6880 </AssignTargetPath>
6881 <AssignTargetPath Files="@(None)" RootFolder="$(MSBuildProjectDirectory)">
6882 <Output TaskParameter="AssignedFiles" ItemName="_NoneWithTargetPath" />
6883 </AssignTargetPath>
6884 <AssignTargetPath Files="@(BaseApplicationManifest)" RootFolder="$(MSBuildProjectDirectory)">
6885 <Output TaskParameter="AssignedFiles" ItemName="_DeploymentBaseManifestWithTargetPath" />
6886 </AssignTargetPath>
6887 <AssignTargetPath Files="@(None)" RootFolder="$(MSBuildProjectDirectory)" Condition="'@(_DeploymentBaseManifestWithTargetPath)'=='' and '%(None.Extension)'=='.manifest'">
6888 <Output TaskParameter="AssignedFiles" ItemName="_DeploymentBaseManifestWithTargetPath" />
6889 </AssignTargetPath>
6890 </Target>
6891 <!--
6892 ============================================================
6893 GetItemTargetPaths
6894
6895 This target returns all items that have TargetPath metadata assigned by the AssignTargetPaths target.
6896 ============================================================
6897 -->
6898 <Target Name="GetItemTargetPaths" DependsOnTargets="AssignTargetPaths" Returns="&#xD;&#xA; @(EmbeddedResource);&#xD;&#xA; @(ContentWithTargetPath);&#xD;&#xA; @(_NoneWithTargetPath);&#xD;&#xA; @(_DeploymentBaseManifestWithTargetPath);&#xD;&#xA; " />
6899 <!--
6900 ============================================================
6901 SplitResourcesByCulture
6902
6903 Split EmbeddedResource items into five lists based on whether
6904 they are resx files, licx files or other resources and whether they should be localized. Also adds Type and Culture
6905 metadata. Type indicates whether the resource is "Resx" or "Non-Resx".
6906
6907 [IN]/[OUT]
6908 @(EmbeddedResource) - The raw list of resources.
6909
6910 [OUT]
6911 @(_LicxFile) - The EmbeddedResource items with extension equal to '.licx'.
6912 ============================================================
6913 -->
6914 <Target Name="SplitResourcesByCulture" DependsOnTargets="AssignTargetPaths">
6915 <PropertyGroup>
6916 <RespectAlreadyAssignedItemCulture Condition="'$(RespectAlreadyAssignedItemCulture)' == ''">false</RespectAlreadyAssignedItemCulture>
6917 <WarnOnCultureOverwritten Condition="'$(WarnOnCultureOverwritten)' == ''">false</WarnOnCultureOverwritten>
6918 </PropertyGroup>
6919 <MSBuildInternalMessage Condition="'@(ResxWithNoCulture)'!=''" ResourceName="CommonSdk.SplitResourcesByCultureEmbeddedResourceMessage" Severity="Warning" FormatArguments="MSB9000;ResxWithNoCulture" />
6920 <MSBuildInternalMessage Condition="'@(ResxWithCulture)'!=''" ResourceName="CommonSdk.SplitResourcesByCultureEmbeddedResourceMessage" Severity="Warning" FormatArguments="MSB9001;ResxWithCulture" />
6921 <MSBuildInternalMessage Condition="'@(NonResxWithCulture)'!=''" ResourceName="CommonSdk.SplitResourcesByCultureEmbeddedResourceMessage" Severity="Warning" FormatArguments="MSB9002;NonResxWithCulture" />
6922 <MSBuildInternalMessage Condition="'@(NonResxWithNoCulture)'!=''" ResourceName="CommonSdk.SplitResourcesByCultureEmbeddedResourceMessage" Severity="Warning" FormatArguments="MSB9003;NonResxWithNoCulture" />
6923 <ItemGroup>
6924 <_LicxFile Include="@(EmbeddedResource)" Condition="'%(Extension)'=='.licx'" />
6925 <!-- CONSUMED FOR COMPATIBILITY REASONS ONLY. EMIT EMBEDDEDRESOURCE INSTEAD -->
6926 <EmbeddedResource Include="@(ResxWithNoCulture);@(ResxWithCulture)">
6927 <Type>Resx</Type>
6928 </EmbeddedResource>
6929 <EmbeddedResource Include="@(NonResxWithCulture);@(NonResxWithNoCulture)">
6930 <Type>Non-Resx</Type>
6931 </EmbeddedResource>
6932 </ItemGroup>
6933 <AssignCulture Files="@(EmbeddedResource)" Condition="'%(Extension)'!='.licx'" RespectAlreadyAssignedItemCulture="$(RespectAlreadyAssignedItemCulture)" WarnOnCultureOverwritten="$(WarnOnCultureOverwritten)">
6934 <!-- Create the list of culture resx and embedded resource files -->
6935 <Output TaskParameter="AssignedFilesWithCulture" ItemName="_MixedResourceWithCulture" />
6936 <!-- Create the list of non-culture resx and embedded resource files -->
6937 <Output TaskParameter="AssignedFilesWithNoCulture" ItemName="_MixedResourceWithNoCulture" />
6938 </AssignCulture>
6939 <ItemGroup>
6940 <!-- Remove EmbeddedResource items that we have processed already
6941 i.e. either Licx, or resources that don't have culture info -->
6942 <EmbeddedResource Remove="@(_MixedResourceWithCulture)" />
6943 <EmbeddedResource Remove="@(_MixedResourceWithNoCulture)" />
6944 <EmbeddedResource Remove="@(_LicxFile)" />
6945 <!-- Add back everything except Licx, so that we have culture info -->
6946 <EmbeddedResource Include="@(_MixedResourceWithNoCulture);@(_MixedResourceWithCulture)" Condition="'%(Extension)'=='.resx' or '%(Extension)'=='.restext'">
6947 <Type Condition="'%(_MixedResourceWithNoCulture.Type)'=='' and '%(_MixedResourceWithCulture.Type)'==''">Resx</Type>
6948 </EmbeddedResource>
6949 <EmbeddedResource Include="@(_MixedResourceWithNoCulture);@(_MixedResourceWithCulture)" Condition="'%(Extension)'!='.resx' and '%(Extension)'!='.restext'">
6950 <Type Condition="'%(_MixedResourceWithNoCulture.Type)'=='' and '%(_MixedResourceWithCulture.Type)'==''">Non-Resx</Type>
6951 </EmbeddedResource>
6952 <!-- EMITTED FOR COMPATIBILITY REASONS ONLY. CONSUME EMBEDDEDRESOURCE INSTEAD -->
6953 <ResxWithNoCulture Remove="@(ResxWithNoCulture)" />
6954 <NonResxWithNoCulture Remove="@(NonResxWithNoCulture)" />
6955 <ResxWithCulture Remove="@(ResxWithCulture)" />
6956 <NonResxWithCulture Remove="@(NonResxWithCulture)" />
6957 <ResxWithNoCulture Include="@(_MixedResourceWithNoCulture)" Condition="'%(WithCulture)'=='false' and ('%(Extension)'=='.resx' or '%(Extension)'=='.restext')" />
6958 <NonResxWithNoCulture Include="@(_MixedResourceWithNoCulture)" Condition="'%(WithCulture)'=='false' and ('%(Extension)'!='.resx' and '%(Extension)'!='.restext')" />
6959 <ResxWithCulture Include="@(_MixedResourceWithCulture)" Condition="'%(WithCulture)'=='true' and ('%(Extension)'=='.resx' or '%(Extension)'=='.restext')" />
6960 <NonResxWithCulture Include="@(_MixedResourceWithCulture)" Condition="'%(WithCulture)'=='true' and ('%(Extension)'!='.resx' and '%(Extension)'!='.restext')" />
6961 <!-- Clean up temporary lists -->
6962 <_MixedResourceWithNoCulture Remove="@(_MixedResourceWithNoCulture)" />
6963 <_MixedResourceWithCulture Remove="@(_MixedResourceWithCulture)" />
6964 </ItemGroup>
6965 </Target>
6966 <!--
6967 =======================================================================
6968 CreateCustomManifestResourceNames
6969
6970 Allows custom manifest resource name generation tasks to plug
6971 into the build process
6972 =======================================================================
6973 -->
6974 <PropertyGroup>
6975 <CreateCustomManifestResourceNamesDependsOn />
6976 </PropertyGroup>
6977 <Target Name="CreateCustomManifestResourceNames" DependsOnTargets="$(CreateCustomManifestResourceNamesDependsOn)" />
6978 <!--
6979 ============================================================
6980 ResGen
6981
6982 Run GenerateResource on the given resx files.
6983
6984 ============================================================
6985 -->
6986 <PropertyGroup>
6987 <ResGenDependsOn>ResolveAssemblyReferences;SplitResourcesByCulture;BeforeResGen;CoreResGen;AfterResGen</ResGenDependsOn>
6988 <CoreResGenDependsOn>FindReferenceAssembliesForReferences</CoreResGenDependsOn>
6989 <UseSourcePath Condition="'$(UseSourcePath)'==''">true</UseSourcePath>
6990 <ResGenExecuteAsTool Condition="'$(ResGenExecuteAsTool)'==''">false</ResGenExecuteAsTool>
6991 </PropertyGroup>
6992 <Target Name="ResGen" DependsOnTargets="$(ResGenDependsOn)" />
6993 <!--
6994 ============================================================
6995 BeforeResGen
6996
6997 Redefine this target in your project in order to run tasks just before Resgen.
6998 ============================================================
6999 -->
7000 <Target Name="BeforeResGen" />
7001 <!--
7002 ============================================================
7003 AfterResGen
7004
7005 Redefine this target in your project in order to run tasks just after Resgen.
7006 ============================================================
7007 -->
7008 <Target Name="AfterResGen" />
7009 <!--
7010 ============================================================
7011 CoreResGen
7012 ============================================================
7013 -->
7014 <Target Name="CoreResGen" DependsOnTargets="$(CoreResGenDependsOn)">
7015 <ItemGroup>
7016 <_Temporary Remove="@(_Temporary)" />
7017 </ItemGroup>
7018 <PropertyGroup>
7019 <GenerateResourceMSBuildArchitecture Condition="'$(GenerateResourceMSBuildArchitecture)' == ''">$(PlatformTargetAsMSBuildArchitecture)</GenerateResourceMSBuildArchitecture>
7020 <ResgenToolPath Condition="'$(ResgenToolPath)' == ''">$(TargetFrameworkSDKToolsDirectory)</ResgenToolPath>
7021 </PropertyGroup>
7022 <PropertyGroup Condition="'$(TargetFrameworkAsMSBuildRuntime)' != '' and '$(GenerateResourceMSBuildArchitecture)' != ''">
7023 <!-- In the general case, we want to fail to run the task if the task host it's requesting doesn't exist, because we'd rather let the
7024 user know there's something wrong than just silently generate something that's probably not quite right. However, in a few
7025 circumstances, there are tasks that are already aware of runtime / bitness concerns, in which case even if we go ahead and run
7026 the more recent version of the task, it should be able to generate something correct. GenerateResource is one such task, so
7027 we check for the existence of the targeted task host so that we can use it preferentially, but if it can't be found, we'll fall
7028 back to the current task since it's still mostly correct.
7029
7030 In particular, we need to do this because otherwise people with Dev10 on a machine that they upgrade to Win8 will be broken:
7031 they'll have ResGen from the 7.0A SDK installed, so launching ResGen will still work, but the CLR2 task host is only installed by
7032 the 8.0A SDK, which they won't have installed, and thus without this fallback mechanism, their projects targeting v3.5 will
7033 suddenly start failing to build.-->
7034 <GenerateResourceMSBuildRuntime Condition="'$(GenerateResourceMSBuildRuntime)' == '' and&#xD;&#xA; $([MSBuild]::DoesTaskHostExist(`$(TargetFrameworkAsMSBuildRuntime)`, `$(GenerateResourceMSBuildArchitecture)`))">$(TargetFrameworkAsMSBuildRuntime)</GenerateResourceMSBuildRuntime>
7035 <!-- If the targeted runtime doesn't exist, fall back to current -->
7036 <GenerateResourceMSBuildRuntime Condition="'$(GenerateResourceMSBuildRuntime)' == ''">CurrentRuntime</GenerateResourceMSBuildRuntime>
7037 </PropertyGroup>
7038 <!-- 4.0 task has some new parameters that we want to make use of if we're targeting 4.0 -->
7039 <GenerateResource Sources="@(EmbeddedResource)" UseSourcePath="$(UseSourcePath)" References="@(ReferencePathWithRefAssemblies)" UsePreserializedResources="$(GenerateResourceUsePreserializedResources)" AdditionalInputs="$(MSBuildAllProjects)" NeverLockTypeAssemblies="$(GenerateResourceNeverLockTypeAssemblies)" StateFile="$(IntermediateOutputPath)$(MSBuildProjectFile).GenerateResource.cache" StronglyTypedClassName="%(EmbeddedResource.StronglyTypedClassName)" StronglyTypedFileName="%(EmbeddedResource.StronglyTypedFileName)" StronglyTypedLanguage="%(EmbeddedResource.StronglyTypedLanguage)" StronglyTypedNamespace="%(EmbeddedResource.StronglyTypedNamespace)" StronglyTypedManifestPrefix="%(EmbeddedResource.StronglyTypedManifestPrefix)" PublicClass="%(EmbeddedResource.PublicClass)" OutputResources="@(EmbeddedResource->'$(IntermediateOutputPath)%(ManifestResourceName).resources')" Condition="'%(EmbeddedResource.Type)' == 'Resx' and '%(EmbeddedResource.GenerateResource)' != 'false' and '$(GenerateResourceMSBuildRuntime)' != 'CLR2'" SdkToolsPath="$(ResgenToolPath)" ExecuteAsTool="$(ResGenExecuteAsTool)" EnvironmentVariables="$(ResGenEnvironment)" WarnOnBinaryFormatterUse="$(GenerateResourceWarnOnBinaryFormatterUse)" MSBuildRuntime="$(GenerateResourceMSBuildRuntime)" MSBuildArchitecture="$(GenerateResourceMSBuildArchitecture)">
7040 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
7041 <Output TaskParameter="StronglyTypedFileName" ItemName="Compile" />
7042 <!-- Gather Sources as an output since it will contain OutputResource metadata indicating the final output resource that it was compiled into -->
7043 <Output TaskParameter="Sources" ItemName="_Temporary" />
7044 </GenerateResource>
7045 <!-- But we can't use those parameters if we're targeting 3.5, since we're using the 3.5 task -->
7046 <GenerateResource Sources="@(EmbeddedResource)" UseSourcePath="$(UseSourcePath)" References="@(ReferencePath)" AdditionalInputs="$(MSBuildAllProjects)" NeverLockTypeAssemblies="$(GenerateResourceNeverLockTypeAssemblies)" StateFile="$(IntermediateOutputPath)$(MSBuildProjectFile).GenerateResource.cache" StronglyTypedClassName="%(EmbeddedResource.StronglyTypedClassName)" StronglyTypedFileName="%(EmbeddedResource.StronglyTypedFileName)" StronglyTypedLanguage="%(EmbeddedResource.StronglyTypedLanguage)" StronglyTypedNamespace="%(EmbeddedResource.StronglyTypedNamespace)" StronglyTypedManifestPrefix="%(EmbeddedResource.StronglyTypedManifestPrefix)" PublicClass="%(EmbeddedResource.PublicClass)" OutputResources="@(EmbeddedResource->'$(IntermediateOutputPath)%(ManifestResourceName).resources')" MSBuildRuntime="$(GenerateResourceMSBuildRuntime)" MSBuildArchitecture="$(GenerateResourceMSBuildArchitecture)" Condition="'%(EmbeddedResource.Type)' == 'Resx' and '%(EmbeddedResource.GenerateResource)' != 'false' and '$(GenerateResourceMSBuildRuntime)' == 'CLR2'">
7047 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
7048 <Output TaskParameter="StronglyTypedFileName" ItemName="Compile" />
7049 <!-- Gather Sources as an output since it will contain OutputResource metadata indicating the final output resource that it was compiled into -->
7050 <Output TaskParameter="Sources" ItemName="_Temporary" />
7051 </GenerateResource>
7052 <ItemGroup>
7053 <EmbeddedResource Remove="@(_Temporary)" />
7054 <!-- Add back the Sources list (with OutputResource metadata) that we output from GenerateResource into EmbeddedResource -->
7055 <EmbeddedResource Include="@(_Temporary)" />
7056 <_Temporary Remove="@(_Temporary)" />
7057 <!-- EMITTED FOR COMPATIBILITY REASONS ONLY. CONSUME EMBEDDEDRESOURCE INSTEAD -->
7058 <ManifestResourceWithNoCulture Include="@(EmbeddedResource->'%(OutputResource)')" Condition="'%(EmbeddedResource.WithCulture)'=='false' and '%(EmbeddedResource.Type)' == 'Resx'">
7059 <EmittedForCompatibilityOnly>true</EmittedForCompatibilityOnly>
7060 </ManifestResourceWithNoCulture>
7061 <ManifestNonResxWithNoCultureOnDisk Include="@(EmbeddedResource)" Condition="'%(EmbeddedResource.WithCulture)'=='false' and '%(EmbeddedResource.Type)' == 'Non-Resx'">
7062 <EmittedForCompatibilityOnly>true</EmittedForCompatibilityOnly>
7063 </ManifestNonResxWithNoCultureOnDisk>
7064 <!-- EMITTED FOR COMPATIBILITY REASONS ONLY. CONSUME EMBEDDEDRESOURCE INSTEAD -->
7065 <ManifestResourceWithCulture Include="@(EmbeddedResource->'%(OutputResource)')" Condition="'%(EmbeddedResource.WithCulture)'=='true' and '%(EmbeddedResource.Type)' == 'Resx'">
7066 <EmittedForCompatibilityOnly>true</EmittedForCompatibilityOnly>
7067 </ManifestResourceWithCulture>
7068 <ManifestNonResxWithCultureOnDisk Include="@(EmbeddedResource)" Condition="'%(EmbeddedResource.WithCulture)'=='true' and '%(EmbeddedResource.Type)' == 'Non-Resx'">
7069 <EmittedForCompatibilityOnly>true</EmittedForCompatibilityOnly>
7070 </ManifestNonResxWithCultureOnDisk>
7071 </ItemGroup>
7072 </Target>
7073 <!--
7074 ============================================================
7075 CompileLicxFiles
7076
7077 Compile .licx files (containing information about licensed controls used by the application) into .licenses files.
7078
7079 [IN]
7080 @(_LicxFile) - The list of .licx files in the project (usually there will be just one)
7081
7082 [OUT]
7083 @(CompiledLicenseFile) - The list of compiled .licenses files (there will be just one)
7084 ============================================================
7085 -->
7086 <PropertyGroup>
7087 <CompileLicxFilesDependsOn />
7088 </PropertyGroup>
7089 <Target Name="CompileLicxFiles" Condition="'@(_LicxFile)'!=''" DependsOnTargets="$(CompileLicxFilesDependsOn)" Inputs="$(MSBuildAllProjects);@(_LicxFile);@(ReferencePathWithRefAssemblies);@(ReferenceDependencyPaths)" Outputs="$(IntermediateOutputPath)$(TargetFileName).licenses">
7090 <PropertyGroup>
7091 <LCMSBuildArchitecture Condition="'$(LCMSBuildArchitecture)' == ''">$(PlatformTargetAsMSBuildArchitecture)</LCMSBuildArchitecture>
7092 </PropertyGroup>
7093 <LC Sources="@(_LicxFile)" LicenseTarget="$(TargetFileName)" OutputDirectory="$(IntermediateOutputPath)" OutputLicense="$(IntermediateOutputPath)$(TargetFileName).licenses" ReferencedAssemblies="@(ReferencePathWithRefAssemblies);@(ReferenceDependencyPaths)" NoLogo="$(NoLogo)" ToolPath="$(LCToolPath)" SdkToolsPath="$(TargetFrameworkSDKToolsDirectory)" EnvironmentVariables="$(LCEnvironment)" MSBuildArchitecture="$(LCMSBuildArchitecture)" TargetFrameworkVersion="$(TargetFrameworkVersion)">
7094 <Output TaskParameter="OutputLicense" ItemName="CompiledLicenseFile" />
7095 <Output TaskParameter="OutputLicense" ItemName="FileWrites" />
7096 </LC>
7097 </Target>
7098 <!--
7099 ***********************************************************************************************
7100 ***********************************************************************************************
7101 ResolveKeySource Section
7102 ***********************************************************************************************
7103 ***********************************************************************************************
7104 -->
7105 <!--
7106 ============================================================
7107 ResolveKeySource
7108
7109 Resolve the strong name key used to sign the assembly as well as the certificate used to
7110 sign the ClickOnce manifests.
7111
7112 [IN]
7113 $(AssemblyOriginatorKeyFile) - The file used to sign the assembly (.snk or .pfx)
7114 $(ManifestCertificateThumbprint) - The thumbprint used to locate the certificate in the
7115 user's certificate store.
7116 $(ManifestKeyFile) - The key file that contains the certificate in case the
7117 certificate is not in the user's store.
7118
7119 [OUT]
7120 $(ResolvedAssemblyKeyFile) - Key used to sign the assembly
7121 $(_DeploymentResolvedManifestCertificateThumbprint) - Certificate used to sign the manifests
7122 ============================================================
7123 -->
7124 <Target Name="ResolveKeySource" Condition="$(SignManifests) == 'true' or $(SignAssembly) == 'true'">
7125 <ResolveKeySource KeyFile="$(AssemblyOriginatorKeyFile)" CertificateThumbprint="$(ManifestCertificateThumbprint)" CertificateFile="$(ManifestKeyFile)" SuppressAutoClosePasswordPrompt="$(BuildingInsideVisualStudio)" ShowImportDialogDespitePreviousFailures="$(BuildingProject)" ContinueOnError="!$(BuildingProject)">
7126 <Output TaskParameter="ResolvedKeyFile" PropertyName="KeyOriginatorFile" Condition=" '$(SignAssembly)' == 'true' " />
7127 <Output TaskParameter="ResolvedKeyContainer" PropertyName="KeyContainerName" Condition=" '$(SignAssembly)' == 'true' " />
7128 <Output TaskParameter="ResolvedThumbprint" PropertyName="_DeploymentResolvedManifestCertificateThumbprint" Condition=" '$(SignManifests)' == 'true' " />
7129 </ResolveKeySource>
7130 </Target>
7131 <!--
7132 ***********************************************************************************************
7133 ***********************************************************************************************
7134 Compile Section
7135 ***********************************************************************************************
7136 ***********************************************************************************************
7137 -->
7138 <!--
7139 ============================================================
7140 Compile
7141 ============================================================
7142 -->
7143 <PropertyGroup>
7144 <CompileDependsOn>
7145 ResolveReferences;
7146 ResolveKeySource;
7147 SetWin32ManifestProperties;
7148 _SetPreferNativeArm64Win32ManifestProperties;
7149 FindReferenceAssembliesForReferences;
7150 _GenerateCompileInputs;
7151 BeforeCompile;
7152 _TimeStampBeforeCompile;
7153 _GenerateCompileDependencyCache;
7154 CoreCompile;
7155 _TimeStampAfterCompile;
7156 AfterCompile;
7157 </CompileDependsOn>
7158 </PropertyGroup>
7159 <Target Name="Compile" DependsOnTargets="$(CompileDependsOn)" />
7160 <!--
7161 ============================================================
7162 _GenerateCompileInputs
7163
7164 Create the _CoreCompileResourceInputs list of inputs to the CoreCompile target.
7165 ============================================================
7166 -->
7167 <Target Name="_GenerateCompileInputs">
7168 <MSBuildInternalMessage Condition="'@(ManifestResourceWithNoCulture)'!='' and '%(ManifestResourceWithNoCulture.EmittedForCompatibilityOnly)'==''" ResourceName="CommonSdk.ManifestResourceWithNoCultureWarning" Severity="Warning" FormatArguments="MSB9004;ManifestResourceWithNoCulture;false;Resx" />
7169 <MSBuildInternalMessage Condition="'@(ManifestNonResxWithNoCultureOnDisk)'!='' and '%(ManifestNonResxWithNoCultureOnDisk.EmittedForCompatibilityOnly)'==''" ResourceName="CommonSdk.ManifestResourceWithNoCultureWarning" Severity="Warning" FormatArguments="MSB9005;ManifestNonResxWithNoCultureOnDisk;false;Non-Resx" />
7170 <ItemGroup>
7171 <!-- _CoreCompileResourceInputs is the list of TLDA inputs that should trigger CoreCompile, and are listed as inputs to that target -->
7172 <_CoreCompileResourceInputs Include="@(EmbeddedResource->'%(OutputResource)')" Condition="'%(EmbeddedResource.WithCulture)' == 'false' and '%(EmbeddedResource.Type)' == 'Resx'" />
7173 <_CoreCompileResourceInputs Include="@(EmbeddedResource)" Condition="'%(EmbeddedResource.WithCulture)' == 'false' and '%(EmbeddedResource.Type)' == 'Non-Resx' " />
7174 <!-- CONSUMED FOR COMPATIBILITY REASONS ONLY. EMIT EMBEDDEDRESOURCE INSTEAD -->
7175 <_CoreCompileResourceInputs Include="@(ManifestResourceWithNoCulture)" Condition="'%(ManifestResourceWithNoCulture.EmittedForCompatibilityOnly)'==''">
7176 <Type>Resx</Type>
7177 <WithCulture>false</WithCulture>
7178 </_CoreCompileResourceInputs>
7179 <_CoreCompileResourceInputs Include="@(ManifestNonResxWithNoCultureOnDisk)" Condition="'%(ManifestNonResxWithNoCultureOnDisk.EmittedForCompatibilityOnly)'==''">
7180 <Type>Non-Resx</Type>
7181 <WithCulture>false</WithCulture>
7182 </_CoreCompileResourceInputs>
7183 </ItemGroup>
7184 </Target>
7185 <!--
7186 ============================================================
7187 GenerateTargetFrameworkMonikerAttribute
7188
7189 Emit the target framework moniker attribute as a code fragment into a temporary source file for the compiler.
7190 ============================================================
7191 -->
7192 <PropertyGroup Condition="'$(TargetFrameworkMoniker)' != ''">
7193 <!-- Do not clean if we are going to default the path to the temp directory -->
7194 <TargetFrameworkMonikerAssemblyAttributesFileClean Condition="'$(TargetFrameworkMonikerAssemblyAttributesFileClean)' == '' and '$(TargetFrameworkMonikerAssemblyAttributesPath)' != ''">true</TargetFrameworkMonikerAssemblyAttributesFileClean>
7195 <TargetFrameworkMonikerAssemblyAttributesPath Condition="'$(TargetFrameworkMonikerAssemblyAttributesPath)' == ''">$([System.IO.Path]::Combine('$(IntermediateOutputPath)','$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension)'))</TargetFrameworkMonikerAssemblyAttributesPath>
7196 </PropertyGroup>
7197 <PropertyGroup>
7198 <GenerateTargetFrameworkAttribute Condition="'$(GenerateTargetFrameworkAttribute)' == '' and '$(TargetFrameworkMoniker)' != '' and '$(TargetingClr2Framework)' != 'true'">true</GenerateTargetFrameworkAttribute>
7199 </PropertyGroup>
7200 <ItemGroup Condition="'$(TargetFrameworkMonikerAssemblyAttributesFileClean)' == 'true'">
7201 <Clean Include="$(TargetFrameworkMonikerAssemblyAttributesPath)" />
7202 </ItemGroup>
7203 <Target Name="GenerateTargetFrameworkMonikerAttribute" BeforeTargets="BeforeCompile" DependsOnTargets="PrepareForBuild;GetReferenceAssemblyPaths" Inputs="$(MSBuildToolsPath)\Microsoft.Common.targets" Outputs="$(TargetFrameworkMonikerAssemblyAttributesPath)" Condition="'@(Compile)' != '' and '$(GenerateTargetFrameworkAttribute)' == 'true'">
7204 <!-- This is a file shared between projects so we have to take care to handle simultaneous writes (by ContinueOnError)
7205 and a race between clean from one project and build from another (by not adding to FilesWritten so it doesn't clean) -->
7206 <WriteLinesToFile File="$(TargetFrameworkMonikerAssemblyAttributesPath)" Lines="$(TargetFrameworkMonikerAssemblyAttributeText)" Overwrite="true" ContinueOnError="true" Condition="'@(Compile)' != '' and '$(TargetFrameworkMonikerAssemblyAttributeText)' != ''" />
7207 <ItemGroup Condition="'@(Compile)' != '' and '$(TargetFrameworkMonikerAssemblyAttributeText)' != ''">
7208 <Compile Include="$(TargetFrameworkMonikerAssemblyAttributesPath)" />
7209 <!-- Do not put in FileWrites: this is a file shared between projects in %temp%, and cleaning it would create a race between projects during rebuild -->
7210 </ItemGroup>
7211 </Target>
7212 <!--
7213 ============================================================
7214 GenerateAdditionalSources
7215
7216 Emit any specified code fragments into a temporary source file for the compiler.
7217 ============================================================
7218 -->
7219 <PropertyGroup Condition="'$(AssemblyAttributesPath)' != ''">
7220 <GenerateAdditionalSources Condition="'$(GenerateAdditionalSources)' == ''">true</GenerateAdditionalSources>
7221 </PropertyGroup>
7222 <ItemGroup Condition="'$(AssemblyAttributesPath)' != ''">
7223 <Clean Include="$(AssemblyAttributesPath)" Condition="'$(AssemblyAttributesFileClean)' != 'false'" />
7224 </ItemGroup>
7225 <Target Name="GenerateAdditionalSources" BeforeTargets="BeforeCompile" DependsOnTargets="PrepareForBuild;GetReferenceAssemblyPaths" Inputs="$(MSBuildAllProjects)" Outputs="$(AssemblyAttributesPath)" Condition="'@(AssemblyAttributes)' != '' and '$(GenerateAdditionalSources)' == 'true'">
7226 <WriteCodeFragment AssemblyAttributes="@(AssemblyAttributes)" OutputFile="$(AssemblyAttributesPath)" Language="$(Language)">
7227 <Output TaskParameter="OutputFile" ItemName="Compile" />
7228 <Output TaskParameter="OutputFile" ItemName="FileWrites" />
7229 </WriteCodeFragment>
7230 </Target>
7231 <!--
7232 ============================================================
7233 BeforeCompile
7234
7235 Redefine this target in your project in order to run tasks just before Compile.
7236 ============================================================
7237 -->
7238 <Target Name="BeforeCompile" />
7239 <!--
7240 ============================================================
7241 AfterCompile
7242
7243 Redefine this target in your project in order to run tasks just after Compile.
7244 ============================================================
7245 -->
7246 <Target Name="AfterCompile" />
7247 <!--
7248 ============================================================
7249 _TimeStampBeforeCompile
7250
7251 If post-build events are set to fire "OnOutputUpdated", then take before
7252 and after timestamps so that we can compare them.
7253 ============================================================
7254 -->
7255 <Target Name="_TimeStampBeforeCompile" Condition="'$(RunPostBuildEvent)'=='OnOutputUpdated' or ('$(RegisterForComInterop)'=='true' and '$(OutputType)'=='library')">
7256 <PropertyGroup>
7257 <_AssemblyTimestampBeforeCompile>%(IntermediateAssembly.ModifiedTime)</_AssemblyTimestampBeforeCompile>
7258 </PropertyGroup>
7259 </Target>
7260 <!--
7261 ============================================================
7262 _GenerateSuggestedBindingRedirectsCache
7263 Generate a file used to track whether suggested binding redirects changed between builds.
7264 @(SuggestedBindingRedirects) never contains a file on disk, so create a file
7265 that contains a hash of the items to prevent `GenerateBindingRedirects`
7266 from running every build.
7267
7268 See https://github.com/dotnet/msbuild/issues/5943 for details.
7269 ============================================================
7270 -->
7271 <Target Name="_GenerateSuggestedBindingRedirectsCache" Condition="'$(DesignTimeBuild)' != 'true' and '$(BuildingProject)' == 'true'" DependsOnTargets="ResolveAssemblyReferences">
7272 <PropertyGroup>
7273 <SuggestedBindingRedirectsCacheFile>$(IntermediateOutputPath)$(MSBuildProjectFile).SuggestedBindingRedirects.cache</SuggestedBindingRedirectsCacheFile>
7274 </PropertyGroup>
7275 <Hash ItemsToHash="@(SuggestedBindingRedirects)">
7276 <Output TaskParameter="HashResult" PropertyName="SuggestedBindingRedirectsHash" />
7277 </Hash>
7278 <WriteLinesToFile Lines="$(SuggestedBindingRedirectsHash)" File="$(SuggestedBindingRedirectsCacheFile)" Overwrite="true" WriteOnlyWhenDifferent="true" />
7279 <ItemGroup>
7280 <FileWrites Include="$(SuggestedBindingRedirectsCacheFile)" />
7281 </ItemGroup>
7282 </Target>
7283 <!--
7284 ============================================================
7285 _GenerateCompileDependencyCache
7286
7287 Generate a file used to track compiler dependencies between incremental build
7288 executions. This handles cases where items are added or removed from a glob (e.g.
7289 <Compile Include="**\*.cs" />) and can't otherwise be detected with timestamp
7290 comparisons. The file contains a hash of compiler inputs that are known to
7291 contribute to incremental build inconsistencies.
7292 ============================================================
7293 -->
7294 <Target Name="_GenerateCompileDependencyCache" Condition="'$(DesignTimeBuild)' != 'true' and '$(BuildingProject)' == 'true'" DependsOnTargets="ResolveAssemblyReferences;_GenerateCompileInputs">
7295 <ItemGroup>
7296 <CustomAdditionalCompileInputs Include="$(IntermediateOutputPath)$(MSBuildProjectFile).CoreCompileInputs.cache" />
7297 <CoreCompileCache Include="@(Compile)" />
7298 <CoreCompileCache Include="@(ReferencePath)" />
7299 <CoreCompileCache Include="$(DefineConstants)" />
7300 <CoreCompileCache Include="$(LangVersion)" />
7301 <CoreCompileCache Include="$(Deterministic)" />
7302 <CoreCompileCache Include="$(PathMap)" />
7303 <CoreCompileCache Include="@(_CoreCompileResourceInputs)" />
7304 </ItemGroup>
7305 <Hash ItemsToHash="@(CoreCompileCache)" IgnoreCase="$([MSBuild]::ValueOrDefault(`$(CoreCompileCacheIgnoreCase)`, `true`))">
7306 <Output TaskParameter="HashResult" PropertyName="CoreCompileDependencyHash" />
7307 </Hash>
7308 <WriteLinesToFile Lines="$(CoreCompileDependencyHash)" File="$(IntermediateOutputPath)$(MSBuildProjectFile).CoreCompileInputs.cache" Overwrite="true" WriteOnlyWhenDifferent="true" />
7309 <ItemGroup>
7310 <FileWrites Include="$(IntermediateOutputPath)$(MSBuildProjectFile).CoreCompileInputs.cache" />
7311 </ItemGroup>
7312 </Target>
7313 <!--
7314 ============================================================
7315 _TimeStampAfterCompile
7316
7317 If post-build events are set to fire "OnOutputUpdated", then take before
7318 and after timestamps so that we can compare them.
7319 ============================================================
7320 -->
7321 <Target Name="_TimeStampAfterCompile" Condition="'$(RunPostBuildEvent)'=='OnOutputUpdated' or ('$(RegisterForComInterop)'=='true' and '$(OutputType)'=='library')">
7322 <PropertyGroup>
7323 <_AssemblyTimestampAfterCompile>%(IntermediateAssembly.ModifiedTime)</_AssemblyTimestampAfterCompile>
7324 </PropertyGroup>
7325 </Target>
7326 <!--
7327 ================================================================
7328 _ComputeNonExistentFileProperty
7329
7330 There are certain situations in which we want to always run the CoreCompile target (and
7331 thus the Csc task), even if the timestamps of the outputs appear to be up-to-date on disk.
7332 If we're inside the IDE during design-time, then the Csc/Vbc/Vjc task is simply being used to
7333 initialize the host compiler, so we always want to run it. Also, if we're inside the IDE, and
7334 the host compiler is responsible for doing the compilation during an actual build, we want to let
7335 the host compiler determine whether the output is up-to-date, because there may be source files
7336 in the IDE's in-memory buffers that we don't know about.
7337
7338 So, we always run the CoreCompile target if we're in the IDE, and either we're in design-time or
7339 we're delegating to the host compiler for the actual build.
7340
7341 We compare against BuildOutOfProcess != true because we cannot assume that the build process will
7342 have set BuildOutOfProcess to true or false. Therefore the default behavior should be to do the
7343 legacy behavior seen before BuildingOutOfProcess was introduced if the property is not set.
7344 ================================================================
7345 -->
7346 <Target Name="_ComputeNonExistentFileProperty" Condition="('$(BuildingInsideVisualStudio)' == 'true') and ('$(BuildingOutOfProcess)' != 'true') and (('$(BuildingProject)' == 'false') or ('$(UseHostCompilerIfAvailable)' == 'true'))">
7347 <PropertyGroup>
7348 <NonExistentFile>__NonExistentSubDir__\__NonExistentFile__</NonExistentFile>
7349 </PropertyGroup>
7350 </Target>
7351 <!--
7352 ***********************************************************************************************
7353 ***********************************************************************************************
7354 GenerateSerializationAssemblies Section
7355 ***********************************************************************************************
7356 ***********************************************************************************************
7357 -->
7358 <PropertyGroup>
7359 <_SGenDllName>$(TargetName).XmlSerializers.dll</_SGenDllName>
7360 <_SGenDllCreated>false</_SGenDllCreated>
7361 <_SGenGenerateSerializationAssembliesConfig>$(GenerateSerializationAssemblies)</_SGenGenerateSerializationAssembliesConfig>
7362 <_SGenGenerateSerializationAssembliesConfig Condition="'$(GenerateSerializationAssemblies)' == ''">Auto</_SGenGenerateSerializationAssembliesConfig>
7363 <_SGenGenerateSerializationAssembliesConfig Condition="'$(ConfigurationName)'=='Debug' and '$(_SGenGenerateSerializationAssembliesConfig)' == 'Auto'">Off</_SGenGenerateSerializationAssembliesConfig>
7364 <SGenUseProxyTypes Condition="'$(SGenUseProxyTypes)' == ''">true</SGenUseProxyTypes>
7365 <SGenUseKeep Condition="'$(SGenUseKeep)'==''">false</SGenUseKeep>
7366 <SGenShouldGenerateSerializer Condition="'$(SGenShouldGenerateSerializer)' == ''">true</SGenShouldGenerateSerializer>
7367 </PropertyGroup>
7368 <!--
7369 ============================================================
7370 GenerateSerializationAssemblies
7371
7372 Run GenerateSerializationAssemblies on the assembly produced by this build.
7373
7374 [IN]
7375 @(BuildAssemblyName) - The assembly generated by this build.
7376 @(BuildAssemblyPath) - The path where the assembly resides.
7377 @(ReferencePath) - The list of references used by this assembly.
7378
7379 [OUT]
7380 @(SerializationAssembly) - The path to the serialization assembly. Maybe we'll just append to an existing list.
7381 ============================================================
7382 -->
7383 <Target Name="GenerateSerializationAssemblies" Condition="'$(_SGenGenerateSerializationAssembliesConfig)' == 'On' or ('@(WebReferenceUrl)'!='' and '$(_SGenGenerateSerializationAssembliesConfig)' == 'Auto')" DependsOnTargets="AssignTargetPaths;Compile;ResolveKeySource" Inputs="$(MSBuildAllProjects);@(IntermediateAssembly)" Outputs="$(IntermediateOutputPath)$(_SGenDllName)">
7384 <PropertyGroup>
7385 <SGenMSBuildArchitecture Condition="'$(SGenMSBuildArchitecture)' == ''">$(PlatformTargetAsMSBuildArchitecture)</SGenMSBuildArchitecture>
7386 </PropertyGroup>
7387 <SGen BuildAssemblyName="$(TargetFileName)" BuildAssemblyPath="$(IntermediateOutputPath)" References="@(ReferencePath)" ShouldGenerateSerializer="$(SGenShouldGenerateSerializer)" UseProxyTypes="$(SGenUseProxyTypes)" UseKeep="$(SGenUseKeep)" KeyContainer="$(KeyContainerName)" KeyFile="$(KeyOriginatorFile)" DelaySign="$(DelaySign)" ToolPath="$(SGenToolPath)" SdkToolsPath="$(TargetFrameworkSDKToolsDirectory)" EnvironmentVariables="$(SGenEnvironment)" MSBuildArchitecture="$(SGenMSBuildArchitecture)" SerializationAssembly="$(IntermediateOutputPath)$(_SGenDllName)" Platform="$(SGenPlatformTarget)" Types="$(SGenSerializationTypes)">
7388 <Output TaskParameter="SerializationAssembly" ItemName="SerializationAssembly" />
7389 </SGen>
7390 </Target>
7391 <!--
7392 ***********************************************************************************************
7393 ***********************************************************************************************
7394 CreateSatelliteAssemblies Section
7395 ***********************************************************************************************
7396 ***********************************************************************************************
7397 -->
7398 <!--
7399 ============================================================
7400 CreateSatelliteAssemblies
7401
7402 Create one satellite assembly for every unique culture in the resources.
7403 ============================================================
7404 -->
7405 <PropertyGroup>
7406 <CreateSatelliteAssembliesDependsOn>
7407 $(CreateSatelliteAssembliesDependsOn);
7408 _GenerateSatelliteAssemblyInputs;
7409 ComputeIntermediateSatelliteAssemblies;
7410 GenerateSatelliteAssemblies
7411 </CreateSatelliteAssembliesDependsOn>
7412 </PropertyGroup>
7413 <Target Name="CreateSatelliteAssemblies" DependsOnTargets="$(CreateSatelliteAssembliesDependsOn)" />
7414 <!--
7415 ============================================================
7416 _GenerateSatelliteAssemblyInputs
7417
7418 Create the _SatelliteAssemblyResourceInputs list of inputs to the CreateSatelliteAssemblies target.
7419 ============================================================
7420 -->
7421 <Target Name="_GenerateSatelliteAssemblyInputs">
7422 <MSBuildInternalMessage Condition="'@(ManifestResourceWithCulture)'!='' and '%(ManifestResourceWithCulture.EmittedForCompatibilityOnly)'==''" ResourceName="CommonSdk.ManifestResourceWithNoCultureWarning" Severity="Warning" FormatArguments="MSB9006;ManifestResourceWithCulture;true;Resx" />
7423 <MSBuildInternalMessage Condition="'@(ManifestNonResxWithCultureOnDisk)'!='' and '%(ManifestNonResxWithCultureOnDisk.EmittedForCompatibilityOnly)'==''" ResourceName="CommonSdk.ManifestResourceWithNoCultureWarning" Severity="Warning" FormatArguments="MSB9007;ManifestNonResxWithCultureOnDisk;true;Non-Resx" />
7424 <ItemGroup>
7425 <!-- _SatelliteAssemblyResourceInputs is the list of TLDA inputs that should trigger CreateSatelliteAssemblies, so listed as inputs to that target -->
7426 <_SatelliteAssemblyResourceInputs Include="@(EmbeddedResource->'%(OutputResource)')" Condition="'%(EmbeddedResource.WithCulture)' == 'true' and '%(EmbeddedResource.Type)' == 'Resx'" />
7427 <_SatelliteAssemblyResourceInputs Include="@(EmbeddedResource)" Condition="'%(EmbeddedResource.WithCulture)' == 'true' and '%(EmbeddedResource.Type)' == 'Non-Resx'" />
7428 <!-- CONSUMED FOR COMPATIBILITY REASONS ONLY. EMIT EMBEDDEDRESOURCE INSTEAD -->
7429 <_SatelliteAssemblyResourceInputs Include="@(ManifestResourceWithCulture)" Condition="'%(ManifestResourceWithCulture.EmittedForCompatibilityOnly)'==''">
7430 <Type>Resx</Type>
7431 <WithCulture>true</WithCulture>
7432 </_SatelliteAssemblyResourceInputs>
7433 <_SatelliteAssemblyResourceInputs Include="@(ManifestNonResxWithCultureOnDisk)" Condition="'%(ManifestNonResxWithCultureOnDisk.EmittedForCompatibilityOnly)'==''">
7434 <Type>Non-Resx</Type>
7435 <WithCulture>true</WithCulture>
7436 </_SatelliteAssemblyResourceInputs>
7437 </ItemGroup>
7438 </Target>
7439 <!--
7440 ============================================================
7441 GenerateSatelliteAssemblies
7442
7443 Actually run al.exe to create the satellite assemblies.
7444 ============================================================
7445 -->
7446 <Target Name="GenerateSatelliteAssemblies" Inputs="$(MSBuildAllProjects);@(_SatelliteAssemblyResourceInputs);$(IntermediateOutputPath)$(TargetName)$(TargetExt)" Outputs="$(IntermediateOutputPath)%(Culture)\$(TargetName).resources.dll" Condition="'@(_SatelliteAssemblyResourceInputs)' != '' and '$(GenerateSatelliteAssembliesForCore)' != 'true'">
7447 <PropertyGroup>
7448 <_ALExeToolPath Condition="'$(_ALExeToolPath)' == ''">$(TargetFrameworkSDKToolsDirectory)</_ALExeToolPath>
7449 </PropertyGroup>
7450 <MakeDir Directories="@(EmbeddedResource->'$(IntermediateOutputPath)%(Culture)')" />
7451 <AL AlgorithmId="$(Satellite_AlgorithmId)" BaseAddress="$(Satellite_BaseAddress)" CompanyName="$(Satellite_CompanyName)" Configuration="$(Satellite_Configuration)" Copyright="$(Satellite_Copyright)" Culture="%(Culture)" DelaySign="$(DelaySign)" Description="$(Satellite_Description)" EmbedResources="@(_SatelliteAssemblyResourceInputs)" EnvironmentVariables="$(AlEnvironment)" EvidenceFile="$(Satellite_EvidenceFile)" FileVersion="$(Satellite_FileVersion)" Flags="$(Satellite_Flags)" GenerateFullPaths="$(Satellite_GenerateFullPaths)" KeyContainer="$(KeyContainerName)" KeyFile="$(KeyOriginatorFile)" LinkResources="@(Satellite_LinkResource)" MainEntryPoint="$(Satellite_MainEntryPoint)" OutputAssembly="$(IntermediateOutputPath)%(Culture)\$(TargetName).resources.dll" Platform="$(PlatformTarget)" ProductName="$(Satellite_ProductName)" ProductVersion="$(Satellite_ProductVersion)" ResponseFiles="@(AlResponseFile)" SourceModules="@(Satellite_SourceModule)" TargetType="$(Satellite_TargetType)" TemplateFile="$(IntermediateOutputPath)$(TargetName)$(TargetExt)" Title="$(Satellite_Title)" ToolPath="$(AlToolPath)" ToolExe="$(AlToolExe)" SdkToolsPath="$(_ALExeToolPath)" Trademark="$(Satellite_Trademark)" Version="$(Satellite_Version)" Win32Icon="$(Satellite_Win32Icon)" Win32Resource="$(Satellite_Win32Resource)">
7452 <Output TaskParameter="OutputAssembly" ItemName="FileWrites" />
7453 </AL>
7454 </Target>
7455 <!--
7456 ============================================================
7457 ComputeIntermediateSatelliteAssemblies
7458
7459 Compute the paths to the intermediate satellite assemblies,
7460 with culture attributes so we can copy them to the right place.
7461 ============================================================
7462 -->
7463 <PropertyGroup>
7464 <ComputeIntermediateSatelliteAssembliesDependsOn>
7465 CreateManifestResourceNames
7466 </ComputeIntermediateSatelliteAssembliesDependsOn>
7467 </PropertyGroup>
7468 <Target Name="ComputeIntermediateSatelliteAssemblies" Condition="@(EmbeddedResource->'%(WithCulture)') != ''" DependsOnTargets="$(ComputeIntermediateSatelliteAssembliesDependsOn)">
7469 <ItemGroup>
7470 <IntermediateSatelliteAssembliesWithTargetPath Include="$(IntermediateOutputPath)%(EmbeddedResource.Culture)\$(TargetName).resources.dll" Condition="'%(EmbeddedResource.Culture)' != ''">
7471 <Culture>%(EmbeddedResource.Culture)</Culture>
7472 <TargetPath>%(EmbeddedResource.Culture)\$(TargetName).resources.dll</TargetPath>
7473 </IntermediateSatelliteAssembliesWithTargetPath>
7474 </ItemGroup>
7475 </Target>
7476 <!--
7477 ***********************************************************************************************
7478 ***********************************************************************************************
7479 SetWin32ManifestProperties Section
7480 ***********************************************************************************************
7481 ***********************************************************************************************
7482 -->
7483 <PropertyGroup>
7484 <EmbeddedWin32Manifest>$(Win32Manifest)</EmbeddedWin32Manifest>
7485 </PropertyGroup>
7486 <!--
7487 ============================================================
7488 SetWin32ManifestProperties
7489
7490 Set Win32Manifest and EmbeddedManifest properties to be used later in the build.
7491 ============================================================
7492 -->
7493 <Target Name="SetWin32ManifestProperties" Condition="'$(Win32Manifest)'==''" DependsOnTargets="ResolveComReferences;ResolveNativeReferences;_SetExternalWin32ManifestProperties;_SetEmbeddedWin32ManifestProperties" />
7494 <Target Name="_SetExternalWin32ManifestProperties" Condition="'$(GenerateClickOnceManifests)'=='true' or '@(NativeReference)'!='' or '@(ResolvedIsolatedComModules)'!=''">
7495 <PropertyGroup>
7496 <!-- set _DeploymentBaseManifest property to the value of $(ApplicationManifest) if the property is set,
7497 but use _DeploymentBaseManifestWithTargetPath item-group if the property is not set to support backwards
7498 compat with earlier MSBuild versions when manifest files were determined by the item-group. If the newer
7499 property is set though, prefer that one be used to specify the manifest. -->
7500 <_DeploymentBaseManifest>$(ApplicationManifest)</_DeploymentBaseManifest>
7501 <_DeploymentBaseManifest Condition="'$(_DeploymentBaseManifest)'==''">@(_DeploymentBaseManifestWithTargetPath)</_DeploymentBaseManifest>
7502 <!-- when using external manifests, always set the NoWin32Manifest property to
7503 true if there is no value set in the incoming project file so the
7504 compilers that support manifest embedding know not to add
7505 a manifest to their built assemblies -->
7506 <NoWin32Manifest Condition="'$(NoWin32Manifest)'==''">true</NoWin32Manifest>
7507 </PropertyGroup>
7508 </Target>
7509 <Target Name="_SetEmbeddedWin32ManifestProperties" Condition="'$(GenerateClickOnceManifests)'!='true' and '@(NativeReference)'=='' and '@(ResolvedIsolatedComModules)'==''">
7510 <PropertyGroup>
7511 <EmbeddedWin32Manifest>$(ApplicationManifest)</EmbeddedWin32Manifest>
7512 <Win32Manifest>$(ApplicationManifest)</Win32Manifest>
7513 </PropertyGroup>
7514 <!-- If PreferNativeArm64 is enabled, it searches for the same default.win32manifest -->
7515 <GetFrameworkPath Condition="'$(ApplicationManifest)'=='' and '$(NoWin32Manifest)'!='true' and '$(PreferNativeArm64)' != 'true'">
7516 <Output TaskParameter="FrameworkVersion40Path" PropertyName="_FrameworkVersion40Path" />
7517 </GetFrameworkPath>
7518 <PropertyGroup>
7519 <EmbeddedWin32Manifest Condition="'$(ApplicationManifest)'=='' and '$(NoWin32Manifest)'!='true' and '$(PreferNativeArm64)' != 'true' and Exists('$(_FrameworkVersion40Path)\default.win32manifest')">$(_FrameworkVersion40Path)\default.win32manifest</EmbeddedWin32Manifest>
7520 </PropertyGroup>
7521 </Target>
7522 <!--
7523 ============================================================
7524 _SetPreferNativeArm64Win32ManifestProperties
7525
7526 Populates Manifest with SupportedArchitectures and updates Win32Manifest property to be used later in the build.
7527 ============================================================
7528 -->
7529 <Target Name="_SetPreferNativeArm64Win32ManifestProperties" Condition=" '$(PreferNativeArm64)'=='true' and '$(NoWin32Manifest)'!='true'" DependsOnTargets="SetWin32ManifestProperties">
7530 <AddToWin32Manifest ApplicationManifest="$(Win32Manifest)" OutputDirectory="$(IntermediateOutputPath)" SupportedArchitectures="$(_SupportedArchitectures)">
7531 <Output TaskParameter="ManifestPath" PropertyName="_Win32Manifest" />
7532 </AddToWin32Manifest>
7533 <PropertyGroup>
7534 <Win32Manifest Condition="'$(_Win32Manifest)' != ''">$(_Win32Manifest)</Win32Manifest>
7535 </PropertyGroup>
7536 </Target>
7537 <!--
7538 ***********************************************************************************************
7539 ***********************************************************************************************
7540 GenerateManifests Section
7541 ***********************************************************************************************
7542 ***********************************************************************************************
7543 -->
7544 <!--
7545 ============================================================
7546 GenerateManifests
7547
7548 Generates ClickOnce application and deployment manifests or a native manifest.
7549 ============================================================
7550 -->
7551 <PropertyGroup>
7552 <GenerateManifestsDependsOn>
7553 SetWin32ManifestProperties;
7554 GenerateApplicationManifest;
7555 GenerateDeploymentManifest
7556 </GenerateManifestsDependsOn>
7557 </PropertyGroup>
7558 <!--
7559 ============================================================
7560 _GenerateResolvedDeploymentManifestEntryPoint
7561
7562 Use the ResolveManifestFiles to generate the GenerateResolvedDeploymentManifestEntryPoint
7563
7564 ============================================================
7565 -->
7566 <Target Name="_GenerateResolvedDeploymentManifestEntryPoint">
7567 <ItemGroup>
7568 <_DeploymentPublishFileOfTypeManifestEntryPoint Include="@(PublishFile)" Condition="'%(FileType)'=='ManifestEntryPoint'" />
7569 </ItemGroup>
7570 <ResolveManifestFiles TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" SigningManifests="$(SignManifests)" DeploymentManifestEntryPoint="@(ApplicationManifest)" PublishFiles="@(_DeploymentPublishFileOfTypeManifestEntryPoint)">
7571 <Output TaskParameter="OutputDeploymentManifestEntryPoint" ItemName="_DeploymentResolvedDeploymentManifestEntryPoint" />
7572 </ResolveManifestFiles>
7573 </Target>
7574 <Target Name="GenerateManifests" Condition="'$(GenerateClickOnceManifests)'=='true' or '@(NativeReference)'!='' or '@(ResolvedIsolatedComModules)'!='' or '$(GenerateAppxManifest)' == 'true'" DependsOnTargets="$(GenerateManifestsDependsOn)" />
7575 <!--
7576 ============================================================
7577 GenerateApplicationManifest
7578
7579 Generates a ClickOnce or native application manifest.
7580 An application manifest specifies declarative application identity, dependency and security information.
7581
7582 [IN]
7583 $(_DeploymentBaseManifest) - The base app.manifest from project.
7584 @(ResolvedIsolatedComModules) - The list of COM references to be isolated as reg-free COM dependencies for native assembly loader.
7585 @(_DeploymentManifestFiles) - The list of loose files (content, pdb, xml, etc.) for ClickOnce.
7586 @(_DeploymentManifestDependencies) - The list of application dependencies (typically this is the set of assembly dependencies in bin\) for ClickOnce.
7587 @(AppConfigWithTargetPath) - App config file, if present.
7588 $(_DeploymentManifestType) - Type of manifest to be generated, either "Native" or "ClickOnce".
7589
7590 [OUT]
7591 @(ApplicationManifest) - Generated native or ClickOnce application manifest, i.e. WindowsApplication1.exe.manifest
7592 ============================================================
7593 -->
7594 <Target Name="GenerateApplicationManifest" DependsOnTargets="&#xD;&#xA; _DeploymentSetClickOnceVersions;&#xD;&#xA; _DeploymentGenerateLauncher;&#xD;&#xA; _DeploymentComputeNativeManifestInfo;&#xD;&#xA; _DeploymentComputeClickOnceManifestInfo;&#xD;&#xA; ResolveComReferences;&#xD;&#xA; ResolveNativeReferences;&#xD;&#xA; _GenerateResolvedDeploymentManifestEntryPoint" Inputs="&#xD;&#xA; $(MSBuildAllProjects);&#xD;&#xA; @(AppConfigWithTargetPath);&#xD;&#xA; $(_DeploymentBaseManifest);&#xD;&#xA; @(ResolvedIsolatedComModules);&#xD;&#xA; @(_DeploymentManifestDependencies);&#xD;&#xA; @(_DeploymentResolvedManifestEntryPoint);&#xD;&#xA; @(_DeploymentManifestFiles)" Outputs="@(ApplicationManifest)">
7595 <RequiresFramework35SP1Assembly ReferencedAssemblies="@(Reference)" ErrorReportUrl="$(_DeploymentFormattedErrorReportUrl)" TargetFrameworkVersion="$(TargetFrameworkVersion)" CreateDesktopShortcut="$(CreateDesktopShortcut)" SigningManifests="$(SignManifests)" Assemblies="@(_DeploymentManifestDependencies)" DeploymentManifestEntryPoint="@(_DeploymentResolvedDeploymentManifestEntryPoint)" EntryPoint="@(_DeploymentResolvedManifestEntryPoint)" Files="@(_DeploymentManifestFiles)" SuiteName="$(SuiteName)">
7596 <Output TaskParameter="RequiresMinimumFramework35SP1" PropertyName="_DeploymentRequiresMinimumFramework35SP1" />
7597 </RequiresFramework35SP1Assembly>
7598 <GenerateApplicationManifest AssemblyName="$(_DeploymentApplicationManifestIdentity)" AssemblyVersion="$(_DeploymentManifestVersion)" ConfigFile="@(AppConfigWithTargetPath)" ClrVersion="$(ClrVersion)" Dependencies="@(_DeploymentManifestDependencies)" Description="$(Description)" EntryPoint="@(_DeploymentResolvedManifestEntryPoint)" ErrorReportUrl="$(_DeploymentFormattedErrorReportUrl)" FileAssociations="@(FileAssociation)" Files="@(_DeploymentManifestFiles)" HostInBrowser="$(HostInBrowser)" IconFile="@(_DeploymentManifestIconFile)" InputManifest="$(_DeploymentBaseManifest)" IsolatedComReferences="@(ResolvedIsolatedComModules)" LauncherBasedDeployment="$(_DeploymentLauncherBased)" ManifestType="$(_DeploymentManifestType)" MaxTargetPath="$(MaxTargetPath)" OutputManifest="@(ApplicationManifest)" OSVersion="$(OSVersion)" Platform="$(_DeploymentPlatformTarget)" Product="$(ProductName)" Publisher="$(PublisherName)" RequiresMinimumFramework35SP1="$(_DeploymentRequiresMinimumFramework35SP1)" SuiteName="$(SuiteName)" SupportUrl="$(_DeploymentFormattedSupportUrl)" TargetCulture="$(TargetCulture)" TargetFrameworkSubset="$(TargetFrameworkSubset)" TargetFrameworkProfile="$(TargetFrameworkProfile)" TargetFrameworkVersion="$(_DeploymentManifestTargetFrameworkVersion)" TrustInfoFile="@(_DeploymentIntermediateTrustInfoFile)" UseApplicationTrust="$(UseApplicationTrust)">
7599 <Output TaskParameter="OutputManifest" ItemName="FileWrites" />
7600 </GenerateApplicationManifest>
7601 <AddToWin32Manifest Condition="'$(PreferNativeArm64)'=='true'" ApplicationManifest="@(ApplicationManifest)" OutputDirectory="$(IntermediateOutputPath)" SupportedArchitectures="$(_SupportedArchitectures)" />
7602 <PropertyGroup>
7603 <_DeploymentCopyApplicationManifest>true</_DeploymentCopyApplicationManifest>
7604 </PropertyGroup>
7605 </Target>
7606 <!--
7607 ============================================================
7608 _DeploymentSetClickOnceVersions
7609
7610 Sets ClickOnce versions
7611 ============================================================
7612 -->
7613 <Target Name="_DeploymentSetClickOnceVersions" Condition="'$(GenerateClickOnceManifests)'=='true'">
7614 <PropertyGroup>
7615 <_DeploymentManifestTargetFrameworkMoniker>$(TargetFrameworkMoniker)</_DeploymentManifestTargetFrameworkMoniker>
7616 <_DeploymentManifestTargetFrameworkVersion>$(TargetFrameworkVersion)</_DeploymentManifestTargetFrameworkVersion>
7617 </PropertyGroup>
7618 </Target>
7619 <!--
7620 ============================================================
7621 _DeploymentGenerateLauncher
7622
7623 Generates Launcher if needed
7624 ============================================================
7625 -->
7626 <Target Name="_DeploymentGenerateLauncher" Condition="'$(GenerateClickOnceManifests)'=='true' and '$(_DeploymentLauncherBased)' == 'true'">
7627 <!--
7628 If apphost based built EXE is found, use that as the Launcher.exe's entry point otherwise
7629 use the built DLL as the entry point
7630 -->
7631 <ItemGroup Condition="'$(UseAppHost)' == 'true' and '$(_IsExecutable)' == 'true' and exists('$(AppHostIntermediatePath)')">
7632 <EntryPointForLauncher Include="$(AppHostIntermediatePath)" TargetPath="$(AssemblyName).exe" />
7633 <ContentWithTargetPath Include="@(EntryPointForLauncher)" />
7634 </ItemGroup>
7635 <ItemGroup Condition="'$(EntryPointForLauncher)'==''">
7636 <EntryPointForLauncher Include="$(_DeploymentManifestEntryPoint)" />
7637 </ItemGroup>
7638 <!-- Generates Launcher and obtains its Framework version and moniker -->
7639 <GenerateLauncher AssemblyName="$(_DeploymentApplicationManifestIdentity)" EntryPoint="@(EntryPointForLauncher)" OutputPath="$(IntermediateOutputPath)" VisualStudioVersion="$(VisualStudioVersion)">
7640 <Output TaskParameter="OutputEntryPoint" ItemName="_DeploymentManifestLauncherEntryPoint" />
7641 </GenerateLauncher>
7642 <!--
7643 .NET Core ClickOnce deployments use Launcher, which targets .NET FX 4.5 as the minimum
7644 supported ClickOnce runtime version on target user's machine.
7645
7646 TargetFramework Verion and Moniker properties are used in Deployment manifest generation
7647 task to set compatibleFrameworks element, which needs to match Launcher's target version.
7648
7649 Version can be overriden with DeploymentManifestTargetFrameworkVersionOverride property.
7650 -->
7651 <PropertyGroup>
7652 <_DeploymentManifestTargetFrameworkVersion Condition="'$(DeploymentManifestTargetFrameworkVersionOverride)' == ''">v4.5</_DeploymentManifestTargetFrameworkVersion>
7653 <_DeploymentManifestTargetFrameworkVersion Condition="'$(DeploymentManifestTargetFrameworkVersionOverride)' != ''">$(DeploymentManifestTargetFrameworkVersionOverride)</_DeploymentManifestTargetFrameworkVersion>
7654 <_DeploymentManifestTargetFrameworkMoniker>.NETFramework,Version=$(_DeploymentManifestTargetFrameworkVersion)</_DeploymentManifestTargetFrameworkMoniker>
7655 </PropertyGroup>
7656 <!-- Sign Launcher EXE -->
7657 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="@(_DeploymentManifestLauncherEntryPoint)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" Condition="'$(_DeploymentSignClickOnceManifests)'=='true'" />
7658 <!-- Sign the original ClickOnce entrypoint -->
7659 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="@(_DeploymentManifestEntryPoint)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" Condition="'$(_DeploymentSignClickOnceManifests)'=='true'" />
7660 <!-- Sign apphost.exe if it's the entrypoint for the Launcher.exe. This is the case in loose file publish -->
7661 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="$(AppHostIntermediatePath)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" Condition="'$(_DeploymentSignClickOnceManifests)'=='true' and '$(UseAppHost)' == 'true' and '$(PublishSingleFile)' != 'true' and '$(_IsExecutable)' == 'true' and exists('$(AppHostIntermediatePath)')" />
7662 <!--
7663 Replace entry-point with Launcher and move original project's entry-point to content group.
7664 -->
7665 <ItemGroup>
7666 <ContentWithTargetPath Include="@(_DeploymentManifestEntryPoint)" />
7667 <_DeploymentManifestEntryPoint Remove="@(_DeploymentManifestEntryPoint)" />
7668 <_DeploymentManifestEntryPoint Include="@(_DeploymentManifestLauncherEntryPoint)" />
7669 </ItemGroup>
7670 </Target>
7671 <!--
7672 ============================================================
7673 _DeploymentComputeNativeManifestInfo
7674
7675 Compute info for native manifest generation
7676 ============================================================
7677 -->
7678 <Target Name="_DeploymentComputeNativeManifestInfo" Condition="'$(GenerateClickOnceManifests)'!='true'">
7679 <!-- Create list of items for manifest generation -->
7680 <ResolveManifestFiles NativeAssemblies="@(NativeReferenceFile);@(_DeploymentNativePrerequisite)">
7681 <Output TaskParameter="OutputAssemblies" ItemName="_DeploymentManifestDependencies" />
7682 </ResolveManifestFiles>
7683 <PropertyGroup>
7684 <_DeploymentManifestType>Native</_DeploymentManifestType>
7685 </PropertyGroup>
7686 <!-- Obtain manifest version from the built assembly -->
7687 <GetAssemblyIdentity AssemblyFiles="@(IntermediateAssembly)">
7688 <Output TaskParameter="Assemblies" ItemName="_IntermediateAssemblyIdentity" />
7689 </GetAssemblyIdentity>
7690 <PropertyGroup>
7691 <_DeploymentManifestVersion>@(_IntermediateAssemblyIdentity->'%(Version)')</_DeploymentManifestVersion>
7692 </PropertyGroup>
7693 </Target>
7694 <!--
7695 ============================================================
7696 _DeploymentComputeClickOnceManifestInfo
7697
7698 Compute info for ClickOnce manifest generation
7699 ============================================================
7700 -->
7701 <Target Name="_DeploymentComputeClickOnceManifestInfo" Condition="'$(GenerateClickOnceManifests)'=='true'" DependsOnTargets="$(DeploymentComputeClickOnceManifestInfoDependsOn)">
7702 <!-- Grab just the serialization assemblies for a referenced assembly. There may also be a symbols file in ReferenceRelatedPaths -->
7703 <ItemGroup>
7704 <_SGenDllsRelatedToCurrentDll Include="@(_ReferenceSerializationAssemblyPaths->'%(FullPath)')" Condition="'%(Extension)' == '.dll'" />
7705 <_SGenDllsRelatedToCurrentDll Include="@(SerializationAssembly->'%(FullPath)')" Condition="'%(Extension)' == '.dll'" />
7706 </ItemGroup>
7707 <ItemGroup Condition="!exists('$(ProjectLockFile)')">
7708 <_CopyLocalFalseRefPaths Include="@(ReferencePath)" Condition="'%(CopyLocal)' == 'false'" />
7709 <_CopyLocalFalseRefPathsWithExclusion Include="@(_CopyLocalFalseRefPaths)" Exclude="@(ReferenceCopyLocalPaths);@(_NETStandardLibraryNETFrameworkLib)" />
7710 </ItemGroup>
7711 <ItemGroup Condition="'$(PublishSingleFile)' != 'true'">
7712 <_ClickOnceSatelliteAssemblies Include="@(IntermediateSatelliteAssembliesWithTargetPath);@(ReferenceSatellitePaths)" />
7713 </ItemGroup>
7714 <!-- Flag primary dependencies-certain warnings emitted during application manifest generation apply only to them. -->
7715 <ItemGroup>
7716 <_DeploymentReferencePaths Include="@(ReferenceCopyLocalPaths)" Condition="('%(Extension)' == '.dll' Or '%(Extension)' == '.exe' Or '%(Extension)' == '.md') and ('%(ReferenceCopyLocalPaths.CopyToPublishDirectory)' != 'false')">
7717 <IsPrimary>true</IsPrimary>
7718 </_DeploymentReferencePaths>
7719 <_DeploymentReferencePaths Include="@(_CopyLocalFalseRefPathsWithExclusion)" />
7720 </ItemGroup>
7721 <!-- Include managed references in clickonce manifest only if single file publish is false -->
7722 <ItemGroup Condition="'$(PublishSingleFile)' != 'true'">
7723 <_ManifestManagedReferences Include="@(_DeploymentReferencePaths);@(ReferenceDependencyPaths);@(_SGenDllsRelatedToCurrentDll);@(SerializationAssembly);@(ReferenceCOMWrappersToCopyLocal)" Exclude="@(_ClickOnceSatelliteAssemblies);@(_ReferenceScatterPaths);@(_ExcludedAssembliesFromManifestGeneration)" />
7724 </ItemGroup>
7725 <!-- Include the following files in clickonce manifest only if single file publish is false -->
7726 <ItemGroup Condition="'$(PublishSingleFile)' != 'true'">
7727 <!--
7728 _ClickOnceRuntimeCopyLocalItems group contains any runtimes folder assets of Nuget packages that are not included in
7729 _DeploymentReferencePaths (e.g. pdbs). They are populated from the RuntimeTargetsCopyLocalItems and NativeCopyLocalItems
7730 group that contain the RID-specific assets that go in runtimes folder on publish. They are output groups of the
7731 ResolvePackageAssets target in dotnet/sdk
7732 -->
7733 <_ClickOnceRuntimeCopyLocalItems Include="@(RuntimeTargetsCopyLocalItems)" Condition="'%(RuntimeTargetsCopyLocalItems.CopyLocal)' == 'true'" />
7734 <_ClickOnceRuntimeCopyLocalItems Include="@(NativeCopyLocalItems)" Condition="'%(NativeCopyLocalItems.CopyLocal)' == 'true'" />
7735 <_ClickOnceRuntimeCopyLocalItems Remove="@(_DeploymentReferencePaths)" />
7736 <!--
7737 For .NET>=5, we need to check if we need to publish any content items from transitive project references. For such items to be published, they
7738 either have the .exe/.dll extension or their publish status has been overriden in VS so they will show up in the PublishFiles collection.
7739 The PublishProtocol property is available only in .NET>=5 so we will used that to exclude .NET FX 4.X case.
7740 -->
7741 <_ClickOnceTransitiveContentItemsTemp Include="@(_TransitiveItemsToCopyToOutputDirectory-&gt;WithoutMetadataValue('CopyToPublishDirectory', 'Never')-&gt;'%(TargetPath)')" Condition="'$(PublishProtocol)' == 'ClickOnce'">
7742 <SavedIdentity>%(Identity)</SavedIdentity>
7743 </_ClickOnceTransitiveContentItemsTemp>
7744 <_ClickOnceTransitiveContentItems Include="@(_ClickOnceTransitiveContentItemsTemp->'%(SavedIdentity)')" Condition="'%(Identity)'=='@(PublishFile)' Or '%(Extension)'=='.exe' Or '%(Extension)'=='.dll'" />
7745 <!--
7746 ClickOnce content items is union of transitive content items and content items from this project.
7747 We also exclude content items from this project that have set CopyToPublishDirectory to Never.
7748 -->
7749 <_ClickOnceContentItems Include="@(ContentWithTargetPath-&gt;WithoutMetadataValue('CopyToPublishDirectory', 'Never'))" />
7750 <_ClickOnceContentItems Include="@(_ClickOnceTransitiveContentItems)" />
7751 <!--
7752 For .NET>=5, we need to check if we need to publish any copylocal items from None group. For such items to be published, they either
7753 have .exe/.dll extension or their publish status has been overriden in VS so they will show up in the PublishFiles collection.
7754 The PublishProtocol property is available only in .NET>=5 so we will used that to exclude .NET FX 4.X case.
7755 -->
7756 <!-- Include items from None group for publishing -->
7757 <_ClickOnceNoneItemsTemp Include="@(_NoneWithTargetPath-&gt;WithoutMetadataValue('CopyToPublishDirectory', 'Never')-&gt;'%(TargetPath)')" Condition="'$(PublishProtocol)'=='Clickonce' And ('%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' or '%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' or '%(_NoneWithTargetPath.CopyToOutputDirectory)'=='IfDifferent')">
7758 <SavedIdentity>%(Identity)</SavedIdentity>
7759 </_ClickOnceNoneItemsTemp>
7760 <_ClickOnceNoneItems Include="@(_ClickOnceNoneItemsTemp->'%(SavedIdentity)')" Condition="'%(Identity)'=='@(PublishFile)' Or '%(Extension)'=='.exe' Or '%(Extension)'=='.dll'" />
7761 <_ClickOnceFiles Include="@(_ClickOnceContentItems);@(_DeploymentManifestIconFile);@(AppConfigWithTargetPath);@(NetCoreRuntimeJsonFilesForClickOnce);@(_ClickOnceRuntimeCopyLocalItems);@(_ClickOnceNoneItems)" />
7762 <!-- clear temporary item groups to free memory -->
7763 <_ClickOnceNoneItemsTemp Remove="@(_ClickOnceNoneItemsTemp)" />
7764 <_ClickOnceNoneItems Remove="@(_ClickOnceNoneItems)" />
7765 <_ClickOnceTransitiveContentItemsTemp Remove="@(_ClickOnceTransitiveContentItemsTemp)" />
7766 <_ClickOnceTransitiveContentItems Remove="@(_ClickOnceTransitiveContentItems)" />
7767 <_ClickOnceContentItems Remove="@(_ClickOnceContentItems)" />
7768 <_ClickOnceRuntimeCopyLocalItems Remove="@(_ClickOnceRuntimeCopyLocalItems)" />
7769 </ItemGroup>
7770 <!-- For single file publish, we need to include the SF bundle EXE, application icon file and files excluded from the bundle EXE in the clickonce manifest -->
7771 <ItemGroup Condition="'$(PublishSingleFile)' == 'true'">
7772 <_ClickOnceFiles Include="$(PublishedSingleFilePath);@(_DeploymentManifestIconFile)" />
7773 <_ClickOnceFiles Include="@(_FilesExcludedFromBundle)" />
7774 <!-- Include file association icons from Content as loose files -->
7775 <_FileAssociationIcons Include="%(FileAssociation.DefaultIcon)" />
7776 <_ClickOnceFiles Include="@(ContentWithTargetPath)" Condition="'%(Identity)'=='@(_FileAssociationIcons)'" />
7777 </ItemGroup>
7778 <!-- For single file publish in .net core app, sign the SF EXE if signing is enabled -->
7779 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="$(PublishedSingleFilePath)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" Condition="'$(_DeploymentSignClickOnceManifests)'=='true' and '$(_DeploymentLauncherBased)' == 'true' and '$(PublishSingleFile)' == 'true'" />
7780 <!--
7781 If ReadyToRun is enabled in loose files scenario, we need to remove entries of the IL images that have gone through R2R
7782 compiler and replace them with the entries for their R2R images. The R2R application image also needs to be signed if necessary.
7783 -->
7784 <ItemGroup Condition="'$(PublishReadyToRun)' == 'true' and '$(PublishSingleFile)' != 'true'">
7785 <_ManifestManagedReferences Remove="@(_ReadyToRunCompileList)" />
7786 <_ClickOnceFiles Remove="@(_ReadyToRunCompileList)" />
7787 <_ClickOnceFiles Include="@(_ReadyToRunFilesToPublish)" />
7788 <_ClickOnceTargetFile Include="@(_ReadyToRunFilesToPublish)" Condition="'%(Filename)%(Extension)' == '$(TargetFileName)'" />
7789 </ItemGroup>
7790 <!-- Sign application image created by R2R -->
7791 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="@(_ClickOnceTargetFile)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" Condition="'$(_DeploymentSignClickOnceManifests)' == 'true' and '$(PublishReadyToRun)' == 'true' and '$(PublishSingleFile)' != 'true'" />
7792 <!-- Copy the application executable from Obj folder to app.publish folder.
7793 This is being done to avoid Windows Forms designer memory issues that can arise while operating directly on files located in Obj directory. -->
7794 <Copy SourceFiles="@(_DeploymentManifestEntryPoint)" DestinationFolder="$(ClickOncePublishDir)">
7795 <Output TaskParameter="DestinationFiles" ItemName="_DeploymentClickOnceApplicationExecutable" />
7796 </Copy>
7797 <!-- Sign the application executable located in app.publish folder. Signing this file is done to comply with SmartScreen. -->
7798 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="@(_DeploymentClickOnceApplicationExecutable)" Condition="'$(_DeploymentResolvedManifestCertificateThumbprint)'!='' and '$(_DeploymentSignClickOnceManifests)'=='true' and '$(TargetExt)' == '.exe'" />
7799 <!-- Create list of items for manifest generation -->
7800 <ResolveManifestFiles AssemblyName="$(_DeploymentApplicationManifestIdentity)" EntryPoint="@(_DeploymentClickOnceApplicationExecutable)" ExtraFiles="@(_DebugSymbolsIntermediatePath);$(IntermediateOutputPath)$(TargetName).xml;@(_ReferenceRelatedPaths)" Files="@(_ClickOnceFiles)" IsSelfContainedPublish="$(SelfContained)" IsSingleFilePublish="$(PublishSingleFile)" LauncherBasedDeployment="$(_DeploymentLauncherBased)" ManagedAssemblies="@(_ManifestManagedReferences)" NativeAssemblies="@(NativeReferenceFile);@(_DeploymentNativePrerequisite)" PublishFiles="@(PublishFile)" RuntimePackAssets="@(RuntimePackAsset)" SatelliteAssemblies="@(_ClickOnceSatelliteAssemblies)" SigningManifests="$(SignManifests)" TargetCulture="$(TargetCulture)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(TargetFrameworkVersion)">
7801 <Output TaskParameter="OutputAssemblies" ItemName="_DeploymentManifestDependenciesUnfiltered" />
7802 <Output TaskParameter="OutputFiles" ItemName="_DeploymentManifestFiles" />
7803 <Output TaskParameter="OutputEntryPoint" ItemName="_DeploymentResolvedManifestEntryPoint" />
7804 </ResolveManifestFiles>
7805 <!-- We have to filter items out of the dependencies that have neither CopyLocal set to true, -->
7806 <!-- nor the dependency type manually set to 'Install'. -->
7807 <ItemGroup>
7808 <_DeploymentManifestDependencies Include="@(_DeploymentManifestDependenciesUnfiltered)" Condition="!('%(_DeploymentManifestDependenciesUnfiltered.CopyLocal)' == 'false' And '%(_DeploymentManifestDependenciesUnfiltered.DependencyType)' != 'Install')" />
7809 </ItemGroup>
7810 <PropertyGroup>
7811 <_DeploymentManifestType>ClickOnce</_DeploymentManifestType>
7812 </PropertyGroup>
7813 <!--
7814 Manifest platform should always be MSIL for Launcher-based deployments, as the Launcher is MSIL.
7815 Do not set _DeploymentPlatformTarget property in Launcher case - this is interpreted as MSIL,
7816 by GenerateApplicationManifest and GenerateDeploymentManifest tasks.
7817 Otherwise, set it to PlatformTarget.
7818 -->
7819 <PropertyGroup>
7820 <_DeploymentPlatformTarget Condition="'$(_DeploymentLauncherBased)' != 'true'">$(PlatformTarget)</_DeploymentPlatformTarget>
7821 </PropertyGroup>
7822 <!-- Obtain manifest version from ApplicationVersion and ApplicationRevision properties -->
7823 <FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)">
7824 <Output TaskParameter="OutputVersion" PropertyName="_DeploymentManifestVersion" />
7825 </FormatVersion>
7826 <FormatUrl InputUrl="$(_DeploymentUrl)">
7827 <Output TaskParameter="OutputUrl" PropertyName="_DeploymentFormattedDeploymentUrl" />
7828 </FormatUrl>
7829 <FormatUrl InputUrl="$(SupportUrl)">
7830 <Output TaskParameter="OutputUrl" PropertyName="_DeploymentFormattedSupportUrl" />
7831 </FormatUrl>
7832 <FormatUrl InputUrl="$(ErrorReportUrl)">
7833 <Output TaskParameter="OutputUrl" PropertyName="_DeploymentFormattedErrorReportUrl" />
7834 </FormatUrl>
7835 </Target>
7836 <!--
7837 ============================================================
7838 _DeploymentGenerateTrustInfo
7839
7840 Generates the application permission set for inclusion in the generated ClickOnce application manifest.
7841 ============================================================
7842 -->
7843 <Target Name="_DeploymentGenerateTrustInfo" Condition="'$(TargetZone)'!=''" Inputs="&#xD;&#xA; $(MSBuildAllProjects);&#xD;&#xA; $(_DeploymentBaseManifest);&#xD;&#xA; " Outputs="@(_DeploymentIntermediateTrustInfoFile)">
7844 <GenerateTrustInfo BaseManifest="$(_DeploymentBaseManifest)" ApplicationDependencies="@(ReferencePath);@(ReferenceDependencyPaths)" ExcludedPermissions="$(ExcludedPermissions)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetZone="$(TargetZone)" TrustInfoFile="@(_DeploymentIntermediateTrustInfoFile)">
7845 <Output TaskParameter="TrustInfoFile" ItemName="FileWrites" />
7846 </GenerateTrustInfo>
7847 </Target>
7848 <!--
7849 ============================================================
7850 GenerateDeploymentManifest
7851
7852 Generates a ClickOnce deployment manifest.
7853 An deployment manifest specifies declarative application identity and application update information.
7854 ============================================================
7855 -->
7856 <Target Name="GenerateDeploymentManifest" DependsOnTargets="GenerateApplicationManifest" Inputs="&#xD;&#xA; $(MSBuildAllProjects);&#xD;&#xA; @(ApplicationManifest)&#xD;&#xA; " Outputs="@(DeployManifest)">
7857 <GenerateDeploymentManifest AssemblyName="$(_DeploymentDeployManifestIdentity)" AssemblyVersion="$(_DeploymentManifestVersion)" CreateDesktopShortcut="$(CreateDesktopShortcut)" DeploymentUrl="$(_DeploymentFormattedDeploymentUrl)" Description="$(Description)" DisallowUrlActivation="$(DisallowUrlActivation)" EntryPoint="@(_DeploymentResolvedDeploymentManifestEntryPoint)" ErrorReportUrl="$(_DeploymentFormattedErrorReportUrl)" Install="$(Install)" LauncherBasedDeployment="$(_DeploymentLauncherBased)" MapFileExtensions="$(MapFileExtensions)" MaxTargetPath="$(MaxTargetPath)" MinimumRequiredVersion="$(_DeploymentBuiltMinimumRequiredVersion)" OutputManifest="@(DeployManifest)" Platform="$(_DeploymentPlatformTarget)" Product="$(ProductName)" Publisher="$(PublisherName)" SuiteName="$(SuiteName)" SupportUrl="$(_DeploymentFormattedSupportUrl)" TargetCulture="$(TargetCulture)" TargetFrameworkVersion="$(_DeploymentManifestTargetFrameworkVersion)" TargetFrameworkMoniker="$(_DeploymentManifestTargetFrameworkMoniker)" TrustUrlParameters="$(TrustUrlParameters)" UpdateEnabled="$(UpdateEnabled)" UpdateInterval="$(_DeploymentBuiltUpdateInterval)" UpdateMode="$(UpdateMode)" UpdateUnit="$(_DeploymentBuiltUpdateIntervalUnits)" Condition="'$(GenerateClickOnceManifests)'=='true'">
7858 <Output TaskParameter="OutputManifest" ItemName="FileWrites" />
7859 </GenerateDeploymentManifest>
7860 </Target>
7861 <!--
7862 ***********************************************************************************************
7863 ***********************************************************************************************
7864 PrepareForRun Section
7865 ***********************************************************************************************
7866 ***********************************************************************************************
7867 -->
7868 <PropertyGroup>
7869 <SkipCopyUnchangedFiles Condition="'$(SkipCopyUnchangedFiles)' == ''">true</SkipCopyUnchangedFiles>
7870 <UseCommonOutputDirectory Condition="'$(UseCommonOutputDirectory)' == ''">false</UseCommonOutputDirectory>
7871 </PropertyGroup>
7872 <!--
7873 ============================================================
7874 PrepareForRun
7875
7876 Copy the build outputs to the final directory if they have changed.
7877 ============================================================
7878 -->
7879 <PropertyGroup>
7880 <PrepareForRunDependsOn>
7881 CopyFilesToOutputDirectory
7882 </PrepareForRunDependsOn>
7883 </PropertyGroup>
7884 <Target Name="PrepareForRun" DependsOnTargets="$(PrepareForRunDependsOn)" />
7885 <!--
7886 ============================================================
7887 CopyFilesToOutputDirectory
7888
7889 Copy all build outputs, satellites and other necessary files to the final directory.
7890 ============================================================
7891 -->
7892 <PropertyGroup>
7893 <!-- By default we're not using Hard or Symbolic Links to copy to the output directory, and never when building in VS -->
7894 <CreateHardLinksForCopyAdditionalFilesIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateHardLinksForCopyAdditionalFilesIfPossible)' == ''">false</CreateHardLinksForCopyAdditionalFilesIfPossible>
7895 <CreateSymbolicLinksForCopyAdditionalFilesIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateSymbolicLinksForCopyAdditionalFilesIfPossible)' == ''">false</CreateSymbolicLinksForCopyAdditionalFilesIfPossible>
7896 </PropertyGroup>
7897 <Target Name="CopyFilesToOutputDirectory" DependsOnTargets="&#xD;&#xA; ComputeIntermediateSatelliteAssemblies;&#xD;&#xA; _CopyFilesMarkedCopyLocal;&#xD;&#xA; _CopySourceItemsToOutputDirectory;&#xD;&#xA; _CopyAppConfigFile;&#xD;&#xA; _CopyManifestFiles;&#xD;&#xA; _CheckForCompileOutputs;&#xD;&#xA; _SGenCheckForOutputs">
7898 <PropertyGroup>
7899 <!-- By default we're not using Hard Links to copy to the output directory, and never when building in VS -->
7900 <CreateHardLinksForCopyFilesToOutputDirectoryIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)' == ''">false</CreateHardLinksForCopyFilesToOutputDirectoryIfPossible>
7901 <CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)' == ''">false</CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible>
7902 <ErrorIfLinkFailsForCopyFilesToOutputDirectory Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(ErrorIfLinkFailsForCopyFilesToOutputDirectory)' == ''">false</ErrorIfLinkFailsForCopyFilesToOutputDirectory>
7903 </PropertyGroup>
7904 <PropertyGroup>
7905 <CopyBuildOutputToOutputDirectory Condition="'$(CopyBuildOutputToOutputDirectory)'==''">true</CopyBuildOutputToOutputDirectory>
7906 <CopyOutputSymbolsToOutputDirectory Condition="'$(CopyOutputSymbolsToOutputDirectory)'==''">true</CopyOutputSymbolsToOutputDirectory>
7907 <CopyDocumentationFileToOutputDirectory Condition="'$(CopyDocumentationFileToOutputDirectory)'==''">true</CopyDocumentationFileToOutputDirectory>
7908 </PropertyGroup>
7909 <!-- Copy the build product (.dll or .exe). -->
7910 <Copy SourceFiles="@(IntermediateAssembly)" DestinationFolder="$(OutDir)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)" ErrorIfLinkFails="$(ErrorIfLinkFailsForCopyFilesToOutputDirectory)" Condition="'$(CopyBuildOutputToOutputDirectory)' == 'true' and '$(SkipCopyBuildProduct)' != 'true'">
7911 <Output TaskParameter="DestinationFiles" ItemName="MainAssembly" />
7912 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
7913 </Copy>
7914 <!-- Copy the reference assembly build product (.dll or .exe). -->
7915 <CopyRefAssembly SourcePath="@(IntermediateRefAssembly)" DestinationPath="$(TargetRefPath)" Condition="'$(ProduceReferenceAssembly)' == 'true' and '$(CopyBuildOutputToOutputDirectory)' == 'true' and '$(SkipCopyBuildProduct)' != 'true'">
7916 <Output TaskParameter="DestinationPath" ItemName="ReferenceAssembly" />
7917 <Output TaskParameter="DestinationPath" ItemName="FileWrites" />
7918 </CopyRefAssembly>
7919 <Message Importance="High" Text="$(MSBuildProjectName) -&gt; @(MainAssembly->'%(FullPath)')" Condition="'$(CopyBuildOutputToOutputDirectory)' == 'true' and '$(SkipCopyBuildProduct)'!='true'" />
7920 <!-- Copy the additional modules. -->
7921 <Copy SourceFiles="@(AddModules)" DestinationFolder="$(OutDir)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyAdditionalFilesIfPossible)" Condition="'@(AddModules)' != ''">
7922 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
7923 </Copy>
7924 <!-- Copy the serialization assembly if it exists. -->
7925 <Copy SourceFiles="$(IntermediateOutputPath)$(_SGenDllName)" DestinationFiles="$(OutDir)$(_SGenDllName)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)" ErrorIfLinkFails="$(ErrorIfLinkFailsForCopyFilesToOutputDirectory)" Condition="'$(_SGenDllCreated)'=='true'">
7926 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
7927 </Copy>
7928 <!-- Copy the debug information file (.pdb), if any -->
7929 <Copy SourceFiles="@(_DebugSymbolsIntermediatePath)" DestinationFiles="@(_DebugSymbolsOutputPath)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)" ErrorIfLinkFails="$(ErrorIfLinkFailsForCopyFilesToOutputDirectory)" Condition="'$(_DebugSymbolsProduced)'=='true' and '$(SkipCopyingSymbolsToOutputDirectory)' != 'true' and '$(CopyOutputSymbolsToOutputDirectory)'=='true'">
7930 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
7931 </Copy>
7932 <!-- Copy the resulting XML documentation file, if any. -->
7933 <Copy SourceFiles="@(DocFileItem)" DestinationFiles="@(FinalDocFile)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)" ErrorIfLinkFails="$(ErrorIfLinkFailsForCopyFilesToOutputDirectory)" Condition="'$(_DocumentationFileProduced)'=='true' and '$(CopyDocumentationFileToOutputDirectory)'=='true'">
7934 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
7935 </Copy>
7936 <!-- Copy satellite assemblies. -->
7937 <Copy SourceFiles="@(IntermediateSatelliteAssembliesWithTargetPath)" DestinationFiles="@(IntermediateSatelliteAssembliesWithTargetPath->'$(OutDir)%(Culture)\$(TargetName).resources.dll')" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)" ErrorIfLinkFails="$(ErrorIfLinkFailsForCopyFilesToOutputDirectory)" Condition="'@(IntermediateSatelliteAssembliesWithTargetPath)' != ''">
7938 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
7939 </Copy>
7940 <!--
7941 Copy COM reference wrappers, isolated COM references, COM references included by
7942 native (manifest) references, native (manifest) reference files themselves.
7943 -->
7944 <Copy SourceFiles="@(ReferenceComWrappersToCopyLocal); @(ResolvedIsolatedComModules); @(_DeploymentLooseManifestFile); @(NativeReferenceFile)" DestinationFolder="$(OutDir)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyAdditionalFilesIfPossible)" Condition="'@(ReferenceComWrappersToCopyLocal)' != '' or '@(ResolvedIsolatedComModules)' != '' or '@(_DeploymentLooseManifestFile)' != '' or '@(NativeReferenceFile)' != '' ">
7945 <Output TaskParameter="DestinationFiles" ItemName="FileWritesShareable" />
7946 </Copy>
7947 <!-- Copy the build product of WinMDExp. -->
7948 <Copy SourceFiles="@(WinMDExpArtifacts)" DestinationFolder="$(OutDir)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)" ErrorIfLinkFails="$(ErrorIfLinkFailsForCopyFilesToOutputDirectory)" Condition="'$(SkipCopyWinMDArtifact)' != 'true' and '@(WinMDExpArtifacts)' != ''">
7949 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
7950 <Output TaskParameter="DestinationFiles" ItemName="FinalWinmdExpArtifacts" />
7951 </Copy>
7952 <Message Importance="High" Text="$(MSBuildProjectName) -&gt; $([System.IO.Path]::GetFullPath('$(_WindowsMetadataOutputPath)'))" Condition="'$(SkipCopyWinMDArtifact)' != 'true' and '$(_WindowsMetadataOutputPath)' != ''" />
7953 </Target>
7954 <!--
7955 ============================================================
7956 _CopyFilesMarkedCopyLocal
7957
7958 Copy references that are marked as "CopyLocal" and their dependencies, including .pdbs, .xmls and satellites.
7959 ============================================================
7960 -->
7961 <Target Name="_CopyFilesMarkedCopyLocal" Condition="'@(ReferenceCopyLocalPaths)' != ''">
7962 <PropertyGroup>
7963 <!-- By default we're not using Hard Links to copy to the output directory, and never when building in VS -->
7964 <CreateHardLinksForCopyLocalIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateHardLinksForCopyLocalIfPossible)' == ''">false</CreateHardLinksForCopyLocalIfPossible>
7965 <CreateSymbolicLinksForCopyLocalIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateSymbolicLinksForCopyLocalIfPossible)' == ''">false</CreateSymbolicLinksForCopyLocalIfPossible>
7966 </PropertyGroup>
7967 <Copy SourceFiles="@(ReferenceCopyLocalPaths)" DestinationFiles="@(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyLocalIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyLocalIfPossible)" Condition="'$(UseCommonOutputDirectory)' != 'true'">
7968 <Output TaskParameter="DestinationFiles" ItemName="FileWritesShareable" />
7969 <Output TaskParameter="CopiedFiles" ItemName="ReferencesCopiedInThisBuild" />
7970 <Output TaskParameter="WroteAtLeastOneFile" PropertyName="WroteAtLeastOneFile" />
7971 </Copy>
7972 <!-- If this project produces reference assemblies *and* copied (possibly transitive)
7973 references on this build, subsequent builds of projects that depend on it must
7974 not be considered up to date, so touch this marker file that is considered an
7975 input to projects that reference this one. -->
7976 <Touch Files="@(CopyUpToDateMarker)" AlwaysCreate="true" Condition="'@(ReferencesCopiedInThisBuild)' != '' and '$(WroteAtLeastOneFile)' == 'true'" />
7977 <ItemGroup>
7978 <FileWrites Include="@(CopyUpToDateMarker)" />
7979 </ItemGroup>
7980 </Target>
7981 <!--
7982 ============================================================
7983 _CopySourceItemsToOutputDirectory
7984 ============================================================
7985 -->
7986 <Target Name="_CopySourceItemsToOutputDirectory" DependsOnTargets="&#xD;&#xA; GetCopyToOutputDirectoryItems;&#xD;&#xA; _CopyOutOfDateSourceItemsToOutputDirectory;&#xD;&#xA; _CopyOutOfDateSourceItemsToOutputDirectoryAlways;&#xD;&#xA; _CopyDifferingSourceItemsToOutputDirectory" />
7987 <!--
7988 ============================================================
7989 GetCopyToOutputDirectoryItems
7990
7991 Get all project items that may need to be transferred to the output directory.
7992 This includes baggage items from transitively referenced projects.
7993
7994 As of 17.0, content items are copied transitively by default.
7995 Set `MSBuildCopyContentTransitively` to false to opt out.
7996 See https://github.com/dotnet/msbuild/pull/6622 for more info.
7997 ============================================================
7998 -->
7999 <PropertyGroup>
8000 <_TargetsThatPrepareProjectReferences>_SplitProjectReferencesByFileExistence</_TargetsThatPrepareProjectReferences>
8001 <!--
8002 GetCopyToOutputDirectoryItems depends on an unspecified dependency _SplitProjectReferencesByFileExistence -> AssignProjectConfiguration (https://github.com/dotnet/msbuild/issues/4677).
8003 When the unspecified dependency does not happen by accident, content copying is only 1 level deep instead of transitive.
8004 This target enforces the dependency.
8005 -->
8006 <MSBuildCopyContentTransitively Condition=" '$(MSBuildCopyContentTransitively)' == ''">true</MSBuildCopyContentTransitively>
8007 <_TargetsThatPrepareProjectReferences Condition=" '$(MSBuildCopyContentTransitively)' == 'true' ">
8008 AssignProjectConfiguration;
8009 _SplitProjectReferencesByFileExistence
8010 </_TargetsThatPrepareProjectReferences>
8011 <GetCopyToOutputDirectoryItemsDependsOn>
8012 AssignTargetPaths;
8013 $(_TargetsThatPrepareProjectReferences);
8014 _GetProjectReferenceTargetFrameworkProperties;
8015 _PopulateCommonStateForGetCopyToOutputDirectoryItems
8016 </GetCopyToOutputDirectoryItemsDependsOn>
8017 <!--
8018 Mitigation for https://github.com/dotnet/msbuild/issues/4677
8019 When MSBuildCopyContentTransitively == true, all content copying is transitive.
8020 When MSBuildCopyContentTransitively == false, content copying is 1 level deep.
8021 When MSBuildCopyContentTransitively != {true, false}, the legacy behaviour in https://github.com/dotnet/msbuild/issues/4677 manifests.
8022 -->
8023 <_RecursiveTargetForContentCopying>GetCopyToOutputDirectoryItems</_RecursiveTargetForContentCopying>
8024 <!-- Enforce 1 level deep content copying by replacing the recursive content target with the target that retrieves the content for the current project only. -->
8025 <_RecursiveTargetForContentCopying Condition=" '$(MSBuildCopyContentTransitively)' == 'false' ">_GetCopyToOutputDirectoryItemsFromThisProject</_RecursiveTargetForContentCopying>
8026 </PropertyGroup>
8027 <Target Name="_PopulateCommonStateForGetCopyToOutputDirectoryItems">
8028 <!-- In the general case, clients need very little of the metadata which is generated by invoking this target on this project and its children. For those
8029 cases, we can immediately discard the unwanted metadata, reducing memory usage, particularly in very large and interconnected systems of projects.
8030 However, if some client does require the original functionality, it is sufficient to set MSBuildDisableGetCopyToOutputDirectoryItemsOptimization to
8031 a non-empty value and the original behavior will be restored. -->
8032 <PropertyGroup Condition=" '$(MSBuildDisableGetCopyToOutputDirectoryItemsOptimization)' == '' ">
8033 <_GCTODIKeepDuplicates>false</_GCTODIKeepDuplicates>
8034 <_GCTODIKeepMetadata>CopyToOutputDirectory;TargetPath</_GCTODIKeepMetadata>
8035 </PropertyGroup>
8036 </Target>
8037 <Target Name="_GetCopyToOutputDirectoryItemsFromTransitiveProjectReferences" DependsOnTargets="_PopulateCommonStateForGetCopyToOutputDirectoryItems;_AddOutputPathToGlobalPropertiesToRemove" Returns="@(_CopyToOutputDirectoryTransitiveItems)">
8038 <!-- Get items from child projects first. -->
8039 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="$(_RecursiveTargetForContentCopying)" BuildInParallel="$(BuildInParallel)" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework)" Condition="'@(_MSBuildProjectReferenceExistent)' != '' and '$(_GetChildProjectCopyToOutputDirectoryItems)' == 'true' and '%(_MSBuildProjectReferenceExistent.Private)' != 'false' and '$(UseCommonOutputDirectory)' != 'true'" ContinueOnError="$(ContinueOnError)" SkipNonexistentTargets="true" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences)">
8040 <Output TaskParameter="TargetOutputs" ItemName="_AllChildProjectItemsWithTargetPath" />
8041 </MSBuild>
8042 <!-- Target outputs must be full paths because they will be consumed by a different project. -->
8043 <ItemGroup>
8044 <_CopyToOutputDirectoryTransitiveItems KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_AllChildProjectItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)'=='Always'" />
8045 <_CopyToOutputDirectoryTransitiveItems KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_AllChildProjectItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'" />
8046 <_CopyToOutputDirectoryTransitiveItems KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_AllChildProjectItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)'=='IfDifferent'" />
8047 </ItemGroup>
8048 <!-- Remove items which we will never again use - they just sit around taking up memory otherwise -->
8049 <ItemGroup>
8050 <_AllChildProjectItemsWithTargetPath Remove="@(_AllChildProjectItemsWithTargetPath)" />
8051 </ItemGroup>
8052 <!-- Copy paste _GetCopyToOutputDirectoryItemsFromThisProject but keep the items that came from other projects via ProjectReference's OutputItemType metadata -->
8053 <ItemGroup>
8054 <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='Always' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'!=''" />
8055 <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'!=''" />
8056 <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='IfDifferent' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'!=''" />
8057 </ItemGroup>
8058 <ItemGroup>
8059 <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='Always' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'!=''" />
8060 <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='PreserveNewest' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'!=''" />
8061 <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='IfDifferent' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'!=''" />
8062 </ItemGroup>
8063 <ItemGroup>
8064 <_CompileItemsToCopy Include="@(Compile->'%(FullPath)')" Condition="('%(Compile.CopyToOutputDirectory)'=='Always' or '%(Compile.CopyToOutputDirectory)'=='PreserveNewest' or '%(Compile.CopyToOutputDirectory)'=='IfDifferent') AND '%(Compile.MSBuildSourceProjectFile)'!=''" />
8065 </ItemGroup>
8066 <AssignTargetPath Files="@(_CompileItemsToCopy)" RootFolder="$(MSBuildProjectDirectory)">
8067 <Output TaskParameter="AssignedFiles" ItemName="_CompileItemsToCopyWithTargetPath" />
8068 </AssignTargetPath>
8069 <ItemGroup>
8070 <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='Always'" />
8071 <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'" />
8072 <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='IfDifferent'" />
8073 </ItemGroup>
8074 <ItemGroup>
8075 <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'!=''" />
8076 <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'!=''" />
8077 <_CopyToOutputDirectoryTransitiveItems KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='IfDifferent' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'!=''" />
8078 </ItemGroup>
8079 </Target>
8080 <Target Name="_GetCopyToOutputDirectoryItemsFromThisProject" DependsOnTargets="AssignTargetPaths;_PopulateCommonStateForGetCopyToOutputDirectoryItems" Returns="@(_ThisProjectItemsToCopyToOutputDirectory)">
8081 <ItemGroup>
8082 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='Always' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'==''" />
8083 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'==''" />
8084 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='IfDifferent' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'==''" />
8085 </ItemGroup>
8086 <ItemGroup>
8087 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='Always' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'==''" />
8088 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='PreserveNewest' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'==''" />
8089 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='IfDifferent' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'==''" />
8090 </ItemGroup>
8091 <ItemGroup>
8092 <_CompileItemsToCopy Include="@(Compile->'%(FullPath)')" Condition="('%(Compile.CopyToOutputDirectory)'=='Always' or '%(Compile.CopyToOutputDirectory)'=='PreserveNewest' or '%(Compile.CopyToOutputDirectory)'=='IfDifferent') AND '%(Compile.MSBuildSourceProjectFile)'==''" />
8093 </ItemGroup>
8094 <AssignTargetPath Files="@(_CompileItemsToCopy)" RootFolder="$(MSBuildProjectDirectory)">
8095 <Output TaskParameter="AssignedFiles" ItemName="_CompileItemsToCopyWithTargetPath" />
8096 </AssignTargetPath>
8097 <ItemGroup>
8098 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='Always'" />
8099 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'" />
8100 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='IfDifferent'" />
8101 </ItemGroup>
8102 <ItemGroup>
8103 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'==''" />
8104 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'==''" />
8105 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='IfDifferent' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'==''" />
8106 </ItemGroup>
8107 </Target>
8108 <Target Name="GetCopyToOutputDirectoryItems" Returns="@(AllItemsFullPathWithTargetPath)" KeepDuplicateOutputs=" '$(MSBuildDisableGetCopyToOutputDirectoryItemsOptimization)' == '' " DependsOnTargets="$(GetCopyToOutputDirectoryItemsDependsOn)">
8109 <!-- Compose the content items as the union between transitive content items and content items from this project. -->
8110 <!-- Use CallTarget to avoid breaking targets that hook right before GetCopyToOutputDirectoryItems but expect to run after _GetCopyToOutputDirectoryItemsFromTransitiveProjectReferences and _GetCopyToOutputDirectoryItemsFromThisProject -->
8111 <CallTarget Targets="_GetCopyToOutputDirectoryItemsFromTransitiveProjectReferences">
8112 <Output TaskParameter="TargetOutputs" ItemName="_TransitiveItemsToCopyToOutputDirectory" />
8113 </CallTarget>
8114 <CallTarget Targets="_GetCopyToOutputDirectoryItemsFromThisProject">
8115 <Output TaskParameter="TargetOutputs" ItemName="_ThisProjectItemsToCopyToOutputDirectory" />
8116 </CallTarget>
8117 <ItemGroup Condition="'$(CopyConflictingTransitiveContent)' == 'false'">
8118 <_TransitiveItemsToCopyToOutputDirectory Remove="@(_ThisProjectItemsToCopyToOutputDirectory)" MatchOnMetadata="TargetPath" MatchOnMetadataOptions="PathLike" />
8119 </ItemGroup>
8120 <ItemGroup>
8121 <_TransitiveItemsToCopyToOutputDirectoryAlways KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_TransitiveItemsToCopyToOutputDirectory->'%(FullPath)')" Condition="'%(_TransitiveItemsToCopyToOutputDirectory.CopyToOutputDirectory)'=='Always'" />
8122 <_TransitiveItemsToCopyToOutputDirectoryPreserveNewest KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_TransitiveItemsToCopyToOutputDirectory->'%(FullPath)')" Condition="'%(_TransitiveItemsToCopyToOutputDirectory.CopyToOutputDirectory)'=='PreserveNewest'" />
8123 <_TransitiveItemsToCopyToOutputDirectoryIfDifferent KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_TransitiveItemsToCopyToOutputDirectory->'%(FullPath)')" Condition="'%(_TransitiveItemsToCopyToOutputDirectory.CopyToOutputDirectory)'=='IfDifferent'" />
8124 <_ThisProjectItemsToCopyToOutputDirectoryAlways KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_ThisProjectItemsToCopyToOutputDirectory->'%(FullPath)')" Condition="'%(_ThisProjectItemsToCopyToOutputDirectory.CopyToOutputDirectory)'=='Always'" />
8125 <_ThisProjectItemsToCopyToOutputDirectoryPreserveNewest KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_ThisProjectItemsToCopyToOutputDirectory->'%(FullPath)')" Condition="'%(_ThisProjectItemsToCopyToOutputDirectory.CopyToOutputDirectory)'=='PreserveNewest'" />
8126 <_ThisProjectItemsToCopyToOutputDirectoryIfDifferent KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_ThisProjectItemsToCopyToOutputDirectory->'%(FullPath)')" Condition="'%(_ThisProjectItemsToCopyToOutputDirectory.CopyToOutputDirectory)'=='IfDifferent'" />
8127 <!-- Append the items from this project last so that they will be copied last. -->
8128 <_SourceItemsToCopyToOutputDirectoryAlways Include="@(_TransitiveItemsToCopyToOutputDirectoryAlways);@(_ThisProjectItemsToCopyToOutputDirectoryAlways)" />
8129 <_SourceItemsToCopyToOutputDirectory Include="@(_TransitiveItemsToCopyToOutputDirectoryPreserveNewest);@(_ThisProjectItemsToCopyToOutputDirectoryPreserveNewest)" />
8130 <_SourceItemsToCopyToOutputDirectoryIfDifferent Include="@(_TransitiveItemsToCopyToOutputDirectoryIfDifferent);@(_ThisProjectItemsToCopyToOutputDirectoryIfDifferent)" />
8131 <AllItemsFullPathWithTargetPath Include="@(_SourceItemsToCopyToOutputDirectoryAlways->'%(FullPath)');@(_SourceItemsToCopyToOutputDirectory->'%(FullPath)');@(_SourceItemsToCopyToOutputDirectoryIfDifferent->'%(FullPath)')" />
8132 <!-- Empty intermediate items to release memory -->
8133 <_TransitiveItemsToCopyToOutputDirectoryAlways Remove="@(_TransitiveItemsToCopyToOutputDirectoryAlways)" />
8134 <_TransitiveItemsToCopyToOutputDirectoryPreserveNewest Remove="@(_TransitiveItemsToCopyToOutputDirectoryPreserveNewest)" />
8135 <_TransitiveItemsToCopyToOutputDirectoryIfDifferent Remove="@(_TransitiveItemsToCopyToOutputDirectoryIfDifferent)" />
8136 <_ThisProjectItemsToCopyToOutputDirectoryAlways Remove="@(_ThisProjectItemsToCopyToOutputDirectoryAlways)" />
8137 <_ThisProjectItemsToCopyToOutputDirectoryPreserveNewest Remove="@(_ThisProjectItemsToCopyToOutputDirectoryPreserveNewest)" />
8138 <_ThisProjectItemsToCopyToOutputDirectory Remove="@(_ThisProjectItemsToCopyToOutputDirectory)" />
8139 <_ThisProjectItemsToCopyToOutputDirectoryIfDifferent Remove="@(_ThisProjectItemsToCopyToOutputDirectoryIfDifferent)" />
8140 </ItemGroup>
8141 </Target>
8142 <!--
8143 ============================================================
8144 GetCopyToPublishDirectoryItems
8145
8146 Default implementation of GetCopyToPublishDirectoryItems for projects that do not
8147 use Microsoft.NET.Sdk. It simply returns whatever GetCopyToOutputDirectoryItems
8148 does with CopyToPublishDirectory implied by CopyToOutputDirectory, which is the
8149 same as Microsoft.NET.Sdk default when its CopyToPublishDirectory is not used.
8150
8151 Microsoft.NET.Sdk projects will override this to allow the publish output to be
8152 customized independently from the build output.
8153
8154 Having a default implementation here allows the Microsoft.NET.Sdk Publish target
8155 to work when a Microsoft.NET.Sdk-based project references a non-Microsoft.NET.Sdk-based
8156 project.
8157 ============================================================
8158 -->
8159 <Target Name="GetCopyToPublishDirectoryItems" DependsOnTargets="GetCopyToOutputDirectoryItems" Returns="@(AllPublishItemsFullPathWithTargetPath)">
8160 <ItemGroup>
8161 <AllPublishItemsFullPathWithTargetPath Include="@(AllItemsFullPathWithTargetPath)">
8162 <CopyToPublishDirectory>%(CopyToOutputDirectory)</CopyToPublishDirectory>
8163 </AllPublishItemsFullPathWithTargetPath>
8164 </ItemGroup>
8165 </Target>
8166 <!--
8167 ============================================================
8168 _CopyOutOfDateSourceItemsToOutputDirectory
8169
8170 Copy files that have the CopyToOutputDirectory attribute set to 'PreserveNewest'.
8171 ============================================================
8172 -->
8173 <Target Name="_CopyOutOfDateSourceItemsToOutputDirectory" Condition=" '@(_SourceItemsToCopyToOutputDirectory)' != '' " Inputs="@(_SourceItemsToCopyToOutputDirectory)" Outputs="@(_SourceItemsToCopyToOutputDirectory->'$(OutDir)%(TargetPath)')">
8174 <!--
8175 Not using SkipUnchangedFiles="true" because the items we pass in are already only those that have newer timestampts in the source (determined by _GetCopyToOutputDirectoryItemsFromThisProject).
8176 -->
8177 <Copy SourceFiles="@(_SourceItemsToCopyToOutputDirectory)" DestinationFiles="@(_SourceItemsToCopyToOutputDirectory->'$(OutDir)%(TargetPath)')" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForAdditionalFilesIfPossible)">
8178 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
8179 </Copy>
8180 </Target>
8181 <!--
8182 ============================================================
8183 _CopyOutOfDateSourceItemsToOutputDirectoryAlways
8184
8185 Copy files that have the CopyToOutputDirectory attribute set to 'Always'.
8186 ============================================================
8187 -->
8188 <Target Name="_CopyOutOfDateSourceItemsToOutputDirectoryAlways" Condition=" '@(_SourceItemsToCopyToOutputDirectoryAlways)' != '' ">
8189 <!--
8190 Not using SkipUnchangedFiles="true" by default for backwards compatibility.
8191 -->
8192 <PropertyGroup>
8193 <SkipUnchangedFilesOnCopyAlways Condition="'$(SkipUnchangedFilesOnCopyAlways)' == ''">false</SkipUnchangedFilesOnCopyAlways>
8194 </PropertyGroup>
8195 <Copy SourceFiles="@(_SourceItemsToCopyToOutputDirectoryAlways)" DestinationFiles="@(_SourceItemsToCopyToOutputDirectoryAlways->'$(OutDir)%(TargetPath)')" SkipUnchangedFiles="$(SkipUnchangedFilesOnCopyAlways)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForAdditionalFilesIfPossible)">
8196 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
8197 </Copy>
8198 </Target>
8199 <!--
8200 ============================================================
8201 _CopyDifferingSourceItemsToOutputDirectory
8202
8203 Copy files that have the CopyToOutputDirectory attribute set to 'IfDifferent'.
8204 ============================================================
8205 -->
8206 <Target Name="_CopyDifferingSourceItemsToOutputDirectory" Condition=" '@(_SourceItemsToCopyToOutputDirectoryIfDifferent)' != '' ">
8207 <!--
8208 Using SkipUnchangedFiles="true" because we want only differing files.
8209 -->
8210 <Copy SourceFiles="@(_SourceItemsToCopyToOutputDirectoryIfDifferent)" DestinationFiles="@(_SourceItemsToCopyToOutputDirectoryIfDifferent->'$(OutDir)%(TargetPath)')" SkipUnchangedFiles="true" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForAdditionalFilesIfPossible)">
8211 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
8212 </Copy>
8213 </Target>
8214 <!--
8215 ============================================================
8216 _CopyAppConfigFile
8217
8218 Copy the application config file.
8219 ============================================================
8220 -->
8221 <Target Name="_CopyAppConfigFile" Condition=" '@(AppConfigWithTargetPath)' != '' " Inputs="@(AppConfigWithTargetPath)" Outputs="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')">
8222 <!--
8223 Copy the application's .config file, if any.
8224 Not using SkipUnchangedFiles="true" because the application may want to change
8225 the app.config and not have an incremental build replace it.
8226 -->
8227 <Copy SourceFiles="@(AppConfigWithTargetPath)" DestinationFiles="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForAdditionalFilesIfPossible)">
8228 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
8229 </Copy>
8230 </Target>
8231 <!--
8232 ================================================================
8233 _CopyManifestFiles
8234 ================================================================
8235
8236 Copy the built manifests (.exe.manifest, .application/.xbap) to the final directory.
8237 -->
8238 <Target Name="_CopyManifestFiles" Condition=" '$(_DeploymentCopyApplicationManifest)'=='true' or '$(GenerateClickOnceManifests)'=='true' " DependsOnTargets="PrepareForBuild">
8239 <Copy SourceFiles="@(ApplicationManifest)" DestinationFolder="$(OutDir)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForAdditionalFilesIfPossible)" Condition="'$(GenerateClickOnceManifests)'=='true' or '$(_DeploymentCopyApplicationManifest)'=='true'">
8240 <Output TaskParameter="DestinationFiles" ItemName="_DeploymentMainApplicationManifest" />
8241 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
8242 </Copy>
8243 <Message Importance="Normal" Condition="'$(_DeploymentCopyApplicationManifest)'=='true'" Text="$(MSBuildProjectName) -&gt; @(_DeploymentMainApplicationManifest->'%(FullPath)')" />
8244 <Copy SourceFiles="@(DeployManifest)" DestinationFolder="$(OutDir)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForAdditionalFilesIfPossible)" Condition="'$(GenerateClickOnceManifests)'=='true'">
8245 <Output TaskParameter="DestinationFiles" ItemName="_DeploymentMainDeployManifest" />
8246 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
8247 </Copy>
8248 <Message Importance="Normal" Condition="'$(GenerateClickOnceManifests)'=='true'" Text="$(MSBuildProjectName) -&gt; @(_DeploymentMainDeployManifest->'%(FullPath)')" />
8249 </Target>
8250 <!--
8251 ================================================================
8252 _CheckForCompileOutputs
8253
8254 Checks each file output from the main "Compile" target to make sure they really exist.
8255 If they do, then record them in the clean cache.
8256 ============================================================
8257 -->
8258 <Target Name="_CheckForCompileOutputs">
8259 <!--Record the main compile outputs.-->
8260 <ItemGroup>
8261 <FileWrites Include="@(IntermediateAssembly)" Condition="Exists('@(IntermediateAssembly)')" />
8262 <FileWrites Include="@(IntermediateRefAssembly)" Condition="'$(ProduceReferenceAssembly)' == 'true' and Exists('@(IntermediateRefAssembly)')" />
8263 </ItemGroup>
8264 <!-- Record the .xml if one was produced. -->
8265 <PropertyGroup>
8266 <_DocumentationFileProduced Condition="!Exists('@(DocFileItem)')">false</_DocumentationFileProduced>
8267 </PropertyGroup>
8268 <ItemGroup>
8269 <FileWrites Include="@(DocFileItem)" Condition="'$(_DocumentationFileProduced)'=='true'" />
8270 </ItemGroup>
8271 <!-- Record the .pdb if one was produced. -->
8272 <PropertyGroup>
8273 <_DebugSymbolsProduced Condition="!Exists('@(_DebugSymbolsIntermediatePath)')">false</_DebugSymbolsProduced>
8274 </PropertyGroup>
8275 <ItemGroup>
8276 <FileWrites Include="@(_DebugSymbolsIntermediatePath)" Condition="'$(_DebugSymbolsProduced)'=='true'" />
8277 </ItemGroup>
8278 </Target>
8279 <!--
8280 ============================================================
8281 _SGenCheckForOutputs
8282
8283 Checks each file output from the "GenerateSerializationAssemblies" target to make sure they really exist.
8284 If they do, then record them in the clean cache.
8285 ============================================================
8286 -->
8287 <Target Name="_SGenCheckForOutputs" Condition="'$(_SGenGenerateSerializationAssembliesConfig)' == 'On' or ('@(WebReferenceUrl)'!='' and '$(_SGenGenerateSerializationAssembliesConfig)' == 'Auto')">
8288 <!-- Record the serializer .dll if one was produced.-->
8289 <PropertyGroup>
8290 <_SGenDllCreated Condition="Exists('$(IntermediateOutputPath)$(_SGenDllName)')">true</_SGenDllCreated>
8291 </PropertyGroup>
8292 <ItemGroup>
8293 <FileWrites Include="$(IntermediateOutputPath)$(_SGenDllName)" Condition="Exists('$(IntermediateOutputPath)$(_SGenDllName)')" />
8294 </ItemGroup>
8295 </Target>
8296 <!--
8297 ***********************************************************************************************
8298 ***********************************************************************************************
8299 UnmanagedRegistration Section
8300 ***********************************************************************************************
8301 ***********************************************************************************************
8302 -->
8303 <!--
8304 ============================================================
8305 UnmanagedRegistration
8306
8307 Registers the main assembly for COM interop.
8308 ============================================================
8309 -->
8310 <PropertyGroup>
8311 <UnmanagedRegistrationDependsOn />
8312 </PropertyGroup>
8313 <Target Name="UnmanagedRegistration" Condition="'$(RegisterForComInterop)'=='true' and '$(OutputType)'=='library'" DependsOnTargets="$(UnmanagedRegistrationDependsOn)">
8314 <PropertyGroup>
8315 <RegisterAssemblyMSBuildArchitecture Condition="'$(RegisterAssemblyMSBuildArchitecture)' == ''">$(PlatformTargetAsMSBuildArchitecture)</RegisterAssemblyMSBuildArchitecture>
8316 </PropertyGroup>
8317 <PropertyGroup Condition="'$(TargetFrameworkAsMSBuildRuntime)' != '' and '$(RegisterAssemblyMSBuildArchitecture)' != ''">
8318 <!-- Falling back to the current runtime if we are targeting CLR2 and the task host doesn't exist will lead to
8319 incorrect behavior in some cases, but it's the same incorrect behavior as Visual Studio 2010, and thus better
8320 than causing build breaks on upgrade to Win8 the way not doing so would. For more details, see the
8321 corresponding comment in GenerateResource. -->
8322 <RegisterAssemblyMSBuildRuntime Condition="'$(RegisterAssemblyMSBuildRuntime)' == '' and&#xD;&#xA; $([MSBuild]::DoesTaskHostExist(`$(TargetFrameworkAsMSBuildRuntime)`, `$(RegisterAssemblyMSBuildArchitecture)`))">$(TargetFrameworkAsMSBuildRuntime)</RegisterAssemblyMSBuildRuntime>
8323 <!-- If the targeted runtime doesn't exist, fall back to current -->
8324 <RegisterAssemblyMSBuildRuntime Condition="'$(RegisterAssemblyMSBuildRuntime)' == ''">CurrentRuntime</RegisterAssemblyMSBuildRuntime>
8325 </PropertyGroup>
8326 <RegisterAssembly Assemblies="@(_OutputPathItem->'%(FullPath)$(TargetFileName)')" TypeLibFiles="@(_OutputPathItem->'%(FullPath)$(TargetName).tlb')" AssemblyListFile="@(_UnmanagedRegistrationCache)" CreateCodeBase="true" MSBuildRuntime="$(RegisterAssemblyMSBuildRuntime)" MSBuildArchitecture="$(RegisterAssemblyMSBuildArchitecture)" Condition="!Exists('@(_UnmanagedRegistrationCache)')" />
8327 <ItemGroup>
8328 <FileWrites Include="@(_OutputPathItem->'%(FullPath)$(TargetName).tlb')" />
8329 </ItemGroup>
8330 </Target>
8331 <!--
8332 ***********************************************************************************************
8333 ***********************************************************************************************
8334 IncrementalClean Section
8335 ***********************************************************************************************
8336 ***********************************************************************************************
8337 -->
8338 <!--
8339 ============================================================
8340 IncrementalClean
8341
8342 Remove files that were produced in a prior build but weren't produced in the current build.
8343 The reason is that if, for example, the name of the .exe has changed we want to delete the
8344 old copy.
8345
8346 Leave the Clean cache file containing only the files produced in the current build.
8347 ============================================================
8348 -->
8349 <Target Name="IncrementalClean" DependsOnTargets="$(IncrementalCleanDependsOn);_CleanGetCurrentAndPriorFileWrites">
8350 <!-- Subtract list of files produced in prior builds from list of files produced in this build. -->
8351 <ItemGroup>
8352 <_CleanOrphanFileWrites Include="@(_CleanPriorFileWrites)" Exclude="@(_CleanCurrentFileWrites)" />
8353 </ItemGroup>
8354 <!-- Find all files in the final output directory. -->
8355 <FindUnderPath Path="$(OutDir)" Files="@(_CleanOrphanFileWrites)">
8356 <Output TaskParameter="InPath" ItemName="_CleanOrphanFileWritesInOutput" />
8357 </FindUnderPath>
8358 <!-- Find all files in the intermediate output directory. -->
8359 <FindUnderPath Path="$(IntermediateOutputPath)" Files="@(_CleanOrphanFileWrites)">
8360 <Output TaskParameter="InPath" ItemName="_CleanOrphanFileWritesInIntermediate" />
8361 </FindUnderPath>
8362 <!-- Delete the orphaned files. -->
8363 <Delete Files="@(_CleanOrphanFileWritesInIntermediate);@(_CleanOrphanFileWritesInOutput)" TreatErrorsAsWarnings="true">
8364 <Output TaskParameter="DeletedFiles" ItemName="_CleanOrphanFilesDeleted" />
8365 </Delete>
8366 <!-- Create a list of everything that wasn't deleted or was outside
8367 the current final output and intermediate output directories. -->
8368 <ItemGroup>
8369 <_CleanRemainingFileWritesAfterIncrementalClean Include="@(_CleanPriorFileWrites);@(_CleanCurrentFileWrites)" Exclude="@(_CleanOrphanFilesDeleted)" />
8370 </ItemGroup>
8371 <!-- Remove duplicates. -->
8372 <RemoveDuplicates Inputs="@(_CleanRemainingFileWritesAfterIncrementalClean)">
8373 <Output TaskParameter="Filtered" ItemName="_CleanUniqueRemainingFileWritesAfterIncrementalClean" />
8374 </RemoveDuplicates>
8375 <!-- Write new list of current files back to disk, replacing the existing list.-->
8376 <WriteLinesToFile File="$(IntermediateOutputPath)$(CleanFile)" Lines="@(_CleanUniqueRemainingFileWritesAfterIncrementalClean)" Condition="'@(_CleanUnfilteredPriorFileWrites)'!='@(_CleanUniqueRemainingFileWritesAfterIncrementalClean)'" Overwrite="true" />
8377 </Target>
8378 <!--
8379 ============================================================
8380 _CleanGetCurrentAndPriorFileWrites
8381
8382 Get the list of files built in the current build and in prior builds.
8383 ============================================================
8384 -->
8385 <Target Name="_CleanGetCurrentAndPriorFileWrites" DependsOnTargets="_CheckForCompileOutputs;_SGenCheckForOutputs">
8386 <!-- Read the list of files produced by a prior builds from disk. -->
8387 <ReadLinesFromFile File="$(IntermediateOutputPath)$(CleanFile)">
8388 <Output TaskParameter="Lines" ItemName="_CleanUnfilteredPriorFileWrites" />
8389 </ReadLinesFromFile>
8390 <!--
8391 Convert the list of references to the absolute paths so we can make valid comparisons
8392 across two lists
8393 -->
8394 <ConvertToAbsolutePath Paths="@(_ResolveAssemblyReferenceResolvedFiles)">
8395 <Output TaskParameter="AbsolutePaths" ItemName="_ResolveAssemblyReferenceResolvedFilesAbsolute" />
8396 </ConvertToAbsolutePath>
8397 <!--
8398 Subtract any resolved assembly files from *prior* file writes because deleting
8399 these would break subsequent builds because the assemblies would be unresolvable.
8400 -->
8401 <ItemGroup>
8402 <_CleanPriorFileWrites Include="@(_CleanUnfilteredPriorFileWrites)" Exclude="@(_ResolveAssemblyReferenceResolvedFilesAbsolute)" />
8403 </ItemGroup>
8404 <PropertyGroup>
8405 <!--
8406 Of shareable files, keep only those that are in the project's directory.
8407 We never clean shareable files outside of the project directory because
8408 the build may be to a common output directory and other projects may need
8409 them.
8410
8411 The default layout of projects is that everything particular to the project is
8412 located under the MSBuildProjectDirectory, so it's considered safe to track/delete those.
8413 The assumption was that anything outside the project's directory is shared between multiple projects
8414 and should not be deleted by the Clean target.
8415
8416 However, this is not always the case. The .NET SDK has a feature called Artifacts Layout
8417 where project outputs are tracked in _project-specific_ locations under a root that is
8418 outside of the project directory. In such cases, we need to be able to track FileWritesShareable
8419 even from those locations.
8420 -->
8421 <TrackFileWritesShareableOutsideOfProjectDirectory Condition=" '$(TrackFileWritesShareableOutsideOfProjectDirectory)' == '' ">false</TrackFileWritesShareableOutsideOfProjectDirectory>
8422 </PropertyGroup>
8423 <!-- Even if we don't allow cleaning filewrites from outside of the project bubble, we should still include FileWritesShareable that are inside the bubble -->
8424 <FindUnderPath Condition="!$(TrackFileWritesShareableOutsideOfProjectDirectory)" Path="$(MSBuildProjectDirectory)" Files="@(FileWritesShareable)" UpdateToAbsolutePaths="true">
8425 <Output TaskParameter="InPath" ItemName="FileWrites" />
8426 </FindUnderPath>
8427 <!-- Find all files in the final output directory. Use separate item includes for Files based on condition so we don't create a whole new
8428 item list unnecessarily -->
8429 <FindUnderPath Path="$(OutDir)" Files="@(FileWrites)" UpdateToAbsolutePaths="true" Condition="!$(TrackFileWritesShareableOutsideOfProjectDirectory)">
8430 <Output TaskParameter="InPath" ItemName="_CleanCurrentFileWritesInOutput" />
8431 </FindUnderPath>
8432 <FindUnderPath Path="$(OutDir)" Files="@(FileWrites);@(FileWritesShareable)" UpdateToAbsolutePaths="true" Condition="$(TrackFileWritesShareableOutsideOfProjectDirectory)">
8433 <Output TaskParameter="InPath" ItemName="_CleanCurrentFileWritesInOutput" />
8434 </FindUnderPath>
8435 <!-- Find all files in the intermediate output directory. Same as above, use Conditions to prevent new item list writes -->
8436 <FindUnderPath Path="$(IntermediateOutputPath)" Files="@(FileWrites)" UpdateToAbsolutePaths="true" Condition="!$(TrackFileWritesShareableOutsideOfProjectDirectory)">
8437 <Output TaskParameter="InPath" ItemName="_CleanCurrentFileWritesInIntermediate" />
8438 </FindUnderPath>
8439 <FindUnderPath Path="$(IntermediateOutputPath)" Files="@(FileWrites);@(FileWritesShareable)" UpdateToAbsolutePaths="true" Condition="$(TrackFileWritesShareableOutsideOfProjectDirectory)">
8440 <Output TaskParameter="InPath" ItemName="_CleanCurrentFileWritesInIntermediate" />
8441 </FindUnderPath>
8442 <!--
8443 Subtract any resolved assembly files from *current* file writes because deleting
8444 these would break subsequent builds because the assemblies would be unresolvable.
8445
8446 Only subtract the outputs from ResolveAssemblyReferences target because that's the
8447 only "Resolve" target that tries to resolve assemblies directly from the output
8448 directory.
8449 -->
8450 <ItemGroup>
8451 <_CleanCurrentFileWritesWithNoReferences Include="@(_CleanCurrentFileWritesInOutput);@(_CleanCurrentFileWritesInIntermediate)" Exclude="@(_ResolveAssemblyReferenceResolvedFilesAbsolute)" />
8452 </ItemGroup>
8453 <!-- Remove duplicates from files produced in this build. -->
8454 <RemoveDuplicates Inputs="@(_CleanCurrentFileWritesWithNoReferences)">
8455 <Output TaskParameter="Filtered" ItemName="_CleanCurrentFileWrites" />
8456 </RemoveDuplicates>
8457 </Target>
8458 <!--
8459 ***********************************************************************************************
8460 ***********************************************************************************************
8461 Clean Section
8462 ***********************************************************************************************
8463 ***********************************************************************************************
8464 -->
8465 <!--
8466 ============================================================
8467 Clean
8468
8469 Delete all intermediate and final build outputs.
8470 ============================================================
8471 -->
8472 <PropertyGroup>
8473 <CleanDependsOn>
8474 BeforeClean;
8475 UnmanagedUnregistration;
8476 CoreClean;
8477 CleanReferencedProjects;
8478 CleanPublishFolder;
8479 AfterClean
8480 </CleanDependsOn>
8481 </PropertyGroup>
8482 <Target Name="Clean" Condition=" '$(_InvalidConfigurationWarning)' != 'true' " DependsOnTargets="$(CleanDependsOn)" />
8483 <!--
8484 ============================================================
8485 BeforeClean
8486
8487 Redefine this target in your project in order to run tasks just before Clean.
8488 ============================================================
8489 -->
8490 <Target Name="BeforeClean" />
8491 <!--
8492 ============================================================
8493 AfterClean
8494
8495 Redefine this target in your project in order to run tasks just after Clean.
8496 ============================================================
8497 -->
8498 <Target Name="AfterClean" />
8499 <!--
8500 ============================================================
8501 CleanReferencedProjects
8502
8503 Call Clean target on all Referenced Projects.
8504 ============================================================
8505 -->
8506 <Target Name="CleanReferencedProjects" DependsOnTargets="PrepareProjectReferences">
8507 <!--
8508 When building the project directly from the command-line, clean those referenced projects
8509 that exist on disk. For IDE builds and command-line .SLN builds, the solution build manager
8510 takes care of this.
8511 -->
8512 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="Clean" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework)" BuildInParallel="$(BuildInParallel)" Condition="'$(BuildingInsideVisualStudio)' != 'true' and '$(BuildProjectReferences)' == 'true' and '@(_MSBuildProjectReferenceExistent)' != ''" ContinueOnError="$(ContinueOnError)" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences)" />
8513 </Target>
8514 <!--
8515 ============================================================
8516 CoreClean
8517 ============================================================
8518 -->
8519 <PropertyGroup>
8520 <CoreCleanDependsOn />
8521 </PropertyGroup>
8522 <Target Name="CoreClean" DependsOnTargets="$(CoreCleanDependsOn)">
8523 <!-- First clean any explicitly specified cleanable files.
8524 Declare items of this type if you want Clean to delete them. -->
8525 <Delete Files="@(Clean)" TreatErrorsAsWarnings="true" />
8526 <!-- Read in list of files that were written to disk in past builds. -->
8527 <ReadLinesFromFile File="$(IntermediateOutputPath)$(CleanFile)">
8528 <Output TaskParameter="Lines" ItemName="_CleanPriorFileWrites" />
8529 </ReadLinesFromFile>
8530 <!-- Find all files in the final output directory. -->
8531 <FindUnderPath Path="$(OutDir)" Files="@(_CleanPriorFileWrites)">
8532 <Output TaskParameter="InPath" ItemName="_CleanPriorFileWritesInOutput" />
8533 </FindUnderPath>
8534 <!-- Find all files in the intermediate output directory. -->
8535 <FindUnderPath Path="$(IntermediateOutputPath)" Files="@(_CleanPriorFileWrites)">
8536 <Output TaskParameter="InPath" ItemName="_CleanPriorFileWritesInIntermediate" />
8537 </FindUnderPath>
8538 <!-- Delete those files. -->
8539 <Delete Files="@(_CleanPriorFileWritesInOutput);@(_CleanPriorFileWritesInIntermediate)" TreatErrorsAsWarnings="true">
8540 <Output TaskParameter="DeletedFiles" ItemName="_CleanPriorFileWritesDeleted" />
8541 </Delete>
8542 <!-- Create a list of everything that wasn't deleted. -->
8543 <ItemGroup>
8544 <_CleanRemainingFileWritesAfterClean Include="@(_CleanPriorFileWrites)" Exclude="@(_CleanPriorFileWritesDeleted)" />
8545 </ItemGroup>
8546 <!-- Remove duplicates. -->
8547 <RemoveDuplicates Inputs="@(_CleanRemainingFileWritesAfterClean)">
8548 <Output TaskParameter="Filtered" ItemName="_CleanUniqueRemainingFileWrites" />
8549 </RemoveDuplicates>
8550 <!-- Make sure the directory exists. -->
8551 <MakeDir Directories="$(IntermediateOutputPath)" />
8552 <!-- Write new list of current files back to disk. -->
8553 <WriteLinesToFile File="$(IntermediateOutputPath)$(CleanFile)" Lines="@(_CleanUniqueRemainingFileWrites)" WriteOnlyWhenDifferent="true" Overwrite="true" />
8554 </Target>
8555 <!--
8556 ============================================================
8557 _CleanRecordFileWrites
8558
8559 Save the list of all files written to disk so that it can be used for "Clean" later.
8560
8561 Files written in prior builds are not removed from Clean cache.
8562 ============================================================
8563 -->
8564 <Target Name="_CleanRecordFileWrites" DependsOnTargets="_CleanGetCurrentAndPriorFileWrites">
8565 <!--
8566 Merge list of files from prior builds with the current build and then
8567 remove duplicates.
8568 -->
8569 <RemoveDuplicates Inputs="@(_CleanPriorFileWrites);@(_CleanCurrentFileWrites)">
8570 <Output TaskParameter="Filtered" ItemName="_CleanUniqueFileWrites" />
8571 </RemoveDuplicates>
8572 <!-- Make sure the directory exists. -->
8573 <MakeDir Directories="$(IntermediateOutputPath)" />
8574 <!-- Write merged file list back to disk, replacing existing contents. -->
8575 <WriteLinesToFile File="$(IntermediateOutputPath)$(CleanFile)" Lines="@(_CleanUniqueFileWrites)" Overwrite="true" WriteOnlyWhenDifferent="true" />
8576 </Target>
8577 <!--
8578 ============================================================
8579 CleanPublishFolder
8580 ============================================================
8581 -->
8582 <Target Name="CleanPublishFolder">
8583 <RemoveDir Directories="$(ClickOncePublishDir)" Condition="'$(ClickOncePublishDir)'=='$(OutputPath)app.publish\' and Exists('$(ClickOncePublishDir)')" />
8584 </Target>
8585 <!--
8586 ***********************************************************************************************
8587 ***********************************************************************************************
8588 PostBuildEvent Section
8589 ***********************************************************************************************
8590 ***********************************************************************************************
8591 -->
8592 <!--
8593 ============================================================
8594 PostBuildEvent
8595
8596 Run the post-build event. This step is driven by two parameters:
8597
8598 (1) The $(RunPostBuildEvent) property is set by the user through the IDE and can be one of four values.
8599
8600 - OnBuildSuccess: In this case, every step of the build must succeed for the post-build step to run.
8601 - <Blank>: This is the same as OnBuildSuccess.
8602 - OnOutputUpdated: In this case, the post-build step will run only if the main output assembly was
8603 actually updated.
8604 - Always: The post-build step is always run.
8605
8606 (2) The $(_AssemblyTimestampBeforeCompile) and $(_AssemblyTimestampAfterCompile) values are
8607 set by the _TimeStampBeforeCompile and _TimeStampAfterCompile targets. If the assembly was actually
8608 rebuilt during this build, then the two values will be different.
8609 ============================================================
8610 -->
8611 <PropertyGroup>
8612 <PostBuildEventDependsOn />
8613 </PropertyGroup>
8614 <Target Name="PostBuildEvent" Condition="'$(PostBuildEvent)' != '' and ('$(RunPostBuildEvent)' != 'OnOutputUpdated' or '$(_AssemblyTimestampBeforeCompile)' != '$(_AssemblyTimestampAfterCompile)')" DependsOnTargets="$(PostBuildEventDependsOn)">
8615 <Exec WorkingDirectory="$(OutDir)" Command="$(PostBuildEvent)" />
8616 </Target>
8617 <!--
8618 ***********************************************************************************************
8619 ***********************************************************************************************
8620 Publish Section
8621 ***********************************************************************************************
8622 ***********************************************************************************************
8623 -->
8624 <PropertyGroup>
8625 <DeploymentComputeClickOnceManifestInfoDependsOn>
8626 CleanPublishFolder;
8627 $(_RecursiveTargetForContentCopying);
8628 _DeploymentGenerateTrustInfo;
8629 $(DeploymentComputeClickOnceManifestInfoDependsOn)
8630 </DeploymentComputeClickOnceManifestInfoDependsOn>
8631 </PropertyGroup>
8632 <!--
8633 ============================================================
8634 Publish
8635
8636 This target is only called when doing ClickOnce publishing outside the IDE, which implicitly builds before publishing.
8637 ============================================================
8638 -->
8639 <PropertyGroup>
8640 <PublishDependsOn Condition="'$(PublishableProject)'=='true'">
8641 SetGenerateManifests;
8642 Build;
8643 PublishOnly
8644 </PublishDependsOn>
8645 <PublishDependsOn Condition="'$(PublishableProject)'!='true'">
8646 _DeploymentUnpublishable
8647 </PublishDependsOn>
8648 </PropertyGroup>
8649 <Target Name="Publish" DependsOnTargets="$(PublishDependsOn)" />
8650 <!--
8651 ============================================================
8652 _DeploymentUnpublishable
8653
8654 This target is used to block an attempt to ClickOnce publish a non-publishable project, such as a ClassLibrary, when building outside the IDE.
8655 ============================================================
8656 -->
8657 <Target Name="_DeploymentUnpublishable">
8658 <MSBuildInternalMessage ResourceName="CommonSdk.DeploymentUnpublishable" Severity="Message" />
8659 </Target>
8660 <!--
8661 ============================================================
8662 SetGenerateManifests
8663
8664 This target simply assures the GenerateClickOnceManifests property is set whenever the publish target is invoked.
8665 ============================================================
8666 -->
8667 <Target Name="SetGenerateManifests">
8668 <MSBuildInternalMessage Condition="'$(OutputType)'!='winexe' and '$(OutputType)'!='exe' and '$(OutputType)'!='appcontainerexe'" ResourceName="CommonSdk.GenerateManifestsOnlyForExe" Severity="Error" />
8669 <MSBuildInternalMessage Condition="'$(_DeploymentSignClickOnceManifests)'=='true' and '$(ManifestCertificateThumbprint)'=='' and '$(ManifestKeyFile)'==''" ResourceName="CommonSdk.SigningKeyRequired" Severity="Error" />
8670 <PropertyGroup>
8671 <GenerateClickOnceManifests>true</GenerateClickOnceManifests>
8672 </PropertyGroup>
8673 </Target>
8674 <!--
8675 ============================================================
8676 PublishOnly
8677
8678 The "PublishOnly" target is intended for ClickOnce publishing inside the IDE, where the build has already been done
8679 by the BuildManager.
8680 ============================================================
8681 -->
8682 <PropertyGroup>
8683 <PublishOnlyDependsOn>
8684 SetGenerateManifests;
8685 PublishBuild;
8686 BeforePublish;
8687 GenerateManifests;
8688 CopyFilesToOutputDirectory;
8689 _CopyFilesToPublishFolder;
8690 _DeploymentGenerateBootstrapper;
8691 ResolveKeySource;
8692 _DeploymentSignClickOnceDeployment;
8693 AfterPublish
8694 </PublishOnlyDependsOn>
8695 </PropertyGroup>
8696 <Target Name="PublishOnly" DependsOnTargets="$(PublishOnlyDependsOn)" />
8697 <!--
8698 ============================================================
8699 BeforePublish
8700
8701 Redefine this target in your project in order to run tasks just before Publish.
8702 ============================================================
8703 -->
8704 <Target Name="BeforePublish" />
8705 <!--
8706 ============================================================
8707 AfterPublish
8708
8709 Redefine this target in your project in order to run tasks just after Publish.
8710 ============================================================
8711 -->
8712 <Target Name="AfterPublish" />
8713 <!--
8714 ============================================================
8715 PublishBuild
8716
8717 Defines the set of targets that publishing is directly dependent on.
8718 ============================================================
8719 -->
8720 <PropertyGroup>
8721 <PublishBuildDependsOn>
8722 BuildOnlySettings;
8723 PrepareForBuild;
8724 ResolveReferences;
8725 PrepareResources;
8726 ResolveKeySource;
8727 GenerateSerializationAssemblies;
8728 CreateSatelliteAssemblies;
8729 </PublishBuildDependsOn>
8730 </PropertyGroup>
8731 <Target Name="PublishBuild" DependsOnTargets="$(PublishBuildDependsOn)" />
8732 <!--
8733 ============================================================
8734 _CopyFilesToPublishFolder
8735 ============================================================
8736 -->
8737 <Target Name="_CopyFilesToPublishFolder">
8738 <!-- Compute name of application folder, which includes the assembly name plus formatted application version.
8739 The application version is formatted to use "_" in place of "." chars (i.e. "1_0_0_0" instead of "1.0.0.0").
8740 This is done because some servers misinterpret "." as a file extension. -->
8741 <FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)" FormatType="Path">
8742 <Output TaskParameter="OutputVersion" PropertyName="_DeploymentApplicationVersionFragment" />
8743 </FormatVersion>
8744 <PropertyGroup>
8745 <_DeploymentApplicationFolderName>Application Files\$(AssemblyName)_$(_DeploymentApplicationVersionFragment)</_DeploymentApplicationFolderName>
8746 <_DeploymentApplicationDir>$(ClickOncePublishDir)$(_DeploymentApplicationFolderName)\</_DeploymentApplicationDir>
8747 </PropertyGroup>
8748 <PropertyGroup>
8749 <!-- By default we're not using Hard or Symbolic Links to copy to the publish directory, and never when building in VS -->
8750 <CreateHardLinksForPublishFilesIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateHardLinksForPublishFilesIfPossible)' == ''">false</CreateHardLinksForPublishFilesIfPossible>
8751 <CreateSymbolicLinksForPublishFilesIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateSymbolicLinksForPublishFilesIfPossible)' == ''">false</CreateSymbolicLinksForPublishFilesIfPossible>
8752 </PropertyGroup>
8753 <!-- Copy files to publish folder -->
8754 <Copy Condition="'$(PublishSingleFile)' != 'true'" SourceFiles="@(_ApplicationManifestFinal);&#xD;&#xA; @(_DeploymentResolvedManifestEntryPoint);&#xD;&#xA; @(_DeploymentManifestFiles);&#xD;&#xA; @(ReferenceComWrappersToCopyLocal);&#xD;&#xA; @(ResolvedIsolatedComModules);&#xD;&#xA; @(_DeploymentLooseManifestFile)" DestinationFiles="@(_ApplicationManifestFinal->'$(_DeploymentApplicationDir)%(TargetPath)');&#xD;&#xA; @(_DeploymentManifestEntryPoint->'$(_DeploymentApplicationDir)%(TargetPath)$(_DeploymentFileMappingExtension)');&#xD;&#xA; @(_DeploymentManifestFiles->'$(_DeploymentApplicationDir)%(TargetPath)$(_DeploymentFileMappingExtension)');&#xD;&#xA; @(ReferenceComWrappersToCopyLocal->'$(_DeploymentApplicationDir)%(FileName)%(Extension)$(_DeploymentFileMappingExtension)');&#xD;&#xA; @(ResolvedIsolatedComModules->'$(_DeploymentApplicationDir)%(FileName)%(Extension)$(_DeploymentFileMappingExtension)');&#xD;&#xA; @(_DeploymentLooseManifestFile->'$(_DeploymentApplicationDir)%(FileName)%(Extension)$(_DeploymentFileMappingExtension)')" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" />
8755 <Copy SourceFiles="@(_DeploymentManifestDependencies)" DestinationFiles="@(_DeploymentManifestDependencies->'$(_DeploymentApplicationDir)%(TargetPath)$(_DeploymentFileMappingExtension)')" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)" Condition="'$(PublishSingleFile)' != 'true' and '%(_DeploymentManifestDependencies.DependencyType)'=='Install'" />
8756 <Copy Condition="'$(PublishSingleFile)' != 'true'" SourceFiles="@(_ReferenceScatterPaths)" DestinationFiles="@(_ReferenceScatterPaths->'$(_DeploymentApplicationDir)%(Filename)%(Extension)$(_DeploymentFileMappingExtension)')" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)" />
8757 <ItemGroup Condition="'$(PublishSingleFile)' == 'true'">
8758 <PublishedSingleFileToBeCopied Include="@(_DeploymentManifestFiles)" />
8759 </ItemGroup>
8760 <!-- For single-file publish case, we need to only copy the clickonce manifest, manifest entry point (launcher) and the SF EXE -->
8761 <Copy Condition="'$(PublishSingleFile)' == 'true'" SourceFiles="@(_ApplicationManifestFinal);&#xD;&#xA; @(_DeploymentResolvedManifestEntryPoint);&#xD;&#xA; @(PublishedSingleFileToBeCopied);" DestinationFiles="@(_ApplicationManifestFinal->'$(_DeploymentApplicationDir)%(TargetPath)');&#xD;&#xA; @(_DeploymentManifestEntryPoint->'$(_DeploymentApplicationDir)%(TargetPath)$(_DeploymentFileMappingExtension)');&#xD;&#xA; @(PublishedSingleFileToBeCopied->'$(_DeploymentApplicationDir)%(TargetPath)$(_DeploymentFileMappingExtension)')" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" />
8762 <FormatUrl InputUrl="$(_DeploymentApplicationUrl)">
8763 <Output TaskParameter="OutputUrl" PropertyName="_DeploymentFormattedApplicationUrl" />
8764 </FormatUrl>
8765 <FormatUrl InputUrl="$(_DeploymentComponentsUrl)">
8766 <Output TaskParameter="OutputUrl" PropertyName="_DeploymentFormattedComponentsUrl" />
8767 </FormatUrl>
8768 </Target>
8769 <!--
8770 ============================================================
8771 _DeploymentGenerateBootstrapper
8772 ============================================================
8773 -->
8774 <Target Name="_DeploymentGenerateBootstrapper">
8775 <!-- Build setup.exe bootstrapper and copy referenced packages -->
8776 <GenerateBootstrapper ApplicationFile="$(TargetDeployManifestFileName)" ApplicationName="$(AssemblyName)" ApplicationUrl="$(_DeploymentFormattedApplicationUrl)" BootstrapperItems="@(BootstrapperPackage)" ComponentsLocation="$(BootstrapperComponentsLocation)" ComponentsUrl="$(_DeploymentFormattedComponentsUrl)" Culture="$(TargetCulture)" FallbackCulture="$(FallbackCulture)" OutputPath="$(ClickOncePublishDir)" SupportUrl="$(_DeploymentFormattedSupportUrl)" Path="$(GenerateBootstrapperSdkPath)" VisualStudioVersion="$(VisualStudioVersion)" Condition="'$(BootstrapperEnabled)'=='true'" />
8777 </Target>
8778 <!--
8779 ============================================================
8780 _DeploymentSignClickOnceDeployment
8781 ============================================================
8782 -->
8783 <Target Name="_DeploymentSignClickOnceDeployment">
8784 <!-- Sign manifests and the bootstrapper -->
8785 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="$(_DeploymentApplicationDir)$(_DeploymentTargetApplicationManifestFileName)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(TargetFrameworkVersion)" DisallowMansignTimestampFallback="$(DisallowMansignTimestampFallback)" Condition="'$(_DeploymentSignClickOnceManifests)'=='true'" />
8786 <!-- Update entry point path in deploy manifest -->
8787 <UpdateManifest ApplicationPath="$(_DeploymentApplicationFolderName)\$(_DeploymentTargetApplicationManifestFileName)" TargetFrameworkVersion="$(_DeploymentManifestTargetFrameworkVersion)" ApplicationManifest="$(_DeploymentApplicationDir)$(_DeploymentTargetApplicationManifestFileName)" InputManifest="$(OutDir)$(TargetDeployManifestFileName)" OutputManifest="$(ClickOncePublishDir)$(TargetDeployManifestFileName)">
8788 <Output TaskParameter="OutputManifest" ItemName="PublishedDeployManifest" />
8789 </UpdateManifest>
8790 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="$(ClickOncePublishDir)$(TargetDeployManifestFileName)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(TargetFrameworkVersion)" DisallowMansignTimestampFallback="$(DisallowMansignTimestampFallback)" Condition="'$(_DeploymentSignClickOnceManifests)'=='true'" />
8791 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="$(ClickOncePublishDir)setup.exe" Condition="'$(BootstrapperEnabled)'=='true' and '$(_DeploymentSignClickOnceManifests)'=='true'" />
8792 </Target>
8793 <!--
8794 ***********************************************************************************************
8795 ***********************************************************************************************
8796 AllProjectOutputGroups Section
8797 ***********************************************************************************************
8798 ***********************************************************************************************
8799 -->
8800 <!--
8801 ============================================================
8802 AllProjectOutputGroups
8803
8804 The targets below drive output groups, which provide generic information about a
8805 project's inputs (e.g., content files, compilation sources, etc.) and built outputs
8806 (e.g., built EXE/DLL, PDB, XML documentation files, etc.)
8807
8808 Each target may produce two kinds of items: outputs and dependencies. Outputs are
8809 items from the current project; dependencies are items that are brought into the
8810 current project as a result of referencing other projects or components.
8811
8812 For both outputs and dependencies, the Include attribute
8813 specifies the location of the output/dependency; it must be a full path. Any number
8814 of additional attributes may be placed on an output/dependency item.
8815 ============================================================
8816 -->
8817 <Target Name="AllProjectOutputGroups" DependsOnTargets="&#xD;&#xA; BuiltProjectOutputGroup;&#xD;&#xA; DebugSymbolsProjectOutputGroup;&#xD;&#xA; DocumentationProjectOutputGroup;&#xD;&#xA; SatelliteDllsProjectOutputGroup;&#xD;&#xA; SourceFilesProjectOutputGroup;&#xD;&#xA; ContentFilesProjectOutputGroup;&#xD;&#xA; SGenFilesOutputGroup" />
8818 <!--
8819 This is the key output for the BuiltProjectOutputGroup and is meant to be read directly from the IDE.
8820 Reading an item is faster than invoking a target.
8821 -->
8822 <ItemGroup Condition=" '$(OutputType)' != 'winmdobj' ">
8823 <BuiltProjectOutputGroupKeyOutput Include="@(IntermediateAssembly->'%(FullPath)')">
8824 <IsKeyOutput>true</IsKeyOutput>
8825 <FinalOutputPath>$(TargetPath)</FinalOutputPath>
8826 <TargetPath>$(TargetFileName)</TargetPath>
8827 <COM2REG Condition="'$(RegisterForComInterop)'=='true' and '$(OutputType)'=='library'">true</COM2REG>
8828 </BuiltProjectOutputGroupKeyOutput>
8829 </ItemGroup>
8830 <ItemGroup Condition=" '$(OutputType)' == 'winmdobj' ">
8831 <WinMDExpOutputWindowsMetadataFileItem Include="$(_IntermediateWindowsMetadataPath)" Condition="'$(_IntermediateWindowsMetadataPath)' != ''" />
8832 <BuiltProjectOutputGroupKeyOutput Include="@(WinMDExpOutputWindowsMetadataFileItem->'%(FullPath)')">
8833 <IsKeyOutput>true</IsKeyOutput>
8834 <FinalOutputPath>$(TargetPath)</FinalOutputPath>
8835 <TargetPath>$(TargetFileName)</TargetPath>
8836 </BuiltProjectOutputGroupKeyOutput>
8837 </ItemGroup>
8838 <!--
8839 ============================================================
8840 BuiltProjectOutputGroup
8841 ============================================================
8842 -->
8843 <PropertyGroup>
8844 <BuiltProjectOutputGroupDependsOn>PrepareForBuild</BuiltProjectOutputGroupDependsOn>
8845 <AddAppConfigToBuildOutputs Condition="('$(AddAppConfigToBuildOutputs)'=='') and ('$(OutputType)'!='library' and '$(OutputType)'!='winmdobj')">true</AddAppConfigToBuildOutputs>
8846 </PropertyGroup>
8847 <Target Name="BuiltProjectOutputGroup" Returns="@(BuiltProjectOutputGroupOutput)" DependsOnTargets="$(BuiltProjectOutputGroupDependsOn)">
8848 <ItemGroup>
8849 <_BuiltProjectOutputGroupOutputIntermediate Include="@(BuiltProjectOutputGroupKeyOutput)" />
8850 </ItemGroup>
8851 <!-- This item represents the app.config file -->
8852 <ItemGroup>
8853 <_BuiltProjectOutputGroupOutputIntermediate Include="$(AppConfig)" Condition="'$(AddAppConfigToBuildOutputs)'=='true'">
8854 <FinalOutputPath>$(TargetDir)$(TargetFileName).config</FinalOutputPath>
8855 <TargetPath>$(TargetFileName).config</TargetPath>
8856 <!-- For compatibility with 2.0 -->
8857 <OriginalItemSpec>$(AppConfig)</OriginalItemSpec>
8858 </_BuiltProjectOutputGroupOutputIntermediate>
8859 </ItemGroup>
8860 <ItemGroup>
8861 <_IsolatedComReference Include="@(COMReference)" Condition=" '%(COMReference.Isolated)' == 'true' " />
8862 <_IsolatedComReference Include="@(COMFileReference)" Condition=" '%(COMFileReference.Isolated)' == 'true' " />
8863 </ItemGroup>
8864 <!-- This item represents the native manifest, example: WindowsApplication1.exe.manifest or Native.ClassLibrary1.manifest -->
8865 <ItemGroup>
8866 <_BuiltProjectOutputGroupOutputIntermediate Include="$(OutDir)$(_DeploymentTargetApplicationManifestFileName)" Condition="('@(NativeReference)'!='' or '@(_IsolatedComReference)'!='') And Exists('$(OutDir)$(_DeploymentTargetApplicationManifestFileName)')">
8867 <TargetPath>$(_DeploymentTargetApplicationManifestFileName)</TargetPath>
8868 <!-- For compatibility with 2.0 -->
8869 <OriginalItemSpec>$(OutDir)$(_DeploymentTargetApplicationManifestFileName)</OriginalItemSpec>
8870 </_BuiltProjectOutputGroupOutputIntermediate>
8871 </ItemGroup>
8872 <!-- Convert intermediate items into final items; this way we can get the full path for each item -->
8873 <ItemGroup>
8874 <BuiltProjectOutputGroupOutput Include="@(_BuiltProjectOutputGroupOutputIntermediate->'%(FullPath)')">
8875 <!-- For compatibility with 2.0 -->
8876 <OriginalItemSpec Condition="'%(_BuiltProjectOutputGroupOutputIntermediate.OriginalItemSpec)' == ''">%(_BuiltProjectOutputGroupOutputIntermediate.FullPath)</OriginalItemSpec>
8877 </BuiltProjectOutputGroupOutput>
8878 </ItemGroup>
8879 </Target>
8880 <!--
8881 ============================================================
8882 DebugSymbolsProjectOutputGroup
8883
8884 This target performs population of the Debug Symbols project output group.
8885 ============================================================
8886 -->
8887 <PropertyGroup>
8888 <DebugSymbolsProjectOutputGroupDependsOn />
8889 </PropertyGroup>
8890 <ItemGroup Condition="'$(_DebugSymbolsProduced)' != 'false' and '$(OutputType)' != 'winmdobj'">
8891 <DebugSymbolsProjectOutputGroupOutput Include="@(_DebugSymbolsIntermediatePath->'%(FullPath)')">
8892 <FinalOutputPath>@(_DebugSymbolsOutputPath->'%(FullPath)')</FinalOutputPath>
8893 <TargetPath>@(_DebugSymbolsIntermediatePath->'%(Filename)%(Extension)')</TargetPath>
8894 </DebugSymbolsProjectOutputGroupOutput>
8895 </ItemGroup>
8896 <ItemGroup Condition="'$(_DebugSymbolsProduced)' != 'false' and '$(OutputType)' == 'winmdobj'">
8897 <WinMDExpOutputPdbItem Include="$(WinMDExpOutputPdb)" Condition="'$(WinMDExpOutputPdb)' != ''" />
8898 <WinMDExpFinalOutputPdbItem Include="$(_WinMDDebugSymbolsOutputPath)" Condition="'$(_WinMDDebugSymbolsOutputPath)' != ''" />
8899 <DebugSymbolsProjectOutputGroupOutput Include="@(WinMDExpOutputPdbItem->'%(FullPath)')">
8900 <FinalOutputPath>@(WinMDExpFinalOutputPdbItem->'%(FullPath)')</FinalOutputPath>
8901 <TargetPath>@(WinMDExpOutputPdbItem->'%(Filename)%(Extension)')</TargetPath>
8902 </DebugSymbolsProjectOutputGroupOutput>
8903 </ItemGroup>
8904 <Target Name="DebugSymbolsProjectOutputGroup" Returns="@(DebugSymbolsProjectOutputGroupOutput)" DependsOnTargets="$(DebugSymbolsProjectOutputGroupDependsOn)" />
8905 <!--
8906 ============================================================
8907 DocumentationProjectOutputGroup
8908
8909 This target performs population of the Documentation project output group.
8910 ============================================================
8911 -->
8912 <PropertyGroup>
8913 <DocumentationProjectOutputGroupDependsOn />
8914 </PropertyGroup>
8915 <ItemGroup Condition="'$(DocumentationFile)'!='' and '$(OutputType)' != 'winmdobj'">
8916 <DocumentationProjectOutputGroupOutput Include="@(DocFileItem->'%(FullPath)')">
8917 <FinalOutputPath>@(FinalDocFile->'%(FullPath)')</FinalOutputPath>
8918 <IsKeyOutput>true</IsKeyOutput>
8919 <TargetPath>@(DocFileItem->'%(Filename)%(Extension)')</TargetPath>
8920 </DocumentationProjectOutputGroupOutput>
8921 </ItemGroup>
8922 <ItemGroup Condition="'$(DocumentationFile)' != '' and '$(OutputType)' == 'winmdobj'">
8923 <WinMDOutputDocumentationFileItem Include="$(WinMDOutputDocumentationFile)" Condition="'$(WinMDOutputDocumentationFile)' != ''" />
8924 <WinMDExpFinalOutputDocItem Include="$(_WinMDDocFileOutputPath)" Condition="'$(_WinMDDocFileOutputPath)' != ''" />
8925 <DocumentationProjectOutputGroupOutput Include="@(WinMDOutputDocumentationFileItem->'%(FullPath)')">
8926 <FinalOutputPath>@(WinMDExpFinalOutputDocItem->'%(FullPath)')</FinalOutputPath>
8927 <TargetPath>@(WinMDOutputDocumentationFileItem->'%(Filename)%(Extension)')</TargetPath>
8928 </DocumentationProjectOutputGroupOutput>
8929 </ItemGroup>
8930 <Target Name="DocumentationProjectOutputGroup" Returns="@(DocumentationProjectOutputGroupOutput)" DependsOnTargets="$(DocumentationProjectOutputGroupDependsOn)" />
8931 <!--
8932 ============================================================
8933 SatelliteDllsProjectOutputGroup
8934
8935 This target performs population of the Satellite Files project output group.
8936 ============================================================
8937 -->
8938 <PropertyGroup>
8939 <SatelliteDllsProjectOutputGroupDependsOn>$(SatelliteDllsProjectOutputGroupDependsOn);PrepareForBuild;PrepareResourceNames</SatelliteDllsProjectOutputGroupDependsOn>
8940 </PropertyGroup>
8941 <Target Name="SatelliteDllsProjectOutputGroup" Returns="@(SatelliteDllsProjectOutputGroupOutput)" DependsOnTargets="$(SatelliteDllsProjectOutputGroupDependsOn)">
8942 <ItemGroup>
8943 <SatelliteDllsProjectOutputGroupOutputIntermediate Include="$(IntermediateOutputPath)%(EmbeddedResource.Culture)\$(TargetName).resources.dll" Condition="'%(EmbeddedResource.WithCulture)' == 'true'">
8944 <TargetPath>%(EmbeddedResource.Culture)\$(TargetName).resources.dll</TargetPath>
8945 <Culture>%(EmbeddedResource.Culture)</Culture>
8946 </SatelliteDllsProjectOutputGroupOutputIntermediate>
8947 </ItemGroup>
8948 <!-- Convert intermediate items into final items; this way we can get the full path for each item. -->
8949 <ItemGroup>
8950 <SatelliteDllsProjectOutputGroupOutput Include="@(SatelliteDllsProjectOutputGroupOutputIntermediate->'%(FullPath)')">
8951 <FinalOutputPath Condition=" '%(SatelliteDllsProjectOutputGroupOutputIntermediate.FinalOutputPath)' == '' ">$(TargetDir)%(SatelliteDllsProjectOutputGroupOutputIntermediate.TargetPath)</FinalOutputPath>
8952 <!-- For compatibility with 2.0 -->
8953 <OriginalItemSpec>%(SatelliteDllsProjectOutputGroupOutputIntermediate.Identity)</OriginalItemSpec>
8954 </SatelliteDllsProjectOutputGroupOutput>
8955 </ItemGroup>
8956 </Target>
8957 <!--
8958 ============================================================
8959 SourceFilesProjectOutputGroup
8960
8961 This target performs population of the Source Files project output group.
8962 Source files are items in the project whose type is "Compile" and "EmbeddedResource".
8963 ============================================================
8964 -->
8965 <PropertyGroup>
8966 <SourceFilesProjectOutputGroupDependsOn>PrepareForBuild;AssignTargetPaths</SourceFilesProjectOutputGroupDependsOn>
8967 </PropertyGroup>
8968 <Target Name="SourceFilesProjectOutputGroup" Returns="@(SourceFilesProjectOutputGroupOutput)" DependsOnTargets="$(SourceFilesProjectOutputGroupDependsOn)">
8969 <AssignTargetPath Files="@(Compile)" RootFolder="$(MSBuildProjectDirectory)">
8970 <Output TaskParameter="AssignedFiles" ItemName="_CompileWithTargetPath" />
8971 </AssignTargetPath>
8972 <ItemGroup>
8973 <!-- First we deal with Compile, EmbeddedResource and AppConfig -->
8974 <SourceFilesProjectOutputGroupOutput Include="@(_CompileWithTargetPath->'%(FullPath)');@(EmbeddedResource->'%(FullPath)');@(_LicxFile->'%(FullPath)');@(AppConfigWithTargetPath->'%(FullPath)')" />
8975 <!-- Include the project file -->
8976 <SourceFilesProjectOutputGroupOutput Include="$(MSBuildProjectFullPath)">
8977 <!-- For compatibility with 2.0 -->
8978 <OriginalItemSpec>$(MSBuildProjectFullPath)</OriginalItemSpec>
8979 <TargetPath>$(ProjectFileName)</TargetPath>
8980 </SourceFilesProjectOutputGroupOutput>
8981 </ItemGroup>
8982 </Target>
8983 <!-- Get just the compile items -->
8984 <Target Name="GetCompile" Returns="@(Compile)" />
8985 <!--
8986 ============================================================
8987 ContentFilesProjectOutputGroup
8988
8989 This target performs population of the Content Files project output group.
8990 Content files are items in the project whose type is "Content".
8991 ============================================================
8992 -->
8993 <PropertyGroup>
8994 <ContentFilesProjectOutputGroupDependsOn>PrepareForBuild;AssignTargetPaths</ContentFilesProjectOutputGroupDependsOn>
8995 </PropertyGroup>
8996 <Target Name="ContentFilesProjectOutputGroup" Returns="@(ContentFilesProjectOutputGroupOutput)" DependsOnTargets="$(ContentFilesProjectOutputGroupDependsOn)">
8997 <!-- Convert items into final items; this way we can get the full path for each item. -->
8998 <ItemGroup>
8999 <ContentFilesProjectOutputGroupOutput Include="@(ContentWithTargetPath->'%(FullPath)')" />
9000 </ItemGroup>
9001 </Target>
9002 <!--
9003 ============================================================
9004 SGenFilesOutputGroup
9005
9006 This target performs population of the GenerateSerializationAssemblies Files project output group.
9007 GenerateSerializationAssemblies files are those generated by the GenerateSerializationAssemblies target and task.
9008 ============================================================
9009 -->
9010 <PropertyGroup>
9011 <SGenFilesOutputGroupDependsOn />
9012 </PropertyGroup>
9013 <ItemGroup Condition="'$(_SGenGenerateSerializationAssembliesConfig)' == 'On' or ('@(WebReferenceUrl)'!='' and '$(_SGenGenerateSerializationAssembliesConfig)' == 'Auto')">
9014 <SGenFilesOutputGroupOutput Include="@(_OutputPathItem->'%(FullPath)$(_SGenDllName)')">
9015 <FinalOutputPath>@(_OutputPathItem->'%(FullPath)$(_SGenDllName)')</FinalOutputPath>
9016 <TargetPath>$(_SGenDllName)</TargetPath>
9017 </SGenFilesOutputGroupOutput>
9018 </ItemGroup>
9019 <Target Name="SGenFilesOutputGroup" Returns="@(SGenFilesOutputGroupOutput)" DependsOnTargets="$(SGenFilesOutputGroupDependsOn)" />
9020 <!--
9021 ============================================================
9022 SDKRelated Output groups
9023
9024 These targets are to gather information from the SDKs.
9025 ============================================================
9026 -->
9027 <!-- Get the resolved SDK reference items -->
9028 <Target Name="GetResolvedSDKReferences" DependsOnTargets="ResolveSDKReferences" Returns="@(ResolvedSDKReference)" />
9029 <!-- Target will return no results by default but will be populated by other targets elsewhere.
9030 Needed for certain build environments that import partial sets of targets. -->
9031 <Target Name="CollectReferencedNuGetPackages" Returns="@(ReferencedNuGetPackages)" />
9032 <!-- Get the TargetFrameworks that are supported for the Visual Studio TargetFramework drop down -->
9033 <Target Name="GenerateSupportedTargetFrameworkAlias" Returns="@(SupportedTargetFrameworkAlias)" />
9034 <!--
9035 ============================================================
9036 PriFilesOutputGroup
9037
9038 This target performs population of the pri files output group
9039 ============================================================
9040 -->
9041 <Target Name="PriFilesOutputGroup" Condition="'@(_ReferenceRelatedPaths)' != ''" DependsOnTargets="BuildOnlySettings;PrepareForBuild;AssignTargetPaths;ResolveReferences" Returns="@(PriFilesOutputGroupOutput)">
9042 <!-- This item represents dependent pri file's -->
9043 <ItemGroup>
9044 <PriFilesOutputGroupOutput Include="@(_ReferenceRelatedPaths->'%(FullPath)')" Condition="'%(Extension)' == '.pri'" />
9045 </ItemGroup>
9046 </Target>
9047 <PropertyGroup>
9048 <SDKRedistOutputGroupDependsOn>ResolveSDKReferences;ExpandSDKReferences</SDKRedistOutputGroupDependsOn>
9049 </PropertyGroup>
9050 <!--
9051 ============================================================
9052 SDKRedistOutputGroup
9053
9054 This target gathers the Redist folders from the SDKs which have been resolved.
9055 ============================================================
9056 -->
9057 <Target Name="SDKRedistOutputGroup" Returns="@(SDKRedistOutputGroupOutput)" DependsOnTargets="$(SDKRedistOutputGroupDependsOn)">
9058 <!-- This list starts with the least specific files to the most specific so that later files can overwrite earlier files-->
9059 <ItemGroup>
9060 <SDKRedistOutputGroupOutput Include="@(ResolvedRedistFiles)" />
9061 </ItemGroup>
9062 </Target>
9063 <!--
9064 ***********************************************************************************************
9065 ***********************************************************************************************
9066 AllProjectOutputGroupsDependencies Section
9067 ***********************************************************************************************
9068 ***********************************************************************************************
9069 -->
9070 <!--
9071 ============================================================
9072 CommonOutputGroupsDependsOn
9073
9074 Dependencies common to many of the *OutputGroupDependencies targets.
9075 ============================================================
9076 -->
9077 <PropertyGroup>
9078 <CommonOutputGroupsDependsOn>
9079 $(CommonOutputGroupsDependsOn);
9080 BuildOnlySettings;
9081 PrepareForBuild;
9082 AssignTargetPaths;
9083 ResolveReferences
9084 </CommonOutputGroupsDependsOn>
9085 </PropertyGroup>
9086 <!--
9087 ============================================================
9088 AllProjectOutputGroupsDependencies
9089 ============================================================
9090 -->
9091 <Target Name="AllProjectOutputGroupsDependencies" DependsOnTargets="&#xD;&#xA; BuiltProjectOutputGroupDependencies;&#xD;&#xA; DebugSymbolsProjectOutputGroupDependencies;&#xD;&#xA; SatelliteDllsProjectOutputGroupDependencies;&#xD;&#xA; DocumentationProjectOutputGroupDependencies;&#xD;&#xA; SGenFilesOutputGroupDependencies" />
9092 <!--
9093 ============================================================
9094 BuiltProjectOutputGroupDependencies
9095
9096 This target performs population of the Built project output group dependencies.
9097 ============================================================
9098 -->
9099 <PropertyGroup>
9100 <BuiltProjectOutputGroupDependenciesDependsOn>
9101 $(BuiltProjectOutputGroupDependenciesDependsOn);
9102 $(CommonOutputGroupsDependsOn)
9103 </BuiltProjectOutputGroupDependenciesDependsOn>
9104 </PropertyGroup>
9105 <Target Name="BuiltProjectOutputGroupDependencies" DependsOnTargets="$(BuiltProjectOutputGroupDependenciesDependsOn)" Returns="@(BuiltProjectOutputGroupDependency)">
9106 <ItemGroup>
9107 <BuiltProjectOutputGroupDependency Include="@(ReferencePath->'%(FullPath)');&#xD;&#xA; @(ReferenceDependencyPaths->'%(FullPath)');&#xD;&#xA; @(NativeReferenceFile->'%(FullPath)');&#xD;&#xA; @(_DeploymentLooseManifestFile->'%(FullPath)');&#xD;&#xA; @(ResolvedIsolatedComModules->'%(FullPath)')" />
9108 </ItemGroup>
9109 </Target>
9110 <!--
9111 ============================================================
9112 DebugSymbolsProjectOutputGroupDependencies
9113
9114 This target performs population of the dependencies for the debug symbols project output group.
9115 ============================================================
9116 -->
9117 <PropertyGroup>
9118 <DebugSymbolsProjectOutputGroupDependenciesDependsOn>
9119 $(DebugSymbolsProjectOutputGroupDependenciesDependsOn);
9120 $(CommonOutputGroupsDependsOn)
9121 </DebugSymbolsProjectOutputGroupDependenciesDependsOn>
9122 </PropertyGroup>
9123 <Target Name="DebugSymbolsProjectOutputGroupDependencies" Condition="'$(DebugSymbols)'!='false'" DependsOnTargets="$(DebugSymbolsProjectOutputGroupDependenciesDependsOn)" Returns="@(DebugSymbolsProjectOutputGroupDependency)">
9124 <!-- This item represents dependent PDB's -->
9125 <ItemGroup>
9126 <DebugSymbolsProjectOutputGroupDependency Include="@(_ReferenceRelatedPaths->'%(FullPath)')" Condition="'%(Extension)' == '.pdb'" />
9127 </ItemGroup>
9128 </Target>
9129 <!--
9130 ============================================================
9131 SatelliteDllsProjectOutputGroupDependencies
9132
9133 This target performs population of the dependencies for the satellite files project output group.
9134 ============================================================
9135 -->
9136 <PropertyGroup>
9137 <SatelliteDllsProjectOutputGroupDependenciesDependsOn>
9138 $(SatelliteDllsProjectOutputGroupDependenciesDependsOn);
9139 $(CommonOutputGroupsDependsOn)
9140 </SatelliteDllsProjectOutputGroupDependenciesDependsOn>
9141 </PropertyGroup>
9142 <Target Name="SatelliteDllsProjectOutputGroupDependencies" DependsOnTargets="$(SatelliteDllsProjectOutputGroupDependenciesDependsOn)" Returns="@(SatelliteDllsProjectOutputGroupDependency)">
9143 <!-- This item represents dependent satellites -->
9144 <ItemGroup>
9145 <SatelliteDllsProjectOutputGroupDependency Include="@(ReferenceSatellitePaths->'%(FullPath)')" />
9146 </ItemGroup>
9147 </Target>
9148 <!--
9149 ============================================================
9150 DocumentationProjectOutputGroupDependencies
9151
9152 This target performs population of the dependencies for the documentation project output group.
9153 ============================================================
9154 -->
9155 <PropertyGroup>
9156 <DocumentationProjectOutputGroupDependenciesDependsOn>
9157 $(DocumentationProjectOutputGroupDependenciesDependsOn);
9158 $(CommonOutputGroupsDependsOn)
9159 </DocumentationProjectOutputGroupDependenciesDependsOn>
9160 </PropertyGroup>
9161 <Target Name="DocumentationProjectOutputGroupDependencies" Condition="'$(DocumentationFile)'!=''" DependsOnTargets="$(DocumentationProjectOutputGroupDependenciesDependsOn)" Returns="@(DocumentationProjectOutputGroupDependency)">
9162 <!-- This item represents dependent XMLs -->
9163 <ItemGroup>
9164 <DocumentationProjectOutputGroupDependency Include="@(_ReferenceRelatedPaths->'%(FullPath)')" Condition="'%(Extension)' == '.xml'" />
9165 </ItemGroup>
9166 </Target>
9167 <!--
9168 ============================================================
9169 SGenFilesOutputGroupDependencies
9170
9171 This target performs population of the dependencies for the GenerateSerializationAssemblies project output group.
9172 ============================================================
9173 -->
9174 <PropertyGroup>
9175 <SGenFilesOutputGroupDependenciesDependsOn>
9176 $(SGenFilesOutputGroupDependenciesDependsOn);
9177 $(CommonOutputGroupsDependsOn)
9178 </SGenFilesOutputGroupDependenciesDependsOn>
9179 </PropertyGroup>
9180 <Target Name="SGenFilesOutputGroupDependencies" DependsOnTargets="$(SGenFilesOutputGroupDependenciesDependsOn)" Returns="@(SGenFilesOutputGroupDependency)">
9181 <!-- This item represents sgen xml serializer dll's -->
9182 <ItemGroup>
9183 <SGenFilesOutputGroupDependency Include="@(_ReferenceSerializationAssemblyPaths->'%(FullPath)')" Condition="'%(Extension)' == '.dll'" />
9184 </ItemGroup>
9185 </Target>
9186 <!--
9187 ============================================================
9188 ReferenceCopyLocalPathsOutputGroup
9189
9190 Exposes the set of items that should be copied locally based on the project's references.
9191 ============================================================
9192 -->
9193 <PropertyGroup>
9194 <ReferenceCopyLocalPathsOutputGroupDependsOn>
9195 $(ReferenceCopyLocalPathsOutputGroupDependsOn);
9196 $(CommonOutputGroupsDependsOn)
9197 </ReferenceCopyLocalPathsOutputGroupDependsOn>
9198 </PropertyGroup>
9199 <Target Name="ReferenceCopyLocalPathsOutputGroup" DependsOnTargets="$(ReferenceCopyLocalPathsOutputGroupDependsOn)" Returns="@(ReferenceCopyLocalPathsOutputGroupOutput)">
9200 <ItemGroup>
9201 <ReferenceCopyLocalPathsOutputGroupOutput Include="@(ReferenceCopyLocalPaths)">
9202 <TargetPath>%(ReferenceCopyLocalPaths.DestinationSubDirectory)%(ReferenceCopyLocalPaths.Filename)%(ReferenceCopyLocalPaths.Extension)</TargetPath>
9203 </ReferenceCopyLocalPathsOutputGroupOutput>
9204 </ItemGroup>
9205 </Target>
9206 <!--
9207 ============================================================
9208 DesignerRuntimeImplementationProjectOutputGroup
9209
9210 Exposes build items to be used by designer. The default is empty, but
9211 SDKs can override it as appropriate. The empty stub is required so that
9212 the project system can always rely on calling it even if it is not
9213 overridden.
9214 ============================================================
9215 -->
9216 <PropertyGroup>
9217 <DesignerRuntimeImplementationProjectOutputGroupDependsOn>
9218 $(DesignerRuntimeImplementationProjectOutputGroupDependsOn);
9219 $(CommonOutputGroupsDependsOn)
9220 </DesignerRuntimeImplementationProjectOutputGroupDependsOn>
9221 </PropertyGroup>
9222 <Target Name="DesignerRuntimeImplementationProjectOutputGroup" DependsOnTargets="$(DesignerRuntimeImplementationProjectOutputGroupDependsOn)" Returns="@(DesignerRuntimeImplementationProjectOutputGroupOutput)" />
9223 <!--
9224 ============================================================
9225 .editorconfig support
9226 ============================================================
9227 -->
9228 <!-- Expose the set of potential .editorconfig files so the project system can
9229 retrieve them. -->
9230 <Target Name="GetPotentialEditorConfigFiles" Returns="@(PotentialEditorConfigFiles)" />
9231 <PropertyGroup>
9232 <CodeAnalysisTargets Condition="'$(CodeAnalysisTargets)'==''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeAnalysis\Microsoft.CodeAnalysis.targets</CodeAnalysisTargets>
9233 </PropertyGroup>
9234 <!--
9235============================================================================================================================================
9236 <Import Project="$(CodeAnalysisTargets)" Condition="Exists('$(CodeAnalysisTargets)')">
9237
9238C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Microsoft\VisualStudio\v18.0\CodeAnalysis\Microsoft.CodeAnalysis.targets
9239============================================================================================================================================
9240-->
9241 <UsingTask TaskName="SetEnvironmentVariable" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9242 <ParameterGroup>
9243 <EnvKey ParameterType="System.String" Required="true" />
9244 <EnvValue ParameterType="System.String" Required="true" />
9245 </ParameterGroup>
9246 <Task>
9247 <Using Namespace="System" />
9248 <Code Type="Fragment" Language="cs"><![CDATA[
9249 try {
9250 Environment.SetEnvironmentVariable(EnvKey, EnvValue, System.EnvironmentVariableTarget.Process);
9251 }
9252 catch {
9253 }
9254 ]]></Code>
9255 </Task>
9256 </UsingTask>
9257 <!-- Global properties for all analyzers -->
9258 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9259 <CodeAnalysisStaticAnalysisDirectory Condition="'$(CodeAnalysisStaticAnalysisDirectory)'=='' and Exists('$(VsInstallRoot)\Team Tools\Static Analysis Tools\')">$(VsInstallRoot)\Team Tools\Static Analysis Tools\</CodeAnalysisStaticAnalysisDirectory>
9260 <!-- Default rule set search paths -->
9261 <CodeAnalysisRuleSetDirectories Condition="'$(CodeAnalysisIgnoreBuiltInRuleSets)'!='true' and&#xD;&#xA; '$(CodeAnalysisStaticAnalysisDirectory)'!=''">$(CodeAnalysisRuleSetDirectories);$(CodeAnalysisStaticAnalysisDirectory)\Rule Sets</CodeAnalysisRuleSetDirectories>
9262 <!--
9263 In scenario where we run CA from command-line , we don't get "CodeAnalysisVSSku" variable passed by the IDE, so in case of Express-only installation
9264 we attempt to load rule sets that are only present on Pro and above - and fail. Let's assume we're in "Express" mode if the Pro+ rule set doesn't exist.
9265 -->
9266 <CodeAnalysisVSSku Condition="'$(CodeAnalysisVSSku)'=='' and !Exists('$(CodeAnalysisStaticAnalysisDirectory)\Rule Sets\NativeRecommendedRules.ruleset')">Express</CodeAnalysisVSSku>
9267 </PropertyGroup>
9268 <PropertyGroup Condition="'$(RunCodeAnalysis)'=='true' or '$(RunCodeAnalysisOnce)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9269 <!--
9270 - Checking whether we should run Code Analysis only on specific project in the solution
9271 - Combine all variables into one "master" control variable to simplify conditions further below
9272 -->
9273 <RunCodeAnalysisOnThisProject>true</RunCodeAnalysisOnThisProject>
9274 <RunCodeAnalysisOnThisProject Condition="'$(CodeAnalysisProjectFullPath)'!='' and '$(MSBuildProjectFullPath)'!='' and '$(MSBuildProjectFullPath)'!='$(CodeAnalysisProjectFullPath)'">false</RunCodeAnalysisOnThisProject>
9275 </PropertyGroup>
9276 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9277 <IsCSharpOrVbProject Condition="'$(Language)'=='C#' or '$(Language)'=='VB'">true</IsCSharpOrVbProject>
9278 <IsLegacyCodeAnalysis Condition="'$(IsCSharpOrVbProject)'=='true'">true</IsLegacyCodeAnalysis>
9279 <SuppressLegacyCodeAnalysisDeprecatedWarning Condition="'$(SuppressLegacyCodeAnalysisDeprecatedWarning)'!='true'">false</SuppressLegacyCodeAnalysisDeprecatedWarning>
9280 <RunAnalyzersDuringLiveAnalysis Condition="'$(RunAnalyzers)' != ''">$(RunAnalyzers)</RunAnalyzersDuringLiveAnalysis>
9281 <RunAnalyzersDuringLiveAnalysis Condition="'$(RunAnalyzersDuringLiveAnalysis)' == ''">$(IsCSharpOrVbProject)</RunAnalyzersDuringLiveAnalysis>
9282 <RunAnalyzersDuringBuild Condition="'$(RunAnalyzers)' != ''">$(RunAnalyzers)</RunAnalyzersDuringBuild>
9283 <RunAnalyzersDuringBuild Condition="'$(RunAnalyzersDuringBuild)' == ''">$(IsCSharpOrVbProject)</RunAnalyzersDuringBuild>
9284 </PropertyGroup>
9285 <PropertyGroup Condition="'$(RunCodeAnalysisOnThisProject)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9286 <!-- Define the CODE_ANALYSIS constant -->
9287 <DefineConstants Condition="'$(Language)'=='C#' ">CODE_ANALYSIS;$(DefineConstants)</DefineConstants>
9288 <FinalDefineConstants Condition="'$(Language)'=='VB' ">CODE_ANALYSIS=-1,$(FinalDefineConstants)</FinalDefineConstants>
9289 </PropertyGroup>
9290 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9291 <!-- We do this check all over the place, consolidate -->
9292 <RunCppAnalysis>false</RunCppAnalysis>
9293 <RunCppAnalysis Condition="'$(Language)'=='C++' and '$(RunCodeAnalysisOnThisProject)'=='true' and '$(ApplicationType)' != 'Linux'">true</RunCppAnalysis>
9294 <RunMsvcAnalysis>$(RunCppAnalysis)</RunMsvcAnalysis>
9295 <RunMsvcAnalysis Condition="'$(EnableMicrosoftCodeAnalysis)'=='false' or '$(UseClangCl)'=='true'">false</RunMsvcAnalysis>
9296 </PropertyGroup>
9297 <!-- Global properties for all analyzers -->
9298 <!-- FxCop analyzer properties -->
9299 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9300 <!-- FxCopDir must be considered for backwards compatibility with the Visual Studio 2005 task, except within the context of a Team Build build. -->
9301 <CodeAnalysisPath Condition="'$(CodeAnalysisPath)'=='' and '$(FxCopDir)'!='' and '$(TeamBuildConstants)'==''">$(FxCopDir)</CodeAnalysisPath>
9302 <CodeAnalysisPath Condition="'$(CodeAnalysisPath)'=='' and Exists('$(VsInstallRoot)\Team Tools\Static Analysis Tools\FxCop\')">$(VsInstallRoot)\Team Tools\Static Analysis Tools\FxCop\</CodeAnalysisPath>
9303 <!-- Default FxCop settings -->
9304 <CodeAnalysisApplyLogFileXsl Condition="'$(CodeAnalysisApplyLogFileXsl)'==''">false</CodeAnalysisApplyLogFileXsl>
9305 <CodeAnalysisFailOnMissingRules Condition="'$(CodeAnalysisFailOnMissingRules)'==''">false</CodeAnalysisFailOnMissingRules>
9306 <CodeAnalysisForceOutput Condition="'$(CodeAnalysisForceOutput)'==''">true</CodeAnalysisForceOutput>
9307 <CodeAnalysisGenerateSuccessFile Condition="'$(CodeAnalysisGenerateSuccessFile)'==''">true</CodeAnalysisGenerateSuccessFile>
9308 <CodeAnalysisIgnoreGeneratedCode Condition="'$(CodeAnalysisIgnoreGeneratedCode)'==''">true</CodeAnalysisIgnoreGeneratedCode>
9309 <CodeAnalysisIgnoreInvalidTargets Condition="'$(CodeAnalysisIgnoreInvalidTargets)'==''">true</CodeAnalysisIgnoreInvalidTargets>
9310 <CodeAnalysisIgnoreMissingIndirectReferences Condition="'$(CodeAnalysisIgnoreMissingIndirectReferences)'==''">false</CodeAnalysisIgnoreMissingIndirectReferences>
9311 <CodeAnalysisInputAssembly Condition="'$(CodeAnalysisInputAssembly)'==''">$(OutDir)$(TargetFileName)</CodeAnalysisInputAssembly>
9312 <CodeAnalysisLogFile Condition="'$(CodeAnalysisLogFile)'==''">$(CodeAnalysisInputAssembly).CodeAnalysisLog.xml</CodeAnalysisLogFile>
9313 <CodeAnalysisModuleSuppressionsFile Condition="'$(CodeAnalysisModuleSuppressionsFile)'==''">GlobalSuppressions$(DefaultLanguageSourceExtension)</CodeAnalysisModuleSuppressionsFile>
9314 <CodeAnalysisOverrideRuleVisibilities Condition="'$(CodeAnalysisOverrideRuleVisibilities)'==''">false</CodeAnalysisOverrideRuleVisibilities>
9315 <CodeAnalysisOutputToConsole Condition="'$(CodeAnalysisOutputToConsole)'==''">false</CodeAnalysisOutputToConsole>
9316 <CodeAnalysisQuiet Condition="'$(CodeAnalysisQuiet)'==''">false</CodeAnalysisQuiet>
9317 <!--
9318 Do not add the built-in rule directories in any of the following conditions:
9319 1. CodeAnalysisRuleAssemblies is not empty, CodeAnalysisRuleDirectories is empty, and CodeAnalysisRuleSet is empty. (This is the case when CodeAnalysisRuleAssemblies will be used.)
9320 2. CodeAnalysisIgnoreBuiltInRules is true.
9321 3. CodeAnalysisPath is empty.
9322 4. CodeAnalysisProject is not empty (i.e., an FxCop project file is used).
9323
9324 The condition below checks ensures none of these four are true.
9325 -->
9326 <CodeAnalysisRuleDirectories Condition="('$(CodeAnalysisRuleAssemblies)'=='' or '$(CodeAnalysisRuleDirectories)'!='' or '$(CodeAnalysisRuleSet)'!='') and &#xD;&#xA; '$(CodeAnalysisIgnoreBuiltInRules)'!='true' and &#xD;&#xA; '$(CodeAnalysisPath)'!='' and &#xD;&#xA; '$(CodeAnalysisProject)'==''">$(CodeAnalysisRuleDirectories);$(CodeAnalysisPath)\Rules</CodeAnalysisRuleDirectories>
9327 <!-- We emit active and suppressed messages in the output log when running code analysis within Visual Studio.
9328 Delete the below line if you do not want to see suppressed messages within Visual Studio. -->
9329 <CodeAnalysisSaveMessagesToReport Condition="'$(CodeAnalysisSaveMessagesToReport)'=='' and '$(RunCodeAnalysisOnce)'=='true'">Active,Excluded</CodeAnalysisSaveMessagesToReport>
9330 <!-- We only emit active messages in the output log when running code analysis from the command line. -->
9331 <CodeAnalysisSaveMessagesToReport Condition="'$(CodeAnalysisSaveMessagesToReport)'==''">Active</CodeAnalysisSaveMessagesToReport>
9332 <CodeAnalysisSearchGlobalAssemblyCache Condition="'$(CodeAnalysisSearchGlobalAssemblyCache)'==''">true</CodeAnalysisSearchGlobalAssemblyCache>
9333 <CodeAnalysisSucceededFile Condition="'$(CodeAnalysisSucceededFile)'==''">$(CodeAnalysisInputAssembly).lastcodeanalysissucceeded</CodeAnalysisSucceededFile>
9334 <CodeAnalysisSummary Condition="'$(CodeAnalysisSummary)'==''">false</CodeAnalysisSummary>
9335 <CodeAnalysisTimeout Condition="'$(CodeAnalysisTimeout)'==''">120</CodeAnalysisTimeout>
9336 <!-- Use a separate property '_CodeAnalysisTreatWarningsAsErrors' to avoid overwriting user specified value for 'CodeAnalysisTreatWarningsAsErrors', which is used outside this targets file. -->
9337 <_CodeAnalysisTreatWarningsAsErrors>$(CodeAnalysisTreatWarningsAsErrors)</_CodeAnalysisTreatWarningsAsErrors>
9338 <_CodeAnalysisTreatWarningsAsErrors Condition="'$(_CodeAnalysisTreatWarningsAsErrors)'==''">false</_CodeAnalysisTreatWarningsAsErrors>
9339 <CodeAnalysisUpdateProject Condition="'$(CodeAnalysisUpdateProject)'==''">false</CodeAnalysisUpdateProject>
9340 <CodeAnalysisUseTypeNameInSuppression Condition="'$(CodeAnalysisUseTypeNameInSuppression)'==''">true</CodeAnalysisUseTypeNameInSuppression>
9341 <CodeAnalysisVerbose Condition="'$(CodeAnalysisVerbose)'==''">false</CodeAnalysisVerbose>
9342 </PropertyGroup>
9343 <!-- Select appropriate default rule set depending on project type and VS Sku-->
9344 <Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9345 <When Condition="!Exists('$(CodeAnalysisRuleSet)') and ('$(CodeAnalysisVSSku)'=='Express' or ('$(CodeAnalysisRules)'=='' and '$(CodeAnalysisRuleAssemblies)'=='' and '$(CodeAnalysisRuleSet)'==''))">
9346 <Choose>
9347 <When Condition="'$(Language)'=='C++' and '$(CLRSupport)'=='true' and '$(CodeAnalysisVSSku)'=='Express'">
9348 <PropertyGroup>
9349 <CodeAnalysisRuleSet>MixedMinimumRules.ruleset</CodeAnalysisRuleSet>
9350 </PropertyGroup>
9351 </When>
9352 <When Condition="'$(Language)'=='C++' and '$(CLRSupport)'=='true'">
9353 <PropertyGroup>
9354 <CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
9355 </PropertyGroup>
9356 </When>
9357 <When Condition="'$(Language)'=='C++' and '$(CodeAnalysisVSSku)'=='Express'">
9358 <PropertyGroup>
9359 <CodeAnalysisRuleSet>NativeMinimumRules.ruleset</CodeAnalysisRuleSet>
9360 </PropertyGroup>
9361 </When>
9362 <When Condition="'$(Language)'=='C++'">
9363 <PropertyGroup>
9364 <CodeAnalysisRuleSet>NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
9365 </PropertyGroup>
9366 </When>
9367 <When Condition="'$(CodeAnalysisVSSku)'=='Express'">
9368 <PropertyGroup>
9369 <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
9370 </PropertyGroup>
9371 </When>
9372 </Choose>
9373 </When>
9374 </Choose>
9375 <!-- C#/VB specific properties -->
9376 <PropertyGroup Condition="'$(Language)'=='C#' or '$(Language)'=='VB'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9377 <!-- Run Code Analysis after the build, but before running the application-->
9378 <PrepareForRunDependsOn>$(PrepareForRunDependsOn);RunCodeAnalysis</PrepareForRunDependsOn>
9379 <RunCodeAnalysisDependsOn>$(RunCodeAnalysisDependsOn);Compile</RunCodeAnalysisDependsOn>
9380 </PropertyGroup>
9381 <!-- C++ specific properties -->
9382 <PropertyGroup Condition="'$(RunMsvcAnalysis)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9383 <!-- Turn off /analyze:only for now since the perf gain doesn't justify the breaks -->
9384 <VCAnalyzeOnlyAllowed Condition="'$(VCAnalyzeOnlyAllowed)'==''">false</VCAnalyzeOnlyAllowed>
9385 <!-- CLR and WinRT projects don't support /analyze:only because they require metadata to be built -->
9386 <VCAnalyzeOnlyAllowed Condition="'$(VCAnalyzeOnlyAllowed)'=='' and ('$(WindowsAppContainer)'=='true' or '$(WinMDAssembly)'=='true' or '$(ManagedAssembly)'=='true')">false</VCAnalyzeOnlyAllowed>
9387 <!-- Keep track if we are doing an analyze-only build (toolset 14.0 and higher) -->
9388 <VCAnalyzeOnly>false</VCAnalyzeOnly>
9389 <VCAnalyzeOnly Condition="'$(RunCodeAnalysisOnce)'=='true' and '$(VCAnalyzeOnlyAllowed)'=='true' and '$(PlatformToolsetVersion)'&gt;='140'">true</VCAnalyzeOnly>
9390 <!-- Use the specified ruleset path if found otherwise try to determine the full path to the ruleset -->
9391 <VCAnalyzeRulesetPath Condition="Exists('$(CodeAnalysisRuleSet)')">$(CodeAnalysisRuleSet)</VCAnalyzeRulesetPath>
9392 <VCAnalyzeRulesetPath Condition="'$(VCAnalyzeRulesetPath)'==''">$(CodeAnalysisStaticAnalysisDirectory)Rule Sets\$(CodeAnalysisRuleSet)</VCAnalyzeRulesetPath>
9393 <!-- Set up localEspc plugin path -->
9394 <!-- use 32-bit version by default -->
9395 <LocalEspcPath>$(VC_ExecutablePath_x86_x86)\localespc.dll</LocalEspcPath>
9396 <!-- use 64-bit version if 64-bit cl.exe is used -->
9397 <LocalEspcPath Condition="'$(VCToolArchitecture)'=='Native64Bit'">$(VC_ExecutablePath_x64_x64)\localespc.dll</LocalEspcPath>
9398 <!-- use Arm64 version if Arm64 cl.exe is used -->
9399 <LocalEspcPath Condition="'$(VCToolArchitecture)'=='NativeARM64'">$(VC_ExecutablePath_ARM64_ARM64)\localespc.dll</LocalEspcPath>
9400 <RunMergeNativeCodeAnalysisDependsOn>ClCompile</RunMergeNativeCodeAnalysisDependsOn>
9401 <RunMergeNativeCodeAnalysisDependsOn Condition="'$(RunCodeAnalysisDependsOn)'!=''">$(RunCodeAnalysisDependsOn);$(RunMergeNativeCodeAnalysisDependsOn)</RunMergeNativeCodeAnalysisDependsOn>
9402 <RunCodeAnalysisDependsOn>$(RunCodeAnalysisDependsOn);ClCompile;RunMergeNativeCodeAnalysis</RunCodeAnalysisDependsOn>
9403 <ExtensionsToDeleteOnClean>$(ExtensionsToDeleteOnClean);$(CodeAnalysisLogFile);$(CodeAnalysisSucceededFile)</ExtensionsToDeleteOnClean>
9404 <CodeAnalysisTLogFile>$(IntDir)CodeAnalysis.read.1.tlog</CodeAnalysisTLogFile>
9405 <NativeCodeAnalysisTLogFile>$(IntDir)NativeCodeAnalysis.read.1.tlog</NativeCodeAnalysisTLogFile>
9406 </PropertyGroup>
9407 <!-- Analyze-only build, don't run any post-compile build steps -->
9408 <PropertyGroup Condition="'$(RunMsvcAnalysis)'=='true' and '$(VCAnalyzeOnly)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9409 <!--
9410 See Microsoft.BuildSteps.targets
9411 PrepareForBuild before ResolveReferences limits P2P rebuild
9412 -->
9413 <BuildSteps>
9414 PrepareForBuild;
9415 ResolveReferences;
9416 InitializeBuildStatus;
9417 BuildGenerateSources;
9418 BeforeClCompile;
9419 RunNativeCodeAnalysis
9420 </BuildSteps>
9421 <!-- In analyze-only, we don't generate assemblies so we can't run FxCop -->
9422 </PropertyGroup>
9423 <!-- Build with analyze, we run analysis after the assembly is linked -->
9424 <PropertyGroup Condition="'$(RunMsvcAnalysis)'=='true' and '$(VCAnalyzeOnly)'!='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9425 <AfterBuildLinkTargets>$(AfterBuildLinkTargets);RunMergeNativeCodeAnalysis;RunNativeCodeAnalysis</AfterBuildLinkTargets>
9426 <AfterBuildLinkTargets Condition="'$(CLRSupport)'=='true'">$(AfterBuildLinkTargets);RunCodeAnalysis</AfterBuildLinkTargets>
9427 </PropertyGroup>
9428 <!-- NOTE: Back-compat support for EnablePREFast item property.
9429 It's possible to set manually set EnablePREFast in an item definition group
9430 in project, without setting RunCodeAnalysis. In this case, we want to set
9431 up CAExcludePath so headers are clean, but don't want to enable any other
9432 C++ CA features like the result ingestion tasks or /analyze:quiet. -->
9433 <PropertyGroup Condition="'$(Language)'=='C++' or '$(RunMsvcAnalysis)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9434 <!-- Set up CAExcludePath for known include paths -->
9435 <CAExcludePath Condition="'$(Console_SdkIncludeRoot)'!=''">$(Console_SdkIncludeRoot);$(CAExcludePath)</CAExcludePath>
9436 <CAExcludePath Condition="'$(WindowsSDK_IncludePath)'!=''">$(WindowsSDK_IncludePath);$(CAExcludePath)</CAExcludePath>
9437 <CAExcludePath Condition="'$(UniversalCRT_IncludePath)'!=''">$(UniversalCRT_IncludePath);$(CAExcludePath)</CAExcludePath>
9438 <CAExcludePath Condition="Exists('$(VCToolsInstallDir)include')">$(VCToolsInstallDir)include;$(CAExcludePath)</CAExcludePath>
9439 <CAExcludePath Condition="Exists('$(VCToolsInstallDir)atlmfc\include')">$(VCToolsInstallDir)atlmfc\include;$(CAExcludePath)</CAExcludePath>
9440 <!-- Make sure the target that sets CAExcludePath is run -->
9441 <PrepareForBuildDependsOn>$(PrepareForBuildDependsOn);SetCABuildNativeEnvironmentVariables</PrepareForBuildDependsOn>
9442 </PropertyGroup>
9443 <!-- Actually set CAExcludePath -->
9444 <Target Name="SetCABuildNativeEnvironmentVariables" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9445 <!-- SetEnv is defined in Microsoft.Cpp.CurrentVersion.targets and is much faster -->
9446 <SetEnv Condition="'$(CAExcludePath)'!=''" Value="$(CAExcludePath)" Name="CAExcludePath" Prefix="false" />
9447 <SetEnv Condition="'$(RunMsvcAnalysis)'=='true' and '$(VCCodeAnalysisUX)'=='true'" Value="1" Name="CAEmitSarifLog" Prefix="false" />
9448 </Target>
9449 <!-- Set up the additional cl.exe command line for each compilation unit -->
9450 <ItemDefinitionGroup Condition="'$(RunMsvcAnalysis)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9451 <ClCompile>
9452 <EnablePREFast>true</EnablePREFast>
9453 <PreprocessorDefinitions>CODE_ANALYSIS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
9454 <PREfastLog Condition="'$(PlatformToolsetVersion)'&lt;'120'">$(IntDir)%(FileName)%(Extension).nativecodeanalysis.xml</PREfastLog>
9455 <PREfastLogFile Condition="'$(PlatformToolsetVersion)'&gt;='120'">%(ObjectFileName)%(FileName).nativecodeanalysis.xml</PREfastLogFile>
9456 <!-- Add the localEspc plugin only if ConcurrencyCheck is not installed -->
9457 <PREfastAdditionalPlugins Condition="('$(ConcurrencyCheckPath)' == '' or !Exists('$(ConcurrencyCheckPath)')) and Exists('$(LocalEspcPath)')">$(LocalEspcPath);%(ClCompile.PREfastAdditionalPlugins)</PREfastAdditionalPlugins>
9458 <!-- After Dev11 pass /analyze:quiet because warnings are added to the error list by a post-build task. -->
9459 <PREfastAdditionalOptions Condition="'$(PlatformToolsetVersion)'&gt;='110'">quiet;%(ClCompile.PREfastAdditionalOptions)</PREfastAdditionalOptions>
9460 <!-- Disable code-gen for analyze-only build -->
9461 <AdditionalOptions Condition="'$(VCAnalyzeOnly)'=='true'">%(ClCompile.AdditionalOptions) /c</AdditionalOptions>
9462 <PREfastAdditionalOptions Condition="'$(VCAnalyzeOnly)'=='true'">only;%(ClCompile.PREfastAdditionalOptions)</PREfastAdditionalOptions>
9463 <!-- In Dev15 we added ruleset handling in PREFast, add the ruleset file path if it exists -->
9464 <PREfastAdditionalOptions Condition="'$(PlatformToolsetVersion)'&gt;='140' and '$(PlatformToolsetVersion)'&lt;'142' and Exists('$(VCAnalyzeRulesetPath)')">%(ClCompile.PREfastAdditionalOptions);ruleset$(VCAnalyzeRulesetPath)</PREfastAdditionalOptions>
9465 <!-- In v142 ClCompile supports new arguments so other tools can filter them out (clang-cl)-->
9466 <PREfastRulesetFile Condition="'$(PlatformToolsetVersion)'&gt;='142' and Exists('$(VCAnalyzeRulesetPath)')">$(VCAnalyzeRulesetPath)</PREfastRulesetFile>
9467 <PREfastProjectDirectory Condition="'$(PlatformToolsetVersion)'&gt;='142' and Exists('$(MSBuildProjectDirectory)')">$(MSBuildProjectDirectory)</PREfastProjectDirectory>
9468 <PREfastRulesetDirectories Condition="'$(PlatformToolsetVersion)'&gt;='142' and '$(CodeAnalysisRuleSetDirectories)'!=''">$(CodeAnalysisRuleSetDirectories);%(ClCompile.PREfastRulesetDirectories)</PREfastRulesetDirectories>
9469 </ClCompile>
9470 </ItemDefinitionGroup>
9471 <!-- Make AdditionalFiles and CodeAnalysisDictionary available as a Build Action in Visual Studio -->
9472 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9473 <AvailableItemName Include="AdditionalFiles" />
9474 <AvailableItemName Include="CodeAnalysisDictionary" />
9475 </ItemGroup>
9476 <!-- FxCop analyzer properties -->
9477 <!-- Managed analyzer targets -->
9478 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9479 <RunCodeAnalysisInputs>$(CodeAnalysisInputAssembly)</RunCodeAnalysisInputs>
9480 <RunCodeAnalysisInputs Condition="'$(CodeAnalysisRuleSet)'!='' and Exists('$(CodeAnalysisRuleSet)')">$(RunCodeAnalysisInputs);$(CodeAnalysisRuleSet)</RunCodeAnalysisInputs>
9481 <RunCodeAnalysisInputs Condition="'$(CodeAnalysisRuleSet)'!='' and !Exists('$(CodeAnalysisRuleSet)') and Exists('$(ProjectDir)$(CodeAnalysisRuleSet)')">$(RunCodeAnalysisInputs);$(ProjectDir)$(CodeAnalysisRuleSet)</RunCodeAnalysisInputs>
9482 </PropertyGroup>
9483 <UsingTask TaskName="Microsoft.Build.Tasks.CodeAnalysis" AssemblyFile=".\FxCopTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9484 <Target Name="RunCodeAnalysis" Condition="'$(RunCodeAnalysisOnThisProject)'=='true'" Inputs="$(RunCodeAnalysisInputs)" Outputs="$(CodeAnalysisLogFile);$(CodeAnalysisSucceededFile)" DependsOnTargets="$(RunCodeAnalysisDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9485 <!-- Build CodeAnalysisReferencePath inside of the RunCodeAnalysis target to ensure that ReferencePath -->
9486 <!-- has already been populated by the ResolveReferences target prior to using it. -->
9487 <ItemGroup>
9488 <CodeAnalysisReferencePath Include="@(ReferencePath)" />
9489 <CodeAnalysisReferencePath Condition="'$(Language)'=='VB' and '$(VBRuntimePath)'!=''" Include="$(VBRuntimePath)" />
9490 </ItemGroup>
9491 <!-- Add AdditionalUsingDirectories as reference assembly paths for C++ projects -->
9492 <ItemGroup>
9493 <CodeAnalysisDependentAssemblyPaths Condition="'$(Language)'=='C++'" Include="%(ClCompile.AdditionalUsingDirectories)" />
9494 </ItemGroup>
9495 <!-- If it is winmd file than we want to analyze winmdobj instead of winmd file -->
9496 <PropertyGroup>
9497 <CodeAnalysisInputAssembly Condition="'$(OutputType)'=='winmdobj'">@(IntermediateAssembly)</CodeAnalysisInputAssembly>
9498 <CodeAnalysisInputAssembly Condition="'$(OutputType)'=='winmdobj' and '$(Language)'=='VB'">$(IntermediateOutputPath)\TempCA\$(TargetName)$(TargetExt)</CodeAnalysisInputAssembly>
9499 </PropertyGroup>
9500 <!-- VBCompiler issue: fix the name of PDB file for winmdobj assembly -->
9501 <Copy Condition="'$(OutputType)'=='winmdobj' and '$(Language)'=='VB'" DestinationFiles="$(IntermediateOutputPath)\TempCA\$(TargetName).pdb" SourceFiles="$(PdbFile)" OverwriteReadOnlyFiles="True" />
9502 <Copy Condition="'$(OutputType)'=='winmdobj' and '$(Language)'=='VB'" DestinationFolder="$(IntermediateOutputPath)\TempCA\" SourceFiles="@(IntermediateAssembly)" OverwriteReadOnlyFiles="True" />
9503 <CodeAnalysis Condition="'$(RunCodeAnalysisOnThisProject)'=='true'" AdditionalOptions="$(CodeAnalysisAdditionalOptions)" AlternativeToolName="$(CodeAnalysisAlternativeToolName)" AnalysisTimeout="$(CodeAnalysisTimeout)" ApplyLogFileXsl="$(CodeAnalysisApplyLogFileXsl)" Assemblies="$(CodeAnalysisInputAssembly)" ConsoleXsl="$(CodeAnalysisConsoleXsl)" Culture="$(CodeAnalysisCulture)" DependentAssemblyPaths="@(CodeAnalysisDependentAssemblyPaths)" Dictionaries="@(CodeAnalysisDictionary)" DisableReferenceSwitchGeneration="$(CodeAnalysisDisableReferenceSwitchGeneration)" FailOnMissingRules="$(CodeAnalysisFailOnMissingRules)" FilesWritten="$(CodeAnalysisLogFile);$(CodeAnalysisSucceededFile)" ForceOutput="$(CodeAnalysisForceOutput)" GenerateSuccessFile="$(CodeAnalysisGenerateSuccessFile)" IsLegacyCodeAnalysis="$(IsLegacyCodeAnalysis)" SuppressLegacyCodeAnalysisDeprecatedWarning="$(SuppressLegacyCodeAnalysisDeprecatedWarning)" IgnoreBuildTaskWarnings="$(CodeAnalysisIgnoreBuildTaskWarnings)" IgnoreGeneratedCode="$(CodeAnalysisIgnoreGeneratedCode)" IgnoreInvalidTargets="$(CodeAnalysisIgnoreInvalidTargets)" IgnoreMissingIndirectReferences="$(CodeAnalysisIgnoreMissingIndirectReferences)" Imports="@(CodeAnalysisImport)" LogFile="$(CodeAnalysisLogFile)" LogFileXsl="$(CodeAnalysisLogFileXsl)" MSBuildProjectDirectory="$(MSBuildProjectDirectory)" OutputToConsole="$(CodeAnalysisOutputToConsole)" OverrideRuleVisibilities="$(CodeAnalysisOverrideRuleVisibilities)" NeverReportRuleErrors="$(CodeAnalysisNeverReportRuleErrors)" PlatformPath="$(CodeAnalysisPlatformPath)" Project="$(CodeAnalysisProject)" Quiet="$(CodeAnalysisQuiet)" References="@(CodeAnalysisReferencePath)" RuleAssemblies="$(CodeAnalysisRuleAssemblies)" RuleDirectories="$(CodeAnalysisRuleDirectories)" Rules="$(CodeAnalysisRules)" RuleSet="$(CodeAnalysisRuleSet)" RuleSetDirectories="$(CodeAnalysisRuleSetDirectories)" RuleSetOverrides="$(CodeAnalysisRuleSetOverrides)" SaveMessagesToReport="$(CodeAnalysisSaveMessagesToReport)" SearchGlobalAssemblyCache="$(CodeAnalysisSearchGlobalAssemblyCache)" SuccessFile="$(CodeAnalysisSucceededFile)" Summary="$(CodeAnalysisSummary)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TLogFile="$(CodeAnalysisTLogFile)" ToolPath="$(CodeAnalysisPath)" TreatWarningsAsErrors="$(_CodeAnalysisTreatWarningsAsErrors)" UpdateProject="$(CodeAnalysisUpdateProject)" Verbose="$(CodeAnalysisVerbose)">
9504 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
9505 </CodeAnalysis>
9506 </Target>
9507 <!-- Managed analyzer targets -->
9508 <!-- Native analyzer targets -->
9509 <PropertyGroup Condition="'$(RunMsvcAnalysis)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9510 <RunNativeCodeAnalysisInputs>$(OutputFile)</RunNativeCodeAnalysisInputs>
9511 <RunNativeCodeAnalysisInputs Condition="'$(CodeAnalysisRuleSet)'!='' and Exists('$(CodeAnalysisRuleSet)')">$(RunNativeCodeAnalysisInputs);$(CodeAnalysisRuleSet)</RunNativeCodeAnalysisInputs>
9512 <RunNativeCodeAnalysisInputs Condition="'$(CodeAnalysisRuleSet)'!='' and !Exists('$(CodeAnalysisRuleSet)') and Exists('$(ProjectDir)$(CodeAnalysisRuleSet)')">$(RunNativeCodeAnalysisInputs);$(ProjectDir)$(CodeAnalysisRuleSet)</RunNativeCodeAnalysisInputs>
9513 <MergedOutputCodeAnalysisFile>$(IntDir)vc.nativecodeanalysis.all.xml</MergedOutputCodeAnalysisFile>
9514 </PropertyGroup>
9515 <Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9516 <When Condition="'$(RunMsvcAnalysis)'=='true'">
9517 <Choose>
9518 <When Condition="'$(PlatformToolsetVersion)'&lt;'120'">
9519 <PropertyGroup>
9520 <MergeInputCodeAnalysisFiles>@(ClCompile->'%(PREfastLog)')</MergeInputCodeAnalysisFiles>
9521 </PropertyGroup>
9522 </When>
9523 <Otherwise>
9524 <PropertyGroup>
9525 <MergeInputCodeAnalysisFiles>@(ClCompile->'%(PREfastLogFile)')</MergeInputCodeAnalysisFiles>
9526 </PropertyGroup>
9527 </Otherwise>
9528 </Choose>
9529 </When>
9530 </Choose>
9531 <UsingTask TaskName="Microsoft.Build.Tasks.NativeCodeAnalysis" AssemblyFile=".\FxCopTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9532 <!-- Normal case that runs analysis for a full build -->
9533 <Target Name="RunNativeCodeAnalysis" Condition="'$(RunMsvcAnalysis)'=='true'" Inputs="$(RunCodeAnalysisInputs);$(MergedOutputCodeAnalysisFile)" Outputs="$(CodeAnalysisSucceededFile);$(NativeCodeAnalysisTLogFile)" DependsOnTargets="$(RunCodeAnalysisDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9534 <NativeCodeAnalysis IgnoreBuildTaskWarnings="$(CodeAnalysisIgnoreBuildTaskWarnings)" NativeCodeAnalysisLogFiles="$(MergedOutputCodeAnalysisFile)" MSBuildProjectDirectory="$(MSBuildProjectDirectory)" NeverReportRuleErrors="$(CodeAnalysisNeverReportRuleErrors)" RuleSet="$(CodeAnalysisRuleSet)" RuleSetDirectories="$(CodeAnalysisRuleSetDirectories)" StaticAnalysisDirectory="$(CodeAnalysisStaticAnalysisDirectory)" TLogFile="$(NativeCodeAnalysisTLogFile)" TreatWarningsAsErrors="$(_CodeAnalysisTreatWarningsAsErrors)" VisualStudioSku="$(CodeAnalysisVSSku)" CodeAnalysisSucceededFile="$(CodeAnalysisSucceededFile)">
9535 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
9536 </NativeCodeAnalysis>
9537 </Target>
9538 <!-- Special case that runs analysis for selected file compile -->
9539 <Target Name="RunSelectedFileNativeCodeAnalysis" Condition="'$(RunMsvcAnalysis)'=='true' and '$(SelectedFiles)'!=''" DependsOnTargets="RunMergeNativeCodeAnalysis;RunNativeCodeAnalysis" AfterTargets="ClCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9540 <Message Text="Running code analysis targets for selected files $(SelectedFiles)" />
9541 <!-- Show a warning that results may not be complete if /Gm is enabled during selective compile -->
9542 <Warning Condition="'%(ClCompile.MinimalRebuild)'!='false' and '$(VCAnalyzeOnly)'=='false'" Text="Minimal rebuild (/Gm) was passed to the compiler, analysis results may be stale." />
9543 </Target>
9544 <!-- Native analyzer targets -->
9545 <!-- Merge native results targets -->
9546 <UsingTask TaskName="Microsoft.Build.Tasks.MergeNativeCodeAnalysis" AssemblyFile=".\FxCopTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9547 <Target Name="RunMergeNativeCodeAnalysis" Condition="'$(RunMsvcAnalysis)'=='true'" Inputs="$(RunCodeAnalysisInputs);$(MergeInputCodeAnalysisFiles)" Outputs="$(CodeAnalysisSucceededFile);$(NativeCodeAnalysisTLogFile);$(MergedOutputCodeAnalysisFile)" DependsOnTargets="$(RunMergeNativeCodeAnalysisDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9548 <MergeNativeCodeAnalysis InputNativeResultFiles="$(MergeInputCodeAnalysisFiles)" OutputCodeAnalysisFile="$(MergedOutputCodeAnalysisFile)" />
9549 </Target>
9550 <!-- Merge native results targets -->
9551 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9552 <Clean Include="$(IntermediateOutputPath)\TempCA\$(TargetName).pdb" />
9553 <Clean Include="$(IntermediateOutputPath)\TempCA\$(TargetName)$(TargetExt)" />
9554 </ItemGroup>
9555 <!--
9556============================================================================================================================================
9557 </Import>
9558
9559C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
9560============================================================================================================================================
9561-->
9562 <!--<Import Project="$(ReportingServicesTargets)" Condition="Exists('$(ReportingServicesTargets)')" />-->
9563 <!--
9564============================================================================================================================================
9565 <Import Project="$(MSBuildToolsPath)\Microsoft.NETFramework.targets" Condition="('$(TargetFrameworkIdentifier)' == '' or '$(TargetFrameworkIdentifier)' == '.NETFramework') and ('$(TargetRuntime)' == 'Managed')">
9566
9567C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.NETFramework.targets
9568============================================================================================================================================
9569-->
9570 <!--
9571***********************************************************************************************
9572Microsoft.NetFramework.targets
9573
9574WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
9575 created a backup copy. Incorrect changes to this file will make it
9576 impossible to load or build your projects from the command-line or the IDE.
9577
9578This file contains .net framework specific properties, items and targets. They are factored into a Microsoft.NETFramework.targets and Microsoft.NetFramework.props
9579these two files are used to encapsulate the multi-targeting and framework specific build process.
9580
9581Copyright (C) Microsoft Corporation. All rights reserved.
9582***********************************************************************************************
9583-->
9584 <PropertyGroup>
9585 <NetFrameworkTargetsPath>$(MSBuildToolsPath)\Microsoft.NETFramework.CurrentVersion.targets</NetFrameworkTargetsPath>
9586 </PropertyGroup>
9587 <!--
9588============================================================================================================================================
9589 <Import Project="$(NetFrameworkTargetsPath)">
9590
9591C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.NETFramework.CurrentVersion.targets
9592============================================================================================================================================
9593-->
9594 <!--
9595***********************************************************************************************
9596Microsoft.NETFramework.CurrentVersion.targets
9597
9598WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
9599 created a backup copy. Incorrect changes to this file will make it
9600 impossible to load or build your projects from the command-line or the IDE.
9601
9602This file contains .net framework specific properties, items and targets. They are factored into a Microsoft.NETFramework.targets and Microsoft.NetFramework.props
9603these two files are used to encapsulate the multi-targeting and framework specific build process.
9604
9605Copyright (C) Microsoft Corporation. All rights reserved.
9606***********************************************************************************************
9607-->
9608 <PropertyGroup>
9609 <ImportByWildcardBeforeMicrosoftNetFrameworkTargets Condition="'$(ImportByWildcardBeforeMicrosoftNetFrameworkTargets)' == ''">true</ImportByWildcardBeforeMicrosoftNetFrameworkTargets>
9610 <ImportByWildcardAfterMicrosoftNetFrameworkTargets Condition="'$(ImportByWildcardAfterMicrosoftNetFrameworkTargets)' == ''">true</ImportByWildcardAfterMicrosoftNetFrameworkTargets>
9611 <ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkTargets Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkTargets)' == ''">true</ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkTargets>
9612 <ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkTargets Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkTargets)' == ''">true</ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkTargets>
9613 </PropertyGroup>
9614 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.targets\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.targets\ImportBefore')" />-->
9615 <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.targets\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftNetFrameworkTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.targets\ImportBefore')" />-->
9616 <Target Name="GetFrameworkPaths" DependsOnTargets="$(GetFrameworkPathsDependsOn)">
9617 <!-- For backwards compatibility of targets who replaced this target we cannot move these values outside the target even though they
9618 now only depend on statically availiable values-->
9619 <ItemGroup>
9620 <_TargetFramework40DirectoryItem Include="$(MSBuildFrameworkToolsRoot)v4.0.30319" />
9621 <_TargetFramework35DirectoryItem Include="$(MSBuildFrameworkToolsRoot)v3.5" />
9622 <_TargetFramework30DirectoryItem Include="$(MSBuildFrameworkToolsRoot)v3.0" />
9623 <_TargetFramework20DirectoryItem Include="$(MSBuildFrameworkToolsRoot)v2.0.50727" />
9624 <_TargetedFrameworkDirectoryItem Condition="'$(TargetFrameworkVersion)' == 'v2.0'" Include="@(_TargetFramework20DirectoryItem)" />
9625 <_TargetedFrameworkDirectoryItem Condition="'$(TargetFrameworkVersion)' == 'v3.0' OR '$(TargetFrameworkVersion)' == 'v3.5'" Include="$(MSBuildFrameworkToolsRoot)\$(TargetFrameworkVersion)" />
9626 <_TargetedFrameworkDirectoryItem Condition="'@(_TargetedFrameworkDirectoryItem)' == ''" Include="@(_TargetFramework40DirectoryItem)" />
9627 </ItemGroup>
9628 <ItemGroup>
9629 <_CombinedTargetFrameworkDirectoriesItem Condition=" '$(TargetFrameworkVersion)' == 'v4.0' " Include="@(_TargetFramework40DirectoryItem)" />
9630 <_CombinedTargetFrameworkDirectoriesItem Condition=" '$(TargetFrameworkVersion)' == 'v3.5'" Include="@(_TargetFramework35DirectoryItem)" />
9631 <_CombinedTargetFrameworkDirectoriesItem Condition=" '$(TargetFrameworkVersion)' == 'v3.0' or '$(TargetFrameworkVersion)' == 'v3.5'" Include="@(_TargetFramework30DirectoryItem)" />
9632 <_CombinedTargetFrameworkDirectoriesItem Condition=" '$(TargetFrameworkVersion)' == 'v2.0' or '$(TargetFrameworkVersion)' == 'v3.0' or '$(TargetFrameworkVersion)' == 'v3.5'" Include="@(_TargetFramework20DirectoryItem)" />
9633 <_CombinedTargetFrameworkDirectoriesItem Condition=" '@(_CombinedTargetFrameworkDirectoriesItem)' == ''" Include="@(_TargetedFrameworkDirectoryItem)" />
9634 </ItemGroup>
9635 <PropertyGroup>
9636 <TargetFrameworkDirectory>@(_CombinedTargetFrameworkDirectoriesItem)</TargetFrameworkDirectory>
9637 <TargetFrameworkSDKDirectory>$(FrameworkSDKRoot)</TargetFrameworkSDKDirectory>
9638 </PropertyGroup>
9639 <ItemGroup>
9640 <_TargetFrameworkSDKDirectoryItem Include="$(TargetFrameworkSDKDirectory)" />
9641 </ItemGroup>
9642 </Target>
9643 <PropertyGroup>
9644 <ResolveReferencesDependsOn>
9645 $(ResolveReferencesDependsOn);
9646 ImplicitlyExpandDesignTimeFacades
9647 </ResolveReferencesDependsOn>
9648 <ImplicitlyExpandDesignTimeFacadesDependsOn>
9649 $(ImplicitlyExpandDesignTimeFacadesDependsOn);
9650 GetReferenceAssemblyPaths
9651 </ImplicitlyExpandDesignTimeFacadesDependsOn>
9652 </PropertyGroup>
9653 <!-- Implicitly references all portable design-time facades if the user is referencing a System.Runtime-based portable library -->
9654 <Target Name="ImplicitlyExpandDesignTimeFacades" Condition="'$(ImplicitlyExpandDesignTimeFacades)' == 'true'" DependsOnTargets="$(ImplicitlyExpandDesignTimeFacadesDependsOn)">
9655 <PropertyGroup>
9656 <!-- Does one of our dependencies reference a System.Runtime-based portable library? -->
9657 <_HasReferenceToSystemRuntime Condition="'$(DependsOnSystemRuntime)' == 'true'">true</_HasReferenceToSystemRuntime>
9658 <_HasReferenceToSystemRuntime Condition="'%(_ResolvedProjectReferencePaths.TargetPlatformIdentifier)' == 'Portable'">true</_HasReferenceToSystemRuntime>
9659 <_HasReferenceToSystemRuntime Condition="'%(_ResolvedProjectReferencePaths.TargetFrameworkIdentifier)' == '.NETStandard' and '%(_ResolvedProjectReferencePaths.TargetFrameworkVersion)' &lt; '2.0'">true</_HasReferenceToSystemRuntime>
9660 <_HasReferenceToNETStandard Condition="'$(_DependsOnNETStandard)' == 'true'">true</_HasReferenceToNETStandard>
9661 <_HasReferenceToNETStandard Condition="'%(_ResolvedProjectReferencePaths.TargetFrameworkIdentifier)' == '.NETStandard' and '%(_ResolvedProjectReferencePaths.TargetFrameworkVersion)' &gt;= '2.0'">true</_HasReferenceToNETStandard>
9662 </PropertyGroup>
9663 <ItemGroup Condition="'$(_HasReferenceToSystemRuntime)' == 'true'">
9664 <_DesignTimeFacadeAssemblies Include="%(DesignTimeFacadeDirectories.Identity)*.dll" />
9665 </ItemGroup>
9666 <ItemGroup Condition="'$(_HasReferenceToNETStandard)' == 'true' And '$(_HasReferenceToSystemRuntime)' != 'true'">
9667 <_DesignTimeFacadeAssemblies Include="%(DesignTimeFacadeDirectories.Identity)netstandard.dll" Condition="Exists('%(DesignTimeFacadeDirectories.Identity)netstandard.dll')" />
9668 </ItemGroup>
9669 <ItemGroup Condition="'$(_HasReferenceToSystemRuntime)' == 'true' Or '$(_HasReferenceToNETStandard)' == 'true' ">
9670 <_DesignTimeFacadeAssemblies_Names Include="@(_DesignTimeFacadeAssemblies->'%(FileName)')">
9671 <OriginalIdentity>%(_DesignTimeFacadeAssemblies.Identity)</OriginalIdentity>
9672 </_DesignTimeFacadeAssemblies_Names>
9673 <_ReferencePath_Names Include="@(ReferencePath->'%(FileName)')">
9674 <OriginalIdentity>%(ReferencePath.Identity)</OriginalIdentity>
9675 </_ReferencePath_Names>
9676 <_DesignTimeFacadeAssemblies_Names Remove="@(_ReferencePath_Names)" />
9677 <ReferencePath Include="@(_DesignTimeFacadeAssemblies_Names->'%(OriginalIdentity)')">
9678 <WinMDFile>false</WinMDFile>
9679 <CopyLocal>false</CopyLocal>
9680 <ResolvedFrom>ImplicitlyExpandDesignTimeFacades</ResolvedFrom>
9681 </ReferencePath>
9682 <_ResolveAssemblyReferenceResolvedFiles Include="@(ReferencePath)" Condition="'%(ReferencePath.ResolvedFrom)' == 'ImplicitlyExpandDesignTimeFacades'" />
9683 </ItemGroup>
9684 </Target>
9685 <!--
9686============================================================================================================================================
9687 <Import Project="$(MSBuildToolsPath)\Microsoft.WinFX.targets" Condition="'$(TargetFrameworkVersion)' != 'v2.0' and '$(TargetCompactFramework)' != 'true' and Exists('$(MSBuildToolsPath)\Microsoft.WinFX.targets')">
9688
9689C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.WinFX.targets
9690============================================================================================================================================
9691-->
9692 <!--
9693 With MSBuild 12, we've changed MSBuildToolsPath to for the first time point to a directory
9694 outside of the .NET Framework. As a result of this, there were several targets files, of which
9695 this was one, that were being referenced as out of MSBuildToolsPath that are now no longer there.
9696
9697 Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that
9698 consumers of them are not broken, but since the targets files themselves are still part of .NET,
9699 the shim will internally simply redirect to the real copy of the targets file in the .NET Framework.
9700 -->
9701 <!--
9702============================================================================================================================================
9703 <Import Project="$(MSBuildFrameworkToolsPath)\Microsoft.WinFx.targets" Condition="'$(ImportFrameworkWinFXTargets)' != 'false' and Exists('$(MSBuildFrameworkToolsPath)\Microsoft.WinFx.targets')">
9704
9705C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFx.targets
9706============================================================================================================================================
9707-->
9708 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9709 <BuildSystem>MSBuild</BuildSystem>
9710 <TaskVersion Condition=" ('$(TargetFrameworkVersion)' == 'v3.0' or '$(TargetFrameworkVersion)' == 'v3.5') ">3.0.0.0</TaskVersion>
9711 <TaskVersion Condition=" ('$(TargetFrameworkIdentifier)' == 'Silverlight')">4.0.0.0</TaskVersion>
9712 <TaskVersion Condition="'$(TaskVersion)' == ''">4.0.0.0</TaskVersion>
9713 <TaskKeyToken>31bf3856ad364e35</TaskKeyToken>
9714 <BuildTaskAssembly Condition="'$(BuildTaskAssembly)'==''">PresentationBuildTasks, Version=$(TaskVersion), Culture=neutral, PublicKeyToken=$(TaskKeyToken)</BuildTaskAssembly>
9715 <AlwaysCompileMarkupFilesInSeparateDomain Condition="'$(BuildingInsideVisualStudio)' == 'true' and '$(AlwaysCompileMarkupFilesInSeparateDomain)' == ''">true</AlwaysCompileMarkupFilesInSeparateDomain>
9716 <AlwaysCompileMarkupFilesInSeparateDomain Condition="'$(AlwaysCompileMarkupFilesInSeparateDomain)' == '' ">true</AlwaysCompileMarkupFilesInSeparateDomain>
9717 <LocalizationDirectivesToLocFile Condition="'$(LocalizationDirectivesToLocFile)' == ''">None</LocalizationDirectivesToLocFile>
9718 <GetReferenceAssemblyPathsDependsOn>
9719 $(GetReferenceAssemblyPathsDependsOn);
9720 GetWinFXPath
9721 </GetReferenceAssemblyPathsDependsOn>
9722 </PropertyGroup>
9723 <UsingTask TaskName="Microsoft.Build.Tasks.Windows.MarkupCompilePass1" AssemblyName="$(BuildTaskAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9724 <UsingTask TaskName="Microsoft.Build.Tasks.Windows.UidManager" AssemblyName="$(BuildTaskAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9725 <UsingTask TaskName="Microsoft.Build.Tasks.Windows.ResourcesGenerator" AssemblyName="$(BuildTaskAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9726 <UsingTask TaskName="Microsoft.Build.Tasks.Windows.FileClassifier" AssemblyName="$(BuildTaskAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9727 <UsingTask TaskName="Microsoft.Build.Tasks.Windows.MarkupCompilePass2" AssemblyName="$(BuildTaskAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9728 <UsingTask TaskName="Microsoft.Build.Tasks.Windows.GenerateTemporaryTargetAssembly" AssemblyName="$(BuildTaskAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9729 <UsingTask TaskName="Microsoft.Build.Tasks.Windows.MergeLocalizationDirectives" AssemblyName="$(BuildTaskAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9730 <UsingTask TaskName="Microsoft.Build.Tasks.Windows.GetWinFXPath" AssemblyName="$(BuildTaskAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9731 <!-- This target has been kept for compatibility with other targets or projects which override GetWinFXNativePath or GetWinFXWowPath.
9732 This target and the properties are deprecated because multi-targeting for reference assemblies is handled in the framework specific targets
9733 -->
9734 <Target Name="GetWinFXPath" Condition="('@(Page)' != '' or '@(ApplicationDefinition)' != '' or '@(Resource)' != '') and ('$(GetWinFXNativePath)' != '' or '$(GetWinFXWoWPath)' != '' )" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9735 <GetWinFXPath WinFXNativePath="$(WinFXNativePath)" WinFXWowPath="$(WinFXWowPath)">
9736 <Output TaskParameter="WinFXPath" PropertyName="WinFXAssemblyDirectory" Condition="'$(ReferenceWinFXAssemblyFromGAC)' != 'true' " />
9737 </GetWinFXPath>
9738 </Target>
9739 <!-- Some Default Settings -->
9740 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9741 <!--
9742 XamlDebuggingInformation property controls whether or not to put line number information in the
9743 generated binary file for a Xaml markup file.
9744
9745 If XamlDebuggingInformation is set in project file, take whatever setting.
9746
9747 If XamlDebuggingInformation property is not explicitly set, and the current build is for debug,
9748 Set true to XamlDebuggingInformation, if the build is not for Debug, keep the empty setting for
9749 XamlDebuggingInformation, it means not to put line number information in the generated binary file.
9750
9751 -->
9752 <XamlDebuggingInformation Condition="'$(XamlDebuggingInformation)' == '' and '$(ConfigurationName)' == 'Debug'">true</XamlDebuggingInformation>
9753 <HostInBrowser Condition="'$(HostInBrowser)'==''">false</HostInBrowser>
9754 <Version Condition="'$(Version)'==''">1.0.0.0</Version>
9755 <DeploymentType Condition="'$(DeploymentType)'==''">Installed</DeploymentType>
9756 <RunAfterInstall Condition="'$(RunAfterInstall)'==''">true</RunAfterInstall>
9757 <GeneratedFileExtension>.g$(DefaultLanguageSourceExtension)</GeneratedFileExtension>
9758 <OSVersion Condition="'$(OSVersion)' == ''">5.1.2600.0</OSVersion>
9759 <!-- Initialize some Local-Type_Ref related properties -->
9760 <_RequireMCPass2ForSatelliteAssemblyOnly>false</_RequireMCPass2ForSatelliteAssemblyOnly>
9761 <_RequireMCPass2ForMainAssembly>false</_RequireMCPass2ForMainAssembly>
9762 </PropertyGroup>
9763 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9764 <IsApplication Condition="'$(OutputType)'=='exe'">true</IsApplication>
9765 <IsApplication Condition="'$(OutputType)'=='winexe'">true</IsApplication>
9766 <IsLibrary Condition="'$(OutputType)'=='library'">true</IsLibrary>
9767 <IsLibrary Condition="'$(OutputType)'=='module'">true</IsLibrary>
9768 </PropertyGroup>
9769 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9770 <!--
9771 Inject AssignWinFXEmbeddedResource target at right stage.
9772 -->
9773 <PrepareResourceNamesDependsOn>
9774 AssignWinFXEmbeddedResource;
9775 $(PrepareResourceNamesDependsOn)
9776 </PrepareResourceNamesDependsOn>
9777 </PropertyGroup>
9778 <!-- Common Application and Library Property settings -->
9779 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9780 <PrepareResourcesDependsOn>
9781 MarkupCompilePass1;
9782 AfterMarkupCompilePass1;
9783 MarkupCompilePass2ForMainAssembly;
9784 FileClassification;
9785 MainResourcesGeneration;
9786 $(PrepareResourcesDependsOn)
9787 </PrepareResourcesDependsOn>
9788 </PropertyGroup>
9789 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9790 <!-- Add Markup compilation to the CoreCompileDependsOn so that the IDE inproc compilers (particularly VB)
9791 can "see" the generated source files. -->
9792 <CoreCompileDependsOn Condition="'$(BuildingInsideVisualStudio)' == 'true' ">
9793 DesignTimeMarkupCompilation;
9794 $(CoreCompileDependsOn)
9795 </CoreCompileDependsOn>
9796 </PropertyGroup>
9797 <Target Name="DesignTimeMarkupCompilation" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9798 <!-- Only if we are not actually performing a compile i.e. we are in design mode -->
9799 <CallTarget Condition="'$(BuildingProject)' != 'true'" Targets="MarkupCompilePass1" />
9800 </Target>
9801 <!-- WinFX specific ItemGroup -->
9802 <ItemGroup Condition="'$(BuildingInsideVisualStudio)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9803 <!--
9804 Add WinFX specific Item names to AvailableItemName item, so that they can show up
9805 in a drop-down menu for Build Action field of the properties window in VisualStudio.
9806 -->
9807 <AvailableItemName Include="ApplicationDefinition" />
9808 <AvailableItemName Include="Page" />
9809 <AvailableItemName Include="Resource" />
9810 <AvailableItemName Include="SplashScreen" />
9811 <AvailableItemName Include="DesignData" />
9812 <AvailableItemName Include="DesignDataWithDesignTimeCreatableTypes" />
9813 </ItemGroup>
9814 <!--
9815 Prepare Resource For SatelliteAssemblies.
9816 -->
9817 <PropertyGroup Condition="'$(UICulture)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9818 <PrepareResourcesForSatelliteAssembliesDependsOn>
9819 SatelliteOnlyMarkupCompilePass2;
9820 SatelliteResourceGeneration;
9821 GenerateResourceWithCultureItem;
9822 </PrepareResourcesForSatelliteAssembliesDependsOn>
9823 </PropertyGroup>
9824 <Target Name="PrepareResourcesForSatelliteAssemblies" Condition="'$(UICulture)' != ''" DependsOnTargets="$(PrepareResourcesForSatelliteAssembliesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9825 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9826 <!--
9827 Hook up AfterCompileWinFX to that it runs
9828 where AfterCompile would have run
9829 -->
9830 <CompileDependsOn>
9831 $(CompileDependsOn);
9832 _AfterCompileWinFXInternal
9833 </CompileDependsOn>
9834 <!--
9835 Any targets that _AfterCompileWinFXInternal depends on.
9836
9837 After the xaml file is compiled, the build system needs to generate a final .loc file
9838 for localization support. MergeLocalizationDirectives target does this.
9839
9840
9841 If UICulture is set, it needs to do below extra work before generating the .loc file:
9842
9843 1. Calls the MarkupCompilePass2 for those xaml file which reference local types.
9844 2. Generate the .resources for given culture from .baml and other resource files.
9845
9846 Target PrepareResourcesForSatelliteAssemblies is for this.
9847
9848 -->
9849 <_AfterCompileWinFXInternalDependsOn>
9850 PrepareResourcesForSatelliteAssemblies;
9851 MergeLocalizationDirectives;
9852 AfterCompileWinFX
9853 </_AfterCompileWinFXInternalDependsOn>
9854 </PropertyGroup>
9855 <!-- Work that we want to be done after the "Compile" target in Microsoft.Common.targets -->
9856 <Target Name="_AfterCompileWinFXInternal" DependsOnTargets="$(_AfterCompileWinFXInternalDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9857 <!--
9858 ===========================================================================================
9859 Extensibility Points
9860
9861 Redefine these targets in your project in order to run tasks just after
9862 MarkupCompilePass1, MarkupCompilePass2 or the entire WinFXCompile.
9863
9864 ===========================================================================================
9865 -->
9866 <Target Name="AfterCompileWinFX" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9867 <Target Name="AfterMarkupCompilePass1" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9868 <Target Name="AfterMarkupCompilePass2" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9869 <!--
9870 Name : MarkupCompilePass1
9871 This target generates code for every xaml file as well it also generates code for main and IResourceLoader.
9872 This target uses MarkupCompilePass1 task.
9873 -->
9874 <!--
9875 ================================================================
9876 MarkupCompilePass1
9877 ================================================================
9878 -->
9879 <Target Name="MarkupCompilePass1" DependsOnTargets="$(MarkupCompilePass1DependsOn);SplashScreenValidation" Condition="'@(Page)' != '' or '@(ApplicationDefinition)' != '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9880 <Message Text="(in) Page: '@(Page)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9881 <Message Text="(in) ApplicationDefinition: '@(ApplicationDefinition)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9882 <Message Text="(in) Resource: '@(Resource)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9883 <Message Text="(in) CodeGenReference: '@(ReferencePath)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9884 <!--
9885 When performing an intellisense compile, we don't want to abort the compile if
9886 MarkupCompilePass1 fails. This would prevent the list of files from being handed
9887 off to the compiler, thereby breaking all intellisense. For intellisense compiles
9888 we set ContinueOnError to true. The property defined here is used as the value
9889 for ContinueOnError on the MarkupCompilePass1 task.
9890 -->
9891 <PropertyGroup>
9892 <_IntellisenseOnlyCompile>false</_IntellisenseOnlyCompile>
9893 <_IntellisenseOnlyCompile Condition="'$(BuildingProject)' != 'true'">true</_IntellisenseOnlyCompile>
9894 </PropertyGroup>
9895 <MarkupCompilePass1 Language="$(Language)" UICulture="$(UICulture)" ApplicationMarkup="@(ApplicationDefinition)" SplashScreen="@(SplashScreen)" LanguageSourceExtension="$(DefaultLanguageSourceExtension)" PageMarkup="@(Page)" ContentFiles="@(Content)" AssemblyName="$(AssemblyName)" OutputType="$(OutputType)" AssemblyVersion="$(AssemblyVersion)" AssemblyPublicKeyToken="$(AssemblyPublicKeyToken)" References="@(ReferencePath)" RootNamespace="$(RootNamespace)" KnownReferencePaths="$(MSBuildBinPath);$(TargetFrameworkDirectory);@(_TargetFrameworkSDKDirectoryItem);@(KnownReferencePaths)" AssembliesGeneratedDuringBuild="@(AssembliesGeneratedDuringBuild)" AlwaysCompileMarkupFilesInSeparateDomain="$(AlwaysCompileMarkupFilesInSeparateDomain)" HostInBrowser="$(HostInBrowser)" LocalizationDirectivesToLocFile="$(LocalizationDirectivesToLocFile)" ContinueOnError="$(_IntellisenseOnlyCompile)" SourceCodeFiles="@(Compile)" DefineConstants="$(DefineConstants)" ExtraBuildControlFiles="@(ExtraBuildControlFiles)" XamlDebuggingInformation="$(XamlDebuggingInformation)" IsRunningInVisualStudio="$(BuildingInsideVisualStudio)" OutputPath="$(IntermediateOutputPath)">
9896 <Output ItemName="GeneratedBaml" TaskParameter="GeneratedBamlFiles" />
9897 <Output ItemName="GeneratedLocalizationFiles" TaskParameter="GeneratedLocalizationFiles" />
9898 <Output PropertyName="_RequireMCPass2ForMainAssembly" TaskParameter="RequirePass2ForMainAssembly" />
9899 <Output PropertyName="_RequireMCPass2ForSatelliteAssemblyOnly" TaskParameter="RequirePass2ForSatelliteAssembly" />
9900 <Output ItemName="Compile" TaskParameter="GeneratedCodeFiles" />
9901 <!-- Keep a list of all the generated files, it is used to clean up for a next clean build -->
9902 <Output ItemName="FileWrites" TaskParameter="AllGeneratedFiles" />
9903 <Output ItemName="_GeneratedCodeFiles" TaskParameter="GeneratedCodeFiles" />
9904 </MarkupCompilePass1>
9905 <Message Text="(out) GeneratedBamlFiles: '@(GeneratedBaml)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9906 <Message Text="(out) SourceCodeFiles: '@(Compile)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9907 <Message Text="(Out) GeneratedCodeFiles: '@(_GeneratedCodeFiles)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9908 <Message Text="(out) GeneratedLocalizationFiles: @(GeneratedLocalizationFiles)" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9909 <Message Text="(out) _RequireMCPass2ForMainAssembly : '$(_RequireMCPass2ForMainAssembly)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9910 <Message Text="(out) _RequireMCPass2ForSatelliteAssemblyOnly : '$(_RequireMCPass2ForSatelliteAssemblyOnly)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9911 </Target>
9912 <!--
9913
9914 ================================================================
9915 MarkupCompilePass2
9916 ================================================================
9917
9918 Name: MarkupCompilePass2
9919
9920 For those xaml files that contain local-implemented types, this target will invoke MarkupCompilePass2
9921 task to compile those xaml files after the main assembly is generated.
9922
9923 If MarkupCompilePass1 task is not invoked, that means there is no any Xaml input file change since last build,
9924 and then it is not required to run this MarkupCompilePass2 either.
9925
9926 -->
9927 <Target Name="MarkupCompilePass2" Condition="Exists('$(IntermediateOutputPath)$(AssemblyName)_MarkupCompile.lref')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9928 <Message Text="(in) References: '@(ReferencePath);@(AssemblyForLocalTypeReference)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9929 <MarkupCompilePass2 AssemblyName="$(AssemblyName)" OutputType="$(OutputType)" Language="$(Language)" LocalizationDirectivesToLocFile="$(LocalizationDirectivesToLocFile)" RootNamespace="$(RootNamespace)" References="@(ReferencePath);@(AssemblyForLocalTypeReference)" KnownReferencePaths="$(MSBuildBinPath);$(TargetFrameworkDirectory);@(_TargetFrameworkSDKDirectoryItem);@(KnownReferencePaths)" AssembliesGeneratedDuringBuild="@(AssembliesGeneratedDuringBuild)" AlwaysCompileMarkupFilesInSeparateDomain="$(AlwaysCompileMarkupFilesInSeparateDomain)" XamlDebuggingInformation="$(XamlDebuggingInformation)" GeneratedBaml="" OutputPath="$(IntermediateOutputPath)" ContinueOnError="false">
9930 <!--
9931 Output Items for MarkupCompilePass2
9932
9933 If MarkupCompilePass2 is only for SatelliteAssembly, Append all the generated baml files into SatelliteEmbeddedFiles, No FileClassifier is required.
9934 If MarupCompilePass2 is for Main Assembly as well, output the Baml files into GeneratedBaml, FileClassifier task will be invoked later.
9935 -->
9936 <Output ItemName="GeneratedBamlWithLocalType" TaskParameter="GeneratedBaml" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9937 <Output ItemName="GeneratedBaml" TaskParameter="GeneratedBaml" Condition="'$(_RequireMCPass2ForMainAssembly)' == 'true'" />
9938 <Output ItemName="SatelliteEmbeddedFiles" TaskParameter="GeneratedBaml" Condition="'$(_RequireMCPass2ForSatelliteAssemblyOnly)' == 'true'" />
9939 <!-- Put the generated files in item FileWrites so that they can be cleaned up appropriately in a next Rebuild -->
9940 <Output ItemName="FileWrites" TaskParameter="GeneratedBaml" />
9941 </MarkupCompilePass2>
9942 <Message Text="(out) After MarkupCompilePass2, SatelliteEmbeddedFiles: '@(SatelliteEmbeddedFiles)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9943 <Message Text="(out) GeneratedBamlWithLocalType: '@(GeneratedBamlWithLocalType)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9944 </Target>
9945 <!--
9946
9947 ================================================================
9948 MarkupCompilePass2ForMainAssembly
9949 ================================================================
9950
9951 Name : MarkupCompilePass2ForMainAssembly
9952
9953 This target is invoked only when there is a xaml file which references local-type and is to embed into main assembly.
9954 It is possible when UICulture is not set, or the xaml file has explicitly set Localizable metadata to false.
9955
9956 Condition: _RequireMCPass2ForMainAssembly == true
9957
9958 -->
9959 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9960 <MarkupCompilePass2ForMainAssemblyDependsOn>
9961 GenerateTemporaryTargetAssembly;
9962 MarkupCompilePass2;
9963 AfterMarkupCompilePass2;
9964 CleanupTemporaryTargetAssembly
9965 </MarkupCompilePass2ForMainAssemblyDependsOn>
9966 <_CompileTargetNameForLocalType Condition="'$(_CompileTargetNameForLocalType)' == ''">_CompileTemporaryAssembly</_CompileTargetNameForLocalType>
9967 </PropertyGroup>
9968 <Target Name="_CompileTemporaryAssembly" DependsOnTargets="BuildOnlySettings;ResolveKeySource;CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9969 <Target Name="MarkupCompilePass2ForMainAssembly" Condition="'$(_RequireMCPass2ForMainAssembly)' == 'true' " DependsOnTargets="$(MarkupCompilePass2ForMainAssemblyDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9970 <!--
9971
9972 ==========================================
9973 GenerateTemporaryTargetAssembly
9974 ==========================================
9975
9976 Name : GenerateTemporaryTargetAssembly
9977
9978 -->
9979 <Target Name="GenerateTemporaryTargetAssembly" Condition="'$(_RequireMCPass2ForMainAssembly)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9980 <Message Text="MSBuildProjectFile is $(MSBuildProjectFile)" Condition="'$(MSBuildTargetsVerbose)' == 'true'" />
9981 <GenerateTemporaryTargetAssembly CurrentProject="$(MSBuildProjectFullPath)" MSBuildBinPath="$(MSBuildBinPath)" ReferencePathTypeName="ReferencePath" CompileTypeName="Compile" GeneratedCodeFiles="@(_GeneratedCodeFiles)" ReferencePath="@(ReferencePath)" IntermediateOutputPath="$(IntermediateOutputPath)" AssemblyName="$(AssemblyName)" CompileTargetName="$(_CompileTargetNameForLocalType)" GenerateTemporaryTargetAssemblyDebuggingInformation="$(GenerateTemporaryTargetAssemblyDebuggingInformation)" />
9982 <CreateItem Include="$(IntermediateOutputPath)$(TargetFileName)">
9983 <Output TaskParameter="Include" ItemName="AssemblyForLocalTypeReference" />
9984 </CreateItem>
9985 </Target>
9986 <!--
9987
9988 ===========================================
9989 CleanupTemporaryTargetAssembly
9990 ===========================================
9991
9992 Name : CleanupTemporaryTargetAssembly
9993
9994 -->
9995 <Target Name="CleanupTemporaryTargetAssembly" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9996 <Message Text="Remove the temporary project and target assembly" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
9997 <Delete Files="@(AssemblyForLocalTypeReference)" Condition="Exists('%(Fullpath)')" />
9998 </Target>
9999 <!--
10000
10001 ================================================================
10002 SatelliteOnlyMarkupCompilePass2
10003 ================================================================
10004
10005 Name : SatelliteOnlyMarkupCompilePass2
10006
10007 This target is invoked only when there is a xaml file which references local-type and no such xaml file is going
10008 to be embedded into main assembly.
10009
10010 Condition: _RequireMCPass2ForSatelliteAssemblyOnly == true
10011
10012 -->
10013 <Target Name="AddIntermediateAssemblyToReferenceList" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10014 <CreateItem Include="@(IntermediateAssembly)">
10015 <Output TaskParameter="Include" ItemName="AssemblyForLocalTypeReference" />
10016 </CreateItem>
10017 </Target>
10018 <Target Name="SatelliteOnlyMarkupCompilePass2" Condition="'$(_RequireMCPass2ForSatelliteAssemblyOnly)' == 'true'" DependsOnTargets="AddIntermediateAssemblyToReferenceList;MarkupCompilePass2" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10019 <!--
10020 ============ Manifest Generation Related Properties, Targets ==============
10021 -->
10022 <PropertyGroup Condition="'$(HostInBrowser)' == 'true' and '$(IsApplication)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10023 <!-- Set default value for some related properties -->
10024 <!-- For Browser application, manifests should be signed even if the project is not getting published -->
10025 <GenerateManifestsDependsOn>
10026 HostInBrowserValidation;
10027 GenerateApplicationManifest;
10028 ResignApplicationManifest;
10029 GenerateDeploymentManifest;
10030 SignDeploymentManifest
10031 </GenerateManifestsDependsOn>
10032 <GenerateManifests Condition="'$(GenerateManifests)' == ''">true</GenerateManifests>
10033 <GenerateClickOnceManifests Condition="'$(GenerateClickOnceManifests)' == ''">$(GenerateManifests)</GenerateClickOnceManifests>
10034 <!--
10035 If 'install' is not set in project file, set it to false here.
10036 But if 'install' is set in project, don't change it now. Later
10037 the PropertyValidation target will check if it is correct or not.
10038 -->
10039 <Install Condition="'$(Install)'==''">false</Install>
10040 <!--
10041 The valid values for TargetZone are :
10042 Internet, Intranet, LocalMachine, Custom
10043
10044 User can set all above vaild values in project file.
10045
10046 If this property is not set in project, for HostInBrowser,
10047 we set default value 'Internet' here.
10048 -->
10049 <TargetZone Condition="'$(TargetZone)' == ''">Internet</TargetZone>
10050 <!--
10051 Overwrite below properties which have been set in Microsoft.Common.targets.
10052 -->
10053 <TargetUrl Condition="'$(TargetUrl)' != ''">$(TargetUrl)/$(TargetDeployManifestFileName)</TargetUrl>
10054 <StartURL Condition="'$(StartURL)'==''">$(MSBuildProjectDirectory)\bin\$(Configuration)\$(TargetDeployManifestFileName)</StartURL>
10055 <StartArguments Condition="'$(StartArguments)' == ''">-debug "$(StartURL)"</StartArguments>
10056 <StartArguments Condition="'$(DebugSecurityZoneURL)' != ''">$(StartArguments) -DebugSecurityZoneURL "$(DebugSecurityZoneURL)"</StartArguments>
10057 </PropertyGroup>
10058 <!--
10059 Do some property value check before the real manifest generation task starts.
10060
10061 WinFX.targets should care about the property setting for Browser application only.
10062
10063 For a regular ClickOnce application, Microsoft.Common.targets is responsible for
10064 the setting validation.
10065 -->
10066 <Target Name="HostInBrowserValidation" Condition="'$(HostInBrowser)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10067 <Message Text="(in) Install: '$(Install)'" Condition="'$(MSBuildTargetsVerbose)' == 'true'" />
10068 <!--
10069 TODO: Will get error message from Build task resource so that the message is
10070 localizable and can be set an unique error ID.
10071 -->
10072 <Error Condition="'$(GenerateManifests)' != 'true'" Text="Property GenerateManifests should not be set a value other than true for a browser application." />
10073 <Error Condition="'$(Install)' == 'true'" Text="Property Install and HostInBrowser should not be both set to true." />
10074 <Error Condition=" '$(PlatformTarget)' != '' and '$(PlatformTarget)' != 'AnyCpu' " Text="Cannot build a platform-specific XAML Browser Application. If HostInBrowser property is set to 'True', either do not set the PlatformTarget property or set it to 'AnyCpu'." />
10075 </Target>
10076 <Target Name="SplashScreenValidation" Condition="'@(SplashScreen)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10077 <Error Condition="'$(TargetFrameworkVersion)' == 'v3.0'" Text="The SplashScreen Build Action is not supported in the selected Target Framework." />
10078 </Target>
10079 <!--
10080 Resign Application Manifest after update.
10081 _DeploymentResolvedManifestCertificateThumbprint property is set only when SignManifest is set to true.
10082 -->
10083 <Target Name="ResignApplicationManifest" Condition="'$(_DeploymentResolvedManifestCertificateThumbprint)'!= ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10084 <Message Text="(in) ApplicationManifest: '@(ApplicationManifest)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10085 <Message Text="(in) ManifestKeyFile: '$(ManifestKeyFile)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10086 <Message Text="(in) _DeploymentResolvedManifestCertificateThumbprint: '$(_DeploymentResolvedManifestCertificateThumbprint)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10087 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="@(ApplicationManifest)" />
10088 </Target>
10089 <!--
10090 Sign Deployment Manifest if SignManifest is set to true.
10091 _DeploymentResolvedManifestCertificateThumbprint property is set only when SignManifest is set to true.
10092 -->
10093 <Target Name="SignDeploymentManifest" Condition=" '$(_DeploymentResolvedManifestCertificateThumbprint)' != '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10094 <Message Text="(in) DeployManifest: '@(DeployManifest)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10095 <Message Text="(in) ManifestKeyFile: '$(ManifestKeyFile)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10096 <Message Text="(in) _DeploymentResolvedManifestCertificateThumbprint: '$(_DeploymentResolvedManifestCertificateThumbprint)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10097 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="@(DeployManifest)" />
10098 </Target>
10099 <!--
10100 ================================================================
10101 FileClassification
10102 ================================================================
10103
10104 Classify baml and image files into different groups for Main assembly and satellite assembly respectively.
10105
10106 -->
10107 <Target Name="FileClassification" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10108 <FileClassifier Condition="'@(GeneratedBaml)' != '' or '@(Resource)' != '' or '@(Font)' != ''" SourceFiles="@(SplashScreen);@(GeneratedBaml);@(Resource);@(Font)" Culture="$(UICulture)" OutputType="$(OutputType)" MainEmbeddedFiles="@(MainEmbeddedFiles)" SatelliteEmbeddedFiles="@(SatelliteEmbeddedFiles)" CLREmbeddedResource="@(CLREmbeddedResources)" CLRSatelliteEmbeddedResource="@(CLRSatelliteEmbeddedResources)" CLRResourceFiles="@(CLRResources)">
10109 <Output ItemName="MainEmbeddedFiles" TaskParameter="MainEmbeddedFiles" />
10110 <Output ItemName="SatelliteEmbeddedFiles" TaskParameter="SatelliteEmbeddedFiles" />
10111 <Output ItemName="WinFXEmbeddedResource" TaskParameter="CLREmbeddedResource" />
10112 <Output ItemName="WinFXEmbeddedResource" TaskParameter="CLRSatelliteEmbeddedResource" />
10113 </FileClassifier>
10114 <Message Text="(out) EmbeddedFiles: '@(MainEmbeddedFiles)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10115 <Message Text="(out) SatelliteEmbeddedFiles: '@(SatelliteEmbeddedFiles)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10116 </Target>
10117 <!--
10118 ================================================================
10119 MainResourcesGeneration
10120 ================================================================
10121
10122 -->
10123 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10124 <!--
10125 If the UICulture is not set, resources will be embedded into main assembly.
10126 keep $(AssemblyName).g.resources as resource name for this scenario.
10127
10128 If the UICulture is set to some culture, all the localizable resources will
10129 be embedded into satellite assembly, and all the non-localizable resources
10130 will be embedded into main assembly. for this scenario, keep
10131
10132 $(AssemblyName).g for localizable resources,
10133 $(AssemblyName).unlocalizable.g for unlocalizable resources
10134 -->
10135 <_ResourceNameInMainAssembly Condition="'$(UICulture)' == ''">$(AssemblyName).g.resources</_ResourceNameInMainAssembly>
10136 <_ResourceNameInMainAssembly Condition="'$(UICulture)' != ''">$(AssemblyName).unlocalizable.g.resources</_ResourceNameInMainAssembly>
10137 </PropertyGroup>
10138 <Target Name="MainResourcesGeneration" Inputs="@(MainEmbeddedFiles)" Outputs="$(IntermediateOutputPath)$(_ResourceNameInMainAssembly)" Condition="'@(MainEmbeddedFiles)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10139 <!--
10140 This generates .resources file containing all the resources that are to be
10141 embedded in the main assembly and dont need to be localized
10142 -->
10143 <Message Text="(in) EmbeddedFiles: '@(MainEmbeddedFiles)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10144 <ResourcesGenerator ResourceFiles="@(MainEmbeddedFiles)" OutputPath="$(IntermediateOutputPath)" OutputResourcesFile="$(IntermediateOutputPath)$(_ResourceNameInMainAssembly)" Condition="'@(MainEmbeddedFiles)' != ''">
10145 <!-- Put the generated files in item FileWrites so that they can be cleaned up appropriately in a next Rebuild -->
10146 <Output ItemName="FileWrites" TaskParameter="OutputResourcesFile" />
10147 </ResourcesGenerator>
10148 <ItemGroup>
10149 <EmbeddedResource Include="$(IntermediateOutputPath)$(_ResourceNameInMainAssembly)">
10150 <GenerateResource>false</GenerateResource>
10151 <Type>Resx</Type>
10152 <WithCulture>false</WithCulture>
10153 <OutputResource>$(IntermediateOutputPath)$(_ResourceNameInMainAssembly)</OutputResource>
10154 </EmbeddedResource>
10155 </ItemGroup>
10156 </Target>
10157 <!--
10158
10159 ================================================================
10160 SatelliteResourceGeneration
10161 ================================================================
10162
10163 This target just takes the SatelliteEmbeddedFiles such as .baml, images, fonts. etc
10164 But not any $(Culture).resx and .resText etc. those files should have been handled by
10165 PrepareResource target.
10166
10167 This target should output an EmbeddedResource Item, which is then taken by
10168 CreateSatelliteAssemblies target.
10169 -->
10170 <Target Name="SatelliteResourceGeneration" Condition="'$(UICulture)' != ''" Inputs="@(SatelliteEmbeddedFiles)" Outputs="$(IntermediateOutputPath)$(AssemblyName).g.$(UICulture).resources" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10171 <!--
10172 This generates .resources file containing all the resources that are to be embedded
10173 in the satellite assembly and need to be localized.
10174
10175 This task only runs if the default culture of the build is not NULL
10176 -->
10177 <Message Text="(in) SatelliteEmbeddedFiles: '@(SatelliteEmbeddedFiles)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10178 <ResourcesGenerator ResourceFiles="@(SatelliteEmbeddedFiles)" OutputPath="$(IntermediateOutputPath)" OutputResourcesFile="$(IntermediateOutputPath)$(AssemblyName).g.$(UICulture).resources" Condition="'@(SatelliteEmbeddedFiles)' != ''">
10179 <Output ItemName="_SatelliteResourceFile" TaskParameter="OutputResourcesFile" />
10180 <!-- Put the generated files in item FileWrites so that they can be cleaned up appropriately in a next Rebuild -->
10181 <Output ItemName="FileWrites" TaskParameter="OutputResourcesFile" />
10182 </ResourcesGenerator>
10183 <Message Text="(out) _SatelliteResourceFile is '@(_SatelliteResourceFile)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10184 </Target>
10185 <!--
10186 This target should always run after SatelliteResourceGeneration, so that it
10187 can generate the correct Item which contains right Culture attribute even for
10188 incremental build.
10189 -->
10190 <Target Name="GenerateResourceWithCultureItem" Condition="'$(UICulture)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10191 <Message Text="(out) _SatelliteResourceFile: '@(_SatelliteResourceFile)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10192 <ItemGroup>
10193 <EmbeddedResource Include="@(_SatelliteResourceFile)">
10194 <Culture>$(UICulture)</Culture>
10195 <GenerateResource>false</GenerateResource>
10196 <Type>Resx</Type>
10197 <WithCulture>true</WithCulture>
10198 <OutputResource>@(_SatelliteResourceFile)</OutputResource>
10199 </EmbeddedResource>
10200 </ItemGroup>
10201 </Target>
10202 <!-- Overwrite some target and properties for Publish support -->
10203 <!--
10204 PublishBuildDependsOn property is defined in Microsoft.Common.targets, but it doesn't handle WinFX
10205 resx file, since this resx file is not set into project file, but is generated at build time.
10206
10207 For Publish Build, we need to make sure the $(Target).g.$(UICulture).resources is handled correctly.
10208 Add target "PrepareResourcesForSatelliteAssemblies" to the place prior to CreateSatelliteAssemblies.
10209 -->
10210 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10211 <PublishBuildDependsOn>
10212 BuildOnlySettings;
10213 PrepareForBuild;
10214 ResolveReferences;
10215 PrepareResources;
10216 ResolveKeySource;
10217 PrepareResourcesForSatelliteAssemblies;
10218 GenerateSerializationAssemblies;
10219 CreateSatelliteAssemblies;
10220 </PublishBuildDependsOn>
10221 </PropertyGroup>
10222 <!--
10223 SatelliteDllsProjectOutputGroup target is implemented in Microsoft.Common.targets, but it doesn't handle WinFX
10224 satellite assembly, since for WinFX, the $(targetname).g.$(UICulture).resx is not set into project file, but is generated
10225 at build time after Xaml file is compiled, (for some case, it is generated after the main dll is compiled).
10226
10227 So overwrite this target, copy the content from Microsoft.Common.targets and inject the part for our UICulture support.
10228
10229 -->
10230 <!--
10231 ================================================================
10232 SatelliteDllsProjectOutputGroup
10233 ================================================================
10234
10235 This target performs population of the Satellite Files project output group.
10236 -->
10237 <Target Name="SatelliteDllsProjectOutputGroup" DependsOnTargets="PrepareResourceNames" Returns="@(SatelliteDllsProjectOutputGroupOutput)" KeepDuplicateOutputs="False" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10238 <CreateItem Include="$(IntermediateOutputPath)%(ResxWithCulture.Culture)\$(TargetName).resources.dll" AdditionalMetadata="TargetPath=%(ResxWithCulture.Culture)\$(TargetName).resources.dll" Condition="'@(ResxWithCulture)' != ''">
10239 <Output ItemName="SatelliteDllsProjectOutputGroupOutputIntermediate" TaskParameter="Include" />
10240 </CreateItem>
10241 <!-- This task is WinFX specific. -->
10242 <CreateItem Include="$(IntermediateOutputPath)$(UICulture)\$(TargetName).resources.dll" AdditionalMetadata="TargetPath=$(UICulture)\$(TargetName).resources.dll" Condition="'$(UICulture)' != ''">
10243 <Output ItemName="SatelliteDllsProjectOutputGroupOutputIntermediate" TaskParameter="Include" />
10244 </CreateItem>
10245 <!-- End of WinFX specific -->
10246 <CreateItem Include="$(IntermediateOutputPath)%(NonResxWithCulture.Culture)\$(TargetName).resources.dll" AdditionalMetadata="TargetPath=%(NonResxWithCulture.Culture)\$(TargetName).resources.dll" Condition="'@(NonResxWithCulture)' != ''">
10247 <Output ItemName="SatelliteDllsProjectOutputGroupOutputIntermediate" TaskParameter="Include" />
10248 </CreateItem>
10249 <CreateItem Include="$(IntermediateOutputPath)">
10250 <Output ItemName="SatelliteDllsProjectOutputGroupRootRelativeUrlBaseIntermediate" TaskParameter="Include" />
10251 </CreateItem>
10252 <!-- Convert intermediate items into final items; this way we can get the full path for each item. -->
10253 <CreateItem Include="@(SatelliteDllsProjectOutputGroupOutputIntermediate->'%(FullPath)')">
10254 <Output ItemName="SatelliteDllsProjectOutputGroupOutput" TaskParameter="Include" />
10255 </CreateItem>
10256 </Target>
10257 <!-- Other Targets -->
10258 <Target Name="CheckUid" Condition="'@(Page)' != '' or '@(ApplicationDefinition)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10259 <UidManager MarkupFiles="@(Page);@(ApplicationDefinition)" Task="Check" />
10260 </Target>
10261 <Target Name="UpdateUid" Condition="'@(Page)' != '' or '@(ApplicationDefinition)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10262 <UidManager MarkupFiles="@(Page);&#xD;&#xA; @(ApplicationDefinition)" IntermediateDirectory="$(IntermediateOutputPath)" Task="Update" />
10263 </Target>
10264 <Target Name="RemoveUid" Condition="'@(Page)' != '' or '@(ApplicationDefinition)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10265 <UidManager MarkupFiles="@(Page);&#xD;&#xA; @(ApplicationDefinition)" IntermediateDirectory="$(IntermediateOutputPath)" Task="Remove" />
10266 </Target>
10267 <!--
10268 ================================================================
10269 MergeLocalizationDirectives
10270 ================================================================
10271
10272 Merge localization comments of single bamls into one file for the whole assembly.
10273
10274 -->
10275 <Target Name="MergeLocalizationDirectives" Condition="'@(GeneratedLocalizationFiles)' !=''" Inputs="@(GeneratedLocalizationFiles)" Outputs="$(IntermediateOutputPath)$(AssemblyName).loc" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10276 <MergeLocalizationDirectives GeneratedLocalizationFiles="@(GeneratedLocalizationFiles)" OutputFile="$(IntermediateOutputPath)$(AssemblyName).loc" />
10277 <!--
10278 Add the merged loc file into _NoneWithTargetPath so that it will be copied to the
10279 output directory
10280 -->
10281 <CreateItem Condition="Exists('$(IntermediateOutputPath)$(AssemblyName).loc')" Include="$(IntermediateOutputPath)$(AssemblyName).loc" AdditionalMetadata="CopyToOutputDirectory=PreserveNewest; TargetPath=$(AssemblyName).loc">
10282 <Output ItemName="_NoneWithTargetPath" TaskParameter="Include" />
10283 <Output ItemName="FileWrites" TaskParameter="Include" />
10284 </CreateItem>
10285 </Target>
10286 <!-- End of other targets -->
10287 <!--
10288 This is similar to AssignTargetPaths target in Microsoft.Common.targets.
10289 But it handles only the generated WinFXEmbeddedResource item type.
10290
10291 After this target is done, SplitResourceByCulture target can take the right input
10292 and handle the resource correctly.
10293 -->
10294 <Target Name="AssignWinFXEmbeddedResource" Condition="'@(WinFXEmbeddedResource)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10295 <ItemGroup>
10296 <_Temporary Remove="@(_Temporary)" />
10297 </ItemGroup>
10298 <AssignTargetPath Files="@(WinFXEmbeddedResource)" RootFolder="$(MSBuildProjectDirectory)">
10299 <Output TaskParameter="AssignedFiles" ItemName="_Temporary" />
10300 </AssignTargetPath>
10301 <ItemGroup>
10302 <EmbeddedResource Remove="@(_Temporary)" />
10303 <EmbeddedResource Include="@(_Temporary)" />
10304 <_Temporary Remove="@(_Temporary)" />
10305 </ItemGroup>
10306 </Target>
10307 <!-- End of the project file, Do not add any more propeties, items, targets etc. -->
10308 <!--
10309============================================================================================================================================
10310 </Import>
10311
10312C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.WinFX.targets
10313============================================================================================================================================
10314-->
10315 <!--
10316============================================================================================================================================
10317 </Import>
10318
10319C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.NETFramework.CurrentVersion.targets
10320============================================================================================================================================
10321-->
10322 <!--
10323============================================================================================================================================
10324 <Import Project="$(MSBuildToolsPath)\Microsoft.Data.Entity.targets" Condition="'$(TargetFrameworkVersion)' != 'v2.0' and '$(TargetFrameworkVersion)' != 'v3.0' and Exists('$(MSBuildToolsPath)\Microsoft.Data.Entity.targets')">
10325
10326C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Data.Entity.targets
10327============================================================================================================================================
10328-->
10329 <!--
10330 With MSBuild 12, we've changed MSBuildToolsPath to for the first time point to a directory
10331 outside of the .NET Framework. As a result of this, there were several targets files, of which
10332 this was one, that were being referenced as out of MSBuildToolsPath that are now no longer there.
10333
10334 Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that
10335 consumers of them are not broken, but since the targets files themselves are still part of .NET,
10336 the shim will internally simply redirect to the real copy of the targets file in the .NET Framework.
10337 -->
10338 <!--
10339============================================================================================================================================
10340 <Import Project="$(MSBuildFrameworkToolsPath)\Microsoft.Data.Entity.targets" Condition="Exists('$(MSBuildFrameworkToolsPath)\Microsoft.Data.Entity.targets')">
10341
10342C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Data.Entity.targets
10343============================================================================================================================================
10344-->
10345 <!-- This .targets file can be used by updating Microsoft.Common.targets to
10346 include the line below (as the last import element just before the end project tag)
10347 <Import Project="$(MSBuildBinPath)\Microsoft.Data.Entity.targets" Condition="Exists('$(MSBuildBinPath)\Microsoft.Data.Entity.targets')"/>
10348 -->
10349 <!-- The below ensures that "EntityDeploy" is available in the VS Build Action dropdown -->
10350 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10351 <AvailableItemName Include="EntityDeploy" />
10352 </ItemGroup>
10353 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10354 <!-- EntityDeployIntermediateResourcePath is the path used to store resources generated from
10355 the EDMX file before they are embedded in the build target -->
10356 <EntityDeployIntermediateResourcePath>$(IntermediateOutputPath)edmxResourcesToEmbed\</EntityDeployIntermediateResourcePath>
10357 </PropertyGroup>
10358 <UsingTask TaskName="EntityDeploySplit" AssemblyFile="Microsoft.Data.Entity.Build.Tasks.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10359 <UsingTask TaskName="EntityDeploy" AssemblyFile="Microsoft.Data.Entity.Build.Tasks.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10360 <UsingTask TaskName="EntityDeploySetLogicalNames" AssemblyFile="Microsoft.Data.Entity.Build.Tasks.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10361 <UsingTask TaskName="EntityClean" AssemblyFile="Microsoft.Data.Entity.Build.Tasks.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10362 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10363 <!-- EntityDeployDependsOn deliberately left empty so others can override this -->
10364 <EntityDeployDependsOn />
10365 <BuildDependsOn>
10366 EntityDeploy;
10367 $(BuildDependsOn)
10368 </BuildDependsOn>
10369 </PropertyGroup>
10370 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10371 <CleanDependsOn>
10372 $(CleanDependsOn);
10373 EntityClean;
10374 </CleanDependsOn>
10375 </PropertyGroup>
10376 <Target Name="EntityDeploy" DependsOnTargets="$(EntityDeployDependsOn)" Condition="'@(EntityDeploy)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10377 <CallTarget Targets="EntityDeployNonEmbeddedResources" />
10378 <CallTarget Targets="EntityDeployEmbeddedResources" />
10379 <CallTarget Targets="EntityDeploySetLogicalNames" />
10380 </Target>
10381 <!-- Split the EDMX files into two groups: those whose resources need to be embedded
10382 and those whose resources need to be copied
10383 Note: this also assigns the EntityDeployRelativeDir metadata to each
10384 item so that the same metadata can be used regardless of whether the
10385 underlying item is a link or a normal file -->
10386 <Target Name="EntityDeploySplit" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10387 <EntityDeploySplit Sources="@(EntityDeploy)">
10388 <Output TaskParameter="EmbeddingItems" ItemName="EntityDeployEmbeddingItems" />
10389 <Output TaskParameter="NonEmbeddingItems" ItemName="EntityDeployCopyingItems" />
10390 </EntityDeploySplit>
10391 <Message Condition="'$(EntityDeployDebug)'=='true'" Text="EntityDeploySplit: EntityDeployEmbeddingItems = @(EntityDeployEmbeddingItems)" />
10392 <Message Condition="'$(EntityDeployDebug)'=='true'" Text="EntityDeploySplit: EntityDeployCopyingItems = @(EntityDeployCopyingItems)" />
10393 </Target>
10394 <!-- Generate to $(OutputPath) the CSDL, MSL and SSDL resources from the EDMX
10395 files set to copy their outputs to the output directory (use SSDL as marker
10396 file as that is the last one generated) -->
10397 <Target Name="EntityDeployNonEmbeddedResources" DependsOnTargets="EntityDeploySplit" Inputs="@(EntityDeployCopyingItems)" Outputs="@(EntityDeployCopyingItems->'$(OutputPath)%(EntityDeployRelativeDir)%(Filename).ssdl')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10398 <EntityDeploy Sources="@(EntityDeployCopyingItems)" OutputPath="$(OutputPath)" />
10399 </Target>
10400 <!-- Generates to $(EntityDeployIntermediateResourcePath) the CSDL, MSL and SSDL
10401 resources from the EDMX files set to embed their outputs (use SSDL as marker
10402 file as that is the last one generated) -->
10403 <Target Name="EntityDeployEmbeddedResources" DependsOnTargets="EntityDeploySplit" Inputs="@(EntityDeployEmbeddingItems)" Outputs="@(EntityDeployEmbeddingItems->'$(EntityDeployIntermediateResourcePath)%(EntityDeployRelativeDir)%(Filename).ssdl')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10404 <EntityDeploy Sources="@(EntityDeployEmbeddingItems)" OutputPath="$(EntityDeployIntermediateResourcePath)" />
10405 </Target>
10406 <Target Name="EntityClean" Condition="'@(EntityDeploy)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10407 <EntityClean Sources="@(EntityDeploy)" ResourceOutputPath="$(EntityDeployIntermediateResourcePath)" OutputPath="$(OutputPath)" />
10408 </Target>
10409 <!-- Define the CSDL/MSL/SSDL files generated from @(EntityDeployEmbeddingItems)
10410 as part of the EmbeddedResource ItemGroup which includes them in the build target
10411 Note: this must happen regardless of whether the EntityDeployEmbeddedResources target is
10412 skipped due to incremental build -->
10413 <Target Name="EntityDeploySetLogicalNames" DependsOnTargets="EntityDeploySplit" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10414 <!-- First define the resources to be embedded
10415 Note: ignore resources which are not in @(EntityDeployEmbeddingItems) - this ignores
10416 resources generated by previous runs which have now had their MetadataArtifactProcessing
10417 changed to "CopyToOutput" -->
10418 <ItemGroup>
10419 <EntityDeployResourcesToEmbed Include="@(EntityDeployEmbeddingItems->'$(EntityDeployIntermediateResourcePath)%(EntityDeployRelativeDir)%(Filename).csdl')" />
10420 <EntityDeployResourcesToEmbed Include="@(EntityDeployEmbeddingItems->'$(EntityDeployIntermediateResourcePath)%(EntityDeployRelativeDir)%(Filename).msl')" />
10421 <EntityDeployResourcesToEmbed Include="@(EntityDeployEmbeddingItems->'$(EntityDeployIntermediateResourcePath)%(EntityDeployRelativeDir)%(Filename).ssdl')" />
10422 </ItemGroup>
10423 <Message Condition="'$(EntityDeployDebug)'=='true'" Text="EntityDeploySetLogicalNames: EntityDeployResourcesToEmbed = @(EntityDeployResourcesToEmbed)" />
10424 <!-- Now update their logical names and add them to the list of resources to be embedded -->
10425 <EntityDeploySetLogicalNames Sources="@(EntityDeployResourcesToEmbed)" ResourceOutputPath="$(EntityDeployIntermediateResourcePath)">
10426 <Output TaskParameter="ResourcesToEmbed" ItemName="EmbeddedResource" />
10427 </EntityDeploySetLogicalNames>
10428 </Target>
10429 <!--
10430============================================================================================================================================
10431 </Import>
10432
10433C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Data.Entity.targets
10434============================================================================================================================================
10435-->
10436 <!--
10437============================================================================================================================================
10438 </Import>
10439
10440C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.NETFramework.CurrentVersion.targets
10441============================================================================================================================================
10442-->
10443 <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftNetFrameworkTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.targets\ImportAfter')" />-->
10444 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.targets\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.NETFramework.targets\ImportAfter')" />-->
10445 <!--
10446============================================================================================================================================
10447 </Import>
10448
10449C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.NETFramework.targets
10450============================================================================================================================================
10451-->
10452 <!--
10453============================================================================================================================================
10454 </Import>
10455
10456C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
10457============================================================================================================================================
10458-->
10459 <PropertyGroup>
10460 <ImportXamlTargets Condition="'$(ImportXamlTargets)'=='' and ('$(TargetFrameworkVersion)' != 'v2.0' and '$(TargetFrameworkVersion)' != 'v3.5') and Exists('$(MSBuildToolsPath)\Microsoft.Xaml.targets')">true</ImportXamlTargets>
10461 </PropertyGroup>
10462 <!--
10463============================================================================================================================================
10464 <Import Project="$(MSBuildToolsPath)\Microsoft.Xaml.targets" Condition="('$(ImportXamlTargets)' == 'true')">
10465
10466C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Xaml.targets
10467============================================================================================================================================
10468-->
10469 <!--
10470 With MSBuild 12, we've changed MSBuildToolsPath to for the first time point to a directory
10471 outside of the .NET Framework. As a result of this, there were several targets files, of which
10472 this was one, that were being referenced as out of MSBuildToolsPath that are now no longer there.
10473
10474 Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that
10475 consumers of them are not broken, but since the targets files themselves are still part of .NET,
10476 the shim will internally simply redirect to the real copy of the targets file in the .NET Framework.
10477 -->
10478 <!-- In the original Microsoft.Xaml.targets this is mapped to MSBuildBinPath, which is no longer
10479 the .NET Framework directory and thus will no longer be the right answer. Override it to point
10480 to the correct .NET Framework location. -->
10481 <PropertyGroup>
10482 <XamlBuildTaskPath Condition="'$(XamlBuildTaskPath)' == ''">$(MSBuildToolsPath64)</XamlBuildTaskPath>
10483 </PropertyGroup>
10484 <!--
10485============================================================================================================================================
10486 <Import Project="$(MSBuildFrameworkToolsPath)\Microsoft.Xaml.targets" Condition="Exists('$(MSBuildFrameworkToolsPath)\Microsoft.Xaml.targets')">
10487
10488C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Xaml.targets
10489============================================================================================================================================
10490-->
10491 <!--
10492***********************************************************************************************
10493Microsoft.Xaml.targets
10494
10495WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10496 created a backup copy. Incorrect changes to this file will make it
10497 impossible to load or build your projects from the command-line or the IDE.
10498
10499Copyright (C) Microsoft Corporation. All rights reserved.
10500***********************************************************************************************
10501-->
10502 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10503 <LoadTimeSensitiveTargets>
10504 $(LoadTimeSensitiveTargets);
10505 XamlMarkupCompilePass1;
10506 </LoadTimeSensitiveTargets>
10507 <LoadTimeSensitiveProperties>
10508 $(LoadTimeSensitiveProperties);
10509 </LoadTimeSensitiveProperties>
10510 <TaskVersion>4.0.0.0</TaskVersion>
10511 <TaskKeyToken>31bf3856ad364e35</TaskKeyToken>
10512 <XamlBuildTaskAssemblyName Condition="'$(XamlBuildTaskAssemblyName)'==''">XamlBuildTask, Version=$(TaskVersion), Culture=neutral, PublicKeyToken=$(TaskKeyToken)</XamlBuildTaskAssemblyName>
10513 <XamlRequiresCompilationPass2 Condition="'$(XamlRequiresCompilationPass2)'==''">false</XamlRequiresCompilationPass2>
10514 <XamlTemporaryAssemblyName Condition="'$(XamlTemporaryAssemblyName)'==''">$(AssemblyName)</XamlTemporaryAssemblyName>
10515 <CompileTargetNameForTemporaryAssembly Condition="'$(CompileTargetNameForTemporaryAssembly)' == ''">CompileTemporaryAssembly</CompileTargetNameForTemporaryAssembly>
10516 <!-- Microsoft.Xaml.targets needs to be included after Microsoft.Fx.targets and Microsoft.DevDiv.targets
10517 to have a chance to add these tasks to the PrepareResources target's dependencies.
10518 Unfortunately, Microsoft.DevDiv.targets completely overwrites the PrepareResourcesDependsOnProperty
10519 (as a bug workaround-see comment there).
10520 -->
10521 <PrepareResourcesDependsOn>
10522 XamlMarkupCompilePass1;
10523 XamlMarkupCompilePass2;
10524 $(PrepareResourcesDependsOn)
10525 </PrepareResourcesDependsOn>
10526 </PropertyGroup>
10527 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10528 <XamlBuildTaskLocation Condition="'$(XamlBuildTaskPath)'==''">$(MSBuildBinPath)</XamlBuildTaskLocation>
10529 <XamlBuildTaskLocation Condition="'$(XamlBuildTaskPath)'!=''">$(XamlBuildTaskPath)</XamlBuildTaskLocation>
10530 </PropertyGroup>
10531 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10532 <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildToolsPath)\Microsoft.Xaml.targets</MSBuildAllProjects>
10533 </PropertyGroup>
10534 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10535 <XamlGenCodeFileNames Condition="'$(XamlGenCodeFileNames)'==''">$(MSBuildProjectFile).XamlGeneratedCodeFileListAbsolute.txt</XamlGenCodeFileNames>
10536 <XamlGenMarkupFileNames Condition="'$(XamlGenMarkupFileNames)'==''">$(MSBuildProjectFile).XamlGeneratedXamlFileListAbsolute.txt</XamlGenMarkupFileNames>
10537 <XamlPass2FlagFile Condition="'$(XamlPass2FlagFile)'==''">$(MSBuildProjectFile).XamlPass2Flag.txt</XamlPass2FlagFile>
10538 </PropertyGroup>
10539 <ItemGroup Condition="'$(BuildingInsideVisualStudio)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10540 <AvailableItemName Include="XamlAppDef" />
10541 </ItemGroup>
10542 <UsingTask Condition="'$(XamlBuildTaskPath)'==''" TaskName="Microsoft.Build.Tasks.Xaml.PartialClassGenerationTask" AssemblyName="$(XamlBuildTaskAssemblyName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10543 <UsingTask Condition="'$(XamlBuildTaskPath)'!=''" TaskName="Microsoft.Build.Tasks.Xaml.PartialClassGenerationTask" AssemblyFile="$(XamlBuildTaskPath)\XamlBuildTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10544 <UsingTask Condition="'$(XamlBuildTaskPath)'==''" TaskName="Microsoft.Build.Tasks.Xaml.GenerateTemporaryAssemblyTask" AssemblyName="$(XamlBuildTaskAssemblyName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10545 <UsingTask Condition="'$(XamlBuildTaskPath)'!=''" TaskName="Microsoft.Build.Tasks.Xaml.GenerateTemporaryAssemblyTask" AssemblyFile="$(XamlBuildTaskPath)\XamlBuildTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10546 <UsingTask Condition="'$(XamlBuildTaskPath)'==''" TaskName="Microsoft.Build.Tasks.Xaml.CompilationPass2Task" AssemblyName="$(XamlBuildTaskAssemblyName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10547 <UsingTask Condition="'$(XamlBuildTaskPath)'!=''" TaskName="Microsoft.Build.Tasks.Xaml.CompilationPass2Task" AssemblyFile="$(XamlBuildTaskPath)\XamlBuildTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10548 <!--
10549 ================================================================
10550 DesignTimeXamlMarkupCompilation
10551 ================================================================
10552 -->
10553 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10554 <CoreCompileDependsOn Condition="'$(BuildingInsideVisualStudio)' == 'true'">
10555 DesignTimeXamlMarkupCompilation;
10556 $(CoreCompileDependsOn)
10557 </CoreCompileDependsOn>
10558 </PropertyGroup>
10559 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10560 <DesignTimeIntermediateOutputPath Condition="'$(DesignTimeIntermediateOutputPath)' == ''">$(IntermediateOutputPath)InProcessTempFiles\</DesignTimeIntermediateOutputPath>
10561 </PropertyGroup>
10562 <Target Name="DesignTimeXamlMarkupCompilation" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10563 <!-- Make sure the directory exists. -->
10564 <MakeDir Directories="$(DesignTimeIntermediateOutputPath)" Condition="'@(XamlAppDef)' != ''" />
10565 <CallTarget Condition="'$(BuildingProject)' != 'true' and '@(XamlAppDef)' != ''" Targets="InProcessXamlMarkupCompilePass1" />
10566 </Target>
10567 <!--
10568 ================================================================
10569 InProcessXamlMarkupCompilePass1
10570 ================================================================
10571 -->
10572 <Target Name="InProcessXamlMarkupCompilePass1" Condition="'@(XamlAppDef)' != '' and '$(BuildingProject)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10573 <PartialClassGenerationTask BuildTaskPath="$(XamlBuildTaskLocation)" OutputPath="$(DesignTimeIntermediateOutputPath)" Language="$(Language)" ApplicationMarkup="@(XamlAppDef)" References="@(ReferencePath)" RootNamespace="$(RootNamespace)" SourceCodeFiles="@(Compile)" AssemblyName="$(AssemblyName)" IsInProcessXamlMarkupCompile="true" MSBuildProjectDirectory="$(MSBuildProjectDirectory)" XamlBuildTypeInspectionExtensionNames="@(XamlBuildTaskTypeInspectionExtensionName)" XamlBuildTypeGenerationExtensionNames="@(XamlBuildTaskTypeGenerationExtensionName)">
10574 <Output ItemName="XamlInProcessGeneratedCodeFiles" TaskParameter="GeneratedCodeFiles" />
10575 <Output ItemName="XamlInProcessGeneratedResources" TaskParameter="GeneratedResources" />
10576 <!-- This property is not required. However we need to populate it as the output of the task. -->
10577 <Output PropertyName="XamlInProcessRequiresCompilationPass2" TaskParameter="RequiresCompilationPass2" />
10578 </PartialClassGenerationTask>
10579 <ItemGroup>
10580 <Compile Include="@(XamlInProcessGeneratedCodeFiles)" />
10581 </ItemGroup>
10582 </Target>
10583 <!--
10584 ================================================================
10585 CleanInProcessXamlGeneratedFiles
10586 ================================================================
10587 -->
10588 <Target Name="CleanInProcessXamlGeneratedFiles" Condition="'@(XamlAppDef)' != '' And '$(BuildingInsideVisualStudio)'!='true'" AfterTargets="DesignTimeXamlMarkupCompilation" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10589 <ItemGroup>
10590 <FileWrites Include="$(DesignTimeIntermediateOutputPath)\*" />
10591 </ItemGroup>
10592 </Target>
10593 <!--
10594 ================================================================
10595 XamlMarkupCompileReadGeneratedFileList
10596 ================================================================
10597 -->
10598 <Target Name="XamlMarkupCompileReadGeneratedFileList" Condition="'@(XamlPage)' != '' or '@(XamlAppDef)' != ''" BeforeTargets="XamlMarkupCompilePass1" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10599 <ReadLinesFromFile File="$(IntermediateOutputPath)$(XamlGenCodeFileNames)">
10600 <Output TaskParameter="Lines" ItemName="XamlOutputCodeFilesList" />
10601 </ReadLinesFromFile>
10602 <ReadLinesFromFile File="$(IntermediateOutputPath)$(XamlGenMarkupFileNames)">
10603 <Output TaskParameter="Lines" ItemName="XamlOutputMarkupFilesList" />
10604 </ReadLinesFromFile>
10605 </Target>
10606 <!--
10607 ================================================================
10608 XamlMarkupCompilePass1
10609 ================================================================
10610 -->
10611 <Target Name="XamlMarkupCompilePass1" Condition="'@(XamlPage)' != '' or '@(XamlAppDef)' != ''" Inputs="@(XamlAppDef);@(Compile);$(MSBuildAllProjects);@(ReferencePath)" Outputs="@(XamlOutputMarkupFilesList);&#xD;&#xA; @(XamlOutputCodeFilesList);&#xD;&#xA; $(IntermediateOutputPath)$(XamlGenCodeFileNames);&#xD;&#xA; $(IntermediateOutputPath)$(XamlGenMarkupFileNames);&#xD;&#xA; $(IntermediateOutputPath)$(XamlPass2FlagFile);" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10612 <Message Text="(in) XamlPage: '@(XamlPage)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10613 <Message Text="(in) XamlAppDef: '@(XamlAppDef)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10614 <Message Text="(in) SourceCodeFiles: '@(Compile)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10615 <ItemGroup>
10616 <XamlGeneratedResources Remove="@(XamlGeneratedResources)" />
10617 <XamlGeneratedCodeFiles Remove="@(XamlGeneratedCodeFiles)" />
10618 </ItemGroup>
10619 <PartialClassGenerationTask BuildTaskPath="$(XamlBuildTaskLocation)" OutputPath="$(IntermediateOutputPath)" Language="$(Language)" ApplicationMarkup="@(XamlAppDef)" References="@(ReferencePath)" RootNamespace="$(RootNamespace)" SourceCodeFiles="@(Compile)" AssemblyName="$(AssemblyName)" IsInProcessXamlMarkupCompile="false" MSBuildProjectDirectory="$(MSBuildProjectDirectory)" XamlBuildTypeGenerationExtensionNames="@(XamlBuildTaskTypeGenerationExtensionName)" XamlBuildTypeInspectionExtensionNames="@(XamlBuildTaskTypeInspectionExtensionName)">
10620 <Output ItemName="XamlGeneratedCodeFiles" TaskParameter="GeneratedCodeFiles" />
10621 <Output ItemName="XamlGeneratedResources" TaskParameter="GeneratedResources" />
10622 <Output ItemName="XamlFileNames" TaskParameter="ApplicationMarkup" />
10623 <Output PropertyName="XamlRequiresCompilationPass2" TaskParameter="RequiresCompilationPass2" />
10624 </PartialClassGenerationTask>
10625 <WriteLinesToFile File="$(IntermediateOutputPath)$(XamlGenCodeFileNames)" Lines="@(XamlGeneratedCodeFiles)" Overwrite="true" />
10626 <WriteLinesToFile File="$(IntermediateOutputPath)$(XamlGenMarkupFileNames)" Lines="@(XamlGeneratedResources)" Overwrite="true" />
10627 <WriteLinesToFile File="$(IntermediateOutputPath)$(XamlPass2FlagFile)" Lines="@(XamlRequiresCompilationPass2)" Overwrite="true" />
10628 <Message Text="(out) XamlGeneratedCodeFiles: '@(XamlGeneratedCodeFiles)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10629 <Message Text="(out) XamlGeneratedResources: '@(XamlGeneratedResources)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10630 <Message Text="(out) XamlRequiresCompilationPass2 : '$(XamlRequiresCompilationPass2)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10631 </Target>
10632 <!--
10633 ================================================================
10634 XamlMarkupCompileAddFilesGenerated
10635 ================================================================
10636 -->
10637 <Target Name="XamlMarkupCompileAddFilesGenerated" Condition="'@(XamlPage)' != '' or '@(XamlAppDef)' != ''" AfterTargets="XamlMarkupCompilePass1" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10638 <ItemGroup>
10639 <XamlGeneratedCodeFiles Condition="'@(XamlGeneratedCodeFiles)' == ''" Include="@(XamlOutputCodeFilesList)" />
10640 </ItemGroup>
10641 <ItemGroup>
10642 <XamlGeneratedResources Condition="'@(XamlGeneratedResources)' == ''" Include="@(XamlOutputMarkupFilesList)" />
10643 </ItemGroup>
10644 <ItemGroup>
10645 <FileWrites Include="@(XamlGeneratedResources);&#xD;&#xA; @(XamlGeneratedCodeFiles);&#xD;&#xA; $(IntermediateOutputPath)$(XamlGenCodeFileNames);&#xD;&#xA; $(IntermediateOutputPath)$(XamlGenMarkupFileNames)" />
10646 </ItemGroup>
10647 <ItemGroup>
10648 <Compile Include="@(XamlGeneratedCodeFiles)" />
10649 </ItemGroup>
10650 <ItemGroup>
10651 <EmbeddedResource Include="@(XamlGeneratedResources)">
10652 <GenerateResource>false</GenerateResource>
10653 <Type>Non-Resx</Type>
10654 <WithCulture>false</WithCulture>
10655 </EmbeddedResource>
10656 </ItemGroup>
10657 </Target>
10658 <!--
10659 ================================================================
10660 XamlMarkupCompileReadPass2Flag
10661 ================================================================
10662 -->
10663 <Target Name="XamlMarkupCompileReadPass2Flag" Condition="'@(XamlPage)' != '' or '@(XamlAppDef)' != ''" BeforeTargets="XamlMarkupCompilePass2;XamlTemporaryAssemblyGeneration" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10664 <ReadLinesFromFile File="$(IntermediateOutputPath)$(XamlPass2FlagFile)">
10665 <Output TaskParameter="Lines" ItemName="XamlRequiresCompilationPass2" />
10666 </ReadLinesFromFile>
10667 </Target>
10668 <!--
10669 ================================================================
10670 XamlTemporaryAssemblyGeneration
10671 ================================================================
10672 -->
10673 <Target Name="XamlTemporaryAssemblyGeneration" Condition="'$(XamlRequiresCompilationPass2)' == 'true' " Inputs="@(XamlAppDef);@(Compile);$(MSBuildAllProjects);@(XamlGeneratedCodeFiles);@(ReferencePath)" Outputs="$(IntermediateOutputPath)$(XamlTemporaryAssemblyName).dll;&#xD;&#xA; $(IntermediateOutputPath)$(XamlTemporaryAssemblyName).pdb" DependsOnTargets="XamlMarkupCompilePass1;MarkupCompilePass1" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10674 <Message Text="(in) MSBuildProjectFile: '$(MSBuildProjectFile)'" Condition="'$(MSBuildTargetsVerbose)' == 'true'" />
10675 <Message Text="(in) CompileTargetName: '$(CompileTargetName)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10676 <Message Text="(in) SourceCodeFiles: '@(XamlGeneratedCodeFiles)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10677 <GenerateTemporaryAssemblyTask OutputPath="$(IntermediateOutputPath)" CurrentProject="$(MSBuildProjectFullPath)" SourceCodeFiles="@(XamlGeneratedCodeFiles);@(_GeneratedCodeFiles)" AssemblyName="$(XamlTemporaryAssemblyName)" ApplicationMarkupTypeName="XamlAppDef" CompileTargetName="$(CompileTargetNameForTemporaryAssembly)" ReferencePaths="@(ReferencePath)" GeneratedResourcesFiles="@(XamlGeneratedResources)" />
10678 <PropertyGroup>
10679 <_XamlTemporaryAssemblyPath_>$(IntermediateOutputPath)$(XamlTemporaryAssemblyName).dll</_XamlTemporaryAssemblyPath_>
10680 <NonExistentFile>__NonExistentSubDir__\__NonExistentFile__</NonExistentFile>
10681 </PropertyGroup>
10682 <ItemGroup>
10683 <FileWrites Include="$(IntermediateOutputPath)$(XamlTemporaryAssemblyName).*" />
10684 </ItemGroup>
10685 </Target>
10686 <Target Name="CompileTemporaryAssembly" DependsOnTargets="BuildOnlySettings;ResolveKeySource;_GenerateCompileInputs;CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10687 <!--
10688 ================================================================
10689 XamlMarkupCompilePass2
10690 ================================================================
10691 -->
10692 <Target Name="XamlMarkupCompilePass2" Condition="'$(XamlRequiresCompilationPass2)' == 'true' " Outputs="@(ExtensionGeneratedCodeFiles)" DependsOnTargets="XamlTemporaryAssemblyGeneration" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10693 <Message Text="(in) XamlPage: '@(XamlPage)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10694 <Message Text="(in) XamlAppDef: '@(XamlAppDef)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10695 <Message Text="(in) References: '@(ReferencePath);$(_XamlTemporaryAssemblyPath_)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
10696 <CompilationPass2Task BuildTaskPath="$(XamlBuildTaskLocation)" ApplicationMarkup="@(XamlAppDef)" References="@(ReferencePath)" LocalAssemblyReference="$(_XamlTemporaryAssemblyPath_)" AssemblyName="$(AssemblyName)" RootNamespace="$(RootNamespace)" OutputPath="$(IntermediateOutputPath)" Language="$(Language)" SourceCodeFiles="@(Compile)" IsInProcessXamlMarkupCompile="false" MSBuildProjectDirectory="$(MSBuildProjectDirectory)" MSBuildArchitecture="$(PlatformTargetAsMSBuildArchitecture)" XamlBuildTypeInspectionExtensionNames="@(XamlBuildTaskTypeInspectionExtensionName)" ApplicationMarkupWithTypeName="@(XamlFileNames)">
10697 <Output ItemName="ExtensionGeneratedCodeFiles" TaskParameter="ExtensionGeneratedCodeFiles" />
10698 </CompilationPass2Task>
10699 <WriteLinesToFile File="$(IntermediateOutputPath)$(XamlPass2FlagFile)" Lines="false" Overwrite="true" />
10700 <Message Text="(out) ExtensionGeneratedCodeFiles: '@(ExtensionGeneratedCodeFiles)'" />
10701 <!-- Add extension files to the list of generated files so that they can be monitored and cleaned up -->
10702 <WriteLinesToFile File="$(IntermediateOutputPath)$(XamlGenCodeFileNames)" Lines="@(ExtensionGeneratedCodeFiles)" Overwrite="false" />
10703 </Target>
10704 <!--
10705 ================================================================
10706 XamlMarkupCompileAddFilesGenerated
10707 ================================================================
10708 -->
10709 <Target Name="XamlMarkupCompileAddExtensionFilesGenerated" Condition="'@(XamlPage)' != '' or '@(XamlAppDef)' != ''" AfterTargets="XamlMarkupCompilePass2" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10710 <ItemGroup>
10711 <FileWrites Include="@(ExtensionGeneratedCodeFiles)" />
10712 </ItemGroup>
10713 <ItemGroup>
10714 <Compile Include="@(ExtensionGeneratedCodeFiles)" />
10715 </ItemGroup>
10716 </Target>
10717 <!--
10718 ================================================================
10719 GetCopyToOutputDirectoryXamlAppDefs
10720
10721 Get all XamlAppDefs that may need to be transferred to the output directory.
10722 Compare GetCopyToOutputDirectoryItems in Microsoft.Common.targets
10723 ================================================================
10724 -->
10725 <Target Name="GetCopyToOutputDirectoryXamlAppDefs" BeforeTargets="GetCopyToOutputDirectoryItems" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10726 <ItemGroup>
10727 <_XamlAppDefItemsToCopy Include="@(XamlAppDef->'%(FullPath)')" Condition="'%(XamlAppDef.CopyToOutputDirectory)'=='Always' or '%(XamlAppDef.CopyToOutputDirectory)'=='PreserveNewest'" />
10728 </ItemGroup>
10729 <AssignTargetPath Files="@(_XamlAppDefItemsToCopy)" RootFolder="$(MSBuildProjectDirectory)">
10730 <Output TaskParameter="AssignedFiles" ItemName="_XamlAppDefItemsToCopyWithTargetPath" />
10731 </AssignTargetPath>
10732 <!-- The _SourceItems properties are internal to Microsoft.Common.targets,
10733 but necessary to use here because there is no public equivalent -->
10734 <ItemGroup>
10735 <AllItemsFullPathWithTargetPath Include="@(_XamlAppDefItemsToCopyWithTargetPath)" />
10736 <_SourceItemsToCopyToOutputDirectoryAlways Include="@(_XamlAppDefItemsToCopyWithTargetPath)" Condition="'%(_XamlAppDefItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='Always'" />
10737 <_SourceItemsToCopyToOutputDirectory Include="@(_XamlAppDefItemsToCopyWithTargetPath)" Condition="'%(_XamlAppDefItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'" />
10738 </ItemGroup>
10739 </Target>
10740 <!--
10741============================================================================================================================================
10742 </Import>
10743
10744C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Xaml.targets
10745============================================================================================================================================
10746-->
10747 <!--
10748============================================================================================================================================
10749 </Import>
10750
10751C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
10752============================================================================================================================================
10753-->
10754 <!-- imports Microsoft.WorkflowBuildExtensions.targets only if TargetFrameworkVersion is v4.5 or above or TargetFrameworkfVersion specified does not conform to the format of vX.X[.X.X] -->
10755 <!-- Underlying assumption is that there shouldn't be any other versions between v4.0.* and v4.5 -->
10756 <!--
10757============================================================================================================================================
10758 <Import Project="$(MSBuildToolsPath)\Microsoft.WorkflowBuildExtensions.targets" Condition="('$(TargetFrameworkVersion)' != 'v2.0' and '$(TargetFrameworkVersion)' != 'v3.5' and (!$([System.String]::IsNullOrEmpty('$(TargetFrameworkVersion)')) and !$(TargetFrameworkVersion.StartsWith('v4.0')))) and Exists('$(MSBuildToolsPath)\Microsoft.WorkflowBuildExtensions.targets')">
10759
10760C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.WorkflowBuildExtensions.targets
10761============================================================================================================================================
10762-->
10763 <!--
10764***********************************************************************************************
10765Microsoft.WorkflowBuildExtensions.targets
10766
10767WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10768 created a backup copy. Incorrect changes to this file will make it
10769 impossible to load or build your projects from the command-line or the IDE.
10770
10771Copyright (C) Microsoft Corporation. All rights reserved.
10772***********************************************************************************************
10773-->
10774 <!--
10775 With MSBuild 12, we've changed MSBuildToolsPath to for the first time point to a directory
10776 outside of the .NET Framework. As a result of this, there were several targets files, of which
10777 this was one, that were being referenced as out of MSBuildToolsPath that are now no longer there.
10778
10779 Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that
10780 consumers of them are not broken, but since the targets files themselves are still part of .NET,
10781 the shim will internally simply redirect to the real copy of the targets file in the .NET Framework.
10782 -->
10783 <!--
10784============================================================================================================================================
10785 <Import Project="$(MSBuildFrameworkToolsPath)\Microsoft.WorkflowBuildExtensions.targets" Condition="Exists('$(MSBuildFrameworkToolsPath)\Microsoft.WorkflowBuildExtensions.targets')">
10786
10787C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.WorkflowBuildExtensions.targets
10788============================================================================================================================================
10789-->
10790 <!--
10791***********************************************************************************************
10792Microsoft.WorkflowBuildExtensions.targets
10793
10794WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10795 created a backup copy. Incorrect changes to this file will make it
10796 impossible to load or build your projects from the command-line or the IDE.
10797
10798Copyright (C) Microsoft Corporation. All rights reserved.
10799***********************************************************************************************
10800-->
10801 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10802 <PrepareResourcesDependsOn>
10803 ValidationExtension;
10804 ExpressionBuildExtension;
10805 $(PrepareResourcesDependsOn)
10806 </PrepareResourcesDependsOn>
10807 </PropertyGroup>
10808 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10809 <CoreCompileDependsOn Condition="'$(BuildingInsideVisualStudio)' == 'true'">
10810 GenerateCompiledExpressionsTempFile;
10811 $(CoreCompileDependsOn)
10812 </CoreCompileDependsOn>
10813 </PropertyGroup>
10814 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10815 <WorkflowBuildExtensionVersion Condition="'$(WorkflowBuildExtensionVersion)'==''">4.0.0.0</WorkflowBuildExtensionVersion>
10816 <WorkflowBuildExtensionKeyToken Condition="'$(WorkflowBuildExtensionKeyToken)'==''">31bf3856ad364e35</WorkflowBuildExtensionKeyToken>
10817 <WorkflowBuildExtensionAssemblyName Condition="'$(WorkflowBuildExtensionAssemblyName)'==''">Microsoft.Activities.Build, Version=$(WorkflowBuildExtensionVersion), Culture=neutral, PublicKeyToken=$(WorkflowBuildExtensionKeyToken)</WorkflowBuildExtensionAssemblyName>
10818 <GenerateCompiledExpressionsTempFilePathForEditing Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(IntermediateOutputPath)\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs</GenerateCompiledExpressionsTempFilePathForEditing>
10819 <GenerateCompiledExpressionsTempFilePathForValidation Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(IntermediateOutputPath)\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs</GenerateCompiledExpressionsTempFilePathForValidation>
10820 <GenerateCompiledExpressionsTempFilePathForTypeInfer Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(IntermediateOutputPath)\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs</GenerateCompiledExpressionsTempFilePathForTypeInfer>
10821 <DeferredValidationErrorsFileName>$(IntermediateOutputPath)\AC2C1ABA-CCF6-44D4-8127-588FD4D0A860-DeferredValidationErrors.xml</DeferredValidationErrorsFileName>
10822 </PropertyGroup>
10823 <UsingTask TaskName="WorkflowBuildMessageTask" AssemblyName="$(WorkflowBuildExtensionAssemblyName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10824 <UsingTask TaskName="ReportDeferredValidationErrorsTask" AssemblyName="$(WorkflowBuildExtensionAssemblyName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10825 <UsingTask TaskName="DeferredValidationTask" AssemblyName="$(WorkflowBuildExtensionAssemblyName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10826 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10827 <XamlBuildTaskTypeGenerationExtensionName Include="Microsoft.Activities.Build.BeforeInitializeComponentExtension">
10828 <AssemblyName>$(WorkflowBuildExtensionAssemblyName)</AssemblyName>
10829 <Visible>false</Visible>
10830 </XamlBuildTaskTypeGenerationExtensionName>
10831 <XamlBuildTaskTypeGenerationExtensionName Include="Microsoft.Activities.Build.Debugger.DebugBuildExtension">
10832 <AssemblyName>$(WorkflowBuildExtensionAssemblyName)</AssemblyName>
10833 <Visible>false</Visible>
10834 </XamlBuildTaskTypeGenerationExtensionName>
10835 </ItemGroup>
10836 <Target Name="ExpressionBuildExtension" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10837 <WorkflowBuildMessageTask ResourceName="InvalidValueForDisableWorkflowCompiledExpressions" MessageType="Warning" Condition="'$(DisableWorkflowCompiledExpressions)'!='' and '$(DisableWorkflowCompiledExpressions)'!='true' and '$(DisableWorkflowCompiledExpressions)'!='false'" />
10838 <ItemGroup>
10839 <XamlBuildTaskTypeInspectionExtensionName Include="Microsoft.Activities.Build.Expressions.ExpressionsBuildExtension" Condition="$(DisableWorkflowCompiledExpressions)!=true">
10840 <AssemblyName>$(WorkflowBuildExtensionAssemblyName)</AssemblyName>
10841 <Visible>false</Visible>
10842 </XamlBuildTaskTypeInspectionExtensionName>
10843 </ItemGroup>
10844 </Target>
10845 <!-- XBT Validation Extension-->
10846 <Target Name="ValidationExtension" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10847 <WorkflowBuildMessageTask ResourceName="InvalidValueForSkipWorkflowValidation" MessageType="Warning" Condition="'$(SkipWorkflowValidation)'!='' and '$(SkipWorkflowValidation)'!='true' and '$(SkipWorkflowValidation)'!='false'" />
10848 <ItemGroup>
10849 <XamlBuildTaskTypeInspectionExtensionName Include="Microsoft.Activities.Build.Validation.ValidationBuildExtension" Condition="$(SkipWorkflowValidation)!=true">
10850 <AssemblyName>$(WorkflowBuildExtensionAssemblyName)</AssemblyName>
10851 <Visible>false</Visible>
10852 </XamlBuildTaskTypeInspectionExtensionName>
10853 </ItemGroup>
10854 </Target>
10855 <Target Name="GenerateCompiledExpressionsTempFile" Condition="'$(GenerateCompiledExpressionsTempFilePathForEditing)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10856 <WriteLinesToFile File="$(GenerateCompiledExpressionsTempFilePathForEditing)" Condition="!Exists('$(GenerateCompiledExpressionsTempFilePathForEditing)')" />
10857 <WriteLinesToFile File="$(GenerateCompiledExpressionsTempFilePathForValidation)" Condition="!Exists('$(GenerateCompiledExpressionsTempFilePathForValidation)')" />
10858 <WriteLinesToFile File="$(GenerateCompiledExpressionsTempFilePathForTypeInfer)" Condition="!Exists('$(GenerateCompiledExpressionsTempFilePathForTypeInfer)')" />
10859 <ItemGroup>
10860 <Compile Include="$(GenerateCompiledExpressionsTempFilePathForEditing)" />
10861 <Compile Include="$(GenerateCompiledExpressionsTempFilePathForValidation)" />
10862 <Compile Include="$(GenerateCompiledExpressionsTempFilePathForTypeInfer)" />
10863 </ItemGroup>
10864 </Target>
10865 <Target Name="AddDeferredValidationErrorsFileToFileWrites" AfterTargets="XamlMarkupCompilePass2" Condition="Exists('$(DeferredValidationErrorsFileName)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10866 <ItemGroup>
10867 <FileWrites Include="$(DeferredValidationErrorsFileName)" />
10868 </ItemGroup>
10869 </Target>
10870 <!--
10871 ================================================================
10872 ReportValidationBuildExtensionErrors
10873 Report deferred validation extension errors.
10874 ================================================================
10875 -->
10876 <Target Name="ReportValidationBuildExtensionErrors" AfterTargets="XamlMarkupCompilePass2" Condition="'$(SkipWorkflowValidation)' != 'true' and ('@(XamlPage)' != '' or '@(XamlAppDef)' != '')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10877 <ReportDeferredValidationErrorsTask DeferredValidationErrorsFilePath="$(DeferredValidationErrorsFileName)" />
10878 </Target>
10879 <!--
10880 ==================================================================
10881 DeferredValidation
10882 Fail the entire build process in case any validation errors
10883 been previously reported, but after Compile succeeded.
10884 ==================================================================
10885 -->
10886 <Target Name="DeferredValidation" AfterTargets="Compile" Condition="'$(SkipWorkflowValidation)' != 'true' and ('@(XamlPage)' != '' or '@(XamlAppDef)' != '')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10887 <DeferredValidationTask DeferredValidationErrorsFilePath="$(DeferredValidationErrorsFileName)" />
10888 </Target>
10889 <!--
10890============================================================================================================================================
10891 </Import>
10892
10893C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.WorkflowBuildExtensions.targets
10894============================================================================================================================================
10895-->
10896 <!--
10897 This target in $(MSBuildFrameworkToolsPath)\Microsoft.WorkflowBuildExtensions.targets does bad
10898 things to builds inside Visual Studio. Specifically, it generates files *only* when building from
10899 within VS, for both real and design-time builds. This leads to all kinds of build problems.
10900
10901 In Dev16 we no longer need these files to exist on disk for Workflow Designer scenarios. We can't
10902 modify $(MSBuildFrameworkToolsPath)\Microsoft.WorkflowBuildExtensions.targets because that would
10903 break the Workflow Designer for older versions of VS. Instead, we effectively turn it off by
10904 overriding it with a no-op implementation here.
10905 -->
10906 <Target Name="GenerateCompiledExpressionsTempFile" />
10907 <!--
10908============================================================================================================================================
10909 </Import>
10910
10911C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
10912============================================================================================================================================
10913-->
10914 <!-- This import is temporary and will be removed once it is moved into the silverlight targets -->
10915 <!--<Import Project="$(MSBuildToolsPath)\Microsoft.WinFX.targets" Condition="'$(TargetFrameworkIdentifier)' == 'Silverlight' and Exists('$(MSBuildToolsPath)\Microsoft.WinFX.targets')" />-->
10916 <PropertyGroup>
10917 <MsTestToolsTargets Condition="'$(MsTestToolsTargets)'==''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TeamTest\Microsoft.TeamTest.targets</MsTestToolsTargets>
10918 </PropertyGroup>
10919 <!--
10920============================================================================================================================================
10921 <Import Project="$(MsTestToolsTargets)" Condition="Exists('$(MsTestToolsTargets)')">
10922
10923C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Microsoft\VisualStudio\v18.0\TeamTest\Microsoft.TeamTest.targets
10924============================================================================================================================================
10925-->
10926 <UsingTask TaskName="BuildShadowTask" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TeamTest\Microsoft.VisualStudio.TestTools.BuildShadowsTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10927 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10928 <ResolveReferencesDependsOn>
10929 $(ResolveReferencesDependsOn);
10930 ResolveTestReferences
10931 </ResolveReferencesDependsOn>
10932 </PropertyGroup>
10933 <!--
10934 The condition here ensures that we aren't needlessly loaded into projects
10935 that don't actually have shadow items in them
10936 -->
10937 <Target Name="ResolveTestReferences" Condition="'@(Shadow)'!=''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10938 <BuildShadowTask ExecuteAsTool="False" CurrentResolvedReferences="@(ReferencePath)" CurrentCopyLocalFiles="@(ReferenceCopyLocalPaths)" Shadows="@(Shadow)" ProjectPath="$(ProjectDir)" IntermediatePath="$(IntermediateOutputPath)" SignAssembly="$(SignAssembly)" KeyFile="$(AssemblyOriginatorKeyFile)" DelaySign="$(DelaySign)">
10939 <Output TaskParameter="FixedUpReferences" ItemName="ReferencePath" />
10940 <Output TaskParameter="NewCopyLocalAssemblies" ItemName="ReferenceCopyLocalPaths" />
10941 </BuildShadowTask>
10942 </Target>
10943 <!--
10944============================================================================================================================================
10945 </Import>
10946
10947C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
10948============================================================================================================================================
10949-->
10950 <PropertyGroup>
10951 <UseMSBuildTestInfrastructure Condition="'$(UseMSBuildTestInfrastructure)' == ''">false</UseMSBuildTestInfrastructure>
10952 </PropertyGroup>
10953 <!--<Import Project="$(MSBuildToolsPath)\Microsoft.Common.Test.targets" Condition="'$(UseMSBuildTestInfrastructure)' == 'true'" />-->
10954 <!-- App packaging support -->
10955 <!--
10956 Following two targets are needed to be present in every project being built
10957 because the app packaging targets recursively scan all projects referenced
10958 from projects that generate app packages for them.
10959 -->
10960 <Target Name="CleanAppxPackage" />
10961 <Target Name="GetPackagingOutputs" />
10962 <PropertyGroup>
10963 <MsAppxPackageTargets Condition="'$(MsAppxPackageTargets)'==''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\AppxPackage\Microsoft.AppXPackage.Targets</MsAppxPackageTargets>
10964 <!-- Opt-out switch to allow disabling importing the 'AppxPackage' targets for UWP class libraries using modern .NET -->
10965 <EnableAppxPackageTargetsForUwpClassLibraries Condition="'$(EnableAppxPackageTargetsForUwpClassLibraries)' == ''">true</EnableAppxPackageTargetsForUwpClassLibraries>
10966 </PropertyGroup>
10967 <!--
10968 We want to import the 'AppXPackage' .targets in two scenarios:
10969 - For legacy UWP, in all cases (original behavior). These projects will always set 'WindowsAppContainer' by default.
10970 - For UWP (XAML) apps and libraries on modern .NET, we only enable this for class libraries. This allows the existing
10971 .appx tooling to take care of generating .pri resources without the need to pull in WinAppSDK or other external tools.
10972 We cannot use this for applications, because the rest of that tooling is not capable of handling modern .NET projects.
10973 In that case, we either leverage the tooling in WinAppSDK, or DesktopBridge (via a .wapproj project for packaging).
10974 -->
10975 <!--<Import Project="$(MsAppxPackageTargets)" Condition="('$(WindowsAppContainer)' == 'true' or ('$(UseUwpTools)' == 'true' and '$(OutputType)' == 'Library' and '$(EnableAppxPackageTargetsForUwpClassLibraries)' != 'false')) and Exists('$(MsAppxPackageTargets)')" />-->
10976 <!-- This import is temporary and will be removed once it is moved into the silverlight targets -->
10977 <!--<Import Project="$(MSBuildToolsPath)\Microsoft.Data.Entity.targets" Condition="'$(TargetFrameworkIdentifier)' == 'Silverlight' and Exists('$(MSBuildToolsPath)\Microsoft.Data.Entity.targets')" />-->
10978 <!-- Import NuGet.targets (required for GetReferenceNearestTargetFrameworkTask and used for Restore functionality) -->
10979 <PropertyGroup>
10980 <MSBuildUseVisualStudioDirectoryLayout Condition="'$(MSBuildUseVisualStudioDirectoryLayout)'==''">$([MSBuild]::IsRunningFromVisualStudio())</MSBuildUseVisualStudioDirectoryLayout>
10981 <NuGetRestoreTargets Condition="'$(NuGetRestoreTargets)'=='' and '$(MSBuildUseVisualStudioDirectoryLayout)'=='true'">$([MSBuild]::GetToolsDirectory32())\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets</NuGetRestoreTargets>
10982 <NuGetRestoreTargets Condition="'$(NuGetRestoreTargets)'==''">$(MSBuildToolsPath)\NuGet.targets</NuGetRestoreTargets>
10983 </PropertyGroup>
10984 <!--
10985============================================================================================================================================
10986 <Import Project="$(NuGetRestoreTargets)" Condition="'$(IsRestoreTargetsFileLoaded)' != 'true' and Exists('$(NuGetRestoreTargets)')">
10987
10988C:\Program Files\Microsoft Visual Studio\18\Professional\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets
10989============================================================================================================================================
10990-->
10991 <!--
10992***********************************************************************************************
10993NuGet.targets
10994
10995WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10996 created a backup copy. Incorrect changes to this file will make it
10997 impossible to load or build your projects from the command-line or the IDE.
10998
10999Copyright (c) .NET Foundation. All rights reserved.
11000***********************************************************************************************
11001
11002 This target file contains the NuGet Restore target for walking the project and reference graph
11003 and restoring dependencies from the graph.
11004
11005 Ways to use this targets file:
11006 1. Invoke it directly and provide project file paths using $(RestoreGraphProjectInput).
11007 2. With a solution this may be used as a target in the metaproj.
11008 3. Import the targets file from a project.
11009
11010 Restore flow summary:
11011 1. Top level projects (entry points) are determined.
11012 2. Each project and all of its project references are walked recursively.
11013 3. The project is evaluated for each $(TargetFramework). Items are created
11014 for project properties and dependencies. Each item is marked
11015 with the project it came from so that it can be matched up later.
11016 4. All restore items generated by the walk are grouped together by
11017 project and convert into a project spec.
11018
11019 The result file contains:
11020 1. A list of projects to restore.
11021 2. The complete closure of all projects referenced (Includes project references that are not being restored directly).
11022 3. Package and project dependencies for each project.
11023 4. DotnetCliTool references
11024 -->
11025 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11026 <!-- Mark that this target file has been loaded. -->
11027 <IsRestoreTargetsFileLoaded>true</IsRestoreTargetsFileLoaded>
11028 <!-- Load NuGet.Build.Tasks.dll, this can be overridden to use a different version with $(RestoreTaskAssemblyFile) -->
11029 <RestoreTaskAssemblyFile Condition=" '$(RestoreTaskAssemblyFile)' == '' ">NuGet.Build.Tasks.dll</RestoreTaskAssemblyFile>
11030 <!-- Do not hide errors and warnings by default -->
11031 <HideWarningsAndErrors Condition=" '$(HideWarningsAndErrors)' == '' ">false</HideWarningsAndErrors>
11032 <!-- Recurse by default -->
11033 <RestoreRecursive Condition=" '$(RestoreRecursive)' == '' ">true</RestoreRecursive>
11034 <RestoreUseSkipNonexistentTargets Condition=" '$(RestoreUseSkipNonexistentTargets)' == '' ">true</RestoreUseSkipNonexistentTargets>
11035 <!-- RuntimeIdentifier compatibility check -->
11036 <ValidateRuntimeIdentifierCompatibility Condition=" '$(ValidateRuntimeIdentifierCompatibility)' == '' ">false</ValidateRuntimeIdentifierCompatibility>
11037 <!-- Error handling while walking projects -->
11038 <RestoreContinueOnError Condition=" '$(RestoreContinueOnError)' == '' ">WarnAndContinue</RestoreContinueOnError>
11039 <!-- Build in parallel -->
11040 <RestoreBuildInParallel Condition=" '$(BuildInParallel)' != '' ">$(BuildInParallel)</RestoreBuildInParallel>
11041 <RestoreBuildInParallel Condition=" '$(RestoreBuildInParallel)' == '' ">true</RestoreBuildInParallel>
11042 <!-- Check if the restore target was executed on a sln file -->
11043 <_RestoreSolutionFileUsed Condition=" '$(_RestoreSolutionFileUsed)' == '' AND '$(SolutionDir)' != '' AND $(MSBuildProjectFullPath.EndsWith('.metaproj')) == 'true' ">true</_RestoreSolutionFileUsed>
11044 <!-- We default to MSBuildInteractive. -->
11045 <NuGetInteractive Condition=" '$(NuGetInteractive)' == '' ">$(MSBuildInteractive)</NuGetInteractive>
11046 <!-- Mark that this targets file supports package download. -->
11047 <PackageDownloadSupported>true</PackageDownloadSupported>
11048 <!-- Mark that this targets file GetReferenceNearestTargetFrameworkTask task supports the TargetPlatformMoniker -->
11049 <GetReferenceNearestTargetFrameworkTaskSupportsTargetPlatformParameter>true</GetReferenceNearestTargetFrameworkTaskSupportsTargetPlatformParameter>
11050 <!-- Flag if the Central package file is enabled -->
11051 <_CentralPackageVersionsEnabled Condition="'$(ManagePackageVersionsCentrally)' == 'true' AND '$(CentralPackageVersionsFileImported)' == 'true'">true</_CentralPackageVersionsEnabled>
11052 </PropertyGroup>
11053 <!--
11054 Visual Studio's project property page requires defaults to be set to inform customers what the default values are.
11055 Project-system uses DefaultValueSourceLocation.AfterContext to detect when a customer's project changes the value, so these defaults must be set here in the targets file.
11056 -->
11057 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11058 <!-- Enable NuGetAudit by default -->
11059 <NuGetAudit Condition=" '$(NuGetAudit)' == '' ">true</NuGetAudit>
11060 <!-- Report all severity vulnerabilities (low severity and higher). Allowed values are: low, moderate, high, critical -->
11061 <NuGetAuditLevel Condition=" '$(NuGetAuditLevel)' == '' ">low</NuGetAuditLevel>
11062 <!-- Report known vulnerabilities on direct and transitive dependencies for .NET 10 and higher, direct only otherwise -->
11063 <NuGetAuditMode Condition=" '$(NuGetAuditMode)' == ''&#xD;&#xA; AND '$(NuGetExeSkipSdkAnalysisLevelCheck)' != 'true'&#xD;&#xA; AND '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; AND $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '10.0'))">all</NuGetAuditMode>
11064 <NuGetAuditMode Condition=" '$(NuGetAuditMode)' == '' ">direct</NuGetAuditMode>
11065 </PropertyGroup>
11066 <!-- Package pruning is enabled for all projects targeting .NET 10 or greater, including multi-targeted projects. -->
11067 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11068 <!-- We only set the RestoreEnablePackagePruning default for single TFM projects.
11069 For multi-targeted projects that requires knowing the other inner builds, so we rely on RestorePackagePruningDefault. -->
11070 <RestoreEnablePackagePruning Condition="'$(RestoreEnablePackagePruning)' == ''&#xD;&#xA; AND '$(UsingMicrosoftNETSdk)' == 'true'&#xD;&#xA; AND '$(TargetFrameworks)' == ''&#xD;&#xA; AND '$(NuGetExeSkipSdkAnalysisLevelCheck)' != 'true'&#xD;&#xA; AND '$(SdkAnalysisLevel)' != ''&#xD;&#xA; AND $([MSBuild]::VersionGreaterThanOrEquals('$(SdkAnalysisLevel)', '10.0.100'))&#xD;&#xA; AND ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' AND '$(TargetFrameworkVersion)' != '' AND $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '10.0')))">true</RestoreEnablePackagePruning>
11071 <RestoreEnablePackagePruning Condition="$(RestoreEnablePackagePruning) == '' AND '$(TargetFrameworks)' == ''">false</RestoreEnablePackagePruning>
11072 <RestorePackagePruningDefault Condition="'$(UsingMicrosoftNETSdk)' == 'true'&#xD;&#xA; AND '$(NuGetExeSkipSdkAnalysisLevelCheck)' != 'true'&#xD;&#xA; AND '$(SdkAnalysisLevel)' != ''&#xD;&#xA; AND $([MSBuild]::VersionGreaterThanOrEquals('$(SdkAnalysisLevel)', '10.0.100'))&#xD;&#xA; AND ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' AND '$(TargetFrameworkVersion)' != '' AND $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '10.0')))">true</RestorePackagePruningDefault>
11073 <RestorePackagePruningDefault Condition="'$(RestorePackagePruningDefault)' == ''">false</RestorePackagePruningDefault>
11074 </PropertyGroup>
11075 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11076 <!-- Exclude packages from changing restore inputs. -->
11077 <_GenerateRestoreGraphProjectEntryInputProperties>ExcludeRestorePackageImports=true</_GenerateRestoreGraphProjectEntryInputProperties>
11078 <!-- Standalone mode
11079 This is used by NuGet.exe to inject targets into the project that will be
11080 walked next. In normal /t:Restore mode this causes a duplicate import
11081 since NuGet.targets it loaded as part of MSBuild, there is should be
11082 skipped. -->
11083 <_GenerateRestoreGraphProjectEntryInputProperties Condition=" '$(RestoreUseCustomAfterTargets)' == 'true' ">
11084 $(_GenerateRestoreGraphProjectEntryInputProperties);
11085 NuGetRestoreTargets=$(MSBuildThisFileFullPath);
11086 RestoreUseCustomAfterTargets=$(RestoreUseCustomAfterTargets);
11087 CustomAfterMicrosoftCommonCrossTargetingTargets=$(MSBuildThisFileFullPath);
11088 CustomAfterMicrosoftCommonTargets=$(MSBuildThisFileFullPath);
11089 </_GenerateRestoreGraphProjectEntryInputProperties>
11090 <!-- Include SolutionDir and SolutionName for solution restores and persist these properties during the walk. -->
11091 <_GenerateRestoreGraphProjectEntryInputProperties Condition=" '$(_RestoreSolutionFileUsed)' == 'true' ">
11092 $(_GenerateRestoreGraphProjectEntryInputProperties);
11093 _RestoreSolutionFileUsed=true;
11094 SolutionDir=$(SolutionDir);
11095 SolutionName=$(SolutionName);
11096 SolutionFileName=$(SolutionFileName);
11097 SolutionPath=$(SolutionPath);
11098 SolutionExt=$(SolutionExt);
11099 </_GenerateRestoreGraphProjectEntryInputProperties>
11100 </PropertyGroup>
11101 <ItemGroup Condition="'$(ManagePackageVersionsCentrally)' == 'true' And '$(RestoreEnableGlobalPackageReference)' != 'false'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11102 <!--
11103 Add GlobalPackageReference items to the PackageReference item group with no version.
11104
11105 Global package references only include the same assets as a development dependency (runtime; build; native; contentfiles; analyzers)
11106 because those kind of packages are the best candidate for a global package reference. They are generally packages that
11107 extend the build.
11108
11109 Global package references have all assets private because central package references are generally packages that provide
11110 versioning, signing, etc and should not flow to downstream dependencies. Also, central package references are already
11111 referenced by every project in the tree so they don't need to be transitive.
11112 -->
11113 <PackageReference Include="@(GlobalPackageReference)" Version="" IncludeAssets="Runtime;Build;Native;contentFiles;Analyzers" PrivateAssets="All" />
11114 <!--
11115 Add GlobalPackageReference items to the PackageVersion item group with the version.
11116 -->
11117 <PackageVersion Include="@(GlobalPackageReference)" Version="%(Version)" />
11118 </ItemGroup>
11119 <!-- Tasks -->
11120 <UsingTask TaskName="NuGet.Build.Tasks.RestoreTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11121 <UsingTask TaskName="NuGet.Build.Tasks.WriteRestoreGraphTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11122 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreProjectReferencesTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11123 <UsingTask TaskName="NuGet.Build.Tasks.GetRestorePackageReferencesTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11124 <UsingTask TaskName="NuGet.Build.Tasks.GetCentralPackageVersionsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11125 <UsingTask TaskName="NuGet.Build.Tasks.GetRestorePackageDownloadsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11126 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreFrameworkReferencesTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11127 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreNuGetAuditSuppressionsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11128 <UsingTask TaskName="NuGet.Build.Tasks.GetRestorePrunePackageReferencesTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11129 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreDotnetCliToolsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11130 <UsingTask TaskName="NuGet.Build.Tasks.GetProjectTargetFrameworksTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11131 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreSolutionProjectsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11132 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreSettingsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11133 <UsingTask TaskName="NuGet.Build.Tasks.WarnForInvalidProjectsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11134 <UsingTask TaskName="NuGet.Build.Tasks.GetReferenceNearestTargetFrameworkTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11135 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreProjectStyleTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11136 <UsingTask TaskName="NuGet.Build.Tasks.NuGetMessageTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11137 <UsingTask TaskName="NuGet.Build.Tasks.CheckForDuplicateNuGetItemsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11138 <UsingTask TaskName="NuGet.Build.Tasks.GetGlobalPropertyValueTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11139 <!--
11140 ============================================================
11141 Restore
11142 Main entry point for restoring packages
11143 ============================================================
11144 -->
11145 <Target Name="Restore" DependsOnTargets="_GenerateRestoreGraph" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11146 <!-- Drop any duplicate items -->
11147 <RemoveDuplicates Inputs="@(_RestoreGraphEntry)">
11148 <Output TaskParameter="Filtered" ItemName="_RestoreGraphEntryFiltered" />
11149 </RemoveDuplicates>
11150 <!-- Call restore -->
11151 <RestoreTask RestoreGraphItems="@(_RestoreGraphEntryFiltered)" RestoreDisableParallel="$(RestoreDisableParallel)" RestoreNoCache="$(RestoreNoCache)" RestoreNoHttpCache="$(RestoreNoHttpCache)" RestoreIgnoreFailedSources="$(RestoreIgnoreFailedSources)" RestoreRecursive="$(RestoreRecursive)" RestoreForce="$(RestoreForce)" HideWarningsAndErrors="$(HideWarningsAndErrors)" Interactive="$(NuGetInteractive)" RestoreForceEvaluate="$(RestoreForceEvaluate)" RestorePackagesConfig="$(RestorePackagesConfig)" EmbedFilesInBinlog="$(RestoreEmbedFilesInBinlog)">
11152 <Output TaskParameter="EmbedInBinlog" ItemName="EmbedInBinlog" />
11153 <Output TaskParameter="ProjectsRestored" PropertyName="RestoreProjectCount" />
11154 <Output TaskParameter="ProjectsAlreadyUpToDate" PropertyName="RestoreSkippedCount" />
11155 <Output TaskParameter="ProjectsAudited" PropertyName="RestoreProjectsAuditedCount" />
11156 </RestoreTask>
11157 </Target>
11158 <!--
11159 ============================================================
11160 GenerateRestoreGraphFile
11161 Writes the output of _GenerateRestoreGraph to disk
11162 ============================================================
11163 -->
11164 <Target Name="GenerateRestoreGraphFile" DependsOnTargets="_GenerateRestoreGraph" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11165 <!-- Validate -->
11166 <Error Condition="$(RestoreGraphOutputPath) == ''" Text="Missing RestoreGraphOutputPath property!" />
11167 <!-- Drop any duplicate items -->
11168 <RemoveDuplicates Inputs="@(_RestoreGraphEntry)">
11169 <Output TaskParameter="Filtered" ItemName="_RestoreGraphEntryFiltered" />
11170 </RemoveDuplicates>
11171 <!-- Write file -->
11172 <WriteRestoreGraphTask RestoreGraphItems="@(_RestoreGraphEntryFiltered)" RestoreGraphOutputPath="$(RestoreGraphOutputPath)" RestoreRecursive="$(RestoreRecursive)" />
11173 </Target>
11174 <!--
11175 ============================================================
11176 CollectPackageReferences
11177 Gathers all PackageReference items from the project.
11178 This target may be used as an extension point to modify
11179 package references before NuGet reads them.
11180 ============================================================
11181 -->
11182 <Target Name="CollectPackageReferences" Returns="@(PackageReference)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11183 <!-- NOTE for design-time builds we need to ensure that we continue on error. -->
11184 <PropertyGroup>
11185 <CollectPackageReferencesContinueOnError>$(ContinueOnError)</CollectPackageReferencesContinueOnError>
11186 <CollectPackageReferencesContinueOnError Condition="'$(ContinueOnError)' == '' ">false</CollectPackageReferencesContinueOnError>
11187 </PropertyGroup>
11188 <CheckForDuplicateNuGetItemsTask Condition="'$(DisableCheckingDuplicateNuGetItems)' != 'true' " Items="@(PackageReference)" ItemName="PackageReference" LogCode="NU1504" MSBuildProjectFullPath="$(MSBuildProjectFullPath)" TreatWarningsAsErrors="$(TreatWarningsAsErrors)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" NoWarn="$(NoWarn)" ContinueOnError="$(CollectPackageReferencesContinueOnError)">
11189 <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedPackageReferences" />
11190 </CheckForDuplicateNuGetItemsTask>
11191 <ItemGroup Condition="'@(DeduplicatedPackageReferences)' != ''">
11192 <PackageReference Remove="@(PackageReference)" />
11193 <PackageReference Include="@(DeduplicatedPackageReferences)" />
11194 </ItemGroup>
11195 </Target>
11196 <!--
11197 ============================================================
11198 CollectCentralPackageVersions
11199 Gathers all PackageVersion items from the central package versions file.
11200 ============================================================
11201 -->
11202 <Target Name="CollectCentralPackageVersions" Returns="@(PackageVersion)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11203 <!-- NOTE for design-time builds we need to ensure that we continue on error. -->
11204 <PropertyGroup>
11205 <CollectCentralPackageVersionsContinueOnError>$(ContinueOnError)</CollectCentralPackageVersionsContinueOnError>
11206 <CollectCentralPackageVersionsContinueOnError Condition="'$(ContinueOnError)' == '' ">false</CollectCentralPackageVersionsContinueOnError>
11207 </PropertyGroup>
11208 <CheckForDuplicateNuGetItemsTask Condition="'$(DisableCheckingDuplicateNuGetItems)' != 'true' " Items="@(PackageVersion)" ItemName="PackageVersion" LogCode="NU1506" MSBuildProjectFullPath="$(MSBuildProjectFullPath)" TreatWarningsAsErrors="$(TreatWarningsAsErrors)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" NoWarn="$(NoWarn)" ContinueOnError="$(CollectCentralPackageVersionsContinueOnError)">
11209 <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedPackageVersions" />
11210 </CheckForDuplicateNuGetItemsTask>
11211 <ItemGroup Condition="'@(DeduplicatedPackageVersions)' != ''">
11212 <PackageVersion Remove="@(PackageVersion)" />
11213 <PackageVersion Include="@(DeduplicatedPackageVersions)" />
11214 </ItemGroup>
11215 </Target>
11216 <!--
11217 ============================================================
11218 CollectPackageDownloads
11219 Gathers all PackageDownload items from the project.
11220 This target may be used as an extension point to modify
11221 package downloads before NuGet reads them.
11222 ============================================================
11223 -->
11224 <Target Name="CollectPackageDownloads" Returns="@(PackageDownload)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11225 <!-- NOTE for design-time builds we need to ensure that we continue on error. -->
11226 <PropertyGroup>
11227 <CollectPackageDownloadsContinueOnError>$(ContinueOnError)</CollectPackageDownloadsContinueOnError>
11228 <CollectPackageDownloadsContinueOnError Condition="'$(ContinueOnError)' == '' ">false</CollectPackageDownloadsContinueOnError>
11229 </PropertyGroup>
11230 <CheckForDuplicateNuGetItemsTask Condition="'$(DisableCheckingDuplicateNuGetItems)' != 'true' " Items="@(PackageDownload)" ItemName="PackageDownload" LogCode="NU1505" MSBuildProjectFullPath="$(MSBuildProjectFullPath)" TreatWarningsAsErrors="$(TreatWarningsAsErrors)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" NoWarn="$(NoWarn)" ContinueOnError="$(CollectPackageDownloadsContinueOnError)">
11231 <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedPackageDownloads" />
11232 </CheckForDuplicateNuGetItemsTask>
11233 <ItemGroup Condition="'@(DeduplicatedPackageDownloads)' != ''">
11234 <PackageDownload Remove="@(PackageDownload)" />
11235 <PackageDownload Include="@(DeduplicatedPackageDownloads)" />
11236 </ItemGroup>
11237 </Target>
11238 <!--
11239 ============================================================
11240 CollectFrameworkReferences
11241 ============================================================
11242 -->
11243 <Target Name="CollectFrameworkReferences" Returns="@(_FrameworkReferenceForRestore)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11244 <ItemGroup>
11245 <_FrameworkReferenceForRestore Include="@(FrameworkReference)" Condition="'%(FrameworkReference.IsTransitiveFrameworkReference)' != 'true'" />
11246 </ItemGroup>
11247 </Target>
11248 <!--
11249 ============================================================
11250 CollectNuGetAuditSuppressions
11251 Gathers all NuGetAuditSuppress items from the project.
11252 This target may be used as an extension point to modify
11253 advisory suppressions before NuGet reads them.
11254 ============================================================
11255 -->
11256 <Target Name="CollectNuGetAuditSuppressions" Returns="@(NuGetAuditSuppress)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11257 <!-- NOTE for design-time builds we need to ensure that we continue on error. -->
11258 <PropertyGroup>
11259 <CollectNuGetAuditSuppressionsContinueOnError>$(ContinueOnError)</CollectNuGetAuditSuppressionsContinueOnError>
11260 <CollectNuGetAuditSuppressionsContinueOnError Condition="'$(ContinueOnError)' == '' ">false</CollectNuGetAuditSuppressionsContinueOnError>
11261 </PropertyGroup>
11262 <CheckForDuplicateNuGetItemsTask Items="@(NuGetAuditSuppress)" ItemName="NuGetAuditSuppress" LogCode="NU1508" MSBuildProjectFullPath="$(MSBuildProjectFullPath)" TreatWarningsAsErrors="$(TreatWarningsAsErrors)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" NoWarn="$(NoWarn)" ContinueOnError="$(CollectNuGetAuditSuppressionsContinueOnError)">
11263 <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedNuGetAuditSuppressions" />
11264 </CheckForDuplicateNuGetItemsTask>
11265 <ItemGroup Condition="'@(DeduplicatedNuGetAuditSuppressions)' != ''">
11266 <NuGetAuditSuppress Remove="@(NuGetAuditSuppress)" />
11267 <NuGetAuditSuppress Include="@(DeduplicatedNuGetAuditSuppressions)" />
11268 </ItemGroup>
11269 </Target>
11270 <Target Name="CollectPrunePackageReferences" Returns="@(PrunePackageReference)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11271 <!-- NOTE for design-time builds we need to ensure that we continue on error. -->
11272 <PropertyGroup>
11273 <CollectPrunePackageReferencesContinueOnError>$(ContinueOnError)</CollectPrunePackageReferencesContinueOnError>
11274 <CollectPrunePackageReferencesContinueOnError Condition="'$(ContinueOnError)' == '' ">false</CollectPrunePackageReferencesContinueOnError>
11275 </PropertyGroup>
11276 <CheckForDuplicateNuGetItemsTask Condition="'$(DisableCheckingDuplicateNuGetItems)' != 'true' " Items="@(PrunePackageReference)" ItemName="PrunePackageReference" LogCode="NU1509" MSBuildProjectFullPath="$(MSBuildProjectFullPath)" TreatWarningsAsErrors="$(TreatWarningsAsErrors)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" NoWarn="$(NoWarn)" ContinueOnError="$(CollectPrunePackageReferencesContinueOnError)">
11277 <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedPrunePackageReference" />
11278 </CheckForDuplicateNuGetItemsTask>
11279 <ItemGroup Condition="'@(DeduplicatedPrunePackageReference)' != ''">
11280 <PrunePackageReference Remove="@(PrunePackageReference)" />
11281 <PrunePackageReference Include="@(DeduplicatedPrunePackageReference)" />
11282 </ItemGroup>
11283 </Target>
11284 <!--
11285 ============================================================
11286 _CollectRestoreInputs
11287 Runs all the 'Collect' targets
11288 ============================================================
11289 -->
11290 <Target Name="_CollectRestoreInputs" DependsOnTargets="CollectPackageReferences;CollectPackageDownloads;CollectFrameworkReferences;CollectCentralPackageVersions;CollectNuGetAuditSuppressions;CollectPrunePackageReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11291 <!--
11292 ============================================================
11293 _LoadRestoreGraphEntryPoints
11294 Find project entry points and load them into items.
11295 ============================================================
11296 -->
11297 <Target Name="_LoadRestoreGraphEntryPoints" Returns="@(RestoreGraphProjectInputItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11298 <!-- Allow overriding items with RestoreGraphProjectInput -->
11299 <ItemGroup Condition=" @(RestoreGraphProjectInputItems) == '' ">
11300 <RestoreGraphProjectInputItems Include="$(RestoreGraphProjectInput)" />
11301 </ItemGroup>
11302 <!-- Project case -->
11303 <ItemGroup Condition=" $(MSBuildProjectFullPath.EndsWith('.metaproj')) != 'true' AND @(RestoreGraphProjectInputItems) == '' ">
11304 <RestoreGraphProjectInputItems Include="$(MSBuildProjectFullPath)" />
11305 </ItemGroup>
11306 <!-- Solution case -->
11307 <GetRestoreSolutionProjectsTask Condition=" $(MSBuildProjectFullPath.EndsWith('.metaproj')) == 'true' AND @(RestoreGraphProjectInputItems) == '' " ProjectReferences="@(ProjectReference)" SolutionFilePath="$(MSBuildProjectFullPath)">
11308 <Output TaskParameter="OutputProjectReferences" ItemName="RestoreGraphProjectInputItems" />
11309 </GetRestoreSolutionProjectsTask>
11310 </Target>
11311 <!--
11312 ============================================================
11313 _FilterRestoreGraphProjectInputItems
11314 Filter out unsupported project entry points.
11315 ============================================================
11316 -->
11317 <Target Name="_FilterRestoreGraphProjectInputItems" DependsOnTargets="_LoadRestoreGraphEntryPoints" Returns="@(FilteredRestoreGraphProjectInputItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11318 <PropertyGroup>
11319 <RestoreProjectFilterMode Condition=" '$(RestoreProjectFilterMode)' == '' ">exclusionlist</RestoreProjectFilterMode>
11320 </PropertyGroup>
11321 <!-- Filter to a list of known supported types -->
11322 <ItemGroup Condition=" '$(RestoreProjectFilterMode)' == 'inclusionlist' ">
11323 <_FilteredRestoreGraphProjectInputItemsTmp Include="@(RestoreGraphProjectInputItems)" Condition=" '%(RestoreGraphProjectInputItems.Extension)' == '.csproj' Or&#xD;&#xA; '%(RestoreGraphProjectInputItems.Extension)' == '.vbproj' Or&#xD;&#xA; '%(RestoreGraphProjectInputItems.Extension)' == '.fsproj' Or&#xD;&#xA; '%(RestoreGraphProjectInputItems.Extension)' == '.nuproj' Or&#xD;&#xA; '%(RestoreGraphProjectInputItems.Extension)' == '.proj' Or&#xD;&#xA; '%(RestoreGraphProjectInputItems.Extension)' == '.msbuildproj' Or&#xD;&#xA; '%(RestoreGraphProjectInputItems.Extension)' == '.vcxproj' " />
11324 </ItemGroup>
11325 <!-- Filter out disallowed types -->
11326 <ItemGroup Condition=" '$(RestoreProjectFilterMode)' == 'exclusionlist' ">
11327 <_FilteredRestoreGraphProjectInputItemsTmp Include="@(RestoreGraphProjectInputItems)" Condition=" '%(RestoreGraphProjectInputItems.Extension)' != '.metaproj'&#xD;&#xA; AND '%(RestoreGraphProjectInputItems.Extension)' != '.shproj'&#xD;&#xA; AND '%(RestoreGraphProjectInputItems.Extension)' != '.vcxitems'&#xD;&#xA; AND '%(RestoreGraphProjectInputItems.Extension)' != '.vdproj'&#xD;&#xA; AND '%(RestoreGraphProjectInputItems.Extension)' != '' " />
11328 </ItemGroup>
11329 <!-- No filtering -->
11330 <ItemGroup Condition=" '$(RestoreProjectFilterMode)' != 'exclusionlist' AND '$(RestoreProjectFilterMode)' != 'inclusionlist' ">
11331 <_FilteredRestoreGraphProjectInputItemsTmp Include="@(RestoreGraphProjectInputItems)" />
11332 </ItemGroup>
11333 <!-- Remove duplicates -->
11334 <RemoveDuplicates Inputs="@(_FilteredRestoreGraphProjectInputItemsTmp)">
11335 <Output TaskParameter="Filtered" ItemName="FilteredRestoreGraphProjectInputItemsWithoutDuplicates" />
11336 </RemoveDuplicates>
11337 <!-- Remove projects that do not support restore. -->
11338 <!-- With SkipNonexistentTargets support -->
11339 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' == 'true' " BuildInParallel="$(RestoreBuildInParallel)" Projects="@(FilteredRestoreGraphProjectInputItemsWithoutDuplicates)" Targets="_IsProjectRestoreSupported" SkipNonexistentTargets="true" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
11340 <Output TaskParameter="TargetOutputs" ItemName="FilteredRestoreGraphProjectInputItems" />
11341 </MSBuild>
11342 <!-- Without SkipNonexistentTargets support -->
11343 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' != 'true' " Projects="@(FilteredRestoreGraphProjectInputItemsWithoutDuplicates)" Targets="_IsProjectRestoreSupported" ContinueOnError="$(RestoreContinueOnError)" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
11344 <Output TaskParameter="TargetOutputs" ItemName="FilteredRestoreGraphProjectInputItems" />
11345 </MSBuild>
11346 <!-- Warn for projects that do not support restore. -->
11347 <WarnForInvalidProjectsTask Condition=" '$(DisableWarnForInvalidRestoreProjects)' != 'true' AND '$(HideWarningsAndErrors)' != 'true' " AllProjects="@(FilteredRestoreGraphProjectInputItemsWithoutDuplicates)" ValidProjects="@(FilteredRestoreGraphProjectInputItems)" />
11348 </Target>
11349 <!--
11350 ============================================================
11351 _GenerateRestoreGraph
11352 Entry point for creating the project to project restore graph.
11353 ============================================================
11354 -->
11355 <Target Name="_GenerateRestoreGraph" DependsOnTargets="_FilterRestoreGraphProjectInputItems;_GetAllRestoreProjectPathItems" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11356 <Message Text="Generating dg file" Importance="low" />
11357 <Message Text="%(_RestoreProjectPathItems.Identity)" Importance="low" />
11358 <!-- Use all projects if RestoreRecursive is true. Otherwise use only the top level projects. -->
11359 <ItemGroup>
11360 <_GenerateRestoreGraphProjectEntryInput Include="@(FilteredRestoreGraphProjectInputItems)" Condition=" '$(RestoreRecursive)' != 'true' " />
11361 <_GenerateRestoreGraphProjectEntryInput Include="@(_RestoreProjectPathItems)" Condition=" '$(RestoreRecursive)' == 'true' " />
11362 </ItemGroup>
11363 <!-- Add top level entries to the direct restore list. These projects will also restore tools. -->
11364 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Projects="@(_GenerateRestoreGraphProjectEntryInput)" Targets="_GenerateRestoreGraphProjectEntry" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
11365 <Output TaskParameter="TargetOutputs" ItemName="_RestoreGraphEntry" />
11366 </MSBuild>
11367 <!-- Generate a spec for every project including dependencies. -->
11368 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Projects="@(_RestoreProjectPathItems)" Targets="_GenerateProjectRestoreGraph" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
11369 <Output TaskParameter="TargetOutputs" ItemName="_RestoreGraphEntry" />
11370 </MSBuild>
11371 </Target>
11372 <!--
11373 ============================================================
11374 _GenerateRestoreGraphProjectEntry
11375 Top level entry point within a project.
11376 ============================================================
11377 -->
11378 <Target Name="_GenerateRestoreGraphProjectEntry" DependsOnTargets="_GenerateRestoreSpecs;_GenerateDotnetCliToolReferenceSpecs" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11379 <!-- Returns restore graph entries for the project and all dependencies -->
11380 </Target>
11381 <!--
11382 ============================================================
11383 _GenerateRestoreSpecs
11384 Mark entry points for restore.
11385 ============================================================
11386 -->
11387 <Target Name="_GenerateRestoreSpecs" DependsOnTargets="_GetRestoreProjectStyle" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11388 <Message Text="Restore entry point $(MSBuildProjectFullPath)" Importance="low" />
11389 <!-- Mark entry point -->
11390 <ItemGroup Condition=" '$(RestoreProjects)' == '' OR '$(RestoreProjects)' == 'true' ">
11391 <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())" Condition=" '$(RestoreProjectStyle)' != 'Unknown' ">
11392 <Type>RestoreSpec</Type>
11393 <ProjectUniqueName>$(MSBuildProjectFullPath)</ProjectUniqueName>
11394 </_RestoreGraphEntry>
11395 </ItemGroup>
11396 </Target>
11397 <!--
11398 ============================================================
11399 _GenerateDotnetCliToolReferenceSpecs
11400 Collect DotnetCliToolReferences
11401 ============================================================
11402 -->
11403 <Target Name="_GenerateDotnetCliToolReferenceSpecs" DependsOnTargets="_GetRestoreSettings" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11404 <PropertyGroup>
11405 <DotnetCliToolTargetFramework Condition=" '$(DotnetCliToolTargetFramework)' == '' ">netcoreapp1.0</DotnetCliToolTargetFramework>
11406 </PropertyGroup>
11407 <!-- Write out tool references -->
11408 <GetRestoreDotnetCliToolsTask Condition=" '$(RestoreDotnetCliToolReferences)' == '' OR '$(RestoreDotnetCliToolReferences)' == 'true' " ProjectPath="$(MSBuildProjectFullPath)" ToolFramework="$(DotnetCliToolTargetFramework)" RestorePackagesPath="$(_OutputPackagesPath)" RestoreFallbackFolders="$(_OutputFallbackFolders)" RestoreSources="$(_OutputSources)" RestoreConfigFilePaths="$(_OutputConfigFilePaths)" DotnetCliToolReferences="@(DotnetCliToolReference)">
11409 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
11410 </GetRestoreDotnetCliToolsTask>
11411 </Target>
11412 <!--
11413 ============================================================
11414 _GetRestoreProjectStyle
11415 Determine the project restore type.
11416 ============================================================
11417 -->
11418 <Target Name="_GetRestoreProjectStyle" DependsOnTargets="CollectPackageReferences" Returns="$(RestoreProjectStyle);$(PackageReferenceCompatibleProjectStyle)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11419 <!--
11420 Older versions of MSBuild do not support the Count() item function which is an optimization. Expanding the
11421 entire item list into a semicolon delimited string is slower but older versions of MSBuild don't support it so
11422 use the older logic if necessary
11423 -->
11424 <PropertyGroup Condition="'$(MSBuildAssemblyVersion)' &lt; '15.0'">
11425 <_HasPackageReferenceItems Condition="'@(PackageReference)' != ''">true</_HasPackageReferenceItems>
11426 </PropertyGroup>
11427 <PropertyGroup Condition="'$(MSBuildAssemblyVersion)' &gt;= '15.0'">
11428 <_HasPackageReferenceItems Condition="@(PackageReference-&gt;Count()) &gt; 0">true</_HasPackageReferenceItems>
11429 </PropertyGroup>
11430 <GetRestoreProjectStyleTask HasPackageReferenceItems="$(_HasPackageReferenceItems)" MSBuildProjectDirectory="$(MSBuildProjectDirectory)" MSBuildProjectName="$(MSBuildProjectName)" RestoreProjectStyle="$(RestoreProjectStyle)">
11431 <Output TaskParameter="ProjectStyle" PropertyName="RestoreProjectStyle" />
11432 <Output TaskParameter="IsPackageReferenceCompatibleProjectStyle" PropertyName="PackageReferenceCompatibleProjectStyle" />
11433 </GetRestoreProjectStyleTask>
11434 <PropertyGroup>
11435 <_HasPackageReferenceItems />
11436 </PropertyGroup>
11437 </Target>
11438 <!--
11439 ============================================================
11440 EnableIntermediateOutputPathMismatchWarning
11441 If using PackageReference, enable an MSBuild warning if BaseIntermediateOutputPath is set to something different
11442 than MSBuildProjectExtensionsPath, because it may be unexpected that the assets and related files wouldn't be written
11443 to the BaseIntermediateOutputPath.
11444 ============================================================
11445 -->
11446 <Target Name="EnableIntermediateOutputPathMismatchWarning" DependsOnTargets="_GetRestoreProjectStyle" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(RestoreProjectStyle)' == 'PackageReference'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11447 <PropertyGroup Condition="'$(EnableBaseIntermediateOutputPathMismatchWarning)' == ''">
11448 <EnableBaseIntermediateOutputPathMismatchWarning>true</EnableBaseIntermediateOutputPathMismatchWarning>
11449 </PropertyGroup>
11450 </Target>
11451 <!--
11452 ============================================================
11453 _GetRestoreTargetFrameworksOutput
11454 Read target frameworks from the project.
11455 Non-NETCore project frameworks will be returned.
11456 ============================================================
11457 -->
11458 <Target Name="_GetRestoreTargetFrameworksOutput" DependsOnTargets="_GetRestoreProjectStyle;_GetRestoreTargetFrameworkOverride" Returns="@(_RestoreTargetFrameworksOutputFiltered)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11459 <PropertyGroup>
11460 <_RestoreProjectFramework />
11461 <_TargetFrameworkToBeUsed Condition=" '$(_TargetFrameworkOverride)' == '' ">$(TargetFrameworks)</_TargetFrameworkToBeUsed>
11462 </PropertyGroup>
11463 <GetProjectTargetFrameworksTask Condition=" '$(RestoreProjectStyle)' != 'ProjectJson'" ProjectPath="$(MSBuildProjectFullPath)" TargetFrameworks="$(_TargetFrameworkToBeUsed)" TargetFramework="$(TargetFramework)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformMinVersion="$(TargetPlatformMinVersion)">
11464 <Output TaskParameter="ProjectTargetFrameworks" PropertyName="_RestoreProjectFramework" />
11465 </GetProjectTargetFrameworksTask>
11466 <ItemGroup Condition=" '$(_RestoreProjectFramework)' != '' ">
11467 <_RestoreTargetFrameworksOutputFiltered Include="$(_RestoreProjectFramework.Split(';'))" />
11468 </ItemGroup>
11469 </Target>
11470 <!--
11471 ============================================================
11472 _GetRestoreTargetFrameworksAsItems
11473 Read $(TargetFrameworks) from the project as items.
11474 Projects that do not have $(TargetFrameworks) will noop.
11475 If $(TargetFramework) is specified globally, it'll be preferred over $(TargetFrameworks)
11476 ============================================================
11477 -->
11478 <Target Name="_GetRestoreTargetFrameworksAsItems" DependsOnTargets="_GetRestoreProjectStyle;_GetRestoreTargetFrameworkOverride" Returns="@(_RestoreTargetFrameworkItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11479 <ItemGroup Condition=" '$(TargetFrameworks)' != '' AND '$(_TargetFrameworkOverride)' == '' ">
11480 <_RestoreTargetFrameworkItems Include="$(TargetFrameworks.Split(';'))" />
11481 </ItemGroup>
11482 <ItemGroup Condition=" '$(TargetFrameworks)' != '' AND '$(_TargetFrameworkOverride)' != '' ">
11483 <_RestoreTargetFrameworkItems Include="$(_TargetFrameworkOverride)" />
11484 </ItemGroup>
11485 </Target>
11486 <!--
11487 ============================================================
11488 _GetRestoreSettings
11489 ============================================================
11490 -->
11491 <Target Name="_GetRestoreSettings" Condition=" '$(RestoreProjectStyle)' == 'PackageReference' OR '$(RestoreProjectStyle)' == 'ProjectJson' OR '$(RestoreProjectStyle)' == 'DotnetToolReference' OR '$(RestoreProjectStyle)' == 'PackagesConfig'" DependsOnTargets="_GetRestoreSettingsOverrides;_GetRestoreSettingsCurrentProject;_GetRestoreSettingsAllFrameworks" Returns="$(_OutputSources);$(_OutputPackagesPath);$(_OutputRepositoryPath);$(_OutputFallbackFolders);$(_OutputConfigFilePaths)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11492 <PropertyGroup Condition=" '$(RestoreSolutionDirectory)' == '' AND '$(RestoreProjectStyle)' == 'PackagesConfig' AND '$(SolutionDir)' != '*Undefined*'">
11493 <RestoreSolutionDirectory>$(SolutionDir)</RestoreSolutionDirectory>
11494 </PropertyGroup>
11495 <!-- For transitive project styles, we rely on evaluating all the settings and including them in the dg spec to faciliate no-op restore-->
11496 <GetRestoreSettingsTask ProjectUniqueName="$(MSBuildProjectFullPath)" RestoreSources="$(RestoreSources)" RestorePackagesPath="$(RestorePackagesPath)" RestoreRepositoryPath="$(RestoreRepositoryPath)" RestoreFallbackFolders="$(RestoreFallbackFolders)" RestoreConfigFile="$(RestoreConfigFile)" RestoreRootConfigDirectory="$(RestoreRootConfigDirectory)" RestoreSolutionDirectory="$(RestoreSolutionDirectory)" RestoreSettingsPerFramework="@(_RestoreSettingsPerFramework)" RestorePackagesPathOverride="$(_RestorePackagesPathOverride)" RestoreRepositoryPathOverride="$(_RestoreRepositoryPathOverride)" RestoreSourcesOverride="$(_RestoreSourcesOverride)" RestoreFallbackFoldersOverride="$(_RestoreFallbackFoldersOverride)" RestoreProjectStyle="$(RestoreProjectStyle)" MSBuildStartupDirectory="$(MSBuildStartupDirectory)">
11497 <Output TaskParameter="OutputSources" PropertyName="_OutputSources" />
11498 <Output TaskParameter="OutputPackagesPath" PropertyName="_OutputPackagesPath" />
11499 <Output TaskParameter="OutputRepositoryPath" PropertyName="_OutputRepositoryPath" />
11500 <Output TaskParameter="OutputFallbackFolders" PropertyName="_OutputFallbackFolders" />
11501 <Output TaskParameter="OutputConfigFilePaths" PropertyName="_OutputConfigFilePaths" />
11502 </GetRestoreSettingsTask>
11503 </Target>
11504 <!--
11505 ============================================================
11506 _GetRestoreSettingsCurrentProject
11507 Generate items for a single framework.
11508 ============================================================
11509 -->
11510 <Target Name="_GetRestoreSettingsCurrentProject" Condition=" '$(TargetFrameworks)' == '' AND '$(PackageReferenceCompatibleProjectStyle)' == 'true' " DependsOnTargets="_GetRestoreSettingsPerFramework" Returns="@(_RestoreSettingsPerFramework)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11511 <!--
11512 ============================================================
11513 _GetRestoreSettingsAllFrameworks
11514 Generate items for all frameworks.
11515 ============================================================
11516 -->
11517 <Target Name="_GetRestoreSettingsAllFrameworks" Condition=" '$(TargetFrameworks)' != '' AND '$(PackageReferenceCompatibleProjectStyle)' == 'true' " DependsOnTargets="_GetRestoreTargetFrameworksAsItems;_GetRestoreProjectStyle" Returns="@(_RestoreSettingsPerFramework)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11518 <!-- Read additional sources and fallback folders for each framework -->
11519 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Projects="$(MSBuildProjectFullPath)" Targets="_GetRestoreSettingsPerFramework" Properties="TargetFramework=%(_RestoreTargetFrameworkItems.Identity);&#xD;&#xA; $(_GenerateRestoreGraphProjectEntryInputProperties)">
11520 <Output TaskParameter="TargetOutputs" ItemName="_RestoreSettingsPerFramework" />
11521 </MSBuild>
11522 </Target>
11523 <!--
11524 ============================================================
11525 _GetRestoreSettingsPerFramework
11526 Generate items with framework specific settings.
11527 ============================================================
11528 -->
11529 <Target Name="_GetRestoreSettingsPerFramework" Returns="@(_RestoreSettingsPerFramework)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11530 <ItemGroup>
11531 <_RestoreSettingsPerFramework Include="$([System.Guid]::NewGuid())">
11532 <RestoreAdditionalProjectSources>$(RestoreAdditionalProjectSources)</RestoreAdditionalProjectSources>
11533 <RestoreAdditionalProjectFallbackFolders>$(RestoreAdditionalProjectFallbackFolders)</RestoreAdditionalProjectFallbackFolders>
11534 <RestoreAdditionalProjectFallbackFoldersExcludes>$(RestoreAdditionalProjectFallbackFoldersExcludes)</RestoreAdditionalProjectFallbackFoldersExcludes>
11535 </_RestoreSettingsPerFramework>
11536 </ItemGroup>
11537 </Target>
11538 <!--
11539 ============================================================
11540 _GenerateRestoreProjectSpec
11541 Generate a restore project spec for the current project.
11542 ============================================================
11543 -->
11544 <Target Name="_GenerateRestoreProjectSpec" DependsOnTargets="_GetRestoreProjectStyle;_GetRestoreTargetFrameworksOutput;_GetRestoreSettings" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11545 <!-- Determine the restore output path -->
11546 <PropertyGroup Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' OR '$(RestoreProjectStyle)' == 'ProjectJson' ">
11547 <RestoreOutputPath Condition=" '$(RestoreOutputPath)' == '' ">$(MSBuildProjectExtensionsPath)</RestoreOutputPath>
11548 </PropertyGroup>
11549 <ConvertToAbsolutePath Paths="$(RestoreOutputPath)" Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' OR '$(RestoreProjectStyle)' == 'ProjectJson'">
11550 <Output TaskParameter="AbsolutePaths" PropertyName="RestoreOutputAbsolutePath" />
11551 </ConvertToAbsolutePath>
11552 <!--
11553 Determine project name for the assets file.
11554 Highest priority: PackageId
11555 If PackageId does not exist use: AssemblyName
11556 If AssemblyName does not exist fallback to the project file name without the extension: $(MSBuildProjectName)
11557
11558 For non-PackageReference projects use only: $(MSBuildProjectName)
11559 -->
11560 <PropertyGroup>
11561 <_RestoreProjectName>$(MSBuildProjectName)</_RestoreProjectName>
11562 <_RestoreProjectName Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' AND '$(AssemblyName)' != '' ">$(AssemblyName)</_RestoreProjectName>
11563 <_RestoreProjectName Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' AND '$(PackageId)' != '' ">$(PackageId)</_RestoreProjectName>
11564 </PropertyGroup>
11565 <!--
11566 Determine project version for .NETCore projects
11567 Default to 1.0.0
11568 Use Version if it exists
11569 Override with PackageVersion if it exists (same as pack)
11570 -->
11571 <PropertyGroup Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' ">
11572 <_RestoreProjectVersion>1.0.0</_RestoreProjectVersion>
11573 <_RestoreProjectVersion Condition=" '$(Version)' != '' ">$(Version)</_RestoreProjectVersion>
11574 <_RestoreProjectVersion Condition=" '$(PackageVersion)' != '' ">$(PackageVersion)</_RestoreProjectVersion>
11575 </PropertyGroup>
11576 <!-- Determine if this will use cross targeting -->
11577 <PropertyGroup Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' AND '$(TargetFrameworks)' != '' ">
11578 <_RestoreCrossTargeting>true</_RestoreCrossTargeting>
11579 </PropertyGroup>
11580 <!-- Determine if ContentFiles should be written by NuGet -->
11581 <PropertyGroup Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' AND '$(_RestoreSkipContentFileWrite)' == '' ">
11582 <_RestoreSkipContentFileWrite Condition=" '$(TargetFrameworks)' == '' AND '$(TargetFramework)' == '' ">true</_RestoreSkipContentFileWrite>
11583 </PropertyGroup>
11584 <!-- Write properties for the top level entry point -->
11585 <ItemGroup Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' ">
11586 <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())">
11587 <Type>ProjectSpec</Type>
11588 <Version>$(_RestoreProjectVersion)</Version>
11589 <ProjectUniqueName>$(MSBuildProjectFullPath)</ProjectUniqueName>
11590 <ProjectPath>$(MSBuildProjectFullPath)</ProjectPath>
11591 <ProjectName>$(_RestoreProjectName)</ProjectName>
11592 <Sources>$(_OutputSources)</Sources>
11593 <FallbackFolders>$(_OutputFallbackFolders)</FallbackFolders>
11594 <PackagesPath>$(_OutputPackagesPath)</PackagesPath>
11595 <ProjectStyle>$(RestoreProjectStyle)</ProjectStyle>
11596 <OutputPath>$(RestoreOutputAbsolutePath)</OutputPath>
11597 <RuntimeIdentifiers>$(RuntimeIdentifiers);$(RuntimeIdentifier)</RuntimeIdentifiers>
11598 <RuntimeSupports>$(RuntimeSupports)</RuntimeSupports>
11599 <CrossTargeting>$(_RestoreCrossTargeting)</CrossTargeting>
11600 <RestoreLegacyPackagesDirectory>$(RestoreLegacyPackagesDirectory)</RestoreLegacyPackagesDirectory>
11601 <ValidateRuntimeAssets>$(ValidateRuntimeIdentifierCompatibility)</ValidateRuntimeAssets>
11602 <SkipContentFileWrite>$(_RestoreSkipContentFileWrite)</SkipContentFileWrite>
11603 <ConfigFilePaths>$(_OutputConfigFilePaths)</ConfigFilePaths>
11604 <TreatWarningsAsErrors>$(TreatWarningsAsErrors)</TreatWarningsAsErrors>
11605 <WarningsAsErrors>$(WarningsAsErrors)</WarningsAsErrors>
11606 <WarningsNotAsErrors>$(WarningsNotAsErrors)</WarningsNotAsErrors>
11607 <NoWarn>$(NoWarn)</NoWarn>
11608 <RestorePackagesWithLockFile>$(RestorePackagesWithLockFile)</RestorePackagesWithLockFile>
11609 <NuGetLockFilePath>$(NuGetLockFilePath)</NuGetLockFilePath>
11610 <RestoreLockedMode>$(RestoreLockedMode)</RestoreLockedMode>
11611 <_CentralPackageVersionsEnabled>$(_CentralPackageVersionsEnabled)</_CentralPackageVersionsEnabled>
11612 <CentralPackageFloatingVersionsEnabled>$(CentralPackageFloatingVersionsEnabled)</CentralPackageFloatingVersionsEnabled>
11613 <CentralPackageVersionOverrideEnabled>$(CentralPackageVersionOverrideEnabled)</CentralPackageVersionOverrideEnabled>
11614 <CentralPackageTransitivePinningEnabled>$(CentralPackageTransitivePinningEnabled)</CentralPackageTransitivePinningEnabled>
11615 <NuGetAudit>$(NuGetAudit)</NuGetAudit>
11616 <NuGetAuditLevel>$(NuGetAuditLevel)</NuGetAuditLevel>
11617 <NuGetAuditMode>$(NuGetAuditMode)</NuGetAuditMode>
11618 <SdkAnalysisLevel>$(SdkAnalysisLevel)</SdkAnalysisLevel>
11619 <UsingMicrosoftNETSdk>$(UsingMicrosoftNETSdk)</UsingMicrosoftNETSdk>
11620 <RestoreUseLegacyDependencyResolver>$(RestoreUseLegacyDependencyResolver)</RestoreUseLegacyDependencyResolver>
11621 </_RestoreGraphEntry>
11622 </ItemGroup>
11623 <!-- Use packages.config -->
11624 <ItemGroup Condition=" '$(RestoreProjectStyle)' == 'PackagesConfig' ">
11625 <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())">
11626 <Type>ProjectSpec</Type>
11627 <ProjectUniqueName>$(MSBuildProjectFullPath)</ProjectUniqueName>
11628 <ProjectPath>$(MSBuildProjectFullPath)</ProjectPath>
11629 <ProjectName>$(_RestoreProjectName)</ProjectName>
11630 <ProjectStyle>$(RestoreProjectStyle)</ProjectStyle>
11631 <PackagesConfigPath Condition="Exists('$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config')">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config</PackagesConfigPath>
11632 <PackagesConfigPath Condition="Exists('$(MSBuildProjectDirectory)\packages.config')">$(MSBuildProjectDirectory)\packages.config</PackagesConfigPath>
11633 <RestorePackagesWithLockFile>$(RestorePackagesWithLockFile)</RestorePackagesWithLockFile>
11634 <NuGetLockFilePath>$(NuGetLockFilePath)</NuGetLockFilePath>
11635 <RestoreLockedMode>$(RestoreLockedMode)</RestoreLockedMode>
11636 <Sources>$(_OutputSources)</Sources>
11637 <SolutionDir>$(SolutionDir)</SolutionDir>
11638 <RepositoryPath>$(_OutputRepositoryPath)</RepositoryPath>
11639 <ConfigFilePaths>$(_OutputConfigFilePaths)</ConfigFilePaths>
11640 <PackagesPath>$(_OutputPackagesPath)</PackagesPath>
11641 <TargetFrameworks>@(_RestoreTargetFrameworksOutputFiltered)</TargetFrameworks>
11642 <NuGetAudit>$(NuGetAudit)</NuGetAudit>
11643 <NuGetAuditLevel>$(NuGetAuditLevel)</NuGetAuditLevel>
11644 </_RestoreGraphEntry>
11645 </ItemGroup>
11646 <!-- Non-NuGet type -->
11647 <ItemGroup Condition=" '$(RestoreProjectStyle)' == 'Unknown' ">
11648 <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())">
11649 <Type>ProjectSpec</Type>
11650 <ProjectUniqueName>$(MSBuildProjectFullPath)</ProjectUniqueName>
11651 <ProjectPath>$(MSBuildProjectFullPath)</ProjectPath>
11652 <ProjectName>$(_RestoreProjectName)</ProjectName>
11653 <ProjectStyle>$(RestoreProjectStyle)</ProjectStyle>
11654 <TargetFrameworks>@(_RestoreTargetFrameworksOutputFiltered)</TargetFrameworks>
11655 </_RestoreGraphEntry>
11656 </ItemGroup>
11657 </Target>
11658 <!--
11659 ============================================================
11660 _GenerateProjectRestoreGraph
11661 Recursively walk project to project references.
11662 ============================================================
11663 -->
11664 <Target Name="_GenerateProjectRestoreGraph" DependsOnTargets="&#xD;&#xA; _GetRestoreProjectStyle;&#xD;&#xA; _GenerateRestoreProjectSpec;&#xD;&#xA; _GenerateRestoreDependencies" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11665 <!-- Output from dependency targets -->
11666 </Target>
11667 <!--
11668 ============================================================
11669 _GenerateRestoreDependencies
11670 Generate items for package and project references.
11671 ============================================================
11672 -->
11673 <Target Name="_GenerateRestoreDependencies" DependsOnTargets="_GenerateProjectRestoreGraphAllFrameworks;_GenerateProjectRestoreGraphCurrentProject" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11674 <!--
11675 ============================================================
11676 _GenerateProjectRestoreGraphAllFrameworks
11677 Walk dependencies for all frameworks.
11678 ============================================================
11679 -->
11680 <Target Name="_GenerateProjectRestoreGraphAllFrameworks" Condition=" '$(TargetFrameworks)' != '' " DependsOnTargets="_GetRestoreTargetFrameworksAsItems" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11681 <!-- Get project and package references -->
11682 <!-- Evaluate for each framework -->
11683 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Projects="$(MSBuildProjectFullPath)" Targets="_GenerateProjectRestoreGraphPerFramework" Properties="TargetFramework=%(_RestoreTargetFrameworkItems.Identity);&#xD;&#xA; $(_GenerateRestoreGraphProjectEntryInputProperties)">
11684 <Output TaskParameter="TargetOutputs" ItemName="_RestoreGraphEntry" />
11685 </MSBuild>
11686 </Target>
11687 <!--
11688 ============================================================
11689 _GenerateProjectRestoreGraphCurrentProject
11690 Walk dependencies with the current framework.
11691 ============================================================
11692 -->
11693 <Target Name="_GenerateProjectRestoreGraphCurrentProject" Condition=" '$(TargetFrameworks)' == '' " DependsOnTargets="_GenerateProjectRestoreGraphPerFramework" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11694 <!--
11695 ============================================================
11696 _GenerateProjectRestoreGraphPerFramework
11697 Walk dependencies using $(TargetFramework)
11698 ============================================================
11699 -->
11700 <Target Name="_GenerateProjectRestoreGraphPerFramework" DependsOnTargets="_GetRestoreProjectStyle;_CollectRestoreInputs" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11701 <!-- Write out project references -->
11702 <GetRestoreProjectReferencesTask ProjectUniqueName="$(MSBuildProjectFullPath)" ProjectReferences="@(ProjectReference)" TargetFrameworks="$(TargetFramework)" ParentProjectPath="$(MSBuildProjectFullPath)">
11703 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
11704 </GetRestoreProjectReferencesTask>
11705 <!-- Write out package references-->
11706 <GetRestorePackageReferencesTask Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' " ProjectUniqueName="$(MSBuildProjectFullPath)" PackageReferences="@(PackageReference)" TargetFrameworks="$(TargetFramework)">
11707 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
11708 </GetRestorePackageReferencesTask>
11709 <!-- Write out central package versions -->
11710 <GetCentralPackageVersionsTask Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' AND '$(_CentralPackageVersionsEnabled)' == 'true' " ProjectUniqueName="$(MSBuildProjectFullPath)" CentralPackageVersions="@(PackageVersion)" TargetFrameworks="$(TargetFramework)">
11711 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
11712 </GetCentralPackageVersionsTask>
11713 <!-- Write out package downloads -->
11714 <GetRestorePackageDownloadsTask Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' " ProjectUniqueName="$(MSBuildProjectFullPath)" PackageDownloads="@(PackageDownload)" TargetFrameworks="$(TargetFramework)">
11715 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
11716 </GetRestorePackageDownloadsTask>
11717 <!-- Write out Framework References-->
11718 <GetRestoreFrameworkReferencesTask Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' " ProjectUniqueName="$(MSBuildProjectFullPath)" FrameworkReferences="@(FrameworkReference)" TargetFrameworks="$(TargetFramework)">
11719 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
11720 </GetRestoreFrameworkReferencesTask>
11721 <!-- Write out advisory suppressions-->
11722 <GetRestoreNuGetAuditSuppressionsTask ProjectUniqueName="$(MSBuildProjectFullPath)" NuGetAuditSuppressions="@(NuGetAuditSuppress)" TargetFrameworks="$(TargetFramework)">
11723 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
11724 </GetRestoreNuGetAuditSuppressionsTask>
11725 <!-- Write out pruned package references-->
11726 <GetRestorePrunePackageReferencesTask ProjectUniqueName="$(MSBuildProjectFullPath)" PrunePackageReferences="@(PrunePackageReference)" TargetFrameworks="$(TargetFramework)">
11727 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
11728 </GetRestorePrunePackageReferencesTask>
11729 <!-- Write out target framework information -->
11730 <ItemGroup Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true'">
11731 <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())">
11732 <Type>TargetFrameworkInformation</Type>
11733 <ProjectUniqueName>$(MSBuildProjectFullPath)</ProjectUniqueName>
11734 <PackageTargetFallback>$(PackageTargetFallback)</PackageTargetFallback>
11735 <AssetTargetFallback>$(AssetTargetFallback)</AssetTargetFallback>
11736 <TargetFramework>$(TargetFramework)</TargetFramework>
11737 <TargetFrameworkIdentifier>$(TargetFrameworkIdentifier)</TargetFrameworkIdentifier>
11738 <TargetFrameworkVersion>$(TargetFrameworkVersion)</TargetFrameworkVersion>
11739 <TargetFrameworkMoniker>$(TargetFrameworkMoniker)</TargetFrameworkMoniker>
11740 <TargetFrameworkProfile>$(TargetFrameworkProfile)</TargetFrameworkProfile>
11741 <TargetPlatformMoniker>$(TargetPlatformMoniker)</TargetPlatformMoniker>
11742 <TargetPlatformIdentifier>$(TargetPlatformIdentifier)</TargetPlatformIdentifier>
11743 <TargetPlatformVersion>$(TargetPlatformVersion)</TargetPlatformVersion>
11744 <TargetPlatformMinVersion>$(TargetPlatformMinVersion)</TargetPlatformMinVersion>
11745 <CLRSupport>$(CLRSupport)</CLRSupport>
11746 <RuntimeIdentifierGraphPath>$(RuntimeIdentifierGraphPath)</RuntimeIdentifierGraphPath>
11747 <WindowsTargetPlatformMinVersion>$(WindowsTargetPlatformMinVersion)</WindowsTargetPlatformMinVersion>
11748 <RestoreEnablePackagePruning>$(RestoreEnablePackagePruning)</RestoreEnablePackagePruning>
11749 <RestorePackagePruningDefault>$(RestorePackagePruningDefault)</RestorePackagePruningDefault>
11750 <NuGetAuditMode>$(NuGetAuditMode)</NuGetAuditMode>
11751 </_RestoreGraphEntry>
11752 </ItemGroup>
11753 </Target>
11754 <!--
11755 ============================================================
11756 _GenerateRestoreProjectPathItemsCurrentProject
11757 Get absolute paths for all project references.
11758 ============================================================
11759 -->
11760 <Target Name="_GenerateRestoreProjectPathItemsCurrentProject" Condition=" '$(TargetFrameworks)' == '' " DependsOnTargets="_GenerateRestoreProjectPathItemsPerFramework" Returns="@(_RestoreProjectPathItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11761 <!--
11762 ============================================================
11763 _GenerateRestoreProjectPathItemsPerFramework
11764 Get absolute paths for all project references.
11765 ============================================================
11766 -->
11767 <Target Name="_GenerateRestoreProjectPathItemsPerFramework" Returns="@(_RestoreProjectPathItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11768 <!-- Get the absolute paths to all projects -->
11769 <ConvertToAbsolutePath Paths="@(ProjectReference)">
11770 <Output TaskParameter="AbsolutePaths" PropertyName="_RestoreGraphAbsoluteProjectPaths" />
11771 </ConvertToAbsolutePath>
11772 <ItemGroup>
11773 <_RestoreProjectPathItems Include="$(_RestoreGraphAbsoluteProjectPaths)" />
11774 </ItemGroup>
11775 </Target>
11776 <!--
11777 ============================================================
11778 _GenerateRestoreProjectPathItems
11779 Get all project references regardless of framework
11780 ============================================================
11781 -->
11782 <Target Name="_GenerateRestoreProjectPathItems" DependsOnTargets="_GenerateRestoreProjectPathItemsAllFrameworks;_GenerateRestoreProjectPathItemsCurrentProject" Returns="@(_CurrentRestoreProjectPathItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11783 <!-- Drop any duplicate items -->
11784 <RemoveDuplicates Inputs="@(_RestoreProjectPathItems)">
11785 <Output TaskParameter="Filtered" ItemName="_CurrentRestoreProjectPathItems" />
11786 </RemoveDuplicates>
11787 </Target>
11788 <!--
11789 ============================================================
11790 _GenerateRestoreProjectPathItemsAllFrameworks
11791 Get all project references regardless of framework
11792 ============================================================
11793 -->
11794 <Target Name="_GenerateRestoreProjectPathItemsAllFrameworks" Condition=" '$(TargetFrameworks)' != '' " DependsOnTargets="_GetRestoreTargetFrameworksAsItems" Returns="@(_RestoreProjectPathItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11795 <!-- Get all project references for the current project -->
11796 <!-- With SkipNonexistentTargets support -->
11797 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' == 'true' " BuildInParallel="$(RestoreBuildInParallel)" Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRestoreProjectPathItemsPerFramework" SkipNonexistentTargets="true" SkipNonexistentProjects="true" Properties="TargetFramework=%(_RestoreTargetFrameworkItems.Identity);&#xD;&#xA; $(_GenerateRestoreGraphProjectEntryInputProperties)">
11798 <Output TaskParameter="TargetOutputs" ItemName="_RestoreProjectPathItems" />
11799 </MSBuild>
11800 <!-- Without SkipNonexistentTargets support -->
11801 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' != 'true' " Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRestoreProjectPathItemsPerFramework" ContinueOnError="$(RestoreContinueOnError)" Properties="TargetFramework=%(_RestoreTargetFrameworkItems.Identity);&#xD;&#xA; $(_GenerateRestoreGraphProjectEntryInputProperties)">
11802 <Output TaskParameter="TargetOutputs" ItemName="_RestoreProjectPathItems" />
11803 </MSBuild>
11804 </Target>
11805 <!--
11806 ============================================================
11807 _GenerateRestoreProjectPathWalk
11808 Recursively walk projects
11809 ============================================================
11810 -->
11811 <Target Name="_GenerateRestoreProjectPathWalk" DependsOnTargets="_GenerateRestoreProjectPathItems" Returns="@(_RestoreProjectPathItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11812 <!-- Walk project references -->
11813 <!-- With SkipNonexistentTargets -->
11814 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' == 'true' " BuildInParallel="$(RestoreBuildInParallel)" Projects="@(_CurrentRestoreProjectPathItems)" Targets="_GenerateRestoreProjectPathWalk" SkipNonexistentTargets="true" SkipNonexistentProjects="true" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
11815 <Output TaskParameter="TargetOutputs" ItemName="_GenerateRestoreProjectPathWalkOutputs" />
11816 </MSBuild>
11817 <!-- Without SkipNonexistentTargets -->
11818 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' != 'true' " Projects="@(_CurrentRestoreProjectPathItems)" Targets="_GenerateRestoreProjectPathWalk" ContinueOnError="$(RestoreContinueOnError)" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
11819 <Output TaskParameter="TargetOutputs" ItemName="_GenerateRestoreProjectPathWalkOutputs" />
11820 </MSBuild>
11821 <!-- Include the current project in the result -->
11822 <ItemGroup>
11823 <_GenerateRestoreProjectPathWalkOutputs Include="$(MSBuildProjectFullPath)" />
11824 </ItemGroup>
11825 <!-- Remove duplicates -->
11826 <RemoveDuplicates Inputs="@(_GenerateRestoreProjectPathWalkOutputs)">
11827 <Output TaskParameter="Filtered" ItemName="_RestoreProjectPathItems" />
11828 </RemoveDuplicates>
11829 </Target>
11830 <!--
11831 ============================================================
11832 _GetAllRestoreProjectPathItems
11833 Get the full list of known projects.
11834 This includes all child projects from all target frameworks.
11835 ============================================================
11836 -->
11837 <Target Name="_GetAllRestoreProjectPathItems" DependsOnTargets="_FilterRestoreGraphProjectInputItems" Returns="@(_RestoreProjectPathItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11838 <NuGetMessageTask Name="DeterminingProjectsToRestore" Importance="High" />
11839 <!-- Walk projects -->
11840 <!-- With SkipNonexistentTargets -->
11841 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' == 'true' " BuildInParallel="$(RestoreBuildInParallel)" Projects="@(FilteredRestoreGraphProjectInputItems)" Targets="_GenerateRestoreProjectPathWalk" SkipNonexistentTargets="true" SkipNonexistentProjects="true" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
11842 <Output TaskParameter="TargetOutputs" ItemName="_RestoreProjectPathItemsOutputs" />
11843 </MSBuild>
11844 <!-- Without SkipNonexistentTargets -->
11845 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' != 'true' " Projects="@(FilteredRestoreGraphProjectInputItems)" Targets="_GenerateRestoreProjectPathWalk" ContinueOnError="$(RestoreContinueOnError)" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
11846 <Output TaskParameter="TargetOutputs" ItemName="_RestoreProjectPathItemsOutputs" />
11847 </MSBuild>
11848 <!-- Remove duplicates -->
11849 <RemoveDuplicates Inputs="@(_RestoreProjectPathItemsOutputs)">
11850 <Output TaskParameter="Filtered" ItemName="_RestoreProjectPathItemsWithoutDupes" />
11851 </RemoveDuplicates>
11852 <!-- Remove projects that do not support restore. -->
11853 <!-- With SkipNonexistentTargets -->
11854 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' == 'true' " BuildInParallel="$(RestoreBuildInParallel)" Projects="@(_RestoreProjectPathItemsWithoutDupes)" Targets="_IsProjectRestoreSupported" SkipNonexistentTargets="true" SkipNonexistentProjects="true" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
11855 <Output TaskParameter="TargetOutputs" ItemName="_RestoreProjectPathItems" />
11856 </MSBuild>
11857 <!-- Without SkipNonexistentTargets -->
11858 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' != 'true' " Projects="@(_RestoreProjectPathItemsWithoutDupes)" Targets="_IsProjectRestoreSupported" ContinueOnError="$(RestoreContinueOnError)" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
11859 <Output TaskParameter="TargetOutputs" ItemName="_RestoreProjectPathItems" />
11860 </MSBuild>
11861 </Target>
11862 <!--
11863 ============================================================
11864 _GetRestoreSettingsOverrides
11865 Get global property overrides that should be resolved
11866 against the current working directory instead of the project.
11867 This is done by calling into NuGet.targets in a new scope,
11868 project properties will not be returned by the calls below.
11869 ============================================================
11870 -->
11871 <Target Name="_GetRestoreSettingsOverrides" Returns="$(_RestorePackagesPathOverride);$(_RestoreRepositoryPathOverride);$(_RestoreSourcesOverride);$(_RestoreFallbackFoldersOverride)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11872 <!-- RestorePackagesPathOverride -->
11873 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Condition=" '$(RestorePackagesPath)' != '' " Projects="$(MSBuildThisFileFullPath)" Targets="_GetRestorePackagesPathOverride">
11874 <Output TaskParameter="TargetOutputs" PropertyName="_RestorePackagesPathOverride" />
11875 </MSBuild>
11876 <!-- RestoreRepositoryPathOverride -->
11877 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Condition=" '$(RestoreRepositoryPathOverride)' != '' " Projects="$(MSBuildThisFileFullPath)" Targets="_GetRestoreRepositoryPathOverride">
11878 <Output TaskParameter="TargetOutputs" PropertyName="_RestoreRepositoryPathOverride" />
11879 </MSBuild>
11880 <!-- RestoreSourcesOverride -->
11881 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Condition=" '$(RestoreSources)' != '' " Projects="$(MSBuildThisFileFullPath)" Targets="_GetRestoreSourcesOverride">
11882 <Output TaskParameter="TargetOutputs" PropertyName="_RestoreSourcesOverride" />
11883 </MSBuild>
11884 <!-- RestoreFallbackFoldersOverride -->
11885 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Condition=" '$(RestoreFallbackFolders)' != '' " Projects="$(MSBuildThisFileFullPath)" Targets="_GetRestoreFallbackFoldersOverride">
11886 <Output TaskParameter="TargetOutputs" PropertyName="_RestoreFallbackFoldersOverride" />
11887 </MSBuild>
11888 </Target>
11889 <!--
11890 ============================================================
11891 _GetRestorePackagesPathOverride
11892 ============================================================
11893 -->
11894 <Target Name="_GetRestorePackagesPathOverride" Returns="$(_RestorePackagesPathOverride)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11895 <PropertyGroup>
11896 <_RestorePackagesPathOverride>$(RestorePackagesPath)</_RestorePackagesPathOverride>
11897 </PropertyGroup>
11898 </Target>
11899 <!--
11900 ============================================================
11901 _GetRestoreRepositoryPathOverride
11902 ============================================================
11903 -->
11904 <Target Name="_GetRestoreRepositoryPathOverride" Returns="$(_RestoreRepositoryPathOverride)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11905 <PropertyGroup>
11906 <_RestorePackagesPathOverride>$(RestoreRepositoryPath)</_RestorePackagesPathOverride>
11907 </PropertyGroup>
11908 </Target>
11909 <!--
11910 ============================================================
11911 _GetRestoreSourcesOverride
11912 ============================================================
11913 -->
11914 <Target Name="_GetRestoreSourcesOverride" Returns="$(_RestoreSourcesOverride)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11915 <PropertyGroup>
11916 <_RestoreSourcesOverride>$(RestoreSources)</_RestoreSourcesOverride>
11917 </PropertyGroup>
11918 </Target>
11919 <!--
11920 ============================================================
11921 _GetRestoreFallbackFoldersOverride
11922 ============================================================
11923 -->
11924 <Target Name="_GetRestoreFallbackFoldersOverride" Returns="$(_RestoreFallbackFoldersOverride)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11925 <PropertyGroup>
11926 <_RestoreFallbackFoldersOverride>$(RestoreFallbackFolders)</_RestoreFallbackFoldersOverride>
11927 </PropertyGroup>
11928 </Target>
11929 <!--
11930 ============================================================
11931 _GetRestoreTargetFrameworkOverride
11932 ============================================================
11933 -->
11934 <Target Name="_GetRestoreTargetFrameworkOverride" Condition=" '$(_DisableNuGetRestoreTargetFrameworksOverride)' != 'true' " Returns="$(_TargetFrameworkOverride)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11935 <GetGlobalPropertyValueTask PropertyName="TargetFramework" Condition=" '$(TargetFrameworks)' != '' ">
11936 <Output TaskParameter="GlobalPropertyValue" PropertyName="_TargetFrameworkOverride" />
11937 </GetGlobalPropertyValueTask>
11938 <!-- Only set the override if TargetFrameworks has not been overriden as well. In that case, prefer it. -->
11939 </Target>
11940 <!--
11941 ============================================================
11942 _GetTargetFrameworkOverrides
11943 ============================================================
11944 -->
11945 <Target Name="_GetTargetFrameworkOverrides" Returns="$(_TargetFrameworkOverride)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11946 <PropertyGroup>
11947 <_TargetFrameworkOverride Condition=" '$(TargetFrameworks)' == '' ">$(TargetFramework)</_TargetFrameworkOverride>
11948 </PropertyGroup>
11949 </Target>
11950 <!--
11951 ============================================================
11952 _IsProjectRestoreSupported
11953 Verify restore targets exist in the project.
11954 ============================================================
11955 -->
11956 <Target Name="_IsProjectRestoreSupported" Returns="@(_ValidProjectsForRestore)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11957 <ItemGroup>
11958 <_ValidProjectsForRestore Include="$(MSBuildProjectFullPath)" />
11959 </ItemGroup>
11960 </Target>
11961 <!--
11962 ============================================================
11963 Import NuGet.RestoreEx.targets if the MSBuild property 'RestoreEnableStaticGraph'
11964 is 'true'. This file overrides the Restore target to use MSBuild Static Graph
11965 to load and evaluate projects which is much faster.
11966
11967 This feature is not supported for NuGet.exe scenarios and NuGet.RestoreEx.targets
11968 won't exist in that case.
11969 ============================================================
11970 -->
11971 <!--<Import Project="NuGet.RestoreEx.targets" Condition="'$(RestoreUseStaticGraphEvaluation)' == 'true' And Exists('NuGet.RestoreEx.targets')" />-->
11972 <!--
11973============================================================================================================================================
11974 </Import>
11975
11976C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
11977============================================================================================================================================
11978-->
11979 <!--<Import Project="$(CustomAfterMicrosoftCommonTargets)" Condition="'$(CustomAfterMicrosoftCommonTargets)' != '' and Exists('$(CustomAfterMicrosoftCommonTargets)')" />-->
11980 <!--
11981============================================================================================================================================
11982 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
11983
11984C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Containers.Tools.targets
11985============================================================================================================================================
11986-->
11987 <ItemGroup>
11988 <ProjectCapability Condition="'$(EnableSdkContainerDebugging)' == 'true'" Include="SdkContainerDebugging" />
11989 </ItemGroup>
11990 <ItemGroup Condition="'$(EnableSdkContainerDebugging)' == 'true' AND '$(BuildingInsideVisualStudio)' == 'true' AND '$(DockerIncludeDefaultImageLabels)' != 'false' AND '$(ContainerIncludeDefaultImageLabels)' != 'false'">
11991 <ContainerLabel Include="com.microsoft.created-by" Value="visual-studio" />
11992 <ContainerLabel Include="com.microsoft.visual-studio.project-name" Value="$(MSBuildProjectName)" />
11993 </ItemGroup>
11994 <Target Name="CallPublishContainerSdkContainerProfile" AfterTargets="Build" Condition="'$(EnableSdkContainerDebugging)' == 'true' AND '$(SdkContainerPublishOnBuild)' == 'true'" DependsOnTargets="Publish;PublishContainer" />
11995 <!--
11996============================================================================================================================================
11997 </Import>
11998============================================================================================================================================
11999-->
12000 <!--
12001============================================================================================================================================
12002 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
12003
12004C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Maui.Upgrade.targets
12005============================================================================================================================================
12006-->
12007 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12008 <_EnableXamlUpgradeAnalyzerInVs Condition="'$(UseMaui)' == 'true' and '$(DesignTimeBuild)' == 'true' and '$(BuildingInsideVisualStudio)' == 'true'">true</_EnableXamlUpgradeAnalyzerInVs>
12009 </PropertyGroup>
12010 <PropertyGroup Condition="'$(_EnableXamlUpgradeAnalyzerInVs)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12011 <_VSPrivateAssemblies>$(MSBuildThisFileDirectory)..\..\..\..\Common7\IDE\PrivateAssemblies</_VSPrivateAssemblies>
12012 <_VSXlsPackageRoot>$(MSBuildThisFileDirectory)..\..\..\..\Common7\IDE\CommonExtensions\Microsoft\XamlLanguageService</_VSXlsPackageRoot>
12013 </PropertyGroup>
12014 <ItemGroup Condition="'$(_EnableXamlUpgradeAnalyzerInVs)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12015 <Analyzer Include="$(_VSXlsPackageRoot)\Microsoft.VisualStudio.DesignTools.XamlUpgradeAssistant.dll" />
12016 <Analyzer Include="$(_VSPrivateAssemblies)\Microsoft.VisualStudio.DesignTools.XamlLanguageServiceBase.dll" />
12017 <Analyzer Include="$(_VSPrivateAssemblies)\Microsoft.VisualStudio.DesignTools.UtilityBase.dll" />
12018 <Analyzer Include="$(_VSPrivateAssemblies)\Microsoft.VisualStudio.DesignTools.Markup.dll" />
12019 <Analyzer Include="$(_VSPrivateAssemblies)\Microsoft.VisualStudio.DesignTools.DesignerContractBase.dll" />
12020 </ItemGroup>
12021 <!--
12022============================================================================================================================================
12023 </Import>
12024============================================================================================================================================
12025-->
12026 <!--
12027============================================================================================================================================
12028 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
12029
12030C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.DesktopBridge.ImportAfter.targets
12031============================================================================================================================================
12032-->
12033 <!--
12034***********************************************************************************************
12035Microsoft.DesktopBridge.ImportAfter.targets
12036
12037WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12038 created a backup copy. Incorrect changes to this file will make it
12039 impossible to load or build your projects from the command-line or the IDE.
12040
12041Copyright (C) Microsoft Corporation. All rights reserved.
12042***********************************************************************************************
12043-->
12044 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12045 <DesktopBridgeCommonTargets Condition="'$(DesktopBridgeCommonTargets)'==''">$(MSBuildExtensionsPath)\Microsoft\DesktopBridge\Microsoft.DesktopBridge.Common.targets</DesktopBridgeCommonTargets>
12046 </PropertyGroup>
12047 <!--
12048============================================================================================================================================
12049 <Import Project="$(DesktopBridgeCommonTargets)" Condition="Exists('$(DesktopBridgeCommonTargets)') and '$(SkipImportDesktopBridgeCommonTargets)' != 'true'">
12050
12051C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Microsoft\DesktopBridge\Microsoft.DesktopBridge.Common.targets
12052============================================================================================================================================
12053-->
12054 <!--
12055***********************************************************************************************
12056Microsoft.DesktopBridge.Common.targets
12057
12058WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12059 created a backup copy. Incorrect changes to this file will make it
12060 impossible to load or build your projects from the command-line or the IDE.
12061
12062Copyright (C) Microsoft Corporation. All rights reserved.
12063***********************************************************************************************
12064-->
12065 <PropertyGroup Condition="'$(DesktopBridgeSelfContained)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12066 <SelfContained>true</SelfContained>
12067 </PropertyGroup>
12068 <PropertyGroup Condition="'$(DesktopBridgeSelfContained)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12069 <RuntimeIdentifier Condition="'$(Platform)' == 'x86'">win-x86</RuntimeIdentifier>
12070 <RuntimeIdentifier Condition="'$(Platform)' == 'Win32'">win-x86</RuntimeIdentifier>
12071 <RuntimeIdentifier Condition="'$(Platform)' == 'AnyCPU'">win-x86</RuntimeIdentifier>
12072 <RuntimeIdentifier Condition="'$(Platform)' == 'Any CPU'">win-x86</RuntimeIdentifier>
12073 <RuntimeIdentifier Condition="'$(Platform)' == 'x64'">win-x64</RuntimeIdentifier>
12074 </PropertyGroup>
12075 <PropertyGroup Condition="'$(DesktopBridgeSelfContained)' == 'true' AND '$(DesktopBridgeIdentifier)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12076 <RuntimeIdentifier>$(DesktopBridgeIdentifier)</RuntimeIdentifier>
12077 </PropertyGroup>
12078 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12079 <DesktopBridgeOutputGroupsDependsOn>
12080 $(DesktopBridgeOutputGroupsDependsOn);
12081 BuildOnlySettings;
12082 PrepareForBuild;
12083 AssignTargetPaths;
12084 ResolveReferences
12085 </DesktopBridgeOutputGroupsDependsOn>
12086 </PropertyGroup>
12087 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12088 <DesktopBridgeCopyLocalOutputGroupDependsOn>
12089 $(DesktopBridgeOutputGroupsDependsOn);
12090 $(DesktopBridgeCopyLocalOutputGroupDependsOn);
12091 </DesktopBridgeCopyLocalOutputGroupDependsOn>
12092 </PropertyGroup>
12093 <Target Name="DesktopBridgeCopyLocalOutputGroup" DependsOnTargets="$(DesktopBridgeCopyLocalOutputGroupDependsOn)" Returns="@(DesktopBridgeCopyLocalOutputGroupOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12094 <ItemGroup>
12095 <DesktopBridgeCopyLocalOutputGroupOutput Include="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.Extension)' != '.xml'">
12096 <TargetPath>%(ReferenceCopyLocalPaths.DestinationSubDirectory)%(ReferenceCopyLocalPaths.Filename)%(ReferenceCopyLocalPaths.Extension)</TargetPath>
12097 </DesktopBridgeCopyLocalOutputGroupOutput>
12098 </ItemGroup>
12099 </Target>
12100 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12101 <DesktopBridgeComFilesOutputGroupDependsOn>
12102 $(DesktopBridgeOutputGroupsDependsOn)
12103 $(DesktopBridgeComFilesOutputGroupDependsOn);
12104 </DesktopBridgeComFilesOutputGroupDependsOn>
12105 </PropertyGroup>
12106 <Target Name="DesktopBridgeComFilesOutputGroup" DependsOnTargets="$(DesktopBridgeComFilesOutputGroupDependsOn)" Returns="@(DesktopBridgeComFilesOutputGroupOutputs)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12107 <ItemGroup>
12108 <DesktopBridgeComFilesOutputGroupOutputs Include="@(ReferenceComWrappersToCopyLocal)">
12109 <TargetPath>%(ReferenceComWrappersToCopyLocal.Filename)%(ReferenceComWrappersToCopyLocal.Extension)</TargetPath>
12110 </DesktopBridgeComFilesOutputGroupOutputs>
12111 <DesktopBridgeComFilesOutputGroupOutputs Include="@(ResolvedIsolatedComModules)">
12112 <TargetPath>%(ResolvedIsolatedComModules.Filename)%(ResolvedIsolatedComModules.Extension)</TargetPath>
12113 </DesktopBridgeComFilesOutputGroupOutputs>
12114 <DesktopBridgeComFilesOutputGroupOutputs Include="@(NativeReferenceFile)">
12115 <TargetPath>%(NativeReferenceFile.Filename)%(NativeReferenceFile.Extension)</TargetPath>
12116 </DesktopBridgeComFilesOutputGroupOutputs>
12117 </ItemGroup>
12118 </Target>
12119 <PropertyGroup Condition="'$(_WapBuildingInsideVisualStudio)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12120 <CoreCompileDependsOn>
12121 $(CoreCompileDependsOn);
12122 _WapComputeNonExistentFileProperty
12123 </CoreCompileDependsOn>
12124 </PropertyGroup>
12125 <!-- When building inside VisualStudio the CoreCompile task always gets run, this target is to replicate that behavior since we set 'BuildingInsideVisualStudio' to false -->
12126 <Target Name="_WapComputeNonExistentFileProperty" Condition="('$(BuildingOutOfProcess)' != 'true') and (('$(BuildingProject)' == 'false') or ('$(UseHostCompilerIfAvailable)' == 'true'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12127 <PropertyGroup>
12128 <NonExistentFile>__NonExistentSubDir__\__NonExistentFile__</NonExistentFile>
12129 </PropertyGroup>
12130 </Target>
12131 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12132 <DesktopBridgePublishItemsOutputGroupDependsOn>
12133 $(DesktopBridgeOutputGroupsDependsOn);
12134 $(DesktopBridgePublishItemsOutputGroupDependsOn);
12135 PublishItemsOutputGroup
12136 </DesktopBridgePublishItemsOutputGroupDependsOn>
12137 </PropertyGroup>
12138 <Target Name="DesktopBridgePublishItemsOutputGroup" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" DependsOnTargets="$(DesktopBridgePublishItemsOutputGroupDependsOn)" Returns="@(DesktopBridgePublishItemsOutputGroupOutputs)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12139 <ItemGroup>
12140 <DesktopBridgePublishItemsOutputGroupOutputs Include="@(PublishItemsOutputGroupOutputs->'%(OutputPath)')" TargetPath="%(PublishItemsOutputGroupOutputs.RelativePath)" OutputGroup="DesktopBridgePublishItemsOutputGroup" />
12141 </ItemGroup>
12142 </Target>
12143 <!-- If this project or any project that this references is a UAP project -->
12144 <Target Name="_CheckForGenerateAppxPackageOnBuild" DependsOnTargets="AssignProjectConfiguration" Returns="$(ReferencesUWPProject)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12145 <PropertyGroup>
12146 <ReferencesUWPProject Condition="'$(TargetPlatformIdentifier)' == 'UAP' AND ('$(OutputType)' == 'AppContainerExe' OR '$(OutputType)' == 'Exe')">true</ReferencesUWPProject>
12147 </PropertyGroup>
12148 <MSBuild Condition="'$(ReferencesUWPProject)' != 'true'" Projects="@(ProjectReferenceWithConfiguration)" Properties="%(ProjectReferenceWithConfiguration.SetConfiguration);%(ProjectReferenceWithConfiguration.SetPlatform)" Targets="_CheckForGenerateAppxPackageOnBuild" SkipNonexistentTargets="true">
12149 <Output TaskParameter="TargetOutputs" PropertyName="ReferencesUWPProject" />
12150 </MSBuild>
12151 </Target>
12152 <Target Name="GetDeployableContentReferenceOutputs" DependsOnTargets="AssignProjectConfiguration" Returns="@(DeployableContentReference)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12153 <ItemGroup>
12154 <DeployableContentReference Include="@(ProjectReferenceWithConfiguration)" Condition="'%(ProjectReferenceWithConfiguration.DeploymentContent)' == 'true'">
12155 <SourceDeployableProjectReference>$(ProjectName)</SourceDeployableProjectReference>
12156 </DeployableContentReference>
12157 </ItemGroup>
12158 </Target>
12159 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12160 <DesktopBridgeFrameworkSDKRegistrationOutputGroupDependsOn>
12161 $(DesktopBridgeOutputGroupsDependsOn);
12162 $(DesktopBridgeFrameworkSDKRegistrationOutputGroupDependsOn)
12163 </DesktopBridgeFrameworkSDKRegistrationOutputGroupDependsOn>
12164 </PropertyGroup>
12165 <Target Name="DesktopBridgeFrameworkSDKRegistrationOutputGroup" DependsOnTargets="$(DesktopBridgeFrameworkSDKRegistrationOutputGroupDependsOn)" Returns="@(DesktopBridgeFrameworkSDKRegistrationOutputGroupOutputs)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12166 <ItemGroup>
12167 <DesktopBridgeFrameworkSDKRegistrationOutputGroupOutputs Include="@(FrameworkSdkReference)" />
12168 </ItemGroup>
12169 <MSBuild Projects="@(ProjectReferenceWithConfiguration)" Targets="_GenerateAdditionalFrameworkSDKReference;_GetRecursiveResolvedSDKReferences;DesktopBridgeFrameworkSDKRegistrationOutputGroup" BuildInParallel="$(BuildInParallel)" Properties="%(ProjectReferenceWithConfiguration.SetConfiguration); %(ProjectReferenceWithConfiguration.SetPlatform)" Condition="'@(ProjectReferenceWithConfiguration)' != ''&#xD;&#xA; and '%(ProjectReferenceWithConfiguration.BuildReference)' == 'true'&#xD;&#xA; and '%(ProjectReferenceWithConfiguration.ReferenceOutputAssembly)' == 'true'" SkipNonexistentTargets="true" ContinueOnError="true">
12170 <Output TaskParameter="TargetOutputs" ItemName="DesktopBridgeFrameworkSDKRegistrationOutputGroupOutputs" />
12171 </MSBuild>
12172 </Target>
12173 <!--
12174============================================================================================================================================
12175 </Import>
12176
12177C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.DesktopBridge.ImportAfter.targets
12178============================================================================================================================================
12179-->
12180 <!--
12181============================================================================================================================================
12182 </Import>
12183============================================================================================================================================
12184-->
12185 <!--
12186============================================================================================================================================
12187 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
12188
12189C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.Docker.ImportAfter.targets
12190============================================================================================================================================
12191-->
12192 <!--
12193***********************************************************************************************
12194Microsoft.Docker.ImportAfter.targets
12195
12196WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12197 created a backup copy. Incorrect changes to this file will make it
12198 impossible to load or build your projects from the command-line or the IDE.
12199
12200Copyright (C) Microsoft Corporation. All rights reserved.
12201***********************************************************************************************
12202-->
12203 <!--
12204============================================================================================================================================
12205 <Import Project="$(MSBuildExtensionsPath)\Sdks\Microsoft.Docker.Sdk\build\Microsoft.Docker.targets" Condition="Exists('$(MSBuildExtensionsPath)\Sdks\Microsoft.Docker.Sdk\build\Microsoft.Docker.targets')">
12206
12207C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Sdks\Microsoft.Docker.Sdk\build\Microsoft.Docker.targets
12208============================================================================================================================================
12209-->
12210 <!--
12211***********************************************************************************************
12212Microsoft.Docker.targets
12213
12214WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12215 created a backup copy. Incorrect changes to this file will make it
12216 impossible to load or build your projects from the command-line or the IDE.
12217
12218Copyright (C) Microsoft Corporation. All rights reserved.
12219***********************************************************************************************
12220-->
12221 <!--
12222 ***********************************************************************************************
12223
12224 Docker Common Properties
12225
12226 ***********************************************************************************************
12227 -->
12228 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12229 <DockerBuildTasksAssembly>$(MSBuildThisFileDirectory)..\tools\Microsoft.Docker.BuildTasks.dll</DockerBuildTasksAssembly>
12230 <DockerIntermediateOutputPath>obj\Docker</DockerIntermediateOutputPath>
12231 <DockerPublishDirectory>$(DockerIntermediateOutputPath)\publish</DockerPublishDirectory>
12232 </PropertyGroup>
12233 <!--
12234 ***********************************************************************************************
12235
12236 Docker Common Targets
12237
12238 ***********************************************************************************************
12239 -->
12240 <UsingTask TaskName="ComposeBuild" AssemblyFile="$(DockerBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12241 <UsingTask TaskName="ResolveAppType" AssemblyFile="$(DockerBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12242 <UsingTask TaskName="UpdateComposeVsGeneratedFiles" AssemblyFile="$(DockerBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12243 <UsingTask TaskName="ResolveTargetFramework" AssemblyFile="$(DockerBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12244 <UsingTask TaskName="ResolveTargetFrameworkVersion" AssemblyFile="$(DockerBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12245 <!--
12246 ***********************************************************************************************
12247
12248 TARGET : DockerResolveAppType
12249
12250 ***********************************************************************************************
12251 -->
12252 <Target Name="DockerResolveAppType" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12253 <ResolveAppType DockerComposeProjectPath="$(DockerComposeProjectPath)" PublishAot="$(PublishAot)" ServiceNames="$(DockerComposeServiceNames)" ProjectCapability="@(ProjectCapability)" OutputType="$(OutputType)" ProjectTypeGuids="$(ProjectTypeGuids)" FunctionsExecutionModel="$(FunctionsExecutionModel)">
12254 <Output TaskParameter="AppType" PropertyName="DockerAppType" />
12255 </ResolveAppType>
12256 </Target>
12257 <!--
12258 ***********************************************************************************************
12259
12260 TARGET : DockerUpdateComposeVsGeneratedFiles
12261
12262 ***********************************************************************************************
12263 -->
12264 <Target Name="DockerUpdateComposeVsGeneratedFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12265 <PropertyGroup>
12266 <_ContainerStaticWebAssetsManifestPath>$(_GeneratedStaticWebAssetsDevelopmentManifest)</_ContainerStaticWebAssetsManifestPath>
12267 <_ContainerStaticWebAssetsManifestPath Condition=" '$(_ContainerStaticWebAssetsManifestPath)' == '' ">$(IntermediateOutputPath)$(TargetName).StaticWebAssets.xml</_ContainerStaticWebAssetsManifestPath>
12268 </PropertyGroup>
12269 <UpdateComposeVsGeneratedFiles ServiceNames="$(DockerComposeServiceNames)" DockerComposeProjectPath="$(DockerComposeProjectPath)" NuGetPackageRoot="$(NuGetPackageRoot)" NuGetPackageFolders="$(NuGetPackageFolders)" BlazorStaticWebAssetsManifest="$(_ContainerStaticWebAssetsManifestPath)" DockerDevelopmentMode="$(DockerDevelopmentMode)" DockerTargetOS="$(DockerTargetOS)" />
12270 </Target>
12271 <!--
12272 ***********************************************************************************************
12273
12274 TARGET : DockerResolveTargetFramework
12275
12276 ***********************************************************************************************
12277 -->
12278 <Target Name="DockerResolveTargetFramework" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12279 <ResolveTargetFramework DockerComposeProjectPath="$(DockerComposeProjectPath)" ServiceNames="$(DockerComposeServiceNames)" ProjectCapability="@(ProjectCapability)">
12280 <Output TaskParameter="TargetFramework" PropertyName="DockerTargetFramework" />
12281 </ResolveTargetFramework>
12282 </Target>
12283 <!--
12284 ***********************************************************************************************
12285
12286 TARGET : DockerResolveTargetFrameworkVersion
12287
12288 ***********************************************************************************************
12289 -->
12290 <Target Name="DockerResolveTargetFrameworkVersion" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12291 <ResolveTargetFrameworkVersion DockerComposeProjectPath="$(DockerComposeProjectPath)" ServiceNames="$(DockerComposeServiceNames)" TargetFrameworkVersion="$(TargetFrameworkVersion)" />
12292 </Target>
12293 <!--
12294 ***********************************************************************************************
12295
12296 TARGET : DockerComposeBuild
12297
12298 ***********************************************************************************************
12299 -->
12300 <!-- DockerComposeBuild is invoked during Web publish to Docker service as a normal web project, which happens when Dockerfile is found under the same folder as project file. -->
12301 <Target Name="DockerComposeBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12302 <PropertyGroup>
12303 <_DockerDevelopmentMode Condition=" '$(DockerDevelopmentMode)' != '' ">$(DockerDevelopmentMode)</_DockerDevelopmentMode>
12304 <_DockerDevelopmentMode Condition=" '$(_DockerDevelopmentMode)' == '' ">Regular</_DockerDevelopmentMode>
12305 <_DockerBuildingForLaunch Condition=" Exists('$(DockerIntermediateOutputPath)\launch.sem')">True</_DockerBuildingForLaunch>
12306 </PropertyGroup>
12307 <!-- Since Publish operation is not on dcproj target, this task executes the DockerGetComposeEnvFile task on the dcproj file. -->
12308 <MSBuild Projects="$(DockerComposeProjectPath)" Targets="DockerGetComposeEnvFilePath" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' != '' And '$(DockerComposeEnvFilePath)' == '' " Properties="Configuration=$(Configuration)">
12309 <Output TaskParameter="TargetOutputs" PropertyName="DockerComposeEnvFilePathOutput" />
12310 </MSBuild>
12311 <!-- Since Publish operation is not on dcproj target, this task executes the DockerGetComposeBaseFilePath task on the dcproj file. -->
12312 <MSBuild Projects="$(DockerComposeProjectPath)" Targets="DockerGetComposeBaseFilePath" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' != '' And '$(DockerComposeBaseFilePath)' == '' " Properties="Configuration=$(Configuration)">
12313 <Output TaskParameter="TargetOutputs" PropertyName="DockerComposeBaseFilePathOutput" />
12314 </MSBuild>
12315 <!-- Since Publish operation is not on dcproj target, this task executes the DockerGetAdditionalComposeFilePaths task on the dcproj file. -->
12316 <MSBuild Projects="$(DockerComposeProjectPath)" Targets="DockerGetAdditionalComposeFilePaths" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' != '' And '$(AdditionalComposeFilePaths)' == '' " Properties="Configuration=$(Configuration)">
12317 <Output TaskParameter="TargetOutputs" PropertyName="DockerComposeAdditionalFilePathsOutput" />
12318 </MSBuild>
12319 <!-- Since Publish operation is not on dcproj target, this task executes the DockerGetComposeBuildArguments task on the dcproj file. -->
12320 <MSBuild Projects="$(DockerComposeProjectPath)" Targets="DockerGetBuildArguments" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' != '' And '$(DockerComposeBuildArguments)' == '' " Properties="Configuration=$(Configuration)">
12321 <Output TaskParameter="TargetOutputs" PropertyName="DockerComposeBuildArgumentsOutput" />
12322 </MSBuild>
12323 <!-- Since Publish operation is not on dcproj target, this task executes the DockerGetComposeProjectName task on the dcproj file. -->
12324 <MSBuild Projects="$(DockerComposeProjectPath)" Targets="DockerGetDockerComposeProjectName" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' != '' And '$(DockerComposeProjectName)' == '' " Properties="Configuration=$(Configuration)">
12325 <Output TaskParameter="TargetOutputs" PropertyName="DockerComposeProjectNameOutput" />
12326 </MSBuild>
12327 <ComposeBuild DockerComposeProjectPath="$(DockerComposeProjectPath)" DockerDevelopmentMode="$(_DockerDevelopmentMode)" BuildingForLaunch="$(_DockerBuildingForLaunch)" ProjectPath="$(MSBuildProjectFullPath)" NoCache="$(DockerComposeBuildNoCache)" Configuration="$(Configuration)" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' != '' " AdditionalComposeFilePaths="$([MSBuild]::ValueOrDefault('$(DockerComposeAdditionalFilePathsOutput)', '$(AdditionalComposeFilePaths)'))" DockerComposeEnvFilePath="$([MSBuild]::ValueOrDefault('$(DockerComposeEnvFilePathOutput)', '$(DockerComposeEnvFilePath)'))" DockerComposeBaseFilePath="$([MSBuild]::ValueOrDefault('$(DockerComposeBaseFilePathOutput)', '$(DockerComposeBaseFilePath)'))" DockerComposeBuildArguments="$([MSBuild]::ValueOrDefault('$(DockerComposeBuildArgumentsOutput)', '$(DockerComposeBuildArguments)'))" DockerComposeProjectName="$([MSBuild]::ValueOrDefault('$(DockerComposeProjectNameOutput)', '$(DockerComposeProjectName)'))" />
12328 <CallTarget Targets="ContainerBuild" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' == '' " />
12329 </Target>
12330 <!--
12331 ***********************************************************************************************
12332
12333 TARGET : DockerPackageService
12334
12335 ***********************************************************************************************
12336 -->
12337 <Target Name="DockerPackageService" DependsOnTargets="DockerResolveAppType;DockerResolveTargetFramework" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12338 <!-- ASP.NET Core -->
12339 <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Build" Properties="Configuration=$(Configuration);&#xD;&#xA; Platform=$(Platform);&#xD;&#xA; WebPublishMethod=FileSystem;&#xD;&#xA; DeployOnBuild=True;&#xD;&#xA; PublishUrl=$(DockerPublishDirectory);&#xD;&#xA; PublishAot=$(PublishAot)" Condition=" '$(DockerAppType)' == 'AspNetCore' " />
12340 <!-- ASP.NET -->
12341 <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Build" Properties="Configuration=$(Configuration);&#xD;&#xA; Platform=$(Platform);&#xD;&#xA; BuildingInsideVisualStudio=False;&#xD;&#xA; WebPublishMethod=FileSystem;&#xD;&#xA; DeployTarget=WebPublish;&#xD;&#xA; DeployOnBuild=True;&#xD;&#xA; PublishUrl=$(DockerPublishDirectory)" Condition=" '$(DockerAppType)' == 'AspNet' " />
12342 <!-- Console on .NET Core -->
12343 <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Publish" Properties="Configuration=$(Configuration);&#xD;&#xA; Platform=$(Platform);&#xD;&#xA; PublishDir=$(DockerPublishDirectory)" Condition=" '$(DockerAppType)' == 'ConsoleCore' And '$(DockerTargetFramework)' == 'DotNetCore' " />
12344 <!-- Console on .NET Framework -->
12345 <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Build" Properties="Configuration=$(Configuration);&#xD;&#xA; Platform=$(Platform)" Condition=" '$(DockerAppType)' == 'Console' And '$(DockerTargetFramework)' == 'DotNetFramework' " />
12346 <ItemGroup>
12347 <DockerOutputFiles Include="$(OutputPath)\**\*.*" />
12348 </ItemGroup>
12349 <Copy SourceFiles="@(DockerOutputFiles)" DestinationFiles="@(DockerOutputFiles->'$(DockerPublishDirectory)\%(RecursiveDir)%(Filename)%(Extension)')" Condition=" '$(DockerAppType)' == 'Console' And '$(DockerTargetFramework)' == 'DotNetFramework' " />
12350 </Target>
12351 <!--
12352============================================================================================================================================
12353 </Import>
12354
12355C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.Docker.ImportAfter.targets
12356============================================================================================================================================
12357-->
12358 <!--
12359============================================================================================================================================
12360 </Import>
12361============================================================================================================================================
12362-->
12363 <!--
12364============================================================================================================================================
12365 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
12366
12367C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.NET.Build.Extensions.targets
12368============================================================================================================================================
12369-->
12370 <!--
12371***********************************************************************************************
12372Microsoft.NET.Build.Extensions.targets
12373
12374WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12375 created a backup copy. Incorrect changes to this file will make it
12376 impossible to load or build your projects from the command-line or the IDE.
12377
12378Copyright (c) .NET Foundation. All rights reserved.
12379***********************************************************************************************
12380-->
12381 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12382 <MicrosoftNETBuildExtensionsTargets Condition="'$(MicrosoftNETBuildExtensionsTargets)' == ''">$(MSBuildExtensionsPath)\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.targets</MicrosoftNETBuildExtensionsTargets>
12383 </PropertyGroup>
12384 <!--
12385============================================================================================================================================
12386 <Import Project="$(MicrosoftNETBuildExtensionsTargets)" Condition="Exists('$(MicrosoftNETBuildExtensionsTargets)')">
12387
12388C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.targets
12389============================================================================================================================================
12390-->
12391 <!--
12392***********************************************************************************************
12393Microsoft.NET.Build.Extensions.targets
12394
12395WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12396 created a backup copy. Incorrect changes to this file will make it
12397 impossible to load or build your projects from the command-line or the IDE.
12398
12399Copyright (c) .NET Foundation. All rights reserved.
12400***********************************************************************************************
12401-->
12402 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12403 <_TargetFrameworkVersionWithoutV>$(TargetFrameworkVersion.TrimStart('vV'))</_TargetFrameworkVersionWithoutV>
12404 <MicrosoftNETBuildExtensionsTasksAssembly Condition="'$(MicrosoftNETBuildExtensionsTasksAssembly)' == '' AND '$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)\tools\net10.0\Microsoft.NET.Build.Extensions.Tasks.dll</MicrosoftNETBuildExtensionsTasksAssembly>
12405 <MicrosoftNETBuildExtensionsTasksAssembly Condition="'$(MicrosoftNETBuildExtensionsTasksAssembly)' == ''">$(MSBuildThisFileDirectory)\tools\net472\Microsoft.NET.Build.Extensions.Tasks.dll</MicrosoftNETBuildExtensionsTasksAssembly>
12406 <!-- Include conflict resolution targets for NETFramework and allow other frameworks to opt-in -->
12407 <ResolveAssemblyConflicts Condition="'$(ResolveAssemblyConflicts)' == '' AND '$(TargetFrameworkIdentifier)' == '.NETFramework'">true</ResolveAssemblyConflicts>
12408 </PropertyGroup>
12409 <!--
12410============================================================================================================================================
12411 <Import Project="Microsoft.NET.Build.Extensions.NETFramework.targets" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
12412
12413C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.NETFramework.targets
12414============================================================================================================================================
12415-->
12416 <!--
12417***********************************************************************************************
12418Microsoft.NET.Build.Extensions.NETFramework.targets
12419
12420WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12421 created a backup copy. Incorrect changes to this file will make it
12422 impossible to load or build your projects from the command-line or the IDE.
12423
12424Copyright (c) .NET Foundation. All rights reserved.
12425***********************************************************************************************
12426-->
12427 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12428 <!-- Add NETStandard references if targetframeworkversion supports netstandard2.0 (net461 or later) -->
12429 <ImplicitlyExpandNETStandardFacades Condition="'$(ImplicitlyExpandNETStandardFacades)' == '' AND '$(_TargetFrameworkVersionWithoutV)' &gt;= '4.6.1'">true</ImplicitlyExpandNETStandardFacades>
12430 </PropertyGroup>
12431 <UsingTask TaskName="GetDependsOnNETStandard" AssemblyFile="$(MicrosoftNETBuildExtensionsTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12432 <UsingTask TaskName="NETBuildExtensionsError" AssemblyFile="$(MicrosoftNETBuildExtensionsTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12433 <UsingTask TaskName="NETBuildExtensionsWarning" AssemblyFile="$(MicrosoftNETBuildExtensionsTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12434 <UsingTask TaskName="AddFacadesToReferences" AssemblyFile="$(MicrosoftNETBuildExtensionsTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12435 <Target Name="ImplicitlyExpandNETStandardFacades" Condition="'$(ImplicitlyExpandNETStandardFacades)' == 'true'" BeforeTargets="_HandlePackageFileConflicts;ResolveAssemblyReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12436 <ItemGroup>
12437 <_CandidateNETStandardReferences Include="@(Reference);@(_ResolvedProjectReferencePaths)" />
12438 <_InboxNETStandardFolders Include="$(TargetFrameworkDirectory)" />
12439 </ItemGroup>
12440 <!-- determine if NETStandard.dll is supported inbox for this TargetFramework -->
12441 <PropertyGroup Condition="'$(NETStandardInbox)' == ''">
12442 <NETStandardInbox Condition="Exists('%(_InboxNETStandardFolders.Identity)\netstandard.dll')">true</NETStandardInbox>
12443 </PropertyGroup>
12444 <!-- determine if any references depend on NETStandard -->
12445 <!-- Check metadata of _ResolvedProjectReferencePaths items. This handles the case where we are doing a design-time build and a referenced project
12446 hasn't been built yet, so there is no corresponding assembly on disk for the GetDependsOnNETStandard task to examine.
12447
12448 More context: https://github.com/dotnet/sdk/issues/1403
12449 -->
12450 <PropertyGroup Condition="'$(DependsOnNETStandard)' == '' AND '$(NETStandardInbox)' != 'true'">
12451 <DependsOnNETStandard Condition="('%(_ResolvedProjectReferencePaths.TargetFrameworkIdentifier)' == '.NETStandard') And ('%(_ResolvedProjectReferencePaths.TargetFrameworkVersion)' &gt;= '1.5')">true</DependsOnNETStandard>
12452 </PropertyGroup>
12453 <PropertyGroup Condition="'@(_CandidateNETStandardReferences)' != ''">
12454 <!-- Use an intermediate property to simplify condition. Run GetDependsOnNETStandard if either: -->
12455 <!-- 1. The .NET Standard 2.0 support need to be injected -->
12456 <_RunGetDependsOnNETStandard Condition="'$(DependsOnNETStandard)' == '' AND '$(NETStandardInbox)' != 'true'">true</_RunGetDependsOnNETStandard>
12457 <!-- 2. The target framework is .NET 4.7.1, which needs to special case some shims -->
12458 <_RunGetDependsOnNETStandard Condition="'$(DependsOnNETStandard)' == '' AND '$(_TargetFrameworkVersionWithoutV)' == '4.7.1'">true</_RunGetDependsOnNETStandard>
12459 </PropertyGroup>
12460 <GetDependsOnNETStandard Condition="'$(_RunGetDependsOnNETStandard)' == 'true'" References="@(_CandidateNETStandardReferences)">
12461 <Output TaskParameter="DependsOnNETStandard" PropertyName="DependsOnNETStandard" />
12462 </GetDependsOnNETStandard>
12463 <!-- prevent using an older SDK version with NETStandard2.0 references -->
12464 <PropertyGroup>
12465 <_UsingOldSDK Condition="'$(UsingMicrosoftNETSdk)' != 'true' AND ('$(TargetFramework)' != '' OR '$(TargetFrameworks)' != '')">true</_UsingOldSDK>
12466 </PropertyGroup>
12467 <NETBuildExtensionsError Condition="'$(DependsOnNETStandard)' == 'true' AND '$(NETStandardInbox)' != 'true' AND '$(_UsingOldSDK)' == 'true'" ResourceName="UnsupportedSDKVersionForNetStandard20" />
12468 <!--
12469 .NET 4.7.1 has support for .NET Standard 2.0 built-in, so most of the facades aren't necessary. However, the assembly versions of a few set of assemblies
12470 do not yet match the ones shipped in the support package for .NET Standard 2.0 on .NET 4.7 and below. This means that .NET 4.7 or lower libraries might have
12471 references to higher versions of these assemblies than are available in-box in .NET 4.7, leading to assembly loading errors. So if there is a dependency on
12472 netstandard.dll, we include DLLs for .NET 4.7.1 from the support package to avoid these errors.
12473 -->
12474 <ItemGroup Condition="'$(_TargetFrameworkVersionWithoutV)' == '4.7.1'">
12475 <_NETStandardLibraryNETFrameworkLib Include="$(MSBuildThisFileDirectory)\net471\lib\*.dll" Condition="'$(DependsOnNETStandard)' == 'true'" />
12476 </ItemGroup>
12477 <!-- if any reference depends on netstandard and it is not inbox, add references and implementation assemblies for netstandard2.0 -->
12478 <ItemGroup Condition="'$(DependsOnNETStandard)' == 'true' AND '$(NETStandardInbox)' != 'true' AND '$(_TargetFrameworkVersionWithoutV)' &lt; '4.7.1'">
12479 <_NETStandardLibraryNETFrameworkLib Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '4.7'" Include="$(MSBuildThisFileDirectory)net47\lib\*.dll" />
12480 <_NETStandardLibraryNETFrameworkLib Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '4.6.2'" Include="$(MSBuildThisFileDirectory)net462\lib\*.dll" Exclude="@(_NETStandardLibraryNETFrameworkLib->'$(MSBuildThisFileDirectory)net462\lib\%(FileName).dll')" />
12481 <_NETStandardLibraryNETFrameworkLib Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '4.6.1'" Include="$(MSBuildThisFileDirectory)net461\lib\*.dll" Exclude="@(_NETStandardLibraryNETFrameworkLib->'$(MSBuildThisFileDirectory)net461\lib\%(FileName).dll')" />
12482 </ItemGroup>
12483 <ItemGroup Condition="'@(_NETStandardLibraryNETFrameworkLib)' != ''">
12484 <!-- Put each facade assembly in two separate items: Reference with Private set to false, which means it won't be
12485 copied locally, and ReferenceCopyLocalPaths, which will be copied locally. The reason for this split is to
12486 workaround https://github.com/dotnet/core-setup/issues/2981 by ensuring that the facades are written
12487 to the deps.json with a type of "referenceassembly" instead of "reference".
12488
12489 The exception is netfx.force.conflicts.dll, which shouldn't be copied local. So it isn't included in
12490 ReferenceCopyLocalPaths.
12491
12492 When we add the Reference items, we use the simple name as the ItemSpec, and refer to the full path
12493 to the DLL via the HintPath metadata. This is so that if we're replacing a simple Reference,
12494 the OriginalItemSpec of the resolved reference will match to the Reference that was replaced,
12495 and VS won't show a warning icon on the reference. See https://github.com/dotnet/sdk/issues/1499
12496 -->
12497 <ReferenceCopyLocalPaths Include="@(_NETStandardLibraryNETFrameworkLib)" Condition="'%(FileName)' != 'netfx.force.conflicts'" />
12498 <_UpdatedReference Remove="@(_UpdatedReference)" />
12499 </ItemGroup>
12500 <!-- Facade assemblies should override simple name references. However, we want to preserve custom metadata
12501 on those simple name references (for example for aliases). That's what this task does. -->
12502 <AddFacadesToReferences References="@(Reference)" Facades="@(_NETStandardLibraryNETFrameworkLib)" Condition="'@(_NETStandardLibraryNETFrameworkLib)' != ''">
12503 <Output TaskParameter="UpdatedReferences" ItemName="_UpdatedReference" />
12504 </AddFacadesToReferences>
12505 <ItemGroup Condition="'@(_NETStandardLibraryNETFrameworkLib)' != ''">
12506 <Reference Remove="@(Reference)" />
12507 <Reference Include="@(_UpdatedReference)" />
12508 <_UpdatedReference Remove="@(_UpdatedReference)" />
12509 </ItemGroup>
12510 </Target>
12511 <!-- There was issue in .NET 4.7.1 where System.IO.Compression.ZipFile was not correctly in the unification table.
12512 A workaround to issues that caused was to add a binding redirect for the assembly from version 4.0.3.0 down to
12513 4.0.0.0. However, with the fix to dotnet/sdk#2221, ResolveAssemblyReference now sees a conflicting version for
12514 the assembly, and suggests a redirect to 4.0.3.0. With automatic binding redirection, this overrides the redirect
12515 to 4.0.0.0, which causes a runtime failure.
12516
12517 So here we disable any suggested binding redirect for System.IO.Compression.ZipFile. Assemblies in the unification
12518 table generally should not need binding redirects, so it should be OK to do this for 4.7.2 and forward, and on 4.7.1
12519 the assembly isn't in the unification table so this allows the original workaround redirect to be preserved. -->
12520 <Target Name="_RemoveZipFileSuggestedRedirect" BeforeTargets="GenerateBindingRedirects" DependsOnTargets="ResolveAssemblyReferences" Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '4.7.1' And '$(AllowZipFileRedirect)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12521 <ItemGroup>
12522 <SuggestedBindingRedirects Remove="System.IO.Compression.ZipFile, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
12523 </ItemGroup>
12524 </Target>
12525 <!--
12526============================================================================================================================================
12527 </Import>
12528
12529C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.targets
12530============================================================================================================================================
12531-->
12532 <!-- Only import ConflictResolution targets for non-SDK projects, SDK projects have ConflictResolution built in -->
12533 <!--<Import Project="Microsoft.NET.Build.Extensions.ConflictResolution.targets" Condition="'$(ResolveAssemblyConflicts)' == 'true' AND '$(UsingMicrosoftNETSdk)' != 'true'" />-->
12534 <!--
12535============================================================================================================================================
12536 </Import>
12537
12538C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.NET.Build.Extensions.targets
12539============================================================================================================================================
12540-->
12541 <!--
12542============================================================================================================================================
12543 </Import>
12544============================================================================================================================================
12545-->
12546 <!--
12547============================================================================================================================================
12548 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
12549
12550C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.NuGet.ImportAfter.targets
12551============================================================================================================================================
12552-->
12553 <!--
12554***********************************************************************************************
12555Microsoft.NuGet.ImportAfter.targets
12556
12557WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12558 created a backup copy. Incorrect changes to this file will make it
12559 impossible to load or build your projects from the command-line or the IDE.
12560
12561Copyright (c) .NET Foundation. All rights reserved.
12562***********************************************************************************************
12563-->
12564 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12565 <NuGetTargets Condition="'$(NuGetTargets)'==''">$(MSBuildExtensionsPath)\Microsoft\NuGet\$(VisualStudioVersion)\Microsoft.NuGet.targets</NuGetTargets>
12566 </PropertyGroup>
12567 <!--<Import Project="$(NuGetTargets)" Condition="Exists('$(NuGetTargets)') and '$(SkipImportNuGetBuildTargets)' != 'true'" />-->
12568 <!--
12569============================================================================================================================================
12570 </Import>
12571============================================================================================================================================
12572-->
12573 <!--
12574============================================================================================================================================
12575 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
12576
12577C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.Web.ImportAfter.targets
12578============================================================================================================================================
12579-->
12580 <!--
12581***********************************************************************************************
12582Microsoft.Web.ImportAfter.targets
12583
12584WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12585 created a backup copy. Incorrect changes to this file will make it
12586 impossible to load or build your projects from the command-line or the IDE.
12587
12588Copyright (C) Microsoft Corporation. All rights reserved.
12589***********************************************************************************************
12590-->
12591 <!--<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\Managed.Web\Microsoft.Web.IISSupport.targets" Condition="('$(MvcRazorCompileOnPublish)' != '' or '$(UsingMicrosoftNETSdkWeb)' != '') and Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\Managed.Web\Microsoft.Web.IISSupport.targets')" />-->
12592 <!--
12593============================================================================================================================================
12594 </Import>
12595============================================================================================================================================
12596-->
12597 <!--
12598============================================================================================================================================
12599 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
12600
12601C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.WebTools.Aspire.ImportAfter.targets
12602============================================================================================================================================
12603-->
12604 <!--
12605***********************************************************************************************
12606Microsoft.WebTools.Aspire.ImportAfter.targets
12607
12608WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12609 created a backup copy. Incorrect changes to this file will make it
12610 impossible to load or build your projects from the command-line or the IDE.
12611
12612Copyright (C) Microsoft Corporation. All rights reserved.
12613***********************************************************************************************
12614-->
12615 <!--
12616============================================================================================================================================
12617 <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\WebTools.Aspire\Microsoft.WebTools.Aspire.targets">
12618
12619C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Microsoft\VisualStudio\WebTools.Aspire\Microsoft.WebTools.Aspire.targets
12620============================================================================================================================================
12621-->
12622 <!--
12623***********************************************************************************************
12624Microsoft.WebTools.Aspire.targets
12625
12626WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12627 created a backup copy. Incorrect changes to this file will make it
12628 impossible to load or build your projects from the command-line or the IDE.
12629
12630Copyright (C) Microsoft Corporation. All rights reserved.
12631***********************************************************************************************
12632-->
12633 <UsingTask TaskName="Microsoft.WebTools.Aspire.MSBuild.GenerateCombinedComponentSchema" AssemblyFile="Microsoft.WebTools.Aspire.MSBuild.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12634 <UsingTask TaskName="Microsoft.WebTools.Aspire.MSBuild.GenerateCombinedAppSettingsSchema" AssemblyFile="Microsoft.WebTools.Aspire.MSBuild.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12635 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12636 <JsonSchemaCombinedFilePath>$(IntermediateOutputPath)\CombinedComponentSchema.json</JsonSchemaCombinedFilePath>
12637 <JsonSchemaCombinedFilePath>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(JsonSchemaCombinedFilePath)))</JsonSchemaCombinedFilePath>
12638 <AppSettingsJsonSchemaCombinedFilePath>$(IntermediateOutputPath)\AppSettingsSchema.json</AppSettingsJsonSchemaCombinedFilePath>
12639 <AppSettingsJsonSchemaCombinedFilePath>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(AppSettingsJsonSchemaCombinedFilePath)))</AppSettingsJsonSchemaCombinedFilePath>
12640 <SchemaGenIncrementalBuildInputs>@(JsonSchemaSegment);$(ProjectAssetsFile)</SchemaGenIncrementalBuildInputs>
12641 </PropertyGroup>
12642 <Target Name="GenerateCombinedComponentSchemaTarget" Condition=" '@(JsonSchemaSegment)' != '' " Inputs="$(SchemaGenIncrementalBuildInputs)" Outputs="$(JsonSchemaCombinedFilePath)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12643 <GenerateCombinedComponentSchema JsonSchemaSegmentFiles="@(JsonSchemaSegment)" JsonSchemaCombinedFilePath="$(JsonSchemaCombinedFilePath)" />
12644 </Target>
12645 <Target Name="GenerateCombinedAppSettingsSchemaTarget" DependsOnTargets="GenerateCombinedComponentSchemaTarget" Condition=" '@(JsonSchemaSegment)' != '' " BeforeTargets="CompileDesignTime" Inputs="$(SchemaGenIncrementalBuildInputs);$(JsonSchemaCombinedFilePath)" Outputs="$(AppSettingsJsonSchemaCombinedFilePath)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12646 <GenerateCombinedAppSettingsSchema AppSettingJsonSchemaFilePath="$(AppSettingJsonSchemaLoadFilePath)" ComponentJsonSchemaCombinedFilePath="$(JsonSchemaCombinedFilePath)" AppSettingsJsonSchemaCombinedFilePath="$(AppSettingsJsonSchemaCombinedFilePath)" />
12647 <Message Text="Generating appsettingsschema" />
12648 </Target>
12649 <Target Name="CleanupCombinedAppSettingsSchemaTarget" Condition=" '@(JsonSchemaSegment)' == '' " BeforeTargets="CompileDesignTime" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12650 <Delete Files="$(AppSettingsJsonSchemaCombinedFilePath)" />
12651 <Message Text="Deleting appsettingsschema" />
12652 </Target>
12653 <!--
12654============================================================================================================================================
12655 </Import>
12656
12657C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.WebTools.Aspire.ImportAfter.targets
12658============================================================================================================================================
12659-->
12660 <!--
12661============================================================================================================================================
12662 </Import>
12663============================================================================================================================================
12664-->
12665 <!--
12666============================================================================================================================================
12667 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
12668
12669C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.Windows.UI.Xaml.CSharp.ModernNET.ImportAfter.targets
12670============================================================================================================================================
12671-->
12672 <!--
12673***********************************************************************************************
12674Microsoft.Windows.UI.Xaml.CSharp.ModernNET.ImportAfter.targets
12675
12676WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12677 created a backup copy. Incorrect changes to this file will make it
12678 impossible to load or build your projects from the command-line or the IDE.
12679
12680Copyright (C) Microsoft Corporation. All rights reserved.
12681***********************************************************************************************
12682-->
12683 <!--
12684 This .targets imports the XAML compiler .targets for UWP XAML apps using modern .NET. On legacy UWP, the default UWP XAML
12685 template project had an 'Import' directive at the end of the .csproj file that would pull in those .targets. For apps on
12686 modern .NET, which use the SDK-style .csproj, we want this to be done automatically when 'UseUwpTools' is set. This property
12687 is the same one that controls several other opt-in features for UWP XAML apps on modern .NET (eg. single-project MSIX support).
12688 -->
12689 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12690 <UwpToolsMicrosoftWindowsUIXamlCSharpTargets Condition="'$(UwpToolsMicrosoftWindowsUIXamlCSharpTargets)' == ''">$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\8.21\Microsoft.Windows.UI.Xaml.CSharp.ModernNET.targets</UwpToolsMicrosoftWindowsUIXamlCSharpTargets>
12691 </PropertyGroup>
12692 <!--<Import Project="$(UwpToolsMicrosoftWindowsUIXamlCSharpTargets)" Condition="'$(UseUwpTools)' == 'true' AND Exists('$(UwpToolsMicrosoftWindowsUIXamlCSharpTargets)') AND '$(SkipImportUwpToolsMicrosoftWindowsUIXamlCSharpTargets)' != 'true'" />-->
12693 <!--
12694============================================================================================================================================
12695 </Import>
12696
12697C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
12698============================================================================================================================================
12699-->
12700 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')" />-->
12701 <!--
12702============================================================================================================================================
12703 </Import>
12704
12705C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.targets
12706============================================================================================================================================
12707-->
12708 <!--
12709 Prepare to import project extensions which usually come from packages. Package management systems will create a file at:
12710 $(MSBuildProjectExtensionsPath)\$(MSBuildProjectFile).<SomethingUnique>.targets
12711
12712 Each package management system should use a unique moniker to avoid collisions. It is a wild-card import so the package
12713 management system can write out multiple files but the order of the import is alphabetic because MSBuild sorts the list.
12714 -->
12715 <PropertyGroup>
12716 <!--
12717 Don't import project extensions during restore because NuGet restore generates them. Importing them during restore will embed
12718 the pre-restore files in the binary log and then NuGet won't be able to embed the generated one after restore. If some other
12719 project extension mechanism wants to import project extensions during restore, they need to explicitly set ImportProjectExtensionTargets
12720 -->
12721 <ImportProjectExtensionTargets Condition="$([MSBuild]::AreFeaturesEnabled('17.10')) And '$(ImportProjectExtensionTargets)' == '' And '$(MSBuildIsRestoring)' == 'true'">false</ImportProjectExtensionTargets>
12722 <ImportProjectExtensionTargets Condition="'$(ImportProjectExtensionTargets)' == ''">true</ImportProjectExtensionTargets>
12723 </PropertyGroup>
12724 <!--
12725============================================================================================================================================
12726 <Import Project="$(MSBuildProjectExtensionsPath)$(MSBuildProjectFile).*.targets" Condition="'$(ImportProjectExtensionTargets)' == 'true' and exists('$(MSBuildProjectExtensionsPath)')">
12727
12728D:\src\wix\build\libs\obj\libs_t\libs_t.proj.nuget.g.targets
12729============================================================================================================================================
12730-->
12731 <!--
12732============================================================================================================================================
12733 </Import>
12734
12735C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.targets
12736============================================================================================================================================
12737-->
12738 <PropertyGroup>
12739 <ImportDirectoryBuildTargets Condition="'$(ImportDirectoryBuildTargets)' == ''">true</ImportDirectoryBuildTargets>
12740 </PropertyGroup>
12741 <!--
12742 Determine the path to the directory build targets file if the user did not disable $(ImportDirectoryBuildTargets) and
12743 they did not already specify an absolute path to use via $(DirectoryBuildTargetsPath)
12744 -->
12745 <PropertyGroup Condition="'$(ImportDirectoryBuildTargets)' == 'true' and '$(DirectoryBuildTargetsPath)' == ''">
12746 <_DirectoryBuildTargetsFile Condition="'$(_DirectoryBuildTargetsFile)' == ''">Directory.Build.targets</_DirectoryBuildTargetsFile>
12747 <_DirectoryBuildTargetsBasePath Condition="'$(_DirectoryBuildTargetsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), '$(_DirectoryBuildTargetsFile)'))</_DirectoryBuildTargetsBasePath>
12748 <DirectoryBuildTargetsPath Condition="'$(_DirectoryBuildTargetsBasePath)' != '' and '$(_DirectoryBuildTargetsFile)' != ''">$([System.IO.Path]::Combine('$(_DirectoryBuildTargetsBasePath)', '$(_DirectoryBuildTargetsFile)'))</DirectoryBuildTargetsPath>
12749 </PropertyGroup>
12750 <!--<Import Project="$(CustomBeforeDirectoryBuildTargets)" Condition="'$(CustomBeforeDirectoryBuildTargets)' != ''" />-->
12751 <!--
12752============================================================================================================================================
12753 <Import Project="$(DirectoryBuildTargetsPath)" Condition="'$(ImportDirectoryBuildTargets)' == 'true' and exists('$(DirectoryBuildTargetsPath)')">
12754
12755D:\src\wix\src\Directory.Build.targets
12756============================================================================================================================================
12757-->
12758 <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
12759 <PropertyGroup>
12760 <SigningToolExe>$(ToolsFolder)\sign.exe</SigningToolExe>
12761 <SigningCommand>code azure-key-vault</SigningCommand>
12762 <SigningConfiguration>--description "WiX Toolset" --description-url "https://wixtoolset.org/" --recurse-containers=false --azure-key-vault-url $(SigningKeyVaultUri) --azure-key-vault-tenant-id $(SigningTenantId) --azure-key-vault-client-id $(SigningClientId) --azure-key-vault-client-secret $(SigningClientSecret) --azure-key-vault-certificate $(SigningCertName) --timestamp-url "http://timestamp.digicert.com"</SigningConfiguration>
12763 </PropertyGroup>
12764 <PropertyGroup Condition=" '$(IsWixTestSupportProject)'=='true' ">
12765 <IsTestProject>false</IsTestProject>
12766 </PropertyGroup>
12767 <ItemGroup Condition=" '$(IsWixTestSupportProject)'=='true' ">
12768 <ProjectCapability Remove="TestContainer" />
12769 </ItemGroup>
12770 <!-- If the git information wasn't imported yet, import the cached git information. -->
12771 <!--
12772============================================================================================================================================
12773 <Import Project="$(RootBuildFolder)SomeVerInfo.props" Condition=" '$(SomeVerInfoImported)'!='true' ">
12774
12775D:\src\wix\build\SomeVerInfo.props
12776============================================================================================================================================
12777-->
12778 <PropertyGroup>
12779 <SomeVerInfoImported>true</SomeVerInfoImported>
12780 <SomeVerInfoFromCache>true</SomeVerInfoFromCache>
12781 <SomeVerInfoNextMajor>8</SomeVerInfoNextMajor>
12782 <SomeVerInfoNextMinor>1</SomeVerInfoNextMinor>
12783 <SomeVerInfoMajor>7</SomeVerInfoMajor>
12784 <SomeVerInfoMinor>0</SomeVerInfoMinor>
12785 <SomeVerInfoPatch>0</SomeVerInfoPatch>
12786 <SomeVerInfoHeight>41</SomeVerInfoHeight>
12787 <SomeVerInfoFullHeight>41</SomeVerInfoFullHeight>
12788 <SomeVerInfoLabel>build.41</SomeVerInfoLabel>
12789 <SomeVerInfoDashLabel>-build.41</SomeVerInfoDashLabel>
12790 <SomeVerInfoSha>8c7432e50072e009353ea5f2c956ccf453476f71</SomeVerInfoSha>
12791 <SomeVerInfoShortSha>8c7432e</SomeVerInfoShortSha>
12792 <SomeVerInfoVersion>7.0.0-build.41</SomeVerInfoVersion>
12793 </PropertyGroup>
12794 <PropertyGroup>
12795 <AssemblyVersion>7.0.0.0</AssemblyVersion>
12796 <FileVersion>7.0.0.41</FileVersion>
12797 <InformationalVersion>7.0.0-build.41</InformationalVersion>
12798 <PackageVersion>7.0.0-build.41</PackageVersion>
12799 </PropertyGroup>
12800 <!--
12801============================================================================================================================================
12802 </Import>
12803
12804D:\src\wix\src\Directory.Build.targets
12805============================================================================================================================================
12806-->
12807 <!--
12808============================================================================================================================================
12809 <Import Project="internal/SetBuildNumber/SomeVerInfo.targets">
12810
12811D:\src\wix\src\internal\SetBuildNumber\SomeVerInfo.targets
12812============================================================================================================================================
12813-->
12814 <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
12815 <!--
12816============================================================================================================================================
12817 <Import Project="SomeVerInit.props" Condition=" '$(SomeVerInitImported)'!='true'">
12818
12819D:\src\wix\src\internal\SetBuildNumber\SomeVerInit.props
12820============================================================================================================================================
12821-->
12822 <PropertyGroup>
12823 <GlobalJsonFile>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\..\..\global.json))</GlobalJsonFile>
12824 <CentralPackageVersionsPath>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\..\..\Directory.Packages.props))</CentralPackageVersionsPath>
12825 <SomeVerInfoCsFile>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\..\..\build\SomeVerInfo.cs))</SomeVerInfoCsFile>
12826 <SomeVerInfoRcFile>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\..\..\build\SomeVerInfo.rc))</SomeVerInfoRcFile>
12827 <SomeVerInfoPropsFile>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\..\..\build\SomeVerInfo.props))</SomeVerInfoPropsFile>
12828 <SomeVerInitImported>true</SomeVerInitImported>
12829 </PropertyGroup>
12830 <!--
12831============================================================================================================================================
12832 </Import>
12833
12834D:\src\wix\src\internal\SetBuildNumber\SomeVerInfo.targets
12835============================================================================================================================================
12836-->
12837 <ItemGroup Condition=" '$(IncludeSomeVerInfo)' == 'true' ">
12838 <Compile Include="$(SomeVerInfoCsFile)" />
12839 </ItemGroup>
12840 <PropertyGroup Condition=" '$(Language)'=='C++' ">
12841 <PrepareForBuildDependsOn>
12842 $(PrepareForBuildDependsOn);
12843 __SetVersionResource
12844 </PrepareForBuildDependsOn>
12845 </PropertyGroup>
12846 <Target Name="__SetVersionResource" Inputs="$(SomeVerInfoRcFile)" Outputs="$(TargetPath)" Condition=" '$(ConfigurationType)'=='Application' or '$(ConfigurationType)'=='DynamicLibrary' ">
12847 <PropertyGroup>
12848 <_ResourceFileType Condition=" '$(ConfigurationType)'=='Application' ">VFT_APP</_ResourceFileType>
12849 <_ResourceFileType Condition=" '$(ConfigurationType)'=='DynamicLibrary' ">VFT_DLL</_ResourceFileType>
12850 <Lcid Condition=" '$(Lcid)'=='' ">0x0409</Lcid>
12851 <Description Condition=" '$(Description)'=='' ">$(TargetName)</Description>
12852 <Title Condition=" '$(Title)'=='' ">$(Description)</Title>
12853 </PropertyGroup>
12854 <ItemGroup>
12855 <ResourceCompile Include="$(SomeVerInfoRcFile)">
12856 <PreprocessorDefinitions>
12857 %(PreprocessorDefinitions);
12858 SOMEVER_FILE_TYPE=$(_ResourceFileType);
12859 SOMEVER_CODEPAGE=0;
12860 SOMEVER_LCID=$([System.Convert]::ToInt32('$(Lcid)', 16));
12861 SOMEVER_VERSION_BLOCK=$([System.Convert]::ToString($([MSBuild]::Multiply($([System.Convert]::ToUint64('$(Lcid)', 16)), 65536)), 16).PadLeft(8, '0'));
12862 SOMEVER_COMPANY=$(Company);
12863 SOMEVER_COPYRIGHT=$(Copyright);
12864 SOMEVER_TITLE=$(Title);
12865 SOMEVER_PRODUCT=$(Product);
12866 SOMEVER_INTERNAL_NAME=$(TargetName);
12867 SOMEVER_FILE_NAME=$(TargetFileName);
12868 </PreprocessorDefinitions>
12869 </ResourceCompile>
12870 </ItemGroup>
12871 </Target>
12872 <!--
12873============================================================================================================================================
12874 </Import>
12875
12876D:\src\wix\src\Directory.Build.targets
12877============================================================================================================================================
12878-->
12879 <PropertyGroup>
12880 <RepositoryUrl Condition=" '$(RepositoryUrl)'=='' ">https://github.com/wixtoolset/wix</RepositoryUrl>
12881 <RepositoryType Condition=" '$(RepositoryType)'=='' ">git</RepositoryType>
12882 <RepositoryCommit Condition=" '$(RepositoryCommit)'=='' ">$(SomeVerInfoSha)</RepositoryCommit>
12883 <PublishRepositoryUrl>true</PublishRepositoryUrl>
12884 <ProjectUrl Condition=" '$(ProjectUrl)'=='' and '$(RepositoryUrl)'!='' ">$(RepositoryUrl)</ProjectUrl>
12885 </PropertyGroup>
12886 <PropertyGroup>
12887 <GenerateNuspecDependsOn>
12888 $(GenerateNuspecDependsOn);
12889 __SetNuspecProperties;
12890 VerifyOfficialBuild
12891 </GenerateNuspecDependsOn>
12892 </PropertyGroup>
12893 <Target Name="__SetNuspecProperties" Condition=" Exists('$(MSBuildProjectName).nuspec') ">
12894 <PropertyGroup>
12895 <NuspecFile Condition=" '$(NuspecFile)'=='' ">$(MSBuildProjectName).nuspec</NuspecFile>
12896 <PackageId Condition=" '$(PackageId)'=='' ">$(MSBuildProjectName)</PackageId>
12897 <Title Condition=" '$(Title)'=='' ">$(Description)</Title>
12898 <NuspecBasePath Condition=" '$(NuspecBasePath)'=='' ">$(OutputPath)</NuspecBasePath>
12899 <NuspecProperties>$(NuspecProperties);Id=$(PackageId);Version=$(PackageVersion);MajorVersion=$(SomeVerInfoMajor);NextMajorVersion=$(SomeVerInfoNextMajor);Authors=$(Authors);Configuration=$(Configuration)</NuspecProperties>
12900 <NuspecProperties>$(NuspecProperties);Copyright=$(Copyright);Description=$(Description);Title=$(Title)</NuspecProperties>
12901 <NuspecProperties>$(NuspecProperties);RepositoryType=$(RepositoryType);RepositoryCommit=$(RepositoryCommit);RepositoryUrl=$(RepositoryUrl)</NuspecProperties>
12902 <NuspecProperties>$(NuspecProperties);PackageTags=$(PackageTags)</NuspecProperties>
12903 <NuspecProperties>$(NuspecProperties);ProjectUrl=$(ProjectUrl);ProjectFolder=$(MSBuildProjectDirectory);RootFolder=$(RootFolder);EulaTxt=$(PackageEulaSource);IconPng=$(PackageIconSource)</NuspecProperties>
12904 </PropertyGroup>
12905 </Target>
12906 <Target Name="PackNative" DependsOnTargets="__SetNuspecProperties" Condition=" Exists('$(MSBuildProjectName).nuspec') ">
12907 <Exec Command="nuget pack $(NuspecFile) -OutputDirectory &quot;$(PackageOutputPath.Trim(&quot;\&quot;))&quot; -BasePath $(NuspecBasePath) -Properties &quot;$(NuspecProperties)&quot;" WorkingDirectory="$(MSBuildProjectDirectory)" />
12908 <ItemGroup>
12909 <NuGetPackOutput Include="$(PackageOutputPath)\$(PackageId).$(PackageVersion).nupkg" />
12910 </ItemGroup>
12911 </Target>
12912 <Target Name="SignOutput" AfterTargets="AfterBuild" Condition=" '$(SigningCertName)'!='' and '$(SignOutput)'!='false' and&#xD;&#xA; ('$(MSBuildProjectExtension)'=='.csproj' or ('$(MSBuildProjectExtension)'=='.vcxproj' and '$(ConfigurationType)'!='StaticLibrary'))">
12913 <Message Importance="high" Text="Signing file: $(TargetPath)" />
12914 <Exec Command="&quot;$(SigningToolExe)&quot; $(SigningCommand) $(SigningConfiguration) $(TargetPath)" WorkingDirectory="$(MSBuildProjectDirectory)" EchoOff="true" />
12915 </Target>
12916 <Target Name="SignNupkg" AfterTargets="Pack;PackNative" Condition=" '$(SigningCertName)'!='' and '@(NuGetPackOutput)'!='' and '$(SignNupkg)'!='false' ">
12917 <ItemGroup>
12918 <SigningNupkgs Include="@(NuGetPackOutput)" Condition=" '%(Extension)'=='.nupkg' " />
12919 </ItemGroup>
12920 <Message Importance="high" Text="Signing nupkg: @(SigningNupkgs->'%(Identity)')" />
12921 <Exec Command="&quot;$(SigningToolExe)&quot; $(SigningCommand) $(SigningConfiguration) &quot;@(SigningNupkgs->'%(Identity)')&quot;" WorkingDirectory="$(MSBuildProjectDirectory)" EchoOff="true" />
12922 </Target>
12923 <Target Name="SignBundleEngine" Condition=" '$(SigningCertName)'!='' and '$(SignOutput)'!='false' ">
12924 <Message Importance="high" Text="Signing bundle engine: @(SignBundleEngine->'%(Identity)')" />
12925 <Exec Command="&quot;$(SigningToolExe)&quot; $(SigningCommand) $(SigningConfiguration) &quot;@(SignBundleEngine->'%(Identity)')&quot;" WorkingDirectory="$(MSBuildProjectDirectory)" EchoOff="true" />
12926 </Target>
12927 <Target Name="SignBundle" Condition=" '$(SigningCertName)'!='' and '$(SignOutput)'!='false' ">
12928 <Message Importance="high" Text="Signing bundle: @(SignBundle->'%(Identity)')" />
12929 <Exec Command="&quot;$(SigningToolExe)&quot; $(SigningCommand) $(SigningConfiguration) &quot;@(SignBundle->'%(Identity)')&quot;" WorkingDirectory="$(MSBuildProjectDirectory)" EchoOff="true" />
12930 </Target>
12931 <Target Name="VerifyOfficialBuild" Condition=" '$(WixOfficialBuild)'=='true' ">
12932 <Error Text="Official builds are only supported in the WiX Toolset repo. You are welcome to create your own builds but please do not use the official WiX Toolset name or logo." Condition=" '$(RepoOrg)'!='wixtoolset' " />
12933 </Target>
12934 <!--<Import Project="Directory$(MSBuildProjectExtension).targets" Condition=" Exists('Directory$(MSBuildProjectExtension).targets') " />-->
12935 <!--<Import Project="Custom.Build.targets" Condition=" Exists('Custom.Build.targets') " />-->
12936 <!--
12937============================================================================================================================================
12938 </Import>
12939
12940C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\Microsoft.Common.targets
12941============================================================================================================================================
12942-->
12943 <!--<Import Project="$(CustomAfterDirectoryBuildTargets)" Condition="'$(CustomAfterDirectoryBuildTargets)' != ''" />-->
12944 <!--
12945============================================================================================================================================
12946 </Import>
12947
12948C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
12949============================================================================================================================================
12950-->
12951 <!--<Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.CrossTargeting.targets" Condition="'$(IsCrossTargetingBuild)' == 'true'" />-->
12952 <!--
12953============================================================================================================================================
12954 <Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.targets" Condition="'$(IsCrossTargetingBuild)' != 'true'">
12955
12956C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
12957============================================================================================================================================
12958-->
12959 <!--
12960***********************************************************************************************
12961Microsoft.NET.Sdk.targets
12962WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12963 created a backup copy. Incorrect changes to this file will make it
12964 impossible to load or build your projects from the command-line or the IDE.
12965Copyright (c) .NET Foundation. All rights reserved.
12966***********************************************************************************************
12967-->
12968 <!--
12969============================================================================================================================================
12970 <Import Project="Microsoft.NET.Sdk.Common.targets">
12971
12972C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.Common.targets
12973============================================================================================================================================
12974-->
12975 <!--
12976***********************************************************************************************
12977Microsoft.NET.Sdk.Common.targets
12978
12979WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12980 created a backup copy. Incorrect changes to this file will make it
12981 impossible to load or build your projects from the command-line or the IDE.
12982
12983Copyright (c) .NET Foundation. All rights reserved.
12984***********************************************************************************************
12985-->
12986 <!-- This file is imported by both cross-targeting and inner builds. Set properties that need to be available to both here. -->
12987 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12988 <MicrosoftNETBuildTasksDirectoryRoot>$(MSBuildThisFileDirectory)..\tools\</MicrosoftNETBuildTasksDirectoryRoot>
12989 <MicrosoftNETBuildTasksTFM Condition=" '$(MSBuildRuntimeType)' == 'Core'">net10.0</MicrosoftNETBuildTasksTFM>
12990 <MicrosoftNETBuildTasksTFM Condition=" '$(MicrosoftNETBuildTasksTFM)' == ''">net472</MicrosoftNETBuildTasksTFM>
12991 <MicrosoftNETBuildTasksDirectory>$(MicrosoftNETBuildTasksDirectoryRoot)$(MicrosoftNETBuildTasksTFM)\</MicrosoftNETBuildTasksDirectory>
12992 <MicrosoftNETBuildTasksAssembly>$(MicrosoftNETBuildTasksDirectory)Microsoft.NET.Build.Tasks.dll</MicrosoftNETBuildTasksAssembly>
12993 <!--
12994 Hardcoded list of known implicit packages that are added to project from default SDK targets implicitly.
12995 Should be re-visited when multiple TFM support is added to Dependencies logic.
12996 -->
12997 <DefaultImplicitPackages>Microsoft.NETCore.App;NETStandard.Library</DefaultImplicitPackages>
12998 </PropertyGroup>
12999 <!--
13000 Some versions of Microsoft.NET.Test.Sdk.targets change the OutputType after we've set _IsExecutable and
13001 HasRuntimeOutput default in Microsoft.NET.Sdk.BeforeCommon.targets. Refresh these value here for backwards
13002 compatibilty with that.
13003 -->
13004 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13005 <_IsExecutable Condition="'$(OutputType)' == 'Exe' or '$(OutputType)'=='WinExe'">true</_IsExecutable>
13006 <HasRuntimeOutput Condition="'$(_UsingDefaultForHasRuntimeOutput)' == 'true'">$(_IsExecutable)</HasRuntimeOutput>
13007 </PropertyGroup>
13008 <PropertyGroup Condition="'$(DotnetCliToolTargetFramework)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13009 <!-- Maximum supported target framework for DotnetCliProjectTools is .NET Core 2.2 -->
13010 <DotnetCliToolTargetFramework>netcoreapp2.2</DotnetCliToolTargetFramework>
13011 </PropertyGroup>
13012 <PropertyGroup Condition="'$(EnablePreviewFeatures)' == 'true' And '$(IsNetCoreAppTargetingLatestTFM)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13013 <LangVersion>Preview</LangVersion>
13014 </PropertyGroup>
13015 <UsingTask TaskName="NETSdkError" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13016 <UsingTask TaskName="NETSdkWarning" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13017 <UsingTask TaskName="NETSdkInformation" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13018 <UsingTask TaskName="ShowPreviewMessage" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13019 <PropertyGroup Condition="'$(RoslynCompilerType)' == 'FrameworkPackage' and '$(OS)' == 'Windows_NT' and '$(MSBuildRuntimeType)' == 'Full'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13020 <RoslynTargetsPath>$(NuGetPackageRoot)\microsoft.net.sdk.compilers.toolset\$(NETCoreSdkVersion)</RoslynTargetsPath>
13021 <RoslynTasksAssembly>$(RoslynTargetsPath)\Microsoft.Build.Tasks.CodeAnalysis.dll</RoslynTasksAssembly>
13022 <_NeedToDownloadMicrosoftNetSdkCompilersToolsetPackage>true</_NeedToDownloadMicrosoftNetSdkCompilersToolsetPackage>
13023 <_MicrosoftNetSdkCompilersToolsetPackageRootEmpty Condition="'$(NuGetPackageRoot)' == ''">true</_MicrosoftNetSdkCompilersToolsetPackageRootEmpty>
13024 </PropertyGroup>
13025 <!--
13026============================================================================================================================================
13027 </Import>
13028
13029C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
13030============================================================================================================================================
13031-->
13032 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13033 <EnableDynamicLoading Condition="'$(EnableDynamicLoading)' == '' and '$(EnableComHosting)' == 'true'">true</EnableDynamicLoading>
13034 </PropertyGroup>
13035 <!--<ImportGroup>-->
13036 <!--
13037============================================================================================================================================
13038 <Import Project="$(MSBuildThisFileDirectory)Microsoft.PackageDependencyResolution.targets" Condition="Exists('$(MSBuildThisFileDirectory)Microsoft.PackageDependencyResolution.targets') and ('$(Language)' != 'C++' or '$(_EnablePackageReferencesInVCProjects)' == 'true')">
13039
13040C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets
13041============================================================================================================================================
13042-->
13043 <!--
13044***********************************************************************************************
13045Microsoft.PackageDependencyResolution.targets
13046
13047WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
13048 created a backup copy. Incorrect changes to this file will make it
13049 impossible to load or build your projects from the command-line or the IDE.
13050
13051Copyright (c) .NET Foundation. All rights reserved.
13052***********************************************************************************************
13053-->
13054 <!--
13055 *************************************
13056 1. INPUT PROPERTIES
13057 - That configure the PackageDependency targets
13058 *************************************
13059 -->
13060 <!-- General Properties -->
13061 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13062 <ProjectAssetsFile Condition="'$(ProjectAssetsFile)' == ''">$(MSBuildProjectExtensionsPath)/project.assets.json</ProjectAssetsFile>
13063 <ProjectAssetsFile>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(ProjectAssetsFile)))</ProjectAssetsFile>
13064 <!-- Note that the assets.cache file has contents that are unique to the current TFM and configuration and therefore cannot
13065 be stored in a shared directory next to the assets.json file -->
13066 <ProjectAssetsCacheFile Condition="'$(ProjectAssetsCacheFile)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).assets.cache</ProjectAssetsCacheFile>
13067 <ProjectAssetsCacheFile>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(ProjectAssetsCacheFile)))</ProjectAssetsCacheFile>
13068 <!-- Don't copy local for netstandard projects. -->
13069 <CopyLocalLockFileAssemblies Condition="'$(CopyLocalLockFileAssemblies)' == '' and&#xD;&#xA; '$(TargetFrameworkIdentifier)' == '.NETStandard'">false</CopyLocalLockFileAssemblies>
13070 <!-- Don't copy local for netcoreapp projects before 3.0 or non-exe and non-component projects. -->
13071 <CopyLocalLockFileAssemblies Condition="'$(CopyLocalLockFileAssemblies)' == '' and&#xD;&#xA; '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and&#xD;&#xA; ('$(_TargetFrameworkVersionWithoutV)' &lt; '3.0' or&#xD;&#xA; ('$(HasRuntimeOutput)' != 'true' and '$(EnableDynamicLoading)' != 'true'))">false</CopyLocalLockFileAssemblies>
13072 <!-- All other project types should copy local. -->
13073 <CopyLocalLockFileAssemblies Condition="'$(CopyLocalLockFileAssemblies)' == ''">true</CopyLocalLockFileAssemblies>
13074 <ContentPreprocessorOutputDirectory Condition="'$(ContentPreprocessorOutputDirectory)' == ''">$(IntermediateOutputPath)NuGet\</ContentPreprocessorOutputDirectory>
13075 <UseTargetPlatformAsNuGetTargetMoniker Condition="'$(UseTargetPlatformAsNuGetTargetMoniker)' == '' AND '$(TargetFrameworkMoniker)' == '.NETCore,Version=v5.0'">true</UseTargetPlatformAsNuGetTargetMoniker>
13076 <NuGetTargetMoniker Condition="'$(NuGetTargetMoniker)' == '' AND '$(UseTargetPlatformAsNuGetTargetMoniker)' == 'true'">$(TargetPlatformIdentifier),Version=v$([System.Version]::Parse('$(TargetPlatformMinVersion)').ToString(3))</NuGetTargetMoniker>
13077 <NuGetTargetMoniker Condition="'$(NuGetTargetMoniker)' == '' AND '$(UseTargetPlatformAsNuGetTargetMoniker)' != 'true'">$(TargetFrameworkMoniker)</NuGetTargetMoniker>
13078 <EmitAssetsLogMessages Condition="'$(EmitAssetsLogMessages)' == ''">true</EmitAssetsLogMessages>
13079 <!-- Setting this property to true restores pre-16.7 behaviour of ResolvePackageDependencies to produce
13080 TargetDefinitions, FileDefinitions and FileDependencies items. -->
13081 <EmitLegacyAssetsFileItems Condition="'$(EmitLegacyAssetsFileItems)' == ''">false</EmitLegacyAssetsFileItems>
13082 <!-- A flag that NuGet packages containing multi-targeted analyzers can check to see if the NuGet package needs to do
13083 its own multi-targeting logic, or if the current SDK targets will pick the assets correctly. -->
13084 <SupportsRoslynComponentVersioning>true</SupportsRoslynComponentVersioning>
13085 </PropertyGroup>
13086 <!-- Target Moniker + RID-->
13087 <PropertyGroup Condition="'$(_NugetTargetMonikerAndRID)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13088 <_NugetTargetMonikerAndRID Condition="'$(RuntimeIdentifier)' == ''">$(NuGetTargetMoniker)</_NugetTargetMonikerAndRID>
13089 <_NugetTargetMonikerAndRID Condition="'$(RuntimeIdentifier)' != ''">$(NuGetTargetMoniker)/$(RuntimeIdentifier)</_NugetTargetMonikerAndRID>
13090 </PropertyGroup>
13091 <!-- Embed all project.assets.json files into the binary log when building with /bl -->
13092 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13093 <EmbedInBinlog Include="$(ProjectAssetsFile)" Condition="$(EmbedProjectAssetsFile) != false AND Exists('$(ProjectAssetsFile)')" />
13094 </ItemGroup>
13095 <!--
13096 *************************************
13097 2. EXTERNAL PROPERTIES and ITEMS
13098 - Override or add to external targets
13099 *************************************
13100 -->
13101 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13102 <ResolveAssemblyReferencesDependsOn>
13103 $(ResolveAssemblyReferencesDependsOn);
13104 ResolvePackageDependenciesForBuild;
13105 _HandlePackageFileConflicts;
13106 </ResolveAssemblyReferencesDependsOn>
13107 <PrepareResourcesDependsOn>
13108 ResolvePackageDependenciesForBuild;
13109 _HandlePackageFileConflicts;
13110 $(PrepareResourcesDependsOn)
13111 </PrepareResourcesDependsOn>
13112 </PropertyGroup>
13113 <!-- Common tokens used in preprocessed content files -->
13114 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13115 <PreprocessorValue Include="rootnamespace">
13116 <Value>$(RootNamespace)</Value>
13117 </PreprocessorValue>
13118 <PreprocessorValue Include="assemblyname">
13119 <Value>$(AssemblyName)</Value>
13120 </PreprocessorValue>
13121 <PreprocessorValue Include="fullpath">
13122 <Value>$(MSBuildProjectDirectory)</Value>
13123 </PreprocessorValue>
13124 <PreprocessorValue Include="outputfilename">
13125 <Value>$(TargetFileName)</Value>
13126 </PreprocessorValue>
13127 <PreprocessorValue Include="filename">
13128 <Value>$(MSBuildProjectFile)</Value>
13129 </PreprocessorValue>
13130 <PreprocessorValue Include="@(NuGetPreprocessorValue)" Exclude="@(PreprocessorValue)" />
13131 </ItemGroup>
13132 <!--
13133 This will prevent RAR from spending time locating dependencies and related files for assemblies
13134 that came from packages. PackageReference should already be promoted to a closure of Reference
13135 items and we are responsible for adding package relates files to CopyLocal items, not RAR. This
13136 is only configurable as a compat opt-out in case skipping the slow RAR code breaks something.
13137 -->
13138 <PropertyGroup Condition="'$(MarkPackageReferencesAsExternallyResolved)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13139 <MarkPackageReferencesAsExternallyResolved>true</MarkPackageReferencesAsExternallyResolved>
13140 </PropertyGroup>
13141 <!--
13142 *************************************
13143 3. BUILD TARGETS
13144 - Override the Depends-On properties, or the individual targets
13145 *************************************
13146 -->
13147 <!--
13148 ============================================================
13149 ResolvePackageDependenciesForBuild
13150
13151 Populate items for build. This is triggered before target
13152 "AssignProjectConfiguration" to ensure ProjectReference items
13153 are populated before ResolveProjectReferences is run.
13154 ============================================================
13155 -->
13156 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13157 <ResolvePackageDependenciesForBuildDependsOn>
13158 ResolveLockFileReferences;
13159 ResolveLockFileAnalyzers;
13160 ResolveLockFileCopyLocalFiles;
13161 ResolveRuntimePackAssets;
13162 RunProduceContentAssets;
13163 IncludeTransitiveProjectReferences
13164 </ResolvePackageDependenciesForBuildDependsOn>
13165 </PropertyGroup>
13166 <Target Name="ResolvePackageDependenciesForBuild" Condition=" ('$(DesignTimeBuild)' != 'true' and '$(_CleaningWithoutRebuilding)' != 'true')&#xD;&#xA; Or Exists('$(ProjectAssetsFile)')" BeforeTargets="AssignProjectConfiguration" DependsOnTargets="$(ResolvePackageDependenciesForBuildDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13167 <!--
13168 *************************************
13169 4. Package Dependency TASK and TARGETS
13170 - Raise the lock file to MSBuild Items and create derived items
13171 *************************************
13172 -->
13173 <!--
13174 ============================================================
13175 RunResolvePackageDependencies
13176
13177 Generate Definitions and Dependencies based on ResolvePackageDependencies task
13178 ============================================================
13179 -->
13180 <UsingTask TaskName="Microsoft.NET.Build.Tasks.ResolvePackageDependencies" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13181 <UsingTask TaskName="Microsoft.NET.Build.Tasks.CheckForTargetInAssetsFile" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13182 <UsingTask TaskName="Microsoft.NET.Build.Tasks.JoinItems" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13183 <UsingTask TaskName="Microsoft.NET.Build.Tasks.ResolvePackageAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13184 <!-- The condition on this target causes it to be skipped during design-time builds if
13185 the restore operation hasn't run yet. This is to avoid displaying an error in
13186 the Visual Studio error list when a project is created before NuGet restore has
13187 run and created the assets file. -->
13188 <Target Name="RunResolvePackageDependencies" Condition=" '$(DesignTimeBuild)' != 'true' Or Exists('$(ProjectAssetsFile)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13189 <!-- Verify that the assets file has a target for the right framework. Otherwise, if we restored for the
13190 wrong framework, we'd end up finding no references to pass to the compiler, and we'd get a ton of
13191 compile errors. -->
13192 <CheckForTargetInAssetsFile AssetsFilePath="$(ProjectAssetsFile)" TargetFramework="$(TargetFramework)" RuntimeIdentifier="$(RuntimeIdentifier)" Condition=" '$(DesignTimeBuild)' != 'true'" />
13193 <!-- Included for backwards compatibility when the EmitLegacyAssetsFileItems property is true. -->
13194 <ResolvePackageDependencies ProjectPath="$(MSBuildProjectFullPath)" ProjectAssetsFile="$(ProjectAssetsFile)" ProjectLanguage="$(Language)" TargetFramework="$(TargetFramework)" ContinueOnError="ErrorAndContinue" Condition="'$(EmitLegacyAssetsFileItems)' == 'true'">
13195 <Output TaskParameter="PackageDefinitions" ItemName="PackageDefinitions" />
13196 <Output TaskParameter="PackageDependencies" ItemName="PackageDependencies" />
13197 <Output TaskParameter="TargetDefinitions" ItemName="TargetDefinitions" />
13198 <Output TaskParameter="FileDefinitions" ItemName="FileDefinitions" />
13199 <Output TaskParameter="FileDependencies" ItemName="FileDependencies" />
13200 </ResolvePackageDependencies>
13201 </Target>
13202 <!-- Reads the version of the compiler APIs that are currently being used in order to pick the correct Roslyn components. -->
13203 <Target Name="_ResolveCompilerVersion" Condition="'$(CompilerApiVersion)' == '' And&#xD;&#xA; ('$(Language)' == 'C#' Or '$(Language)' == 'VB') And&#xD;&#xA; Exists('$(RoslynTasksAssembly)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13204 <GetAssemblyIdentity AssemblyFiles="$(RoslynTasksAssembly)">
13205 <Output TaskParameter="Assemblies" ItemName="_CodeAnalysisIdentity" />
13206 </GetAssemblyIdentity>
13207 <PropertyGroup>
13208 <_RoslynApiVersion>$([System.Version]::Parse(%(_CodeAnalysisIdentity.Version)).Major).$([System.Version]::Parse(%(_CodeAnalysisIdentity.Version)).Minor)</_RoslynApiVersion>
13209 <CompilerApiVersion>roslyn$(_RoslynApiVersion)</CompilerApiVersion>
13210 </PropertyGroup>
13211 </Target>
13212 <Target Name="ResolvePackageAssets" Condition="('$(DesignTimeBuild)' != 'true' Or Exists('$(ProjectAssetsFile)')) And '$(SkipResolvePackageAssets)' != 'true'" DependsOnTargets="ProcessFrameworkReferences;_DefaultMicrosoftNETPlatformLibrary;_ComputePackageReferencePublish;_ResolveCompilerVersion" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13213 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0'&#xD;&#xA; and '$(UseAppHostFromAssetsFile)' == ''">
13214 <!-- For .NET Core 3.0 and higher, we'll get the apphost from an apphost pack (via ProcessFrameworkReferences) -->
13215 <UseAppHostFromAssetsFile>false</UseAppHostFromAssetsFile>
13216 </PropertyGroup>
13217 <PropertyGroup Condition="'$(UseAppHostFromAssetsFile)' == ''">
13218 <UseAppHostFromAssetsFile>true</UseAppHostFromAssetsFile>
13219 </PropertyGroup>
13220 <PropertyGroup Condition="'$(EnsureRuntimePackageDependencies)' == ''&#xD;&#xA; and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and '$(_TargetFrameworkVersionWithoutV)' &lt; '3.0'&#xD;&#xA; and '$(EnsureNETCoreAppRuntime)' != 'false'">
13221 <EnsureRuntimePackageDependencies>true</EnsureRuntimePackageDependencies>
13222 </PropertyGroup>
13223 <!-- Only copy local runtime target assets if targeting netcoreapp -->
13224 <PropertyGroup Condition="'$(CopyLocalRuntimeTargetAssets)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
13225 <CopyLocalRuntimeTargetAssets>true</CopyLocalRuntimeTargetAssets>
13226 </PropertyGroup>
13227 <ItemGroup>
13228 <_PackAsToolShimRuntimeIdentifiers Condition="@(_PackAsToolShimRuntimeIdentifiers) ==''" Include="$(PackAsToolShimRuntimeIdentifiers)" />
13229 <!-- Pass these packages into the ResolvePackageAssets task to verify that the restored versions of the packages
13230 match the expected version -->
13231 <ExpectedPlatformPackages Include="@(PackageReference)" Condition="'%(Identity)' == 'Microsoft.NETCore.App'" />
13232 <ExpectedPlatformPackages Include="@(PackageReference)" Condition="'%(Identity)' == 'Microsoft.AspNetCore.App'" />
13233 <ExpectedPlatformPackages Include="@(PackageReference)" Condition="'%(Identity)' == 'Microsoft.AspNetCore.All'" />
13234 </ItemGroup>
13235 <ResolvePackageAssets ProjectAssetsFile="$(ProjectAssetsFile)" ProjectAssetsCacheFile="$(ProjectAssetsCacheFile)" ProjectPath="$(MSBuildProjectFullPath)" ProjectLanguage="$(Language)" CompilerApiVersion="$(CompilerApiVersion)" EmitAssetsLogMessages="$(EmitAssetsLogMessages)" TargetFramework="$(TargetFramework)" RuntimeIdentifier="$(RuntimeIdentifier)" PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" RuntimeFrameworks="@(RuntimeFramework)" IsSelfContained="$(SelfContained)" MarkPackageReferencesAsExternallyResolved="$(MarkPackageReferencesAsExternallyResolved)" DisablePackageAssetsCache="$(DisablePackageAssetsCache)" DisableFrameworkAssemblies="$(DisableLockFileFrameworks)" CopyLocalRuntimeTargetAssets="$(CopyLocalRuntimeTargetAssets)" DisableTransitiveProjectReferences="$(DisableTransitiveProjectReferences)" DisableTransitiveFrameworkReferences="$(DisableTransitiveFrameworkReferences)" DotNetAppHostExecutableNameWithoutExtension="$(_DotNetAppHostExecutableNameWithoutExtension)" ShimRuntimeIdentifiers="@(_PackAsToolShimRuntimeIdentifiers)" EnsureRuntimePackageDependencies="$(EnsureRuntimePackageDependencies)" VerifyMatchingImplicitPackageVersion="$(VerifyMatchingImplicitPackageVersion)" ExpectedPlatformPackages="@(ExpectedPlatformPackages)" SatelliteResourceLanguages="$(SatelliteResourceLanguages)" DesignTimeBuild="$(DesignTimeBuild)" ContinueOnError="$(ContinueOnError)" PackageReferences="@(PackageReference)" DefaultImplicitPackages="$(DefaultImplicitPackages)">
13236 <!-- NOTE: items names here are inconsistent because they match prior implementation
13237 (that was spread across different tasks/targets) for backwards compatibility. -->
13238 <Output TaskParameter="Analyzers" ItemName="ResolvedAnalyzers" />
13239 <Output TaskParameter="ApphostsForShimRuntimeIdentifiers" ItemName="_ApphostsForShimRuntimeIdentifiersResolvePackageAssets" />
13240 <Output TaskParameter="ContentFilesToPreprocess" ItemName="_ContentFilesToPreprocess" />
13241 <Output TaskParameter="DebugSymbolsFiles" ItemName="_DebugSymbolsFiles" />
13242 <Output TaskParameter="ReferenceDocumentationFiles" ItemName="_ReferenceDocumentationFiles" />
13243 <Output TaskParameter="FrameworkAssemblies" ItemName="ResolvedFrameworkAssemblies" />
13244 <Output TaskParameter="FrameworkReferences" ItemName="TransitiveFrameworkReference" />
13245 <Output TaskParameter="NativeLibraries" ItemName="NativeCopyLocalItems" />
13246 <Output TaskParameter="ResourceAssemblies" ItemName="ResourceCopyLocalItems" />
13247 <Output TaskParameter="RuntimeAssemblies" ItemName="RuntimeCopyLocalItems" />
13248 <Output TaskParameter="RuntimeTargets" ItemName="RuntimeTargetsCopyLocalItems" />
13249 <Output TaskParameter="CompileTimeAssemblies" ItemName="ResolvedCompileFileDefinitions" />
13250 <Output TaskParameter="TransitiveProjectReferences" ItemName="_TransitiveProjectReferences" />
13251 <Output TaskParameter="PackageFolders" ItemName="AssetsFilePackageFolder" />
13252 <Output TaskParameter="PackageDependencies" ItemName="PackageDependencies" />
13253 <Output TaskParameter="PackageDependenciesDesignTime" ItemName="_PackageDependenciesDesignTime" />
13254 </ResolvePackageAssets>
13255 <ItemGroup Condition="'$(CopyDebugSymbolFilesFromPackages)' == 'true'">
13256 <ReferenceCopyLocalPaths Include="@(_DebugSymbolsFiles)" />
13257 </ItemGroup>
13258 <ItemGroup Condition="'$(CopyDocumentationFilesFromPackages)' == 'true'">
13259 <ReferenceCopyLocalPaths Include="@(_ReferenceDocumentationFiles)" />
13260 </ItemGroup>
13261 <ItemGroup Condition="'$(UseAppHostFromAssetsFile)' == 'true'">
13262 <_NativeRestoredAppHostNETCore Include="@(NativeCopyLocalItems)" Condition="'%(NativeCopyLocalItems.FileName)%(NativeCopyLocalItems.Extension)' == '$(_DotNetAppHostExecutableName)'" />
13263 </ItemGroup>
13264 <ItemGroup Condition="'@(_ApphostsForShimRuntimeIdentifiers)' == ''">
13265 <_ApphostsForShimRuntimeIdentifiers Include="@(_ApphostsForShimRuntimeIdentifiersResolvePackageAssets)" />
13266 </ItemGroup>
13267 </Target>
13268 <!--
13269 ============================================================
13270 ResolvePackageDependenciesDesignTime
13271
13272 Aggregate the dependencies produced by ResolvePackageDependencies to a form
13273 that's consumable by an IDE to display package dependencies.
13274 ============================================================
13275 -->
13276 <Target Name="ResolvePackageDependenciesDesignTime" Returns="@(_PackageDependenciesDesignTime)" DependsOnTargets="ResolvePackageAssets;RunResolvePackageDependencies;ResolveAssemblyReferencesDesignTime" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13277 <!--
13278 ============================================================
13279 CollectSDKReferencesDesignTime
13280
13281 Aggregates the sdk specified as project items and implicit
13282 packages references.
13283 ============================================================
13284 -->
13285 <UsingTask TaskName="Microsoft.NET.Build.Tasks.CollectSDKReferencesDesignTime" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13286 <Target Name="CollectSDKReferencesDesignTime" Returns="@(_SDKReference)" DependsOnTargets="CollectPackageReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13287 <CollectSDKReferencesDesignTime SdkReferences="@(SdkReference)" PackageReferences="@(PackageReference)" DefaultImplicitPackages="$(DefaultImplicitPackages)">
13288 <Output TaskParameter="SDKReferencesDesignTime" ItemName="_SDKReference" />
13289 </CollectSDKReferencesDesignTime>
13290 </Target>
13291 <!--
13292 ============================================================
13293 CollectResolvedSDKReferencesDesignTime
13294
13295 Aggregates the sdk specified as project items and implicit
13296 packages produced by ResolvePackageDependencies.
13297 ============================================================
13298 -->
13299 <Target Name="CollectResolvedSDKReferencesDesignTime" Returns="@(_ResolvedSDKReference)" DependsOnTargets="ResolveSDKReferencesDesignTime;CollectPackageReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13300 <CollectSDKReferencesDesignTime SdkReferences="@(ResolvedSdkReference)" PackageReferences="@(PackageReference)" DefaultImplicitPackages="$(DefaultImplicitPackages)">
13301 <Output TaskParameter="SDKReferencesDesignTime" ItemName="_ResolvedSDKReference" />
13302 </CollectSDKReferencesDesignTime>
13303 </Target>
13304 <!--
13305 ============================================================
13306 RunProduceContentAssets
13307
13308 Process content assets by handling preprocessing tokens where necessary, and
13309 produce copy local items, content items grouped by "build action" and file writes
13310 ============================================================
13311 -->
13312 <UsingTask TaskName="Microsoft.NET.Build.Tasks.ProduceContentAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13313 <Target Name="RunProduceContentAssets" DependsOnTargets="ResolvePackageAssets" Condition="'@(_ContentFilesToPreprocess)' != '' and '$(_CleaningWithoutRebuilding)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13314 <ProduceContentAssets ContentFileDependencies="@(_ContentFilesToPreprocess)" ContentPreprocessorValues="@(PreprocessorValue)" ContentPreprocessorOutputDirectory="$(ContentPreprocessorOutputDirectory)" ProduceOnlyPreprocessorFiles="true" ProjectLanguage="$(Language)">
13315 <Output TaskParameter="CopyLocalItems" ItemName="_ContentCopyLocalItems" />
13316 <Output TaskParameter="ProcessedContentItems" ItemName="_ProcessedContentItems" />
13317 <Output TaskParameter="ProcessedContentItems" ItemName="FileWrites" />
13318 </ProduceContentAssets>
13319 <!-- The items in _ProcessedContentItems need to go into the appropriately-named item group,
13320 but the names depend upon the items themselves. Split it apart. -->
13321 <CreateItem Include="@(_ProcessedContentItems)" Condition="'@(_ProcessedContentItems)' != ''">
13322 <Output TaskParameter="Include" ItemName="%(_ProcessedContentItems.ProcessedItemType)" />
13323 </CreateItem>
13324 </Target>
13325 <!--
13326 ============================================================
13327 Reference Targets: For populating References based on lock file
13328 - ResolveLockFileReferences
13329 ============================================================
13330 -->
13331 <Target Name="ResolveLockFileReferences" DependsOnTargets="ResolvePackageAssets" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13332 <ItemGroup Condition="'$(MarkPackageReferencesAsExternallyResolved)' == 'true'">
13333 <!--
13334 Update Reference items with NuGetPackageId metadata to set ExternallyResolved appropriately.
13335 NetStandard.Library adds its assets in targets this way and not in the standard way that
13336 would get ExternallyResolved set in ResolvePackageAssets.
13337 -->
13338 <Reference Condition="'%(Reference.NuGetPackageId)' != ''">
13339 <ExternallyResolved>true</ExternallyResolved>
13340 </Reference>
13341 <!-- Add framework references from NuGet packages here, so that if there is also a matching reference from a NuGet package,
13342 it will be treated the same as a reference from the project file. If there is already an explicit Reference from the
13343 project, use that, in order to preserve metadata (such as aliases). -->
13344 <Reference Include="@(ResolvedFrameworkAssemblies)" Exclude="@(Reference)" />
13345 </ItemGroup>
13346 <!-- If there are any references from a NuGet package that match a simple reference which
13347 would resolve to a framework assembly, then update the NuGet references to use the
13348 simple name as the ItemSpec. This will prevent the VS project system from marking
13349 a reference with a warning. See https://github.com/dotnet/sdk/issues/1499 -->
13350 <JoinItems Left="@(ResolvedCompileFileDefinitions)" LeftKey="FileName" LeftMetadata="*" Right="@(Reference)" RightKey="" RightMetadata="*">
13351 <Output TaskParameter="JoinResult" ItemName="_JoinedResolvedCompileFileDefinitions" />
13352 </JoinItems>
13353 <ItemGroup>
13354 <Reference Remove="@(_JoinedResolvedCompileFileDefinitions)" />
13355 <Reference Include="@(_JoinedResolvedCompileFileDefinitions)" />
13356 </ItemGroup>
13357 <ItemGroup>
13358 <ResolvedCompileFileDefinitionsToAdd Include="@(ResolvedCompileFileDefinitions)" />
13359 <ResolvedCompileFileDefinitionsToAdd Remove="%(_JoinedResolvedCompileFileDefinitions.HintPath)" />
13360 <!-- Add the references we computed -->
13361 <Reference Include="@(ResolvedCompileFileDefinitionsToAdd)" />
13362 </ItemGroup>
13363 </Target>
13364 <!--
13365 ============================================================
13366 ProjectReference Targets: Include transitive project references before
13367 ResolveProjectReferences is called
13368 - IncludeTransitiveProjectReferences
13369 ============================================================
13370 -->
13371 <Target Name="IncludeTransitiveProjectReferences" DependsOnTargets="ResolvePackageAssets" Condition="'$(DisableTransitiveProjectReferences)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13372 <ItemGroup>
13373 <ProjectReference Include="@(_TransitiveProjectReferences)" />
13374 </ItemGroup>
13375 </Target>
13376 <!--
13377 ============================================================
13378 Analyzer Targets: For populating Analyzers based on lock file
13379 - ResolveLockFileAnalyzers
13380 ============================================================
13381 -->
13382 <Target Name="ResolveLockFileAnalyzers" DependsOnTargets="ResolvePackageAssets" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13383 <ItemGroup>
13384 <Analyzer Include="@(ResolvedAnalyzers)" />
13385 </ItemGroup>
13386 </Target>
13387 <!--
13388 ============================================================
13389 ResolveLockFileCopyLocalFiles
13390 Resolves the files from the assets file to copy for build and publish.
13391 ============================================================
13392 -->
13393 <Target Name="ResolveLockFileCopyLocalFiles" DependsOnTargets="ResolvePackageAssets;RunProduceContentAssets" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13394 <ItemGroup>
13395 <_ResolvedCopyLocalBuildAssets Include="@(RuntimeCopyLocalItems)" Condition="'%(RuntimeCopyLocalItems.CopyLocal)' == 'true'" />
13396 <_ResolvedCopyLocalBuildAssets Include="@(ResourceCopyLocalItems)" Condition="'%(ResourceCopyLocalItems.CopyLocal)' == 'true'" />
13397 <!-- Always exclude the apphost executable from copy local assets; we will copy the generated apphost instead. -->
13398 <_ResolvedCopyLocalBuildAssets Include="@(NativeCopyLocalItems)" Exclude="@(_NativeRestoredAppHostNETCore)" Condition="'%(NativeCopyLocalItems.CopyLocal)' == 'true'" />
13399 <_ResolvedCopyLocalBuildAssets Include="@(RuntimeTargetsCopyLocalItems)" Condition="'%(RuntimeTargetsCopyLocalItems.CopyLocal)' == 'true'" />
13400 <ReferenceCopyLocalPaths Include="@(_ContentCopyLocalItems)" />
13401 <ReferenceCopyLocalPaths Include="@(_ResolvedCopyLocalBuildAssets)" Condition="'$(CopyLocalLockFileAssemblies)' == 'true'" />
13402 </ItemGroup>
13403 </Target>
13404 <!-- Override EnsureNETCoreAppRuntime target which is included in Microsoft.NETCore.App NuGet package for
13405 .NET Core 2.x. It no longer works with the .NET 5.0.100 SDK, as the ParentTarget metadata has changed format
13406 but the targets in the NuGet package still expect the old format.
13407
13408 So here we just override that target. We have logic in the SDK that covers this scenario and generates
13409 NETSDK1056. -->
13410 <Target Name="EnsureNETCoreAppRuntime" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13411 <!--
13412============================================================================================================================================
13413 </Import>
13414
13415C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
13416============================================================================================================================================
13417-->
13418 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.PackageDependencyResolutionStubs.targets" Condition="Exists('$(MSBuildThisFileDirectory)Microsoft.PackageDependencyResolutionStubs.targets') and ('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true')" />-->
13419 <!--</ImportGroup>-->
13420 <!--
13421============================================================================================================================================
13422 <Import Project="Microsoft.NET.Sdk.DefaultItems.targets">
13423
13424C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets
13425============================================================================================================================================
13426-->
13427 <!--
13428***********************************************************************************************
13429Microsoft.NET.Sdk.DefaultItems.targets
13430
13431WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
13432 created a backup copy. Incorrect changes to this file will make it
13433 impossible to load or build your projects from the command-line or the IDE.
13434
13435Copyright (c) .NET Foundation. All rights reserved.
13436***********************************************************************************************
13437-->
13438 <!-- Don't get the default item globs by default when the flag is not set. -->
13439 <PropertyGroup Condition="'$(UsingNETSdkDefaults)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13440 <!-- Given DisableDefaultItemsInProjectFolder=true, set EnableDefaultItems=false
13441 in case there is a solution/project in the current directory. -->
13442 <EnableDefaultItems Condition="'$(EnableDefaultItems)' == '' And&#xD;&#xA; '$(DisableDefaultItemsInProjectFolder)' == 'true' And&#xD;&#xA; ('$([System.IO.Directory]::GetFiles($(MSBuildProjectDirectory), &quot;*.sln&quot;).Length)' != '0' Or&#xD;&#xA; '$([System.IO.Directory]::GetFiles($(MSBuildProjectDirectory), &quot;*.slnx&quot;).Length)' != '0' Or&#xD;&#xA; '$([System.IO.Directory]::GetFiles($(MSBuildProjectDirectory), &quot;*.csproj&quot;).Length)' != '0')">false</EnableDefaultItems>
13443 <EnableDefaultItems Condition=" '$(EnableDefaultItems)' == '' ">true</EnableDefaultItems>
13444 <EnableDefaultCompileItems Condition=" '$(EnableDefaultCompileItems)' == '' ">true</EnableDefaultCompileItems>
13445 <EnableDefaultEmbeddedResourceItems Condition=" '$(EnableDefaultEmbeddedResourceItems)' == '' ">true</EnableDefaultEmbeddedResourceItems>
13446 <EnableDefaultNoneItems Condition=" '$(EnableDefaultNoneItems)' == '' ">true</EnableDefaultNoneItems>
13447 </PropertyGroup>
13448 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13449 <!-- Set DefaultItemExcludes property for items that should be excluded from the default Compile, etc items.
13450 This is in the .targets because it needs to come after the final BaseOutputPath has been evaluated. -->
13451 <!-- bin folder, by default -->
13452 <DefaultItemExcludes>$(DefaultItemExcludes);$(BaseOutputPath)/**</DefaultItemExcludes>
13453 <!-- obj folder, by default -->
13454 <DefaultItemExcludes>$(DefaultItemExcludes);$(BaseIntermediateOutputPath)/**</DefaultItemExcludes>
13455 <!-- Various files that should generally always be ignored -->
13456 <DefaultItemExcludes>$(DefaultItemExcludes);**/*.user</DefaultItemExcludes>
13457 <DefaultItemExcludes>$(DefaultItemExcludes);**/*.*proj</DefaultItemExcludes>
13458 <DefaultItemExcludes>$(DefaultItemExcludes);**/*.sln</DefaultItemExcludes>
13459 <DefaultItemExcludes>$(DefaultItemExcludes);**/*.slnx</DefaultItemExcludes>
13460 <DefaultItemExcludes>$(DefaultItemExcludes);**/*.vssscc</DefaultItemExcludes>
13461 <DefaultItemExcludes>$(DefaultItemExcludes);**/.DS_Store</DefaultItemExcludes>
13462 <!-- WARNING: This pattern is there to ignore folders such as .git and .vs, but it will also match items included with a
13463 relative path outside the project folder (for example "..\Shared\Shared.cs"). So be sure only to apply it to items
13464 that are in the project folder. Support both DefaultItemExcludesInProjectFolder and DefaultExcludesInProjectFolder
13465 properties because of a naming mistake. -->
13466 <DefaultExcludesInProjectFolder>$(DefaultExcludesInProjectFolder);$(DefaultItemExcludesInProjectFolder);**/.*/**</DefaultExcludesInProjectFolder>
13467 </PropertyGroup>
13468 <!-- Set the default versions of the NETStandard.Library or Microsoft.NETCore.App packages to reference.
13469 The implicit package references themselves are defined in Microsoft.NET.Sdk.props, so that they can be overridden
13470 in the project file. -->
13471 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(_TargetFrameworkVersionWithoutV)' &lt; '2.1'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13472 <!-- If targeting .NET Standard 1.x, use version 1.6.1 of the package. This is so that when projects are packed, the dependency on the package produced won't change when
13473 updating to the 2.0 or higher SDK. When targeting .NET Standard 2.0 or higher, the NETStandard.Library reference won't show up as a dependency of the package
13474 produced, so we will roll forward to the latest version. -->
13475 <NETStandardImplicitPackageVersion Condition="'$(NETStandardImplicitPackageVersion)' =='' And '$(_TargetFrameworkVersionWithoutV)' &lt; '2.0'">1.6.1</NETStandardImplicitPackageVersion>
13476 <!-- Default to use the latest stable 2.0.x release. -->
13477 <NETStandardImplicitPackageVersion Condition="'$(NETStandardImplicitPackageVersion)' ==''">2.0.3</NETStandardImplicitPackageVersion>
13478 </PropertyGroup>
13479 <!--
13480============================================================================================================================================
13481 <Import Project="Microsoft.NET.Sdk.DefaultItems.Shared.targets">
13482
13483C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.Shared.targets
13484============================================================================================================================================
13485-->
13486 <!--
13487***********************************************************************************************
13488Microsoft.NET.Sdk.DefaultItems.Shared.targets: Properties and targets pulled from Microsoft.NET.Sdk.DefaultItems.targets
13489 to be shared by the WAP project system
13490
13491
13492WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
13493 created a backup copy. Incorrect changes to this file will make it
13494 impossible to load or build your projects from the command-line or the IDE.
13495
13496Copyright (c) .NET Foundation. All rights reserved.
13497***********************************************************************************************
13498-->
13499 <!--
13500 Determine the version (including patch) of .NET Core to target.
13501
13502 When targeting .NET Core, the TargetFramework is used to specify the major and minor version of the runtime to use. By default,
13503 the patch version is inferred. The general logic is that self-contained apps will target the latest patch that the SDK
13504 knows about, while framework-dependent apps will target the ".0" patch (and roll forward to the latest patch installed at
13505 runtime).
13506
13507 When targeting .NET Core 1.0 and 1.1, framework-dependent apps use 1.0.5 and 1.1.2, respectively. This is done for compatibility
13508 with previous releases that bumped the self-contained and framework-dependent versions together.
13509
13510 The TargetLatestRuntimePatch property can be set to true or false to explicitly opt in or out of the logic to roll forward
13511 to the latest patch, regardless of whether the app is self-contained or framework-dependent.
13512
13513 The RuntimeFrameworkVersion is where the actual version of the .NET Core runtime to target can be set. If set, it will be
13514 used in the implicit PackageReference to Microsoft.NETCore.App.
13515
13516 The framework version that is written to the runtimeconfig.json file is based on the actual resolved package version
13517 of Microsoft.NETCore.App. This is to allow floating the verion number (ie the RuntimeFrameworkVersion could be set to
13518 "2.0-*".
13519
13520 -->
13521 <PropertyGroup Condition="'$(TargetLatestRuntimePatch)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13522 <TargetLatestRuntimePatch Condition="'$(SelfContained)' == 'true' ">true</TargetLatestRuntimePatch>
13523 <TargetLatestRuntimePatch Condition="'$(SelfContained)' != 'true' ">false</TargetLatestRuntimePatch>
13524 <_TargetLatestRuntimePatchIsDefault>true</_TargetLatestRuntimePatchIsDefault>
13525 </PropertyGroup>
13526 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(DisableImplicitFrameworkReferences)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13527 <VerifyMatchingImplicitPackageVersion Condition="'$(VerifyMatchingImplicitPackageVersion)' == ''">true</VerifyMatchingImplicitPackageVersion>
13528 </PropertyGroup>
13529 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13530 <!-- Set implicit metadata on ASP.NET package references -->
13531 <PackageReference Update="Microsoft.AspNetCore.App">
13532 <PrivateAssets Condition="'%(PackageReference.Version)' == ''">all</PrivateAssets>
13533 <Publish Condition="'%(PackageReference.Version)' == ''">true</Publish>
13534 </PackageReference>
13535 <PackageReference Update="Microsoft.AspNetCore.All">
13536 <PrivateAssets Condition="'%(PackageReference.Version)' == ''">all</PrivateAssets>
13537 <Publish Condition="'%(PackageReference.Version)' == ''">true</Publish>
13538 </PackageReference>
13539 <!-- Allow RuntimeFrameworkVersion to be used to explicitly specify the version of Microsoft.NETCore.App -->
13540 <PackageReference Update="Microsoft.NETCore.App" Version="$(RuntimeFrameworkVersion)" Condition="'$(RuntimeFrameworkVersion)' != ''" AllowExplicitVersion="true" />
13541 <!-- If implicit PackageReferences are disabled, then don't warn about explicit versions at all -->
13542 <PackageReference Update="@(PackageReference)" Condition="'$(DisableImplicitFrameworkReferences)' == 'true'" AllowExplicitVersion="true" />
13543 </ItemGroup>
13544 <UsingTask TaskName="ApplyImplicitVersions" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13545 <UsingTask TaskName="CheckIfPackageReferenceShouldBeFrameworkReference" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13546 <Target Name="UpdateAspNetToFrameworkReference" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13547 <CheckIfPackageReferenceShouldBeFrameworkReference PackageReferences="@(PackageReference)" FrameworkReferences="@(FrameworkReference)" PackageReferenceToReplace="Microsoft.AspNetCore.All" FrameworkReferenceToUse="Microsoft.AspNetCore.App">
13548 <Output TaskParameter="ShouldRemovePackageReference" PropertyName="_ShouldRemoveAspNetCoreAll" />
13549 </CheckIfPackageReferenceShouldBeFrameworkReference>
13550 <!-- NETSDK1079: The Microsoft.AspNetCore.All package is not supported when targeting .NET Core 3.0 or higher.
13551 A FrameworkReference to Microsoft.AspNetCore.App should be used instead, and will be implicitly included by Microsoft.NET.Sdk.Web. -->
13552 <NETSdkError Condition="'$(_ShouldRemoveAspNetCoreAll)' == 'true'" ResourceName="AspNetCoreAllNotSupported" />
13553 <CheckIfPackageReferenceShouldBeFrameworkReference PackageReferences="@(PackageReference)" FrameworkReferences="@(FrameworkReference)" PackageReferenceToReplace="Microsoft.AspNetCore.App" FrameworkReferenceToUse="Microsoft.AspNetCore.App">
13554 <Output TaskParameter="ShouldRemovePackageReference" PropertyName="_ShouldRemoveAspNetCoreApp" />
13555 <Output TaskParameter="ShouldAddFrameworkReference" PropertyName="_ShouldAddAspNetCoreAppFrameworkReference" />
13556 </CheckIfPackageReferenceShouldBeFrameworkReference>
13557 <ItemGroup>
13558 <PackageReference Remove="Microsoft.AspNetCore.App" Condition="'$(_ShouldRemoveAspNetCoreApp)' == 'true'" />
13559 <FrameworkReference Include="Microsoft.AspNetCore.App" Condition="'$(_ShouldAddAspNetCoreAppFrameworkReference)' == 'true'" />
13560 </ItemGroup>
13561 <!-- NETSDK1080: A PackageReference to Microsoft.AspNetCore.App is not necessary when targeting .NET Core 3.0 or higher.
13562 If Microsoft.NET.Sdk.Web is used, the shared framework will be referenced automatically. Otherwise, the PackageReference
13563 should be replaced with a FrameworkReference. -->
13564 <NETSdkWarning Condition="'$(_ShouldRemoveAspNetCoreApp)' == 'true'" ResourceName="AspNetCoreUsesFrameworkReference" />
13565 </Target>
13566 <Target Name="ApplyImplicitVersions" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CollectPackageReferences;ProcessFrameworkReferences" DependsOnTargets="UpdateAspNetToFrameworkReference;CheckForImplicitPackageReferenceOverrides" Condition="'@(PackageReference)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13567 <ApplyImplicitVersions TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" TargetLatestRuntimePatch="$(TargetLatestRuntimePatch)" PackageReferences="@(PackageReference)" ImplicitPackageReferenceVersions="@(ImplicitPackageReferenceVersion)">
13568 <Output TaskParameter="PackageReferencesToUpdate" ItemName="PackageReferenceToUpdate" />
13569 <Output TaskParameter="SdkBuildWarnings" ItemName="SdkBuildWarning" />
13570 </ApplyImplicitVersions>
13571 <ItemGroup>
13572 <PackageReference Remove="@(PackageReferenceToUpdate)" />
13573 <PackageReference Include="@(PackageReferenceToUpdate)" />
13574 </ItemGroup>
13575 <ItemGroup>
13576 <!-- Support using a patch version in the TargetFramework, ie netcoreapp1.1.1
13577 Note that this isn't officially supported, but it worked in the past so
13578 this should prevent breaking it. -->
13579 <PackageReference Condition="'%(PackageReference.Identity)' == 'Microsoft.NETCore.App'">
13580 <Version Condition="'%(PackageReference.Version)' == ''">$(_TargetFrameworkVersionWithoutV)</Version>
13581 </PackageReference>
13582 </ItemGroup>
13583 </Target>
13584 <UsingTask TaskName="CheckForImplicitPackageReferenceOverrides" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13585 <!-- Remove package references with metadata IsImplicitlyDefined = true, if there are other PackageReference items with the same identity -->
13586 <Target Name="CheckForImplicitPackageReferenceOverrides" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CollectPackageReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13587 <PropertyGroup>
13588 <ImplicitPackageReferenceInformationLink>https://aka.ms/sdkimplicitrefs</ImplicitPackageReferenceInformationLink>
13589 </PropertyGroup>
13590 <CheckForImplicitPackageReferenceOverrides PackageReferenceItems="@(PackageReference)" MoreInformationLink="$(ImplicitPackageReferenceInformationLink)">
13591 <Output TaskParameter="ItemsToRemove" ItemName="_PackageReferenceToRemove" />
13592 <Output TaskParameter="ItemsToAdd" ItemName="_PackageReferenceToAdd" />
13593 </CheckForImplicitPackageReferenceOverrides>
13594 <ItemGroup>
13595 <!-- Remove and add the PackageReference items according to the output from the task -->
13596 <PackageReference Remove="@(_PackageReferenceToRemove)" />
13597 <PackageReference Include="@(_PackageReferenceToAdd)" />
13598 <!-- Clear items for other targets to use -->
13599 <_PackageReferenceToAdd Remove="@(_PackageReferenceToAdd)" />
13600 </ItemGroup>
13601 <!-- If any implicit package references were overridden, then don't check that RuntimeFrameworkVersion matches the package version -->
13602 <PropertyGroup Condition="'@(_PackageReferenceToRemove)' != ''">
13603 <VerifyMatchingImplicitPackageVersion>false</VerifyMatchingImplicitPackageVersion>
13604 </PropertyGroup>
13605 </Target>
13606 <UsingTask TaskName="CheckForDuplicateItems" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13607 <Target Name="CheckForDuplicateItems" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13608 <PropertyGroup>
13609 <DefaultItemsMoreInformationLink>https://aka.ms/sdkimplicititems</DefaultItemsMoreInformationLink>
13610 </PropertyGroup>
13611 <!-- NOTE for design-time builds we continue on errors and remove the duplicate items.
13612 This is because otherwise there won't be any references to pass to the compiler, leading to design-time
13613 compilation errors for every API that is used in the project. Amidst all the compile errors, it would
13614 be easy to miss the duplicate items error which is the real source of the problem. -->
13615 <CheckForDuplicateItems Items="@(Compile)" ItemName="Compile" DefaultItemsEnabled="$(EnableDefaultItems)" DefaultItemsOfThisTypeEnabled="$(EnableDefaultCompileItems)" PropertyNameToDisableDefaultItems="EnableDefaultCompileItems" MoreInformationLink="$(DefaultItemsMoreInformationLink)" ContinueOnError="$(ContinueOnError)">
13616 <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedCompileItems" />
13617 </CheckForDuplicateItems>
13618 <CheckForDuplicateItems Items="@(EmbeddedResource)" ItemName="EmbeddedResource" DefaultItemsEnabled="$(EnableDefaultItems)" DefaultItemsOfThisTypeEnabled="$(EnableDefaultEmbeddedResourceItems)" PropertyNameToDisableDefaultItems="EnableDefaultEmbeddedResourceItems" MoreInformationLink="$(DefaultItemsMoreInformationLink)" ContinueOnError="$(ContinueOnError)">
13619 <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedEmbeddedResourceItems" />
13620 </CheckForDuplicateItems>
13621 <!-- Default content items are enabled by the Web SDK, not the .NET SDK, but we check it here for simplicity -->
13622 <CheckForDuplicateItems Items="@(Content)" ItemName="Content" DefaultItemsEnabled="$(EnableDefaultItems)" DefaultItemsOfThisTypeEnabled="$(EnableDefaultContentItems)" PropertyNameToDisableDefaultItems="EnableDefaultContentItems" MoreInformationLink="$(DefaultItemsMoreInformationLink)" ContinueOnError="$(ContinueOnError)">
13623 <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedContentItems" />
13624 </CheckForDuplicateItems>
13625 <ItemGroup Condition="'$(DesignTimeBuild)' == 'true' And '@(DeduplicatedCompileItems)' != ''">
13626 <Compile Remove="@(Compile)" />
13627 <Compile Include="@(DeduplicatedCompileItems)" />
13628 </ItemGroup>
13629 <ItemGroup Condition="'$(DesignTimeBuild)' == 'true' And '@(DeduplicatedEmbeddedResourceItems)' != ''">
13630 <EmbeddedResource Remove="@(EmbeddedResource)" />
13631 <EmbeddedResource Include="@(DeduplicatedEmbeddedResourceItems)" />
13632 </ItemGroup>
13633 <ItemGroup Condition="'$(DesignTimeBuild)' == 'true' And '@(DeduplicatedContentItems)' != ''">
13634 <Content Remove="@(Content)" />
13635 <Content Include="@(DeduplicatedContentItems)" />
13636 </ItemGroup>
13637 </Target>
13638 <Target Name="_CheckForTransitiveWindowsDesktopDependencies" AfterTargets="ResolvePackageAssets" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '5.0')) and '$(TargetPlatformIdentifier)' != 'Windows' and '@(TransitiveFrameworkReference)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13639 <ItemGroup>
13640 <_WindowsDesktopTransitiveFrameworkReference Include="@(TransitiveFrameworkReference)" Condition="'%(Identity)' == 'Microsoft.WindowsDesktop.App' Or&#xD;&#xA; '%(Identity)' == 'Microsoft.WindowsDesktop.App.WPF' Or&#xD;&#xA; '%(Identity)' == 'Microsoft.WindowsDesktop.App.WindowsForms'" />
13641 </ItemGroup>
13642 <NetSdkError Condition="'@(_WindowsDesktopTransitiveFrameworkReference)' != ''" ResourceName="WindowsDesktopTargetPlatformMustBeWindows" />
13643 </Target>
13644 <!--
13645============================================================================================================================================
13646 </Import>
13647
13648C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets
13649============================================================================================================================================
13650-->
13651 <!-- This target runs before build but not before restore, to avoid duplicating these warnings
13652 if building with an implicit restore. -->
13653 <Target Name="WarnForExplicitVersions" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" DependsOnTargets="ApplyImplicitVersions" Condition="'@(SdkBuildWarning)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13654 <NetSdkWarning FormattedText="%(SdkBuildWarning.Identity)" />
13655 </Target>
13656 <!--
13657 Automatically add Link metadata to items of specific types if they are outside of the project folder and don't already have the Link metadata set.
13658 This will cause them to be shown in the Solution Explorer. If an item has LinkBase metadata, the automatic Link will start with that value, and
13659 the items will appear in the Solution Explorer under the folder specified by LinkBase.
13660 -->
13661 <ItemGroup Condition="'$(SetLinkMetadataAutomatically)' != 'false'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13662 <Compile Update="@(Compile)">
13663 <!-- First, add a trailing slash to the LinkBase metadata if necessary. This allows us to use the same value
13664 for the Link metadata whether or not LinkBase metadata is set: %(LinkBase)%(RecursiveDir)%(Filename)%(Extension)
13665
13666 Note that RecursiveDir already includes the trailing slash.
13667 -->
13668 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
13669 <!-- Set the Link metadata if it's not already set, if the item wasn't defined in a shared project, and the item is outside of the project directory.
13670 Check whether the item was defined in a shared project by checking whether the extension of the defining project was .projitems.
13671 Check whether an item is inside the project directory by seeing if the FullPath starts with EnsureTrailingSlash(MSBuildProjectDirectory)
13672 The FullPath and the MSBuildProjectDirectory will both already be normalized full paths.
13673 The call to [MSBuild]::ValueOrDefault() is there in order to allow calling StartsWith on the FullPath value, since it's
13674 not possible to call a string method on a metadata item directly. The intrinsic ValueOrDefault() will be more
13675 performant than calling String.Copy(), which has been used for this in other contexts, but actually makes a copy
13676 of the string data.
13677 -->
13678 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
13679 </Compile>
13680 <AdditionalFiles Update="@(AdditionalFiles)">
13681 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
13682 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
13683 </AdditionalFiles>
13684 <None Update="@(None)">
13685 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
13686 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
13687 </None>
13688 <Content Update="@(Content)">
13689 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
13690 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
13691 </Content>
13692 <EmbeddedResource Update="@(EmbeddedResource)">
13693 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
13694 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
13695 </EmbeddedResource>
13696 <Page Update="@(Page)">
13697 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
13698 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
13699 </Page>
13700 <Resource Update="@(Resource)">
13701 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
13702 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
13703 </Resource>
13704 </ItemGroup>
13705 <Target Name="_CheckForFailedSDKResolution" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(SdkResolverHonoredGlobalJson)' == 'false'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13706 <NetSdkError ResourceName="GlobalJsonSDKResolutionFailed" FormatArguments="$(SdkResolverGlobalJsonPath)" />
13707 </Target>
13708 <!-- MSBuild was 17.15 during previews for dev18 so require that or higher -->
13709 <Target Name="_WarnWhenUsingNET10AndVSPriorTo18" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="$([MSBuild]::VersionLessThan($(MSBuildVersion), '17.15.0')) and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '10.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13710 <NetSdkWarning ResourceName="Net10NotCompatibleWithVS17" />
13711 </Target>
13712 <Target Name="_CheckForInvalidWindowsDesktopTargetingConfiguration" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '5.0')) and ('$(UseWindowsForms)' == 'true' or '$(UseWPF)' == 'true')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13713 <NETSdkError Condition="'$(TargetPlatformIdentifier)' != 'Windows'" ResourceName="WindowsDesktopTargetPlatformMustBeWindows" />
13714 </Target>
13715 <Target Name="_CheckForUnnecessaryWindowsDesktopSDK" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '5.0')) and '$(_MicrosoftWindowsDesktopSdkImported)' == 'true' and '$(TargetFrameworks)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13716 <NETSdkWarning ResourceName="UnnecessaryWindowsDesktopSDK" />
13717 </Target>
13718 <!-- Default the value of PublishRelease for 8.0+ TFMs. Note that this is pre-evaluated by the CLI in an evaluation before evaluation (see ReleasePropertyProjectLocator.cs).-->
13719 <PropertyGroup Condition="'$(PublishRelease)' == '' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '8.0'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13720 <PublishRelease>true</PublishRelease>
13721 </PropertyGroup>
13722 <!-- This verifies that the configuration between projects in a solution set by PackRelease agree.
13723 PackRelease only affects the CLI since VS has its own Configuration UI and it's not possible to detect like this in MSBuild.
13724 _IsPacking will only be set if packing in the CLI, so that's fine here. The pack targets are all outside of the SDK, which is why this is here.-->
13725 <Target Name="_VerifyPackReleaseConfigurations" BeforeTargets="PrepareForBuild" Condition="'$(_IsPacking)' == 'true' and '$(DOTNET_CLI_DISABLE_PUBLISH_AND_PACK_RELEASE)' != 'true' and '$(DOTNET_CLI_LAZY_PUBLISH_AND_PACK_RELEASE_FOR_SOLUTIONS)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13726 <NETSdkError Condition="'$(SolutionExt)' == '.sln' and&#xD;&#xA; '$(_SolutionLevelPackRelease)' != '$(PackRelease)'" ResourceName="SolutionProjectConfigurationsConflict" FormatArguments="PackRelease;$(ProjectName)" />
13727 </Target>
13728 <!--
13729============================================================================================================================================
13730 </Import>
13731
13732C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
13733============================================================================================================================================
13734-->
13735 <!--
13736============================================================================================================================================
13737 <Import Project="Microsoft.NET.Sdk.FrameworkReferenceResolution.targets">
13738
13739C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets
13740============================================================================================================================================
13741-->
13742 <!--
13743***********************************************************************************************
13744Microsoft.NET.Sdk.FrameworkReferenceResolution.targets
13745
13746WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
13747 created a backup copy. Incorrect changes to this file will make it
13748 impossible to load or build your projects from the command-line or the IDE.
13749
13750Copyright (c) .NET Foundation. All rights reserved.
13751***********************************************************************************************
13752-->
13753 <PropertyGroup>
13754 <ResolveAssemblyReferencesDependsOn>
13755 $(ResolveAssemblyReferencesDependsOn);
13756 ResolveTargetingPackAssets;
13757 </ResolveAssemblyReferencesDependsOn>
13758 </PropertyGroup>
13759 <UsingTask TaskName="CreateWindowsSdkKnownFrameworkReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
13760 <UsingTask TaskName="GetPackagesToPrune" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
13761 <UsingTask TaskName="CheckForDuplicateFrameworkReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
13762 <UsingTask TaskName="ProcessFrameworkReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
13763 <UsingTask TaskName="ResolveAppHosts" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
13764 <!-- Don't add Windows SDK framework reference for C++ by default, as C++ doesn't use it and it would be an unnecessary download for possible
13765 transitive framework references. -->
13766 <Target Name="AddWindowsSdkKnownFrameworkReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(TargetPlatformIdentifier)' == 'Windows'&#xD;&#xA; And ('$(Language)' != 'C++' Or '$(IncludeWindowsSDKRefFrameworkReferences)' == 'true')">
13767 <!-- Remove Windows SDK KnownFrameworkReference items from BundledVersions.props (they will eventually be removed, but that is in a different repo so
13768 we can't do the change atomically). -->
13769 <ItemGroup>
13770 <KnownFrameworkReference Remove="Microsoft.Windows.SDK.NET.Ref" />
13771 </ItemGroup>
13772 <!-- Generate KnownFrameworkReference items for the Windows SDK pack -->
13773 <CreateWindowsSdkKnownFrameworkReferences UseWindowsSDKPreview="$(UseWindowsSDKPreview)" WindowsSdkPackageVersion="$(WindowsSdkPackageVersion)" WindowsSdkPackageMinimumRevision="$(WindowsSdkPackageMinimumRevision)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" TargetPlatformVersion="$(TargetPlatformVersion)" WindowsSdkSupportedTargetPlatformVersions="@(WindowsSdkSupportedTargetPlatformVersion)">
13774 <Output TaskParameter="KnownFrameworkReferences" ItemName="KnownFrameworkReference" />
13775 </CreateWindowsSdkKnownFrameworkReferences>
13776 </Target>
13777 <!-- TODO: https://github.com/dotnet/sdk/issues/49917 Remove the framework based condition when the data for netcoreapp2.1 and below is fixed-->
13778 <!-- Package pruning is expected to be enable for all TFMs for multi-targeted projects, so still generate the pruning data when RestoreEnablePackagePruning is '' which implies a multi-targeted project. -->
13779 <Target Name="AddPrunePackageReferences" BeforeTargets="CollectPrunePackageReferences" DependsOnTargets="ProcessFrameworkReferences" Condition="'$(RestoreEnablePackagePruning)' == 'true' OR '$(RestoreEnablePackagePruning)' == ''">
13780 <PropertyGroup>
13781 <PrunePackageDataRoot Condition="'$(PrunePackageDataRoot)' == ''">$(NetCoreRoot)\sdk\$(NETCoreSdkVersion)\PrunePackageData\</PrunePackageDataRoot>
13782 <PrunePackageTargetingPackRoots Condition="'$(PrunePackageTargetingPackRoots)' == ''">$(NetCoreTargetingPackRoot)</PrunePackageTargetingPackRoots>
13783 <AllowMissingPrunePackageData Condition="'$(AllowMissingPrunePackageData)' == ''">false</AllowMissingPrunePackageData>
13784 </PropertyGroup>
13785 <GetPackagesToPrune TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" FrameworkReferences="@(FrameworkReference)" TargetingPacks="@(TargetingPack)" TargetingPackRoots="$(PrunePackageTargetingPackRoots)" PrunePackageDataRoot="$(PrunePackageDataRoot)" AllowMissingPrunePackageData="$(AllowMissingPrunePackageData)">
13786 <Output TaskParameter="PackagesToPrune" ItemName="PrunePackageReference" />
13787 </GetPackagesToPrune>
13788 </Target>
13789 <!--
13790 ============================================================
13791 ProcessFrameworkReferences
13792
13793 Matches FrameworkReference items with KnownFrameworkReference items to determine the corresponding
13794 targeting pack and if necessary the runtime pack. If the packs aren't available in the NetCoreTargetingPackRoot
13795 folder, then generate PackageDownload items in order to download the packs during restore.
13796
13797 Also resolves app host packs in a similar fashion, and checks for duplicate FrameworkReference items.
13798 ============================================================
13799 -->
13800 <Target Name="ProcessFrameworkReferences" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CollectPackageReferences;CollectPackageDownloads" DependsOnTargets="AddWindowsSdkKnownFrameworkReferences" Condition="'@(FrameworkReference)' != '' Or '$(_RequiresILLinkPack)' == 'true'">
13801 <CheckForDuplicateFrameworkReferences FrameworkReferences="@(FrameworkReference)" MoreInformationLink="https://aka.ms/sdkimplicitrefs">
13802 <Output TaskParameter="ItemsToRemove" ItemName="_FrameworkReferenceToRemove" />
13803 <Output TaskParameter="ItemsToAdd" ItemName="_FrameworkReferenceToAdd" />
13804 </CheckForDuplicateFrameworkReferences>
13805 <ItemGroup>
13806 <FrameworkReference Remove="@(_FrameworkReferenceToRemove)" />
13807 <FrameworkReference Include="@(_FrameworkReferenceToAdd)" />
13808 </ItemGroup>
13809 <PropertyGroup>
13810 <EnableTargetingPackDownload Condition="'$(EnableTargetingPackDownload)' == ''">true</EnableTargetingPackDownload>
13811 <EnableRuntimePackDownload Condition="'$(EnableRuntimePackDownload)' == ''">true</EnableRuntimePackDownload>
13812 <RequiresAspNetWebAssets Condition="'$(RequiresAspNetWebAssets)' == ''">false</RequiresAspNetWebAssets>
13813 </PropertyGroup>
13814 <PropertyGroup>
13815 <_NuGetRestoreSupported Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true')">false</_NuGetRestoreSupported>
13816 </PropertyGroup>
13817 <ItemGroup>
13818 <_PackAsToolShimRuntimeIdentifiers Condition="@(_PackAsToolShimRuntimeIdentifiers) ==''" Include="$(PackAsToolShimRuntimeIdentifiers)" />
13819 </ItemGroup>
13820 <ProcessFrameworkReferences FrameworkReferences="@(FrameworkReference)" KnownFrameworkReferences="@(KnownFrameworkReference)" KnownRuntimePacks="@(KnownRuntimePack)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetingPackRoot="$(NetCoreTargetingPackRoot)" RuntimeGraphPath="$(RuntimeIdentifierGraphPath)" SelfContained="$(SelfContained)" ReadyToRunEnabled="$(PublishReadyToRun)" ReadyToRunUseCrossgen2="$(PublishReadyToRunUseCrossgen2)" PublishAot="$(PublishAot)" RequiresILLinkPack="$(_RequiresILLinkPack)" IsAotCompatible="$(IsAotCompatible)" SilenceIsAotCompatibleUnsupportedWarning="$(_SilenceIsAotCompatibleUnsupportedWarning)" MinNonEolTargetFrameworkForAot="$(_MinNonEolTargetFrameworkForAot)" EnableAotAnalyzer="$(EnableAotAnalyzer)" FirstTargetFrameworkVersionToSupportAotAnalyzer="$(_FirstTargetFrameworkVersionToSupportAotAnalyzer)" PublishTrimmed="$(PublishTrimmed)" IsTrimmable="$(IsTrimmable)" FirstTargetFrameworkVersionToSupportTrimAnalyzer="$(_FirstTargetFrameworkVersionToSupportTrimAnalyzer)" SilenceIsTrimmableUnsupportedWarning="$(_SilenceIsTrimmableUnsupportedWarning)" MinNonEolTargetFrameworkForTrimming="$(_MinNonEolTargetFrameworkForTrimming)" EnableTrimAnalyzer="$(EnableTrimAnalyzer)" EnableSingleFileAnalyzer="$(EnableSingleFileAnalyzer)" FirstTargetFrameworkVersionToSupportSingleFileAnalyzer="$(_FirstTargetFrameworkVersionToSupportSingleFileAnalyzer)" SilenceEnableSingleFileAnalyzerUnsupportedWarning="$(_SilenceEnableSingleFileAnalyzerUnsupportedWarning)" MinNonEolTargetFrameworkForSingleFile="$(_MinNonEolTargetFrameworkForSingleFile)" AotUseKnownRuntimePackForTarget="$(PublishAotUsingRuntimePack)" RuntimeIdentifier="$(RuntimeIdentifier)" RuntimeIdentifiers="$(RuntimeIdentifiers)" RuntimeFrameworkVersion="$(RuntimeFrameworkVersion)" TargetLatestRuntimePatch="$(TargetLatestRuntimePatch)" TargetLatestRuntimePatchIsDefault="$(_TargetLatestRuntimePatchIsDefault)" EnableTargetingPackDownload="$(EnableTargetingPackDownload)" EnableRuntimePackDownload="$(EnableRuntimePackDownload)" EnableWindowsTargeting="$(EnableWindowsTargeting)" DisableTransitiveFrameworkReferenceDownloads="$(DisableTransitiveFrameworkReferenceDownloads)" KnownCrossgen2Packs="@(KnownCrossgen2Pack)" KnownILCompilerPacks="@(KnownILCompilerPack)" KnownILLinkPacks="@(KnownILLinkPack)" KnownWebAssemblySdkPacks="@(KnownWebAssemblySdkPack)" KnownAspNetCorePacks="@(KnownAspNetCorePack)" UsingMicrosoftNETSdkWebAssembly="$(UsingMicrosoftNETSdkWebAssembly)" RequiresAspNetWebAssets="$(RequiresAspNetWebAssets)" NETCoreSdkRuntimeIdentifier="$(NETCoreSdkRuntimeIdentifier)" NETCoreSdkPortableRuntimeIdentifier="$(NETCoreSdkPortableRuntimeIdentifier)" NetCoreRoot="$(NetCoreRoot)" NETCoreSdkVersion="$(NETCoreSdkVersion)">
13821 <Output TaskParameter="PackagesToDownload" ItemName="_PackageToDownload" />
13822 <Output TaskParameter="RuntimeFrameworks" ItemName="RuntimeFramework" />
13823 <Output TaskParameter="TargetingPacks" ItemName="TargetingPack" />
13824 <Output TaskParameter="RuntimePacks" ItemName="RuntimePack" />
13825 <Output TaskParameter="Crossgen2Packs" ItemName="Crossgen2Pack" />
13826 <Output TaskParameter="HostILCompilerPacks" ItemName="HostILCompilerPack" />
13827 <Output TaskParameter="TargetILCompilerPacks" ItemName="TargetILCompilerPack" />
13828 <Output TaskParameter="UnavailableRuntimePacks" ItemName="UnavailableRuntimePack" />
13829 <Output TaskParameter="ImplicitPackageReferences" ItemName="_ImplicitPackageReference" />
13830 <Output TaskParameter="KnownRuntimeIdentifierPlatforms" ItemName="_KnownRuntimeIdentifierPlatformsForTargetFramework" />
13831 </ProcessFrameworkReferences>
13832 <PropertyGroup Condition="'$(AppHostRuntimeIdentifier)' == '' And&#xD;&#xA; ('$(UseAppHost)' == 'true' Or '$(EnableComHosting)' == 'true' Or '$(UseIJWHost)' == 'true')">
13833 <AppHostRuntimeIdentifier>$(RuntimeIdentifier)</AppHostRuntimeIdentifier>
13834 <AppHostRuntimeIdentifier Condition="'$(AppHostRuntimeIdentifier)' == ''">$(DefaultAppHostRuntimeIdentifier)</AppHostRuntimeIdentifier>
13835 </PropertyGroup>
13836 <ResolveAppHosts TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" TargetingPackRoot="$(NetCoreTargetingPackRoot)" AppHostRuntimeIdentifier="$(AppHostRuntimeIdentifier)" OtherRuntimeIdentifiers="$(RuntimeIdentifiers)" RuntimeFrameworkVersion="$(RuntimeFrameworkVersion)" PackAsToolShimRuntimeIdentifiers="@(_PackAsToolShimRuntimeIdentifiers)" DotNetAppHostExecutableNameWithoutExtension="$(_DotNetAppHostExecutableNameWithoutExtension)" DotNetSingleFileHostExecutableNameWithoutExtension="$(_DotNetSingleFileHostExecutableNameWithoutExtension)" DotNetComHostLibraryNameWithoutExtension="$(_DotNetComHostLibraryNameWithoutExtension)" DotNetIjwHostLibraryNameWithoutExtension="$(_DotNetIjwHostLibraryNameWithoutExtension)" RuntimeGraphPath="$(RuntimeIdentifierGraphPath)" KnownAppHostPacks="@(KnownAppHostPack)" NuGetRestoreSupported="$(_NuGetRestoreSupported)" EnableAppHostPackDownload="$(EnableAppHostPackDownload)" NetCoreTargetingPackRoot="$(NetCoreTargetingPackRoot)">
13837 <Output TaskParameter="PackagesToDownload" ItemName="_PackageToDownload" />
13838 <Output TaskParameter="AppHost" ItemName="AppHostPack" />
13839 <Output TaskParameter="SingleFileHost" ItemName="SingleFileHostPack" />
13840 <Output TaskParameter="ComHost" ItemName="ComHostPack" />
13841 <Output TaskParameter="IjwHost" ItemName="IjwHostPack" />
13842 <Output TaskParameter="PackAsToolShimAppHostPacks" ItemName="PackAsToolShimAppHostPack" />
13843 </ResolveAppHosts>
13844 <PropertyGroup Condition="'$(UsePackageDownload)' == ''">
13845 <UsePackageDownload Condition="'$(MSBuildRuntimeType)' == 'Core'">true</UsePackageDownload>
13846 <UsePackageDownload Condition="'$(PackageDownloadSupported)' == 'true'">true</UsePackageDownload>
13847 <UsePackageDownload Condition="'$(UsePackageDownload)' == ''">false</UsePackageDownload>
13848 </PropertyGroup>
13849 <ItemGroup Condition="'$(UsePackageDownload)' == 'true'">
13850 <PackageDownload Include="@(_PackageToDownload)">
13851 <Version>[%(_PackageToDownload.Version)]</Version>
13852 </PackageDownload>
13853 </ItemGroup>
13854 <ItemGroup Condition="'$(UsePackageDownload)' != 'true'">
13855 <PackageReference Include="@(_PackageToDownload)" IsImplicitlyDefined="true" PrivateAssets="all" ExcludeAssets="all" />
13856 </ItemGroup>
13857 <!-- Add implicit package references that don't already exist in PackageReference. -->
13858 <ItemGroup>
13859 <_ImplicitPackageReference Remove="@(PackageReference)" />
13860 <PackageReference Include="@(_ImplicitPackageReference)" IsImplicitlyDefined="true" PrivateAssets="all" />
13861 </ItemGroup>
13862 </Target>
13863 <!--
13864 ============================================================
13865 AddTransitiveFrameworkReferences
13866
13867 Adds FrameworkReference items for shared frameworks which weren't directly referenced,
13868 but were referenced transitively via a project or package reference. NuGet writes these
13869 to the assets file, and the ResolvePackageAssets target adds them to the TransitiveFrameworkReference
13870 item. Here, we add them to FrameworkReference if they aren't already referenced.
13871 We add a transitive attribute to the FrameworkReferences so NuGet can filter them out from CollectFrameworkReferences.
13872 ============================================================
13873 -->
13874 <Target Name="AddTransitiveFrameworkReferences" AfterTargets="ResolvePackageAssets" Condition="'@(TransitiveFrameworkReference)' != ''">
13875 <ItemGroup>
13876 <FrameworkReference Include="@(TransitiveFrameworkReference)" Exclude="@(FrameworkReference)" IsTransitiveFrameworkReference="true" />
13877 </ItemGroup>
13878 </Target>
13879 <UsingTask TaskName="ResolveFrameworkReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
13880 <!--
13881 ============================================================
13882 ResolveFrameworkReferences
13883
13884 Resolves paths to various FrameworkReference-related items (targeting packs, runtime packs,
13885 app host packs). Some of these may already have had the path set if they were in the
13886 NetCoreTargetingPackRoot folder. Others which were downloaded as NuGet packages will
13887 need to have the path set here.
13888 ============================================================
13889 -->
13890 <Target Name="ResolveFrameworkReferences" DependsOnTargets="ProcessFrameworkReferences;ResolvePackageAssets" Condition="'@(FrameworkReference)' != ''" Returns="@(ResolvedFrameworkReference)">
13891 <GetPackageDirectory Items="@(TargetingPack)" PackageFolders="@(AssetsFilePackageFolder)">
13892 <Output TaskParameter="Output" ItemName="ResolvedTargetingPack" />
13893 </GetPackageDirectory>
13894 <ItemGroup>
13895 <ResolvedTargetingPack Condition="'%(ResolvedTargetingPack.Path)' == '' and '%(ResolvedTargetingPack.PackageDirectory)' != ''">
13896 <Path>%(ResolvedTargetingPack.PackageDirectory)</Path>
13897 </ResolvedTargetingPack>
13898 </ItemGroup>
13899 <GetPackageDirectory Items="@(AppHostPack)" PackageFolders="@(AssetsFilePackageFolder)">
13900 <Output TaskParameter="Output" ItemName="ResolvedAppHostPack" />
13901 </GetPackageDirectory>
13902 <GetPackageDirectory Items="@(SingleFileHostPack)" PackageFolders="@(AssetsFilePackageFolder)">
13903 <Output TaskParameter="Output" ItemName="ResolvedSingleFileHostPack" />
13904 </GetPackageDirectory>
13905 <GetPackageDirectory Items="@(Crossgen2Pack)" PackageFolders="@(AssetsFilePackageFolder)">
13906 <Output TaskParameter="Output" ItemName="ResolvedCrossgen2Pack" />
13907 </GetPackageDirectory>
13908 <GetPackageDirectory Items="@(HostILCompilerPack)" PackageFolders="@(AssetsFilePackageFolder)">
13909 <Output TaskParameter="Output" ItemName="ResolvedILCompilerPack" />
13910 </GetPackageDirectory>
13911 <GetPackageDirectory Items="@(TargetILCompilerPack)" PackageFolders="@(AssetsFilePackageFolder)">
13912 <Output TaskParameter="Output" ItemName="ResolvedTargetILCompilerPack" />
13913 </GetPackageDirectory>
13914 <GetPackageDirectory Items="@(PackAsToolShimAppHostPack)" PackageFolders="@(AssetsFilePackageFolder)">
13915 <Output TaskParameter="Output" ItemName="_ApphostsForShimRuntimeIdentifiersGetPackageDirectory" />
13916 </GetPackageDirectory>
13917 <GetPackageDirectory Items="@(ComHostPack)" PackageFolders="@(AssetsFilePackageFolder)">
13918 <Output TaskParameter="Output" ItemName="ResolvedComHostPack" />
13919 </GetPackageDirectory>
13920 <GetPackageDirectory Items="@(IjwHostPack)" PackageFolders="@(AssetsFilePackageFolder)">
13921 <Output TaskParameter="Output" ItemName="ResolvedIjwHostPack" />
13922 </GetPackageDirectory>
13923 <ItemGroup>
13924 <_ApphostsForShimRuntimeIdentifiers Include="%(_ApphostsForShimRuntimeIdentifiersGetPackageDirectory.PackageDirectory)\%(_ApphostsForShimRuntimeIdentifiersGetPackageDirectory.PathInPackage)">
13925 <RuntimeIdentifier>%(_ApphostsForShimRuntimeIdentifiersGetPackageDirectory.RuntimeIdentifier)</RuntimeIdentifier>
13926 </_ApphostsForShimRuntimeIdentifiers>
13927 </ItemGroup>
13928 <ItemGroup>
13929 <ResolvedAppHostPack Condition="'%(ResolvedAppHostPack.Path)' == '' and '%(ResolvedAppHostPack.PackageDirectory)' != ''">
13930 <Path>%(ResolvedAppHostPack.PackageDirectory)\%(ResolvedAppHostPack.PathInPackage)</Path>
13931 </ResolvedAppHostPack>
13932 </ItemGroup>
13933 <PropertyGroup Condition="'@(ResolvedAppHostPack)' != '' And '$(AppHostSourcePath)' == ''">
13934 <AppHostSourcePath>@(ResolvedAppHostPack->'%(Path)')</AppHostSourcePath>
13935 </PropertyGroup>
13936 <ItemGroup>
13937 <ResolvedSingleFileHostPack Condition="'%(ResolvedSingleFileHostPack.Path)' == '' and '%(ResolvedSingleFileHostPack.PackageDirectory)' != ''">
13938 <Path>%(ResolvedSingleFileHostPack.PackageDirectory)\%(ResolvedSingleFileHostPack.PathInPackage)</Path>
13939 </ResolvedSingleFileHostPack>
13940 </ItemGroup>
13941 <PropertyGroup Condition="'@(ResolvedSingleFileHostPack)' != '' And '$(SingleFileHostSourcePath)' == ''">
13942 <SingleFileHostSourcePath>@(ResolvedSingleFileHostPack->'%(Path)')</SingleFileHostSourcePath>
13943 </PropertyGroup>
13944 <ItemGroup>
13945 <ResolvedComHostPack Condition="'%(ResolvedComHostPack.Path)' == '' and '%(ResolvedComHostPack.PackageDirectory)' != ''">
13946 <Path>%(ResolvedComHostPack.PackageDirectory)\%(ResolvedComHostPack.PathInPackage)</Path>
13947 </ResolvedComHostPack>
13948 </ItemGroup>
13949 <PropertyGroup Condition="'@(ResolvedComHostPack)' != '' And '$(ComHostSourcePath)' == ''">
13950 <ComHostSourcePath>@(ResolvedComHostPack->'%(Path)')</ComHostSourcePath>
13951 </PropertyGroup>
13952 <ItemGroup>
13953 <ResolvedIjwHostPack Condition="'%(ResolvedIjwHostPack.Path)' == '' and '%(ResolvedIjwHostPack.PackageDirectory)' != ''">
13954 <Path>%(ResolvedIjwHostPack.PackageDirectory)\%(ResolvedIjwHostPack.PathInPackage)</Path>
13955 </ResolvedIjwHostPack>
13956 </ItemGroup>
13957 <PropertyGroup Condition="'@(ResolvedIjwHostPack)' != '' And '$(IjwHostSourcePath)' == ''">
13958 <IjwHostSourcePath>@(ResolvedIjwHostPack->'%(Path)')</IjwHostSourcePath>
13959 </PropertyGroup>
13960 <GetPackageDirectory Items="@(RuntimePack)" PackageFolders="@(AssetsFilePackageFolder)">
13961 <Output TaskParameter="Output" ItemName="ResolvedRuntimePack" />
13962 </GetPackageDirectory>
13963 <ResolveFrameworkReferences FrameworkReferences="@(FrameworkReference)" ResolvedTargetingPacks="@(ResolvedTargetingPack)" ResolvedRuntimePacks="@(ResolvedRuntimePack)">
13964 <Output TaskParameter="ResolvedFrameworkReferences" ItemName="ResolvedFrameworkReference" />
13965 </ResolveFrameworkReferences>
13966 </Target>
13967 <UsingTask TaskName="GetPackageDirectory" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
13968 <UsingTask TaskName="ResolveTargetingPackAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
13969 <!--
13970 ============================================================
13971 ResolveTargetingPackAssets
13972
13973 Resolve assets (primarily references) from targeting packs.
13974 ============================================================
13975 -->
13976 <Target Name="ResolveTargetingPackAssets" DependsOnTargets="ResolveFrameworkReferences" Condition="'@(FrameworkReference)' != ''">
13977 <!-- For design-time builds, don't generate an error if a targeting pack isn't available (ie because it hasn't been restored yet) -->
13978 <PropertyGroup Condition="'$(GenerateErrorForMissingTargetingPacks)' == ''">
13979 <GenerateErrorForMissingTargetingPacks>true</GenerateErrorForMissingTargetingPacks>
13980 <GenerateErrorForMissingTargetingPacks Condition="'$(DesignTimeBuild)' == 'true'">false</GenerateErrorForMissingTargetingPacks>
13981 </PropertyGroup>
13982 <ResolveTargetingPackAssets FrameworkReferences="@(FrameworkReference)" ProjectLanguage="$(Language)" ResolvedTargetingPacks="@(ResolvedTargetingPack)" RuntimeFrameworks="@(RuntimeFramework)" GenerateErrorForMissingTargetingPacks="$(GenerateErrorForMissingTargetingPacks)" NuGetRestoreSupported="$(_NuGetRestoreSupported)" DisableTransitiveFrameworkReferenceDownloads="$(DisableTransitiveFrameworkReferenceDownloads)" NetCoreTargetingPackRoot="$(NetCoreTargetingPackRoot)">
13983 <Output TaskParameter="ReferencesToAdd" ItemName="Reference" />
13984 <Output TaskParameter="AnalyzersToAdd" ItemName="Analyzer" />
13985 <Output TaskParameter="PlatformManifests" ItemName="PlatformManifestsFromTargetingPacks" />
13986 <Output TaskParameter="PackageConflictPreferredPackages" PropertyName="PackageConflictPreferredPackages" />
13987 <Output TaskParameter="PackageConflictOverrides" ItemName="PackageConflictOverrides" />
13988 <Output TaskParameter="UsedRuntimeFrameworks" ItemName="_UsedRuntimeFramework" />
13989 </ResolveTargetingPackAssets>
13990 <PropertyGroup>
13991 <!-- Unescape this semicolon-delimited ordered list so that it's passed as a list to targets
13992 that consume it. -->
13993 <PackageConflictPreferredPackages>$([MSBuild]::Unescape($(PackageConflictPreferredPackages)))</PackageConflictPreferredPackages>
13994 </PropertyGroup>
13995 <ItemGroup Condition="'$(RuntimeIdentifier)' == '' or '$(SelfContained)' != 'true'">
13996 <PackageConflictPlatformManifests Include="@(PlatformManifestsFromTargetingPacks)" />
13997 </ItemGroup>
13998 <ItemGroup>
13999 <RuntimeFramework Remove="@(RuntimeFramework)" />
14000 <RuntimeFramework Include="@(_UsedRuntimeFramework)" />
14001 </ItemGroup>
14002 </Target>
14003 <!-- Default "off by default analyzer" settings for trimmed apps. -->
14004 <PropertyGroup Condition="'$(PublishTrimmed)' == 'true' Or '$(PublishAot)' == 'true'">
14005 <!-- Enable the built-in source generators. -->
14006 <EnableRequestDelegateGenerator Condition="'$(EnableRequestDelegateGenerator)' == ''">true</EnableRequestDelegateGenerator>
14007 <EnableConfigurationBindingGenerator Condition="'$(EnableConfigurationBindingGenerator)' == ''">true</EnableConfigurationBindingGenerator>
14008 </PropertyGroup>
14009 <PropertyGroup>
14010 <!-- Set the namespaces emitted by the RequestDelegateGenerator for interception when applicable. -->
14011 <InterceptorsPreviewNamespaces Condition="'$(EnableRequestDelegateGenerator)' == 'true'">$(InterceptorsPreviewNamespaces);Microsoft.AspNetCore.Http.Generated</InterceptorsPreviewNamespaces>
14012 <!-- Set the namespaces emitted by the ConfigurationBindingGenerator for interception when applicable. -->
14013 <InterceptorsPreviewNamespaces Condition="'$(EnableConfigurationBindingGenerator)' == 'true'">$(InterceptorsPreviewNamespaces);Microsoft.Extensions.Configuration.Binder.SourceGeneration</InterceptorsPreviewNamespaces>
14014 <!-- Set the namespaces emitted by the ValidationsGenerator for interception when applicable (.NET 10 and above). -->
14015 <InterceptorsPreviewNamespaces Condition="'$(_TargetFrameworkVersionWithoutV)' != '' and $([MSBuild]::VersionGreaterThanOrEquals('$(_TargetFrameworkVersionWithoutV)', '10.0'))">$(InterceptorsPreviewNamespaces);Microsoft.Extensions.Validation.Generated</InterceptorsPreviewNamespaces>
14016 </PropertyGroup>
14017 <Target Name="ResolveOffByDefaultAnalyzers" AfterTargets="ResolveTargetingPackAssets" Condition="'@(FrameworkReference)' != ''">
14018 <ItemGroup>
14019 <OffByDefaultAnalyzer Include="Microsoft.AspNetCore.Http.RequestDelegateGenerator.dll" IsEnabled="$(EnableRequestDelegateGenerator)" />
14020 <OffByDefaultAnalyzer Include="Microsoft.Extensions.Configuration.Binder.SourceGeneration.dll" IsEnabled="$(EnableConfigurationBindingGenerator)" />
14021 </ItemGroup>
14022 <ItemGroup>
14023 <Analyzer Remove="@(OffByDefaultAnalyzer)" Condition="'%(OffByDefaultAnalyzer.IsEnabled)' != 'true'" MatchOnMetadata="FileName" />
14024 </ItemGroup>
14025 </Target>
14026 <UsingTask TaskName="ResolveRuntimePackAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
14027 <!--
14028 ============================================================
14029 IncludeTargetingPackReference
14030
14031 Add package reference for required targeting pack if necessary
14032 ============================================================
14033 -->
14034 <Target Name="IncludeTargetingPackReference" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CollectPackageReferences;CheckForImplicitPackageReferenceOverrides" Condition="'$(TargetFrameworkMoniker)' != '' and '$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(AutomaticallyUseReferenceAssemblyPackages)' == 'true'">
14035 <GetReferenceAssemblyPaths TargetFrameworkMoniker="$(TargetFrameworkMoniker)" RootPath="$(TargetFrameworkRootPath)" TargetFrameworkFallbackSearchPaths="$(TargetFrameworkFallbackSearchPaths)" BypassFrameworkInstallChecks="true" SuppressNotFoundError="true">
14036 <Output TaskParameter="FullFrameworkReferenceAssemblyPaths" PropertyName="_FullFrameworkReferenceAssemblyPaths" />
14037 </GetReferenceAssemblyPaths>
14038 <ItemGroup>
14039 <_ExistingReferenceAssembliesPackageReference Include="@(PackageReference)" Condition="'%(PackageReference.Identity)' == 'Microsoft.NETFramework.ReferenceAssemblies'" />
14040 <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="$(MicrosoftNETFrameworkReferenceAssembliesLatestPackageVersion)" IsImplicitlyDefined="true" PrivateAssets="All" Condition="('$(_FullFrameworkReferenceAssemblyPaths)' == '' or $(_FullFrameworkReferenceAssemblyPaths.Contains('microsoft.netframework.referenceassemblies'))) and '@(_ExistingReferenceAssembliesPackageReference)' == ''" />
14041 </ItemGroup>
14042 </Target>
14043 <!--
14044 ============================================================
14045 ResolveRuntimePackAssets
14046
14047 Resolve assets from runtime packs.
14048 ============================================================
14049 -->
14050 <Target Name="ResolveRuntimePackAssets" DependsOnTargets="ResolveFrameworkReferences" Condition="'@(RuntimePack)' != ''">
14051 <ResolveRuntimePackAssets FrameworkReferences="@(FrameworkReference)" RuntimeFrameworks="@(RuntimeFramework)" ResolvedRuntimePacks="@(ResolvedRuntimePack)" UnavailableRuntimePacks="@(UnavailableRuntimePack)" SatelliteResourceLanguages="$(SatelliteResourceLanguages)" DesignTimeBuild="$(DesignTimeBuild)" DisableTransitiveFrameworkReferenceDownloads="$(DisableTransitiveFrameworkReferenceDownloads)">
14052 <Output TaskParameter="RuntimePackAssets" ItemName="RuntimePackAsset" />
14053 </ResolveRuntimePackAssets>
14054 <ItemGroup>
14055 <ReferenceCopyLocalPaths Include="@(RuntimePackAsset)" Condition="'$(CopyLocalLockFileAssemblies)' == 'true' and ('$(SelfContained)' == 'true' or '%(RuntimePackAsset.RuntimePackAlwaysCopyLocal)' == 'true') and '%(RuntimePackAsset.AssetType)' != 'pgodata'" />
14056 </ItemGroup>
14057 </Target>
14058 <!--
14059 Adds metadata so the SDK will generate the UserSecretsIdAttribute.
14060
14061 This is associated with ASP.NET Core, but may be used in projects that don't use the Web SDK (especially test projects).
14062 So it is in the base .NET SDK. (It used to be in the Microsoft.AspNetCore.App package, but now that that's a targeting
14063 pack we don't support importing build logic from it directly).
14064
14065 If GeneratedUserSecretsAttributeFile is set, that means Microsoft.Extensions.Configuration.UserSecrets 2.1
14066 or earlier was referenced as a package. This didn't use the AssemblyAttribute item group, so we cannot
14067 avoid duplicate AssemblyAttribute items without skipping this target altogether..
14068 -->
14069 <Target Name="_GetUserSecretsAssemblyAttribute" BeforeTargets="GetAssemblyAttributes" Condition=" '$(UserSecretsId)' != '' AND '$(GenerateUserSecretsAttribute)' != 'false' AND '$(GeneratedUserSecretsAttributeFile)' == '' ">
14070 <!--
14071 If the Microsoft.Extensions.Configuration.UserSecrets package 2.2 or higher is referenced directly,
14072 it will also add an AssemblyAttribute item. Since this attribute only allows one per assembly, do not
14073 duplicate the item.
14074
14075 Also don't add the attribute if there is neither a Microsoft.AspNetCore.App FrameworkReference nor a
14076 Microsoft.Extensions.Configuration.UserSecrets PackageReference, in order to preserve 2.x SDK behavior
14077 where projects would successfully build if they define the UserSecretsId property but don't reference
14078 the corresponding API.
14079
14080 -->
14081 <ItemGroup Condition=" @(AssemblyAttribute-&gt;WithMetadataValue('Identity', 'Microsoft.Extensions.Configuration.UserSecrets.UserSecretsIdAttribute')-&gt;Count()) == 0 And&#xD;&#xA; (@(FrameworkReference-&gt;WithMetadataValue('Identity', 'Microsoft.AspNetCore.App')-&gt;Count()) != 0 Or&#xD;&#xA; @(PackageReference-&gt;WithMetadataValue('Identity', 'Microsoft.Extensions.Configuration.UserSecrets')-&gt;Count()) != 0)">
14082 <AssemblyAttribute Include="Microsoft.Extensions.Configuration.UserSecrets.UserSecretsIdAttribute">
14083 <_Parameter1>$(UserSecretsId.Trim())</_Parameter1>
14084 </AssemblyAttribute>
14085 </ItemGroup>
14086 </Target>
14087 <!--
14088============================================================================================================================================
14089 </Import>
14090
14091C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
14092============================================================================================================================================
14093-->
14094 <UsingTask TaskName="GenerateDepsFile" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14095 <UsingTask TaskName="GenerateRuntimeConfigurationFiles" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14096 <UsingTask TaskName="GetAssemblyVersion" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14097 <UsingTask TaskName="GenerateSatelliteAssemblies" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14098 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14099 <DisableStandardFrameworkResolution Condition="'$(DisableStandardFrameworkResolution)' == ''">$(_IsNETCoreOrNETStandard)</DisableStandardFrameworkResolution>
14100 </PropertyGroup>
14101 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14102 <GenerateRuntimeConfigurationFiles Condition=" '$(GenerateRuntimeConfigurationFiles)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and ('$(HasRuntimeOutput)' == 'true' or '$(EnableComHosting)' == 'true' or '$(EnableDynamicLoading)' == 'true') ">true</GenerateRuntimeConfigurationFiles>
14103 <AlwaysIncludeCoreFrameworkInRuntimeConfig Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionLessThan('$(TargetFrameworkVersion)', '6.0'))">false</AlwaysIncludeCoreFrameworkInRuntimeConfig>
14104 <AlwaysIncludeCoreFrameworkInRuntimeConfig Condition="'$(AlwaysIncludeCoreFrameworkInRuntimeConfig)' == ''">true</AlwaysIncludeCoreFrameworkInRuntimeConfig>
14105 <UserRuntimeConfig Condition=" '$(UserRuntimeConfig)' == '' ">$(MSBuildProjectDirectory)/runtimeconfig.template.json</UserRuntimeConfig>
14106 <GenerateSatelliteAssembliesForCore Condition=" '$(GenerateSatelliteAssembliesForCore)' == '' and '$(MSBuildRuntimeType)' == 'Core' ">true</GenerateSatelliteAssembliesForCore>
14107 <ComputeNETCoreBuildOutputFiles Condition=" '$(ComputeNETCoreBuildOutputFiles)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'">true</ComputeNETCoreBuildOutputFiles>
14108 <_GenerateRuntimeConfigurationPropertyInputsCache Condition="'$(_GenerateRuntimeConfigurationPropertyInputsCache)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).genruntimeconfig.cache</_GenerateRuntimeConfigurationPropertyInputsCache>
14109 <_GenerateRuntimeConfigurationPropertyInputsCache>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(_GenerateRuntimeConfigurationPropertyInputsCache)))</_GenerateRuntimeConfigurationPropertyInputsCache>
14110 <_GeneratePublishDependencyFilePropertyInputsCache Condition="'$(_GeneratePublishDependencyFilePropertyInputsCache)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).genpublishdeps.cache</_GeneratePublishDependencyFilePropertyInputsCache>
14111 <_GeneratePublishDependencyFilePropertyInputsCache>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(_GeneratePublishDependencyFilePropertyInputsCache)))</_GeneratePublishDependencyFilePropertyInputsCache>
14112 <_GenerateSingleFileBundlePropertyInputsCache Condition="'$(_GenerateSingleFileBundlePropertyInputsCache)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).genbundle.cache</_GenerateSingleFileBundlePropertyInputsCache>
14113 <_GenerateSingleFileBundlePropertyInputsCache>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(_GenerateSingleFileBundlePropertyInputsCache)))</_GenerateSingleFileBundlePropertyInputsCache>
14114 </PropertyGroup>
14115 <!-- For .NET 8 and higher, we will by default use a simplified "portable" RID graph -->
14116 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14117 <_UseRidGraphWasSpecified Condition="'$(UseRidGraph)' != ''">true</_UseRidGraphWasSpecified>
14118 </PropertyGroup>
14119 <PropertyGroup Condition="'$(UseRidGraph)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14120 <UseRidGraph Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' AND $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '8.0'))">false</UseRidGraph>
14121 <UseRidGraph Condition="'$(UseRidGraph)' == ''">true</UseRidGraph>
14122 </PropertyGroup>
14123 <PropertyGroup Condition="'$(RuntimeIdentifierGraphPath)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14124 <RuntimeIdentifierGraphPath Condition="'$(UseRidGraph)' == 'true'">$(BundledRuntimeIdentifierGraphFile)</RuntimeIdentifierGraphPath>
14125 <!-- The portable RID graph should be in the same directory as the full RID graph -->
14126 <RuntimeIdentifierGraphPath Condition="'$(UseRidGraph)' != 'true'">$([System.IO.Path]::GetDirectoryName($(BundledRuntimeIdentifierGraphFile)))/PortableRuntimeIdentifierGraph.json</RuntimeIdentifierGraphPath>
14127 </PropertyGroup>
14128 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14129 <GenerateRuntimeConfigurationFilesInputs Include="$(ProjectAssetsFile)" />
14130 <GenerateRuntimeConfigurationFilesInputs Include="$(ProjectAssetsCacheFile)" />
14131 <GenerateRuntimeConfigurationFilesInputs Include="$(UserRuntimeConfig)" Condition=" Exists($(UserRuntimeConfig)) " />
14132 </ItemGroup>
14133 <ItemGroup Condition="'$(TargetFrameworks)' != '' And '$(TargetFramework)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14134 <ProjectConfigurationDescription Include="TargetFramework=$(TargetFramework)" />
14135 </ItemGroup>
14136 <PropertyGroup Condition="'$(GenerateRuntimeConfigDevFile)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14137 <GenerateRuntimeConfigDevFile>true</GenerateRuntimeConfigDevFile>
14138 <!-- Post-net6.0, stop generating *.runtimeconfig.dev.json files to reduce probing paths. -->
14139 <!-- https://github.com/dotnet/sdk/issues/16818 -->
14140 <GenerateRuntimeConfigDevFile Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0'))">false</GenerateRuntimeConfigDevFile>
14141 </PropertyGroup>
14142 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14143 <ProjectDepsFileName Condition="'$(ProjectDepsFileName)' == ''">$(AssemblyName).deps.json</ProjectDepsFileName>
14144 <ProjectDepsFilePath Condition="'$(ProjectDepsFilePath)' == ''">$(TargetDir)$(ProjectDepsFileName)</ProjectDepsFilePath>
14145 <ProjectRuntimeConfigFileName Condition="'$(ProjectRuntimeConfigFileName)' == ''">$(AssemblyName).runtimeconfig.json</ProjectRuntimeConfigFileName>
14146 <ProjectRuntimeConfigFilePath Condition="'$(ProjectRuntimeConfigFilePath)' == ''">$(TargetDir)$(ProjectRuntimeConfigFileName)</ProjectRuntimeConfigFilePath>
14147 <ProjectRuntimeConfigDevFilePath Condition="'$(ProjectRuntimeConfigDevFilePath)' == '' and $(GenerateRuntimeConfigDevFile) == 'true'">$(TargetDir)$(AssemblyName).runtimeconfig.dev.json</ProjectRuntimeConfigDevFilePath>
14148 <IncludeMainProjectInDepsFile Condition=" '$(IncludeMainProjectInDepsFile)' == '' ">true</IncludeMainProjectInDepsFile>
14149 <TrimDepsJsonLibrariesWithoutAssets Condition=" '$(TrimDepsJsonLibrariesWithoutAssets)' == '' ">true</TrimDepsJsonLibrariesWithoutAssets>
14150 </PropertyGroup>
14151 <!--
14152============================================================================================================================================
14153 <Import Project="Microsoft.NET.Sdk.Shared.targets">
14154
14155C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.Shared.targets
14156============================================================================================================================================
14157-->
14158 <!--
14159***********************************************************************************************
14160Microsoft.NET.Sdk.Shared.targets: The properties and targets shared by the WAP project system.
14161
14162WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
14163 created a backup copy. Incorrect changes to this file will make it
14164 impossible to load or build your projects from the command-line or the IDE.
14165
14166Copyright (c) .NET Foundation. All rights reserved.
14167***********************************************************************************************
14168-->
14169 <PropertyGroup Condition="'$(UsingNETSdkDefaults)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14170 <!-- Skip import of Microsoft.NuGet.props and Microsoft.NuGet.targets -->
14171 <SkipImportNuGetProps>true</SkipImportNuGetProps>
14172 <SkipImportNuGetBuildTargets>true</SkipImportNuGetBuildTargets>
14173 </PropertyGroup>
14174 <!-- Workaround: https://github.com/Microsoft/msbuild/issues/1293 -->
14175 <PropertyGroup Condition="'$(MSBuildRuntimeType)' == 'Core' Or '$(TargetFrameworkIdentifier)' != '.NETFramework'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14176 <GenerateResourceMSBuildArchitecture Condition=" '$(GenerateResourceMSBuildArchitecture)' == '' ">CurrentArchitecture</GenerateResourceMSBuildArchitecture>
14177 <GenerateResourceMSBuildRuntime Condition=" '$(GenerateResourceMSBuildRuntime)' == '' ">CurrentRuntime</GenerateResourceMSBuildRuntime>
14178 </PropertyGroup>
14179 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14180 <_NativeLibraryPrefix Condition="'$(_NativeLibraryPrefix)' == '' and !$(RuntimeIdentifier.StartsWith('win'))">lib</_NativeLibraryPrefix>
14181 <_NativeLibraryExtension Condition="'$(_NativeLibraryExtension)' == '' and $(RuntimeIdentifier.StartsWith('win'))">.dll</_NativeLibraryExtension>
14182 <_NativeLibraryExtension Condition="'$(_NativeLibraryExtension)' == '' and $(RuntimeIdentifier.StartsWith('osx'))">.dylib</_NativeLibraryExtension>
14183 <_NativeLibraryExtension Condition="'$(_NativeLibraryExtension)' == ''">.so</_NativeLibraryExtension>
14184 <_NativeExecutableExtension Condition="'$(_NativeExecutableExtension)' == '' and ($(RuntimeIdentifier.StartsWith('win')) or $(DefaultAppHostRuntimeIdentifier.StartsWith('win')))">.exe</_NativeExecutableExtension>
14185 <_ComHostLibraryExtension Condition="'$(_ComHostLibraryExtension)' == '' and ($(RuntimeIdentifier.StartsWith('win')) or $(DefaultAppHostRuntimeIdentifier.StartsWith('win')))">.dll</_ComHostLibraryExtension>
14186 <_IjwHostLibraryExtension Condition="'$(_IjwHostLibraryExtension)' == '' and ($(RuntimeIdentifier.StartsWith('win')) or $(DefaultAppHostRuntimeIdentifier.StartsWith('win')))">.dll</_IjwHostLibraryExtension>
14187 <_DotNetHostExecutableName>dotnet$(_NativeExecutableExtension)</_DotNetHostExecutableName>
14188 <_DotNetAppHostExecutableNameWithoutExtension>apphost</_DotNetAppHostExecutableNameWithoutExtension>
14189 <_DotNetAppHostExecutableName>$(_DotNetAppHostExecutableNameWithoutExtension)$(_NativeExecutableExtension)</_DotNetAppHostExecutableName>
14190 <_DotNetSingleFileHostExecutableNameWithoutExtension>singlefilehost</_DotNetSingleFileHostExecutableNameWithoutExtension>
14191 <_DotNetComHostLibraryNameWithoutExtension>comhost</_DotNetComHostLibraryNameWithoutExtension>
14192 <_DotNetComHostLibraryName>$(_DotNetComHostLibraryNameWithoutExtension)$(_ComHostLibraryExtension)</_DotNetComHostLibraryName>
14193 <_DotNetIjwHostLibraryNameWithoutExtension>Ijwhost</_DotNetIjwHostLibraryNameWithoutExtension>
14194 <_DotNetIjwHostLibraryName>$(_DotNetIjwHostLibraryNameWithoutExtension)$(_IjwHostLibraryExtension)</_DotNetIjwHostLibraryName>
14195 <_DotNetHostPolicyLibraryName>$(_NativeLibraryPrefix)hostpolicy$(_NativeLibraryExtension)</_DotNetHostPolicyLibraryName>
14196 <_DotNetHostFxrLibraryName>$(_NativeLibraryPrefix)hostfxr$(_NativeLibraryExtension)</_DotNetHostFxrLibraryName>
14197 </PropertyGroup>
14198 <Target Name="_ComputePackageReferencePublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14199 <ItemGroup>
14200 <!-- PrivateAssets="All" means exclude from publish, unless Publish metadata is specified separately -->
14201 <PackageReference Publish="false" Condition="('%(PackageReference.PrivateAssets)' == 'All') And ('%(PackageReference.Publish)' == '')" />
14202 <_ExcludeFromPublishPackageReference Include="@(PackageReference)" Condition="('%(PackageReference.Publish)' == 'false')" />
14203 </ItemGroup>
14204 </Target>
14205 <!--
14206 ============================================================
14207 _DefaultMicrosoftNETPlatformLibrary
14208
14209 .NET Core apps can have shared frameworks that are pre-installed on the target machine, thus the app is "portable"
14210 to any machine that already has the shared framework installed. For .NET Core 1.x and 2.x, a "platform" library
14211 is declared. The platform library and its dependencies will be excluded from the publish output.
14212
14213 For .NET Core 3 and up, targeting packs and runtime packs are used for shared framework assets instead of PackageReference
14214 ============================================================
14215 -->
14216 <Target Name="_DefaultMicrosoftNETPlatformLibrary" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14217 <PropertyGroup Condition="'$(MicrosoftNETPlatformLibrary)' == ''">
14218 <MicrosoftNETPlatformLibrary Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(_TargetFrameworkVersionWithoutV)' &lt; '3.0'">Microsoft.NETCore.App</MicrosoftNETPlatformLibrary>
14219 </PropertyGroup>
14220 </Target>
14221 <!--
14222============================================================================================================================================
14223 </Import>
14224
14225C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
14226============================================================================================================================================
14227-->
14228 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14229 <_DefaultUserProfileRuntimeStorePath>$(HOME)</_DefaultUserProfileRuntimeStorePath>
14230 <_DefaultUserProfileRuntimeStorePath Condition="$([MSBuild]::IsOSPlatform(`Windows`))">$(USERPROFILE)</_DefaultUserProfileRuntimeStorePath>
14231 <_DefaultUserProfileRuntimeStorePath>$([System.IO.Path]::Combine($(_DefaultUserProfileRuntimeStorePath), '.dotnet', 'store'))</_DefaultUserProfileRuntimeStorePath>
14232 <UserProfileRuntimeStorePath Condition="'$(UserProfileRuntimeStorePath)' == ''">$(_DefaultUserProfileRuntimeStorePath)</UserProfileRuntimeStorePath>
14233 </PropertyGroup>
14234 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14235 <PredefinedCulturesOnly Condition="'$(PredefinedCulturesOnly)' == '' and '$(InvariantGlobalization)' == 'true'">true</PredefinedCulturesOnly>
14236 </PropertyGroup>
14237 <PropertyGroup Condition="'$(GenerateResourceWarnOnBinaryFormatterUse)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14238 <GenerateResourceWarnOnBinaryFormatterUse>true</GenerateResourceWarnOnBinaryFormatterUse>
14239 </PropertyGroup>
14240 <PropertyGroup Condition="'$(RespectAlreadyAssignedItemCulture)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '9.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14241 <RespectAlreadyAssignedItemCulture>true</RespectAlreadyAssignedItemCulture>
14242 </PropertyGroup>
14243 <!-- Set the IsRidAgnostic property if this project should NOT accept global RuntimeIdentifier and SelfContained
14244 property values from referencing projects. -->
14245 <PropertyGroup Condition="'$(IsRidAgnostic)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14246 <!-- It's preferred to read IsTestingPlatformApplication in an actual MSBuild target and not in evaluation, but it's best we can do here -->
14247 <!-- NOTE: A VSTest non-MTP test project will have IsTestProject=true AND IsTestingPlatformApplication!=true -->
14248 <!-- We want to make VSTest non-MTP test project to be rid agnostic because it doesn't really produce a runnable executable -->
14249 <IsRidAgnostic Condition="('$(_IsExecutable)' == 'true' And ('$(IsTestProject)' != 'true' Or '$(IsTestingPlatformApplication)' == 'true')) Or&#xD;&#xA; '$(RuntimeIdentifier)' != '' Or&#xD;&#xA; '$(RuntimeIdentifiers)' != ''">false</IsRidAgnostic>
14250 <IsRidAgnostic Condition="'$(IsRidAgnostic)' == ''">true</IsRidAgnostic>
14251 </PropertyGroup>
14252 <!-- Opt into .NET Core resource-serialization strategy by default when targeting frameworks
14253 that support it by default.
14254 -->
14255 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14256 <GenerateResourceUsePreserializedResources Condition="'$(GenerateResourceUsePreserializedResources)' == '' and&#xD;&#xA; ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0')">true</GenerateResourceUsePreserializedResources>
14257 </PropertyGroup>
14258 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14259 <EmbeddedResourceUseDependentUponConvention Condition="'$(EmbeddedResourceUseDependentUponConvention)' == '' and&#xD;&#xA; (('$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0') or&#xD;&#xA; ('$(TargetFrameworkIdentifier)' == '.NETStandard' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '2.1'))">true</EmbeddedResourceUseDependentUponConvention>
14260 </PropertyGroup>
14261 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.1'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14262 <AvailablePlatforms>$(AvailablePlatforms),ARM32</AvailablePlatforms>
14263 </PropertyGroup>
14264 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '3.1'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14265 <AvailablePlatforms>$(AvailablePlatforms),ARM64</AvailablePlatforms>
14266 </PropertyGroup>
14267 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '4.8.1'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14268 <AvailablePlatforms>$(AvailablePlatforms),ARM64</AvailablePlatforms>
14269 </PropertyGroup>
14270 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14271 <!-- Turn off support for metadata updates in non-Debug builds by default. -->
14272 <MetadataUpdaterSupport Condition="'$(MetadataUpdaterSupport)' == '' and '$(Configuration)' != 'Debug'">false</MetadataUpdaterSupport>
14273 </PropertyGroup>
14274 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14275 <!-- Turn on IncludeProjectsNotInAssetsFileInDepsFile by default. -->
14276 <IncludeProjectsNotInAssetsFileInDepsFile Condition="'$(IncludeProjectsNotInAssetsFileInDepsFile)' == ''">true</IncludeProjectsNotInAssetsFileInDepsFile>
14277 </PropertyGroup>
14278 <!--
14279 BinaryFormatter Disabling
14280 ===========================
14281
14282 The EnableUnsafeBinaryFormatterSerialization setting controls both runtime and compile-time behavior.
14283 The behavior is slightly different depending on the project type and target runtime.
14284
14285 If the property is explicitly set to TRUE:
14286 - The APIs are obsolete as warning, and calls to the APIs will succeed at runtime.
14287
14288 If the property is explicitly set to FALSE:
14289 - On .NET 5 & 6, the APIs are obsolete as warning, and calls to the APIs will fail at runtime.
14290 - On .NET 7+, the APIs are obsolete as error, and calls to the APIs will fail at runtime.
14291
14292 If the property is not explicitly TRUE or FALSE:
14293 - On .NET 5 & 6, the APIs are obsolete as warning, and calls to the APIs will succeed at runtime.
14294 - On .NET 7, the APIs are obsolete as error, but calls to the APIs will succeed at runtime.
14295 - On .NET 8+, the APIs are obsolete as error, and calls to the APIs will fail at runtime
14296 unless the SDK has opted in to keeping legacy BinaryFormatter behavior around.
14297
14298 n.b. The APIs are already marked obsolete (as warning) in .NET 5, so we don't need to special-case
14299 them unless we want to upgrade them to warn-as-error.
14300 -->
14301 <PropertyGroup Condition="'$(EnableUnsafeBinaryFormatterSerialization)' != 'true' AND '$(TargetFrameworkIdentifier)' == '.NETCoreApp' AND $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '7.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14302 <!--
14303 Certain project types need to re-enable BinaryFormatter by default; it will still be warn-as-error but will work at runtime.
14304 WinForms: enabled through 8.0 (but not after)
14305 WPF: enabled through 8.0 (but not after)
14306 -->
14307 <_ProjectTypeRequiresBinaryFormatter Condition="'$(UseWindowsForms)' == 'true' AND $([MSBuild]::VersionLessThanOrEquals($(TargetFrameworkVersion), '8.0'))">true</_ProjectTypeRequiresBinaryFormatter>
14308 <_ProjectTypeRequiresBinaryFormatter Condition="'$(UseWPF)' == 'true' AND $([MSBuild]::VersionLessThanOrEquals($(TargetFrameworkVersion), '8.0'))">true</_ProjectTypeRequiresBinaryFormatter>
14309 <!-- controls warn as error -->
14310 <_BinaryFormatterObsoleteAsError>true</_BinaryFormatterObsoleteAsError>
14311 <!-- controls runtime behavior (AppContext & trimming) -->
14312 <EnableUnsafeBinaryFormatterSerialization Condition="$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '8.0')) AND '$(_ProjectTypeRequiresBinaryFormatter)' != 'true'">false</EnableUnsafeBinaryFormatterSerialization>
14313 </PropertyGroup>
14314 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14315 <CoreBuildDependsOn>
14316 _CheckForBuildWithNoBuild;
14317 $(CoreBuildDependsOn);
14318 GenerateBuildDependencyFile;
14319 GenerateBuildRuntimeConfigurationFiles
14320 </CoreBuildDependsOn>
14321 </PropertyGroup>
14322 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14323 <CoreCleanDependsOn>
14324 _SdkBeforeClean;
14325 $(CoreCleanDependsOn)
14326 </CoreCleanDependsOn>
14327 </PropertyGroup>
14328 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14329 <RebuildDependsOn>
14330 _SdkBeforeRebuild;
14331 $(RebuildDependsOn)
14332 </RebuildDependsOn>
14333 </PropertyGroup>
14334 <!-- NOTE: Keep in sync with https://github.com/dotnet/msbuild/blob/main/src/Tasks/Microsoft.Common.tasks -->
14335 <!-- `Condition="Exists(...)` is needed because the package might not be yet downloaded during restore in VS
14336 and we do not want to fail the restore phase because of that. -->
14337 <UsingTask TaskName="Microsoft.CodeAnalysis.BuildTasks.CopyRefAssembly" AssemblyFile="$(RoslynTasksAssembly)" Condition="Exists('$(RoslynTasksAssembly)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14338 <UsingTask TaskName="Microsoft.CodeAnalysis.BuildTasks.Csc" AssemblyFile="$(RoslynTasksAssembly)" Condition="Exists('$(RoslynTasksAssembly)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14339 <UsingTask TaskName="Microsoft.CodeAnalysis.BuildTasks.Vbc" AssemblyFile="$(RoslynTasksAssembly)" Condition="Exists('$(RoslynTasksAssembly)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14340 <ItemGroup Condition="'$(_NeedToDownloadMicrosoftNetSdkCompilersToolsetPackage)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14341 <PackageDownload Include="Microsoft.Net.Sdk.Compilers.Toolset" Version="[$(NETCoreSdkVersion)]" />
14342 </ItemGroup>
14343 <Target Name="_CheckMicrosoftNetCompilersToolsetFrameworkPackageReference" Condition="'$(MSBuildRuntimeType)' == 'Full'" BeforeTargets="CollectPackageReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14344 <!-- Users should not be setting Microsoft.Net.Compilers.Toolset.Framework directly.
14345 If they do, and BuildWithNetFrameworkHostedCompiler is also set, the former will override the latter.
14346 This makes it more explicit that that is not supported. -->
14347 <NETSdkWarning ResourceName="CannotDirectlyReferenceMicrosoftNetCompilersToolsetFramework" Condition="'@(PackageReference-&gt;AnyHaveMetadataValue('Identity', 'Microsoft.Net.Compilers.Toolset.Framework'))' == 'true'" />
14348 </Target>
14349 <Target Name="_CheckMicrosoftNetSdkCompilersToolsetPackageExists" Condition="'$(_NeedToDownloadMicrosoftNetSdkCompilersToolsetPackage)' == 'true' and '$(DesignTimeBuild)' != 'true'" BeforeTargets="CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14350 <!-- If users did not run restore or it failed to download the Microsoft.Net.Sdk.Compilers.Toolset package
14351 (but they proceeded to build, e.g., in Visual Studio), display an error with suggestions how to fix the problem. -->
14352 <NETSdkError ResourceName="MicrosoftNetSdkCompilersToolsetNotFound" Condition="'$(_MicrosoftNetSdkCompilersToolsetPackageRootEmpty)' != 'true' and !Exists('$(RoslynTargetsPath)')" FormatArguments="$(NETCoreSdkVersion)" />
14353 <!-- Warn if $(NuGetPackageRoot) is empty. See https://github.com/dotnet/sdk/issues/43016.
14354 WPF temp projects are ignored (it's known their NuGetPackageRoot is empty and user cannot fix that anyway). -->
14355 <NETSdkWarning ResourceName="MicrosoftNetSdkCompilersToolsetRootEmpty" Condition="'$(_MicrosoftNetSdkCompilersToolsetPackageRootEmpty)' == 'true' and !($(MSBuildProjectFile.EndsWith('_wpftmp.csproj')) or $(MSBuildProjectFile.EndsWith('_wpftmp.vbproj')))" />
14356 </Target>
14357 <Target Name="_CheckForBuildWithNoBuild" Condition="'$(NoBuild)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14358 <NETSdkError ResourceName="NoBuildRequested" />
14359 </Target>
14360 <!--
14361 ============================================================
14362 GenerateBuildDependencyFile
14363 Generates the $(project).deps.json file during Build
14364 ============================================================
14365 -->
14366 <Target Name="GenerateBuildDependencyFile" DependsOnTargets="_DefaultMicrosoftNETPlatformLibrary;&#xD;&#xA; _HandlePackageFileConflicts;&#xD;&#xA; _ComputeReferenceAssemblies;&#xD;&#xA; _ComputeUserRuntimeAssemblies;&#xD;&#xA; ResolveRuntimePackAssets;&#xD;&#xA; _ComputePackageReferencePublish" BeforeTargets="CopyFilesToOutputDirectory" Condition="'$(GenerateDependencyFile)' == 'true'" Inputs="$(ProjectAssetsFile);$(ProjectAssetsCacheFile);$(MSBuildAllProjects)" Outputs="$(ProjectDepsFilePath)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14367 <!-- Set a dummy Version if it hasn't been set by DefaultAssemblyInfo.targets -->
14368 <PropertyGroup Condition="'$(UsingNETSdkDefaults)' != 'true'">
14369 <Version Condition="'$(Version)' == ''">1.0.0</Version>
14370 </PropertyGroup>
14371 <ItemGroup>
14372 <ResolvedCompileFileDefinitions Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' == 'Reference'" />
14373 <NativeCopyLocalItems Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" />
14374 <ResourceCopyLocalItems Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" />
14375 <RuntimeCopyLocalItems Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" />
14376 <RuntimeTargetsCopyLocalItems Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" />
14377 <RuntimePackAsset Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" />
14378 </ItemGroup>
14379 <!-- Set valid RID platforms for runtime assets if targeting .NET 8+ and using the RID graph is not enabled. -->
14380 <ItemGroup Condition="$([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '8.0'))&#xD;&#xA; and @(RuntimeHostConfigurationOption-&gt;WithMetadataValue('Identity', 'System.Runtime.Loader.UseRidGraph')-&gt;WithMetadataValue('Value', 'true')-&gt;Count()) == 0&#xD;&#xA; and '@(_KnownRuntimeIdentifierPlatformsForTargetFramework)' != ''">
14381 <!-- Known RID platforms for all target frameworks comes from BundledVersions -->
14382 <_ValidRuntimeIdentifierPlatformsForAssets Include="@(_KnownRuntimeIdentiferPlatforms)" />
14383 <!-- Known RID platforms for current target framework comes from ProcessFrameworkReferences output -->
14384 <_ValidRuntimeIdentifierPlatformsForAssets Include="@(_KnownRuntimeIdentifierPlatformsForTargetFramework)" Exclude="@(_ExcludedKnownRuntimeIdentiferPlatforms)" />
14385 </ItemGroup>
14386 <GenerateDepsFile ProjectPath="$(MSBuildProjectFullPath)" AssetsFilePath="$(ProjectAssetsFile)" DepsFilePath="$(ProjectDepsFilePath)" TargetFramework="$(TargetFramework)" AssemblyName="$(AssemblyName)" AssemblyExtension="$(TargetExt)" AssemblyVersion="$(Version)" AssemblySatelliteAssemblies="@(IntermediateSatelliteAssembliesWithTargetPath)" ReferencePaths="@(ReferencePath)" ReferenceDependencyPaths="@(ReferenceDependencyPaths)" ReferenceSatellitePaths="@(ReferenceSatellitePaths)" ReferenceAssemblies="@(_ReferenceAssemblies)" RuntimePackAssets="@(RuntimePackAsset)" IncludeMainProject="$(IncludeMainProjectInDepsFile)" TrimDepsJsonLibrariesWithoutAssets="$(TrimDepsJsonLibrariesWithoutAssets)" RuntimeIdentifier="$(RuntimeIdentifier)" PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" RuntimeFrameworks="@(RuntimeFramework)" CompilerOptions="@(DependencyFileCompilerOptions)" CompileReferences="@(ResolvedCompileFileDefinitions)" ResolvedNuGetFiles="@(NativeCopyLocalItems);@(ResourceCopyLocalItems);@(RuntimeCopyLocalItems)" UserRuntimeAssemblies="@(UserRuntimeAssembly)" ResolvedRuntimeTargetsFiles="@(RuntimeTargetsCopyLocalItems)" IsSelfContained="$(SelfContained)" IncludeRuntimeFileVersions="$(IncludeFileVersionsInDependencyFile)" RuntimeGraphPath="$(RuntimeIdentifierGraphPath)" IncludeProjectsNotInAssetsFile="$(IncludeProjectsNotInAssetsFileInDepsFile)" ValidRuntimeIdentifierPlatformsForAssets="@(_ValidRuntimeIdentifierPlatformsForAssets)" />
14387 <ItemGroup>
14388 <!-- Do this in an ItemGroup instead of as an output parameter of the GenerateDepsFile task so that it still gets added to the item set
14389 during incremental builds when the task is skipped -->
14390 <FileWrites Include="$(ProjectDepsFilePath)" Condition="Exists('$(ProjectDepsFilePath)')" />
14391 </ItemGroup>
14392 </Target>
14393 <!-- To achieve incremental build with property change. When any property changes, WriteOnlyWhenDifferent will be triggered to write cache file.
14394 And the cache file's timestamp will be later, and it then triggers the incremental build.-->
14395 <Target Name="_GenerateRuntimeConfigurationFilesInputCache" DependsOnTargets="_DefaultMicrosoftNETPlatformLibrary" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14396 <ItemGroup>
14397 <GenerateRuntimeConfigurationFilesInputs Include="$(_GenerateRuntimeConfigurationPropertyInputsCache)" />
14398 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="@(AdditionalProbingPath->'%(Identity)')" />
14399 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(EnableDynamicLoading)" />
14400 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(RollForward)" />
14401 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="@(RuntimeHostConfigurationOption->'%(Identity)%(Value)')" />
14402 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(RuntimeIdentifier)" />
14403 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(SelfContained)" />
14404 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(TargetFramework)" />
14405 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(UserRuntimeConfig)" />
14406 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(_WriteIncludedFrameworks)" />
14407 </ItemGroup>
14408 <Hash ItemsToHash="@(_GenerateRuntimeConfigurationPropertyInputsCacheToHash)">
14409 <Output TaskParameter="HashResult" PropertyName="_GenerateRuntimeConfigurationPropertyInputsCacheHash" />
14410 </Hash>
14411 <WriteLinesToFile Lines="$(_GenerateRuntimeConfigurationPropertyInputsCacheHash)" File="$(_GenerateRuntimeConfigurationPropertyInputsCache)" Overwrite="True" WriteOnlyWhenDifferent="True" />
14412 <ItemGroup>
14413 <FileWrites Include="$(_GenerateRuntimeConfigurationPropertyInputsCache)" />
14414 </ItemGroup>
14415 </Target>
14416 <!--
14417 ============================================================
14418 GenerateBuildRuntimeConfigurationFiles
14419 Generates the $(project).runtimeconfig.json and $(project).runtimeconfig.dev.json files during Build
14420 ============================================================
14421 -->
14422 <Target Name="GenerateBuildRuntimeConfigurationFiles" DependsOnTargets="_GenerateRuntimeConfigurationFilesInputCache" BeforeTargets="CopyFilesToOutputDirectory" Condition=" '$(GenerateRuntimeConfigurationFiles)' == 'true'" Inputs="@(GenerateRuntimeConfigurationFilesInputs)" Outputs="$(ProjectRuntimeConfigFilePath);$(ProjectRuntimeConfigDevFilePath)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14423 <PropertyGroup>
14424 <_IsRollForwardSupported Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0'">true</_IsRollForwardSupported>
14425 <RollForward Condition="'$(RollForward)' == '' and '$(EnableDynamicLoading)' == 'true' and '$(_IsRollForwardSupported)' == 'true'">LatestMinor</RollForward>
14426 </PropertyGroup>
14427 <!-- RollForward is only supported since .NET Core 3.0, but we should allow limited usage when the app is targeting even lower versions
14428 This is to let 2.* apps specify that they are OK to run on 3.0 and above. So explicitly allow just Major and LatestMajor
14429 other values should still keep failing as they won't have any effect when run on 2.*. -->
14430 <NETSdkError Condition="'$(RollForward)' != '' and '$(RollForward)' != 'Major' and '$(RollForward)' != 'LatestMajor' and '$(_IsRollForwardSupported)' != 'true'" ResourceName="RollForwardRequiresVersion30" />
14431 <PropertyGroup>
14432 <_WriteIncludedFrameworks Condition="'$(SelfContained)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.1'">true</_WriteIncludedFrameworks>
14433 </PropertyGroup>
14434 <GenerateRuntimeConfigurationFiles AssetsFilePath="$(ProjectAssetsFile)" TargetFramework="$(TargetFramework)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" RuntimeConfigPath="$(ProjectRuntimeConfigFilePath)" RuntimeConfigDevPath="$(ProjectRuntimeConfigDevFilePath)" RuntimeIdentifier="$(RuntimeIdentifier)" PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" RuntimeFrameworks="@(RuntimeFramework)" RollForward="$(RollForward)" UserRuntimeConfig="$(UserRuntimeConfig)" HostConfigurationOptions="@(RuntimeHostConfigurationOption)" AdditionalProbingPaths="@(AdditionalProbingPath)" IsSelfContained="$(SelfContained)" WriteIncludedFrameworks="$(_WriteIncludedFrameworks)" GenerateRuntimeConfigDevFile="$(GenerateRuntimeConfigDevFile)" AlwaysIncludeCoreFramework="$(AlwaysIncludeCoreFrameworkInRuntimeConfig)" />
14435 <ItemGroup>
14436 <!-- Do this in an ItemGroup instead of as an output parameter of the GenerateDepsFile task so that it still gets added to the item set
14437 during incremental builds when the task is skipped -->
14438 <FileWrites Include="$(ProjectRuntimeConfigFilePath)" Condition="Exists('$(ProjectRuntimeConfigFilePath)')" />
14439 <FileWrites Include="$(ProjectRuntimeConfigDevFilePath)" Condition="Exists('$(ProjectRuntimeConfigDevFilePath)')" />
14440 </ItemGroup>
14441 </Target>
14442 <!-- Add runtimeconfig.json file to BuiltProjectOutputGroupOutput, so that it will get included in the NuGet package by the Pack target -->
14443 <Target Name="AddRuntimeConfigFileToBuiltProjectOutputGroupOutput" Condition=" '$(GenerateRuntimeConfigurationFiles)' == 'true'" BeforeTargets="BuiltProjectOutputGroup" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14444 <ItemGroup>
14445 <BuiltProjectOutputGroupOutput Include="$(ProjectRuntimeConfigFilePath)" TargetPath="$(ProjectRuntimeConfigFileName)" FinalOutputPath="$(ProjectRuntimeConfigFilePath)" />
14446 </ItemGroup>
14447 </Target>
14448 <Target Name="AddDepsJsonAndRuntimeConfigToCopyItemsForReferencingProjects" BeforeTargets="GetCopyToOutputDirectoryItems;_GetCopyToOutputDirectoryItemsFromThisProject" Condition="'$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14449 <ItemGroup Condition="'$(GenerateDependencyFile)' == 'true'">
14450 <AllItemsFullPathWithTargetPath Include="$(ProjectDepsFilePath)" TargetPath="$([System.IO.Path]::GetFileName($(ProjectDepsFilePath)))" CopyToOutputDirectory="PreserveNewest" />
14451 </ItemGroup>
14452 <ItemGroup Condition=" '$(GenerateRuntimeConfigurationFiles)' == 'true'">
14453 <AllItemsFullPathWithTargetPath Include="$(ProjectRuntimeConfigFilePath)" TargetPath="$([System.IO.Path]::GetFileName($(ProjectRuntimeConfigFilePath)))" CopyToOutputDirectory="PreserveNewest" />
14454 <AllItemsFullPathWithTargetPath Include="$(ProjectRuntimeConfigDevFilePath)" TargetPath="$([System.IO.Path]::GetFileName($(ProjectRuntimeConfigDevFilePath)))" CopyToOutputDirectory="PreserveNewest" />
14455 </ItemGroup>
14456 </Target>
14457 <Target Name="AddDepsJsonAndRuntimeConfigToPublishItemsForReferencingProjects" DependsOnTargets="_ComputeUseBuildDependencyFile" BeforeTargets="GetCopyToPublishDirectoryItems" Condition="'$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14458 <ItemGroup Condition="'$(GenerateDependencyFile)' == 'true'">
14459 <AllPublishItemsFullPathWithTargetPath Include="$(ProjectDepsFilePath)" TargetPath="$([System.IO.Path]::GetFileName($(ProjectDepsFilePath)))" CopyToPublishDirectory="PreserveNewest" Condition="'$(_UseBuildDependencyFile)' == 'true'" />
14460 <AllPublishItemsFullPathWithTargetPath Include="$(PublishDepsFilePath)" TargetPath="$([System.IO.Path]::GetFileName($(PublishDepsFilePath)))" CopyToPublishDirectory="PreserveNewest" Condition="'$(PublishDepsFilePath)' != '' and '$(_UseBuildDependencyFile)' != 'true'" />
14461 </ItemGroup>
14462 <ItemGroup Condition=" '$(GenerateRuntimeConfigurationFiles)' == 'true'">
14463 <AllPublishItemsFullPathWithTargetPath Include="$(ProjectRuntimeConfigFilePath)" TargetPath="$([System.IO.Path]::GetFileName($(ProjectRuntimeConfigFilePath)))" CopyToPublishDirectory="PreserveNewest" />
14464 </ItemGroup>
14465 </Target>
14466 <Target Name="_SdkBeforeClean" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14467 <PropertyGroup Condition="'$(_CleaningWithoutRebuilding)' == ''">
14468 <_CleaningWithoutRebuilding>true</_CleaningWithoutRebuilding>
14469 <EmitAssetsLogMessages>false</EmitAssetsLogMessages>
14470 </PropertyGroup>
14471 </Target>
14472 <Target Name="_SdkBeforeRebuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14473 <PropertyGroup>
14474 <_CleaningWithoutRebuilding>false</_CleaningWithoutRebuilding>
14475 </PropertyGroup>
14476 </Target>
14477 <!--
14478 ============================================================
14479 DefaultRuntimeHostConfigurationOptions
14480 Defaults @(RuntimeHostConfigurationOption) items based on MSBuild properties.
14481 ============================================================
14482 -->
14483 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14484 <RuntimeHostConfigurationOption Include="Microsoft.Extensions.DependencyInjection.VerifyOpenGenericServiceTrimmability" Condition="'$(VerifyDependencyInjectionOpenGenericServiceTrimmability)' != ''" Value="$(VerifyDependencyInjectionOpenGenericServiceTrimmability)" Trim="true" />
14485 <RuntimeHostConfigurationOption Include="System.AggressiveAttributeTrimming" Condition="'$(_AggressiveAttributeTrimming)' != ''" Value="$(_AggressiveAttributeTrimming)" Trim="true" />
14486 <RuntimeHostConfigurationOption Include="System.ComponentModel.DefaultValueAttribute.IsSupported" Condition="'$(_DefaultValueAttributeSupport)' != ''" Value="$(_DefaultValueAttributeSupport)" Trim="true" />
14487 <RuntimeHostConfigurationOption Include="System.ComponentModel.Design.IDesignerHost.IsSupported" Condition="'$(_DesignerHostSupport)' != ''" Value="$(_DesignerHostSupport)" Trim="true" />
14488 <RuntimeHostConfigurationOption Include="System.ComponentModel.TypeConverter.EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization" Condition="'$(EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization)' != ''" Value="$(EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization)" Trim="true" />
14489 <RuntimeHostConfigurationOption Include="System.ComponentModel.TypeDescriptor.IsComObjectDescriptorSupported" Condition="'$(_ComObjectDescriptorSupport)' != ''" Value="$(_ComObjectDescriptorSupport)" Trim="true" />
14490 <RuntimeHostConfigurationOption Include="System.Data.DataSet.XmlSerializationIsSupported" Condition="'$(_DataSetXmlSerializationSupport)' != ''" Value="$(_DataSetXmlSerializationSupport)" Trim="true" />
14491 <RuntimeHostConfigurationOption Include="System.Diagnostics.Debugger.IsSupported" Condition="'$(DebuggerSupport)' != ''" Value="$(DebuggerSupport)" Trim="true" />
14492 <RuntimeHostConfigurationOption Include="System.Diagnostics.Metrics.Meter.IsSupported" Condition="'$(MetricsSupport)' != ''" Value="$(MetricsSupport)" Trim="true" />
14493 <RuntimeHostConfigurationOption Include="System.Diagnostics.StackTrace.IsSupported" Condition="'$(StackTraceSupport)' != ''" Value="$(StackTraceSupport)" Trim="true" />
14494 <RuntimeHostConfigurationOption Include="System.Diagnostics.Tracing.EventSource.IsSupported" Condition="'$(EventSourceSupport)' != ''" Value="$(EventSourceSupport)" Trim="true" />
14495 <RuntimeHostConfigurationOption Include="System.Drawing.Design.UITypeEditor.IsSupported" Condition="'$(_WinFormsUITypeEditorSupport)' != ''" Value="$(_WinFormsUITypeEditorSupport)" Trim="true" />
14496 <RuntimeHostConfigurationOption Include="System.GC.Concurrent" Condition="'$(ConcurrentGarbageCollection)' != ''" Value="$(ConcurrentGarbageCollection)" />
14497 <RuntimeHostConfigurationOption Include="System.GC.Server" Condition="'$(ServerGarbageCollection)' != ''" Value="$(ServerGarbageCollection)" />
14498 <RuntimeHostConfigurationOption Include="System.GC.DynamicAdaptationMode" Condition="'$(GarbageCollectionAdaptationMode)' != ''" Value="$(GarbageCollectionAdaptationMode)" />
14499 <RuntimeHostConfigurationOption Include="System.GC.RetainVM" Condition="'$(RetainVMGarbageCollection)' != ''" Value="$(RetainVMGarbageCollection)" />
14500 <RuntimeHostConfigurationOption Include="System.Globalization.Invariant" Condition="'$(InvariantGlobalization)' != ''" Value="$(InvariantGlobalization)" Trim="true" />
14501 <RuntimeHostConfigurationOption Include="System.TimeZoneInfo.Invariant" Condition="'$(InvariantTimezone)' != ''" Value="$(InvariantTimezone)" Trim="true" />
14502 <RuntimeHostConfigurationOption Include="System.Globalization.Hybrid" Condition="'$(HybridGlobalization)' != ''" Value="$(HybridGlobalization)" Trim="true" />
14503 <RuntimeHostConfigurationOption Include="System.Globalization.PredefinedCulturesOnly" Condition="'$(PredefinedCulturesOnly)' != ''" Value="$(PredefinedCulturesOnly)" Trim="true" />
14504 <RuntimeHostConfigurationOption Include="System.Linq.Enumerable.IsSizeOptimized" Condition="'$(UseSizeOptimizedLinq)' != ''" Value="$(UseSizeOptimizedLinq)" Trim="true" />
14505 <RuntimeHostConfigurationOption Include="System.Net.Http.EnableActivityPropagation" Condition="'$(HttpActivityPropagationSupport)' != ''" Value="$(HttpActivityPropagationSupport)" Trim="true" />
14506 <RuntimeHostConfigurationOption Include="System.Net.Http.UseNativeHttpHandler" Condition="'$(UseNativeHttpHandler)' != ''" Value="$(UseNativeHttpHandler)" Trim="true" />
14507 <RuntimeHostConfigurationOption Include="System.Net.Http.WasmEnableStreamingResponse" Condition="'$(WasmEnableStreamingResponse)' != ''" Value="$(WasmEnableStreamingResponse)" Trim="true" />
14508 <RuntimeHostConfigurationOption Include="System.Net.Security.UseManagedNtlm" Condition="'$(_UseManagedNtlm)' != ''" Value="$(_UseManagedNtlm)" Trim="true" />
14509 <RuntimeHostConfigurationOption Include="System.Net.SocketsHttpHandler.Http3Support" Condition="'$(Http3Support)' != ''" Value="$(Http3Support)" Trim="true" />
14510 <RuntimeHostConfigurationOption Include="System.Reflection.Metadata.MetadataUpdater.IsSupported" Condition="'$(MetadataUpdaterSupport)' != ''" Value="$(MetadataUpdaterSupport)" Trim="true" />
14511 <RuntimeHostConfigurationOption Include="System.Reflection.NullabilityInfoContext.IsSupported" Condition="'$(NullabilityInfoContextSupport)' != ''" Value="$(NullabilityInfoContextSupport)" Trim="true" />
14512 <RuntimeHostConfigurationOption Include="System.Resources.ResourceManager.AllowCustomResourceTypes" Condition="'$(CustomResourceTypesSupport)' != ''" Value="$(CustomResourceTypesSupport)" Trim="true" />
14513 <RuntimeHostConfigurationOption Include="System.Resources.UseSystemResourceKeys" Condition="'$(UseSystemResourceKeys)' != ''" Value="$(UseSystemResourceKeys)" Trim="true" />
14514 <RuntimeHostConfigurationOption Include="System.Runtime.CompilerServices.RuntimeFeature.IsDynamicCodeSupported" Condition="'$(DynamicCodeSupport)' != ''" Value="$(DynamicCodeSupport)" Trim="true" />
14515 <RuntimeHostConfigurationOption Include="System.Runtime.InteropServices.BuiltInComInterop.IsSupported" Condition="'$(BuiltInComInteropSupport)' != ''" Value="$(BuiltInComInteropSupport)" Trim="true" />
14516 <RuntimeHostConfigurationOption Include="System.Runtime.InteropServices.EnableConsumingManagedCodeFromNativeHosting" Condition="'$(_EnableConsumingManagedCodeFromNativeHosting)' != ''" Value="$(_EnableConsumingManagedCodeFromNativeHosting)" Trim="true" />
14517 <RuntimeHostConfigurationOption Include="System.Runtime.InteropServices.EnableCppCLIHostActivation" Condition="'$(EnableCppCLIHostActivation)' != ''" Value="$(EnableCppCLIHostActivation)" Trim="true" />
14518 <RuntimeHostConfigurationOption Include="System.Runtime.InteropServices.Marshalling.EnableGeneratedComInterfaceComImportInterop" Condition="'$(EnableGeneratedComInterfaceComImportInterop)' != ''" Value="$(EnableGeneratedComInterfaceComImportInterop)" Trim="true" />
14519 <RuntimeHostConfigurationOption Include="System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization" Condition="'$(EnableUnsafeBinaryFormatterSerialization)' != ''" Value="$(EnableUnsafeBinaryFormatterSerialization)" Trim="true" />
14520 <RuntimeHostConfigurationOption Include="System.Runtime.TieredCompilation" Condition="'$(TieredCompilation)' != ''" Value="$(TieredCompilation)" />
14521 <RuntimeHostConfigurationOption Include="System.Runtime.TieredCompilation.QuickJit" Condition="'$(TieredCompilationQuickJit)' != ''" Value="$(TieredCompilationQuickJit)" />
14522 <RuntimeHostConfigurationOption Include="System.Runtime.TieredCompilation.QuickJitForLoops" Condition="'$(TieredCompilationQuickJitForLoops)' != ''" Value="$(TieredCompilationQuickJitForLoops)" />
14523 <RuntimeHostConfigurationOption Include="System.Runtime.TieredPGO" Condition="'$(TieredPGO)' != ''" Value="$(TieredPGO)" />
14524 <RuntimeHostConfigurationOption Include="System.Runtime.Loader.UseRidGraph" Condition="'$(_UseRidGraphWasSpecified)' == 'true'" Value="$(UseRidGraph)" />
14525 <RuntimeHostConfigurationOption Include="System.StartupHookProvider.IsSupported" Condition="'$(StartupHookSupport)' != ''" Value="$(StartupHookSupport)" Trim="true" />
14526 <RuntimeHostConfigurationOption Include="System.Text.Encoding.EnableUnsafeUTF7Encoding" Condition="'$(EnableUnsafeUTF7Encoding)' != ''" Value="$(EnableUnsafeUTF7Encoding)" Trim="true" />
14527 <RuntimeHostConfigurationOption Include="System.Text.Json.JsonSerializer.IsReflectionEnabledByDefault" Condition="'$(JsonSerializerIsReflectionEnabledByDefault)' != ''" Value="$(JsonSerializerIsReflectionEnabledByDefault)" Trim="true" />
14528 <RuntimeHostConfigurationOption Include="System.Threading.Thread.EnableAutoreleasePool" Condition="'$(AutoreleasePoolSupport)' != ''" Value="$(AutoreleasePoolSupport)" Trim="true" />
14529 <RuntimeHostConfigurationOption Include="System.Threading.ThreadPool.MinThreads" Condition="'$(ThreadPoolMinThreads)' != ''" Value="$(ThreadPoolMinThreads)" />
14530 <RuntimeHostConfigurationOption Include="System.Threading.ThreadPool.MaxThreads" Condition="'$(ThreadPoolMaxThreads)' != ''" Value="$(ThreadPoolMaxThreads)" />
14531 <RuntimeHostConfigurationOption Include="System.Threading.ThreadPool.UnfairSemaphoreSpinLimit" Condition="'$(ThreadPoolSpinCount)' != ''" Value="$(ThreadPoolSpinCount)" />
14532 <RuntimeHostConfigurationOption Include="System.Threading.ThreadPool.UseWindowsThreadPool" Condition="'$(UseWindowsThreadPool)' != ''" Value="$(UseWindowsThreadPool)" Trim="true" />
14533 <RuntimeHostConfigurationOption Include="System.Windows.Forms.ActiveXImpl.IsSupported" Condition="'$(_ActiveXImplSupport)' != ''" Value="$(_ActiveXImplSupport)" Trim="true" />
14534 <RuntimeHostConfigurationOption Include="System.Windows.Forms.Binding.IsSupported" Condition="'$(_WinFormsBindingSupport)' != ''" Value="$(_WinFormsBindingSupport)" Trim="true" />
14535 <RuntimeHostConfigurationOption Include="System.Windows.Forms.Control.AreDesignTimeFeaturesSupported" Condition="'$(_WinFormsDesignTimeFeaturesSupport)' != ''" Value="$(_WinFormsDesignTimeFeaturesSupport)" Trim="true" />
14536 <RuntimeHostConfigurationOption Include="System.Windows.Forms.Control.UseComponentModelRegisteredTypes" Condition="'$(_UseComponentModelRegisteredTypes)' != ''" Value="$(_UseComponentModelRegisteredTypes)" Trim="true" />
14537 <RuntimeHostConfigurationOption Include="System.Windows.Forms.ImageIndexConverter.IsSupported" Condition="'$(_WinFormsImageIndexConverterSupport)' != ''" Value="$(_WinFormsImageIndexConverterSupport)" Trim="true" />
14538 <RuntimeHostConfigurationOption Include="System.Windows.Forms.MdiWindowDialog.IsSupported" Condition="'$(_MdiWindowDialogSupport)' != ''" Value="$(_MdiWindowDialogSupport)" Trim="true" />
14539 <RuntimeHostConfigurationOption Include="System.Windows.Forms.Primitives.TypeConverterHelper.UseComponentModelRegisteredTypes" Condition="'$(_UseComponentModelRegisteredTypes)' != ''" Value="$(_UseComponentModelRegisteredTypes)" Trim="true" />
14540 <RuntimeHostConfigurationOption Include="System.Xml.XmlResolver.IsNetworkingEnabledByDefault" Condition="'$(XmlResolverIsNetworkingEnabledByDefault)' != ''" Value="$(XmlResolverIsNetworkingEnabledByDefault)" Trim="true" />
14541 </ItemGroup>
14542 <!--
14543 ============================================================
14544 DefaultAdditionalProbingPaths
14545 Adds the default @(AdditionalProbingPath) items.
14546 ============================================================
14547 -->
14548 <ItemGroup Condition="'$(GenerateRuntimeConfigurationFiles)' == 'true' and '$(SkipDefaultAdditionalProbingPaths)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14549 <!-- Note: can't use Path.Combine here since `|` is an illegal path character -->
14550 <AdditionalProbingPath Include="$(UserProfileRuntimeStorePath)$([System.IO.Path]::DirectorySeparatorChar)|arch|$([System.IO.Path]::DirectorySeparatorChar)|tfm|" />
14551 </ItemGroup>
14552 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14553 <CompileDependsOn>
14554 $(CompileDependsOn);
14555 _CreateAppHost;
14556 _CreateComHost;
14557 _GetIjwHostPaths;
14558 </CompileDependsOn>
14559 </PropertyGroup>
14560 <!--
14561 ============================================================
14562 _GetAppHostCreationConfiguration
14563 Computes the properties for configuration of apphost creation
14564 during either build or publish
14565 ============================================================
14566 -->
14567 <Target Name="_GetAppHostCreationConfiguration" Condition="'$(UseAppHost)' == 'true' and '$(_IsExecutable)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14568 <PropertyGroup>
14569 <_UseWindowsGraphicalUserInterface Condition="($(RuntimeIdentifier.StartsWith('win')) or $(DefaultAppHostRuntimeIdentifier.StartsWith('win'))) and '$(OutputType)'=='WinExe'">true</_UseWindowsGraphicalUserInterface>
14570 <_EnableMacOSCodeSign Condition="'$(_EnableMacOSCodeSign)' == '' and&#xD;&#xA; ($(RuntimeIdentifier.StartsWith('osx')) or $(AppHostRuntimeIdentifier.StartsWith('osx')))">true</_EnableMacOSCodeSign>
14571 <_UseSingleFileHostForPublish Condition="'$(PublishSingleFile)' == 'true' and&#xD;&#xA; '$(SelfContained)' == 'true' and&#xD;&#xA; '$(SingleFileHostSourcePath)' != '' and&#xD;&#xA; '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and&#xD;&#xA; $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0))">true</_UseSingleFileHostForPublish>
14572 <_DisableCetCompat Condition="'$(CetCompat)' == 'false'">true</_DisableCetCompat>
14573 <!-- Default to AppHostDotNetSearch=AppRelative if AppHostRelativeDotNet is set -->
14574 <AppHostDotNetSearch Condition="'$(AppHostRelativeDotNet)' != '' and '$(AppHostDotNetSearch)' == ''">AppRelative</AppHostDotNetSearch>
14575 <_UpdateAppHostForPublish Condition="'$(_UseSingleFileHostForPublish)' != 'true' and&#xD;&#xA; ('$(AppHostRelativeDotNet)' != '' or '$(AppHostDotNetSearch)' != '')">true</_UpdateAppHostForPublish>
14576 </PropertyGroup>
14577 </Target>
14578 <!--
14579 ============================================================
14580 _CreateAppHost
14581 If we found a restored apphost, create the modified destination apphost
14582 with options from the project.
14583 ============================================================
14584 -->
14585 <UsingTask TaskName="CreateAppHost" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14586 <Target Name="_CreateAppHost" Inputs="@(IntermediateAssembly);$(AppHostSourcePath)" Outputs="$(AppHostIntermediatePath)" DependsOnTargets="_GetAppHostPaths;_GetAppHostCreationConfiguration;CoreCompile" Condition="'$(ComputeNETCoreBuildOutputFiles)' == 'true' and&#xD;&#xA; '$(AppHostSourcePath)' != '' and&#xD;&#xA; Exists('@(IntermediateAssembly)') and&#xD;&#xA; Exists('$(AppHostSourcePath)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14587 <CreateAppHost AppHostSourcePath="$(AppHostSourcePath)" AppHostDestinationPath="$(AppHostIntermediatePath)" AppBinaryName="$(AssemblyName)$(TargetExt)" IntermediateAssembly="@(IntermediateAssembly->'%(FullPath)')" WindowsGraphicalUserInterface="$(_UseWindowsGraphicalUserInterface)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" EnableMacOSCodeSign="$(_EnableMacOSCodeSign)" DisableCetCompat="$(_DisableCetCompat)" />
14588 </Target>
14589 <!--
14590 ============================================================
14591 _GetAppHostPaths
14592 Gets the path to apphost (restored via packages or in an apphost pack),
14593 and computes the path for the destination apphost.
14594 ============================================================
14595 -->
14596 <Target Name="_GetAppHostPaths" DependsOnTargets="ResolvePackageAssets;ResolveFrameworkReferences" Condition="'$(UseAppHost)' == 'true' and '$(_IsExecutable)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14597 <NETSdkError Condition="'@(_NativeRestoredAppHostNETCore-&gt;Count())' &gt; 1" ResourceName="MultipleFilesResolved" FormatArguments="$(_DotNetAppHostExecutableName)" />
14598 <PropertyGroup>
14599 <!-- AppHostSourcePath will be set from ProcessFrameworkReferences if not using the apphost from the assets file -->
14600 <AppHostSourcePath Condition="'$(UseAppHostFromAssetsFile)' == 'true'">@(_NativeRestoredAppHostNETCore)</AppHostSourcePath>
14601 </PropertyGroup>
14602 <PropertyGroup Condition="'$(UseAppHostFromAssetsFile)' == 'false' Or '@(_NativeRestoredAppHostNETCore)' != ''">
14603 <AppHostIntermediatePath>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)apphost$(_NativeExecutableExtension)'))</AppHostIntermediatePath>
14604 <AppHostForPublishIntermediatePath>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)apphost_publish$(_NativeExecutableExtension)'))</AppHostForPublishIntermediatePath>
14605 <SingleFileHostIntermediatePath>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)singlefilehost$(_NativeExecutableExtension)'))</SingleFileHostIntermediatePath>
14606 </PropertyGroup>
14607 </Target>
14608 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14609 <ClsidMap Include="$(IntermediateOutputPath)$(AssemblyName).clsidmap" />
14610 <RegFreeComManifest Include="$(IntermediateOutputPath)$(AssemblyName).X.manifest" />
14611 </ItemGroup>
14612 <!--
14613 ============================================================
14614 _GenerateClsidMap
14615 Generates a *.clsidmap file from the built assembly.
14616 ============================================================
14617 -->
14618 <UsingTask TaskName="GenerateClsidMap" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14619 <Target Name="_GenerateClsidMap" Inputs="@(IntermediateAssembly)" Outputs="@(ClsidMap)" DependsOnTargets="CoreCompile" Condition="'$(ComputeNETCoreBuildOutputFiles)' == 'true' and&#xD;&#xA; '$(EnableComHosting)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14620 <GenerateClsidMap IntermediateAssembly="@(IntermediateAssembly->'%(FullPath)')" CLsidMapDestinationPath="@(ClsidMap->'%(FullPath)')" />
14621 </Target>
14622 <UsingTask TaskName="CreateComHost" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14623 <!--
14624 ============================================================
14625 _CreateComHost
14626 If we found a restored comhost, create the modified destination apphost
14627 with options from the project.
14628 ============================================================
14629 -->
14630 <Target Name="_CreateComHost" Inputs="@(IntermediateAssembly);$(ComHostSourcePath)" Outputs="$(ComHostIntermediatePath)" DependsOnTargets="_GetComHostPaths;CoreCompile;_GenerateClsidMap;_GenerateRegFreeComManifest" Condition="'$(ComputeNETCoreBuildOutputFiles)' == 'true' and&#xD;&#xA; '$(ComHostIntermediatePath)' != '' and&#xD;&#xA; Exists('@(IntermediateAssembly)') and&#xD;&#xA; Exists('$(ComHostSourcePath)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14631 <CreateComHost ComHostSourcePath="$(ComHostSourcePath)" ComHostDestinationPath="$(ComHostIntermediatePath)" ClsidMapPath="@(ClsidMap)" TypeLibraries="@(ComHostTypeLibrary)" />
14632 </Target>
14633 <UsingTask TaskName="GenerateRegFreeComManifest" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14634 <!--
14635 ============================================================
14636 _GenerateRegFreeComManifest
14637 Gets the path to the restored comhost, and if the restored comhost
14638 was present, computes the path for the destination comhost.
14639 ============================================================
14640 -->
14641 <Target Name="_GenerateRegFreeComManifest" DependsOnTargets="_GenerateClsidMap;_GetComHostPaths" Inputs="@(ClsidMap);@(IntermediateAssembly)" Outputs="@(RegFreeComManifest)" Condition="'$(ComputeNETCoreBuildOutputFiles)' == 'true' and&#xD;&#xA; '$(EnableComHosting)' == 'true' and&#xD;&#xA; '$(EnableRegFreeCom)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14642 <GenerateRegFreeComManifest IntermediateAssembly="@(IntermediateAssembly)" ComHostName="$(ComHostFileName)" ClsidMapPath="@(ClsidMap)" TypeLibraries="@(ComHostTypeLibrary)" ComManifestPath="@(RegFreeComManifest)" />
14643 </Target>
14644 <!--
14645 ============================================================
14646 _GetComHostPaths
14647 Gets the path to the restored comhost, and if the restored comhost
14648 was present, computes the path for the destination comhost.
14649 ============================================================
14650 -->
14651 <Target Name="_GetComHostPaths" DependsOnTargets="ResolvePackageAssets;ResolveFrameworkReferences" Condition="'$(EnableComHosting)' == 'true' and '$(_IsExecutable)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14652 <PropertyGroup>
14653 <ComHostFileName>$(AssemblyName).comhost$(_ComHostLibraryExtension)</ComHostFileName>
14654 <ComHostIntermediatePath>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)$(ComHostFileName)'))</ComHostIntermediatePath>
14655 </PropertyGroup>
14656 <NETSdkError Condition="'$(ComHostSourcePath)' == '' or !Exists('$(ComHostSourcePath)')" ResourceName="CannotFindComhost" />
14657 </Target>
14658 <!--
14659 ============================================================
14660 _GetIjwHostPaths
14661 Gets the path to the restored Ijwhost, and if the restored Ijwhost
14662 was present, Computes the path for the destination Ijwhost.
14663 ============================================================
14664 -->
14665 <Target Name="_GetIjwHostPaths" DependsOnTargets="ResolvePackageAssets;ResolveFrameworkReferences" Condition="'$(UseIJWHost)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14666 <NETSdkError Condition="'$(IjwHostSourcePath)' == '' or !Exists('$(IjwHostSourcePath)')" ResourceName="CannotFindIjwhost" />
14667 </Target>
14668 <!--
14669 ============================================================
14670 _ComputeNETCoreBuildOutputFiles
14671 Computes any files that need to be copied to the build output folder for .NET Core.
14672 ============================================================
14673 -->
14674 <Target Name="_ComputeNETCoreBuildOutputFiles" DependsOnTargets="_GetAppHostPaths;_GetAppHostCreationConfiguration;_GetComHostPaths;_GetIjwHostPaths" BeforeTargets="AssignTargetPaths" Condition="'$(ComputeNETCoreBuildOutputFiles)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14675 <!-- Fallback to renaming the dotnet host if there is no apphost for self-contained builds. -->
14676 <PropertyGroup Condition="'$(AppHostIntermediatePath)' == '' and '$(SelfContained)' == 'true'">
14677 <_CopyAndRenameDotnetHost Condition="'$(_CopyAndRenameDotnetHost)' == ''">true</_CopyAndRenameDotnetHost>
14678 </PropertyGroup>
14679 <ItemGroup Condition="'$(_CopyAndRenameDotnetHost)' == 'true'">
14680 <None Include="@(NativeCopyLocalItems)" Condition="'%(NativeCopyLocalItems.FileName)%(NativeCopyLocalItems.Extension)' == '$(_DotNetHostExecutableName)'">
14681 <Link>$(AssemblyName)$(_NativeExecutableExtension)</Link>
14682 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
14683 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14684 </None>
14685 </ItemGroup>
14686 <ItemGroup Condition="'$(AppHostIntermediatePath)' != '' or '$(_CopyAndRenameDotnetHost)' == 'true'">
14687 <!--
14688 If not copying local lock file assemblies, copy the host policy and host fxr libraries for self-contained builds.
14689 This is required to allow the host to activate in self-contained mode.
14690 -->
14691 <None Include="@(NativeCopyLocalItems)" Condition="'$(SelfContained)' == 'true' and&#xD;&#xA; '$(CopyLocalLockFileAssemblies)' != 'true' and&#xD;&#xA; ('%(NativeCopyLocalItems.FileName)%(NativeCopyLocalItems.Extension)' == '$(_DotNetHostPolicyLibraryName)' or&#xD;&#xA; '%(NativeCopyLocalItems.FileName)%(NativeCopyLocalItems.Extension)' == '$(_DotNetHostFxrLibraryName)')">
14692 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
14693 <CopyToPublishDirectory>Never</CopyToPublishDirectory>
14694 </None>
14695 </ItemGroup>
14696 <ItemGroup Condition="'$(AppHostIntermediatePath)' != ''">
14697 <None Include="$(AppHostIntermediatePath)">
14698 <Link>$(AssemblyName)$(_NativeExecutableExtension)</Link>
14699 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
14700 <!-- Always copy the AppHost because the contents of the apphost binary can change during the publish step (due to single-file bundling).
14701 Always copying the apphost ensures that that the sequence
14702 dotnet publish /p:PublishSingleFile=true
14703 dotnet publish /p:PublishSingleFile=false
14704 places the correct unbundled apphost in the publish directory. -->
14705 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
14706 </None>
14707 </ItemGroup>
14708 <ItemGroup Condition="'$(ComHostIntermediatePath)' != ''">
14709 <None Include="$(ComHostIntermediatePath)">
14710 <Link>$(AssemblyName).$(_DotNetComHostLibraryName)</Link>
14711 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
14712 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14713 </None>
14714 <None Include="@(RegFreeComManifest)" Condition="'$(EnableRegFreeCom)' == 'true'">
14715 <Link>%(FileName)%(Extension)</Link>
14716 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
14717 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14718 </None>
14719 </ItemGroup>
14720 <ItemGroup Condition="'$(IjwHostSourcePath)' != '' and '$(UseIJWHost)' == 'true'">
14721 <None Include="$(IjwHostSourcePath)">
14722 <Link>$(_DotNetIjwHostLibraryName)</Link>
14723 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
14724 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14725 </None>
14726 </ItemGroup>
14727 </Target>
14728 <!--
14729 ============================================================
14730 _ComputeReferenceAssemblies
14731 Computes references that are only used at compile-time.
14732 ============================================================
14733 -->
14734 <Target Name="_ComputeReferenceAssemblies" DependsOnTargets="ResolveAssemblyReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14735 <ItemGroup>
14736 <_FrameworkReferenceAssemblies Include="@(ReferencePath)" Condition="(%(ReferencePath.FrameworkFile) == 'true' or&#xD;&#xA; %(ReferencePath.ResolvedFrom) == 'ImplicitlyExpandDesignTimeFacades')&#xD;&#xA; and ('%(ReferencePath.NuGetSourceType)' == '' or&#xD;&#xA; '%(ReferencePath.NuGetIsFrameworkReference)' == 'true')" />
14737 <!--
14738 "ReferenceOnly" assemblies are assemblies that are only used at compile-time, and they can't be resolved
14739 by the normal compile-assembly resolvers at runtime:
14740 1. App local
14741 2. NuGet/Package layout
14742 3. ProgramFiles\Reference Assemblies
14743 These assemblies need to be copied to the 'refs' folder for both build and publish.
14744 -->
14745 <_ReferenceOnlyAssemblies Include="@(ReferencePath)" Exclude="@(_FrameworkReferenceAssemblies)" Condition="%(ReferencePath.CopyLocal) != 'true' and&#xD;&#xA; %(ReferencePath.NuGetSourceType) == ''" />
14746 <_ReferenceAssemblies Include="@(_FrameworkReferenceAssemblies)" />
14747 <_ReferenceAssemblies Include="@(_ReferenceOnlyAssemblies)" />
14748 </ItemGroup>
14749 </Target>
14750 <!--
14751 ============================================================
14752 _ComputeUserRuntimeAssemblies
14753 Computes references or reference dependencies that are copy local.
14754 NOTE: NuGet and framework references are never copy local so those are not included here.
14755 These will be project references and direct references and their copy local dependencies.
14756 ============================================================
14757 -->
14758 <Target Name="_ComputeUserRuntimeAssemblies" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14759 <ItemGroup>
14760 <!-- IncludeRuntimeDependency=true metadata is escape hatch to include a non-copy local reference in deps file as a runtime dependency -->
14761 <ReferencePath>
14762 <IncludeRuntimeDependency Condition="'%(ReferencePath.IncludeRuntimeDependency)' == '' and '%(ReferencePath.CopyLocal)' == 'true'">true</IncludeRuntimeDependency>
14763 </ReferencePath>
14764 <ReferenceDependencyPaths>
14765 <IncludeRuntimeDependency Condition="'%(ReferenceDependencyPaths.IncludeRuntimeDependency)' == '' and '%(ReferenceDependencyPaths.CopyLocal)' == 'true'">true</IncludeRuntimeDependency>
14766 </ReferenceDependencyPaths>
14767 <UserRuntimeAssembly Include="@(ReferencePath-&gt;WithMetadataValue('IncludeRuntimeDependency', 'true'))" />
14768 <UserRuntimeAssembly Include="@(ReferenceDependencyPaths-&gt;WithMetadataValue('IncludeRuntimeDependency', 'true'))" />
14769 </ItemGroup>
14770 </Target>
14771 <!--
14772 ============================================================
14773 CoreGenerateSatelliteAssemblies
14774 ============================================================
14775 -->
14776 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14777 <CreateSatelliteAssembliesDependsOn>
14778 $(CreateSatelliteAssembliesDependsOn);
14779 CoreGenerateSatelliteAssemblies
14780 </CreateSatelliteAssembliesDependsOn>
14781 </PropertyGroup>
14782 <UsingTask TaskName="GetAssemblyAttributes" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14783 <Target Name="CoreGenerateSatelliteAssemblies" DependsOnTargets="ResolveAssemblyReferences;_GetAssemblyInfoFromTemplateFile" Inputs="$(MSBuildAllProjects);@(_SatelliteAssemblyResourceInputs);$(IntermediateOutputPath)$(TargetName)$(TargetExt)" Outputs="$(IntermediateOutputPath)%(Culture)\$(TargetName).resources.dll" Condition="'@(_SatelliteAssemblyResourceInputs)' != '' and '$(GenerateSatelliteAssembliesForCore)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14784 <MakeDir Directories="@(_SatelliteAssemblyResourceInputs->'$(IntermediateOutputPath)%(Culture)')" />
14785 <PropertyGroup>
14786 <_AssemblyInfoFile>$(IntermediateOutputPath)%(_SatelliteAssemblyResourceInputs.Culture)\$(TargetName).resources.cs</_AssemblyInfoFile>
14787 <_OutputAssembly>$(IntermediateOutputPath)%(_SatelliteAssemblyResourceInputs.Culture)\$(TargetName).resources.dll</_OutputAssembly>
14788 </PropertyGroup>
14789 <ItemGroup>
14790 <SatelliteAssemblyAttribute Include="System.Reflection.AssemblyCultureAttribute" Condition="'%(_SatelliteAssemblyResourceInputs.Culture)' != ''">
14791 <_Parameter1>%(_SatelliteAssemblyResourceInputs.Culture)</_Parameter1>
14792 </SatelliteAssemblyAttribute>
14793 </ItemGroup>
14794 <WriteCodeFragment AssemblyAttributes="@(SatelliteAssemblyAttribute)" Language="C#" OutputFile="$(_AssemblyInfoFile)">
14795 <Output TaskParameter="OutputFile" ItemName="FileWrites" />
14796 </WriteCodeFragment>
14797 <PropertyGroup Condition="'$(UseSharedCompilation)' == ''">
14798 <UseSharedCompilation>true</UseSharedCompilation>
14799 </PropertyGroup>
14800 <ItemGroup>
14801 <_SatelliteAssemblyReferences Remove="@(_SatelliteAssemblyReferences)" />
14802 <_SatelliteAssemblyReferences Include="@(ReferencePath)" Condition="'%(Filename)' == 'mscorlib' or '%(Filename)' == 'netstandard' or '%(Filename)' == 'System.Runtime' " />
14803 </ItemGroup>
14804 <Csc Resources="@(_SatelliteAssemblyResourceInputs)" Sources="$(_AssemblyInfoFile)" OutputAssembly="$(_OutputAssembly)" References="@(_SatelliteAssemblyReferences)" KeyContainer="$(KeyContainerName)" KeyFile="$(KeyOriginatorFile)" NoConfig="true" NoLogo="$(NoLogo)" NoStandardLib="$(NoCompilerStandardLib)" Optimize="$(Optimize)" PublicSign="$(PublicSign)" PathMap="$(PathMap)" Features="$(Features)" DelaySign="$(DelaySign)" Deterministic="$(Deterministic)" DisabledWarnings="$(DisabledWarnings)" WarningLevel="$(WarningLevel)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" TargetType="Library" ToolExe="$(CscToolExe)" ToolPath="$(CscToolPath)" UseSharedCompilation="$(UseSharedCompilation)">
14805 <Output TaskParameter="OutputAssembly" ItemName="FileWrites" />
14806 </Csc>
14807 </Target>
14808 <Target Name="_GetAssemblyInfoFromTemplateFile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14809 <GetAssemblyAttributes PathToTemplateFile="$(IntermediateOutputPath)$(TargetName)$(TargetExt)">
14810 <Output TaskParameter="AssemblyAttributes" ItemName="_AssemblyAttributesFromTemplateFile" />
14811 </GetAssemblyAttributes>
14812 <ItemGroup>
14813 <SatelliteAssemblyAttribute Include="@(_AssemblyAttributesFromTemplateFile)" />
14814 </ItemGroup>
14815 </Target>
14816 <!--
14817 ============================================================
14818 GetAllRuntimeIdentifiers
14819 ============================================================
14820 -->
14821 <Target Name="GetAllRuntimeIdentifiers" Returns="$(RuntimeIdentifiers);$(RuntimeIdentifier)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14822 <!--
14823 ============================================================
14824 _BlockWinMDsOnUnsupportedTFMs
14825 Block referencing or producing
14826 Windows Metadata files (.winmd) for target frameworks
14827 that do not support loading winmds directly
14828 into the runtime as assemblies
14829 ============================================================
14830 -->
14831 <UsingTask TaskName="CheckForUnsupportedWinMDReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14832 <Target Name="_BlockWinMDsOnUnsupportedTFMs" AfterTargets="PreBuildEvent" DependsOnTargets="ResolveReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '5.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14833 <CheckForUnsupportedWinMDReferences TargetFrameworkMoniker="$(TargetFrameworkMoniker)" ReferencePaths="@(ReferencePath)" />
14834 <NETSdkError Condition="'$(OutputType)' == 'winmdobj'" ResourceName="WinMDObjNotSupportedOnTargetFramework" FormatArguments="$(TargetFrameworkMoniker)" />
14835 </Target>
14836 <!--
14837 ============================================================
14838 InjectTargetPathMetadata
14839 Update TargetPathWithTargetPlatformMoniker with target framework
14840 identifier and version metadata. This is so that the
14841 ImplicitlyExpandNETStandardFacades target can determine if a
14842 referenced project needs the .NET Standard facades even if
14843 the project hasn't been compiled to disk yet.
14844 See https://github.com/dotnet/sdk/issues/1403 for more context
14845 ============================================================
14846 -->
14847 <ItemDefinitionGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14848 <TargetPathWithTargetPlatformMoniker>
14849 <TargetFrameworkIdentifier>$(TargetFrameworkIdentifier)</TargetFrameworkIdentifier>
14850 <TargetFrameworkVersion>$(_TargetFrameworkVersionWithoutV)</TargetFrameworkVersion>
14851 </TargetPathWithTargetPlatformMoniker>
14852 </ItemDefinitionGroup>
14853 <!--
14854 ============================================================
14855 GenerateSupportedTargetFrameworkAlias
14856 Generate a list of valid TargetFramework aliases for the project
14857 system to consume for the target framework properties page drop down
14858 ============================================================
14859 -->
14860 <UsingTask TaskName="GenerateSupportedTargetFrameworkAlias" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14861 <Target Name="GenerateSupportedTargetFrameworkAlias" Returns="@(SupportedTargetFrameworkAlias)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14862 <GenerateSupportedTargetFrameworkAlias SupportedTargetFramework="@(SupportedTargetFramework)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetPlatformMoniker="$(TargetPlatformMoniker)" UseWpf="$(UseWpf)" UseWindowsForms="$(UseWindowsForms)">
14863 <Output TaskParameter="SupportedTargetFrameworkAlias" ItemName="SupportedTargetFrameworkAlias" />
14864 </GenerateSupportedTargetFrameworkAlias>
14865 </Target>
14866 <!--
14867 ============================================================
14868 ValidateExecutableReferences
14869 ============================================================
14870 -->
14871 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14872 <AdditionalTargetFrameworkInfoProperty Include="SelfContained" />
14873 <AdditionalTargetFrameworkInfoProperty Include="_IsExecutable" />
14874 <AdditionalTargetFrameworkInfoProperty Include="IsRidAgnostic" />
14875 <AdditionalTargetFrameworkInfoProperty Include="ShouldBeValidatedAsExecutableReference" />
14876 <AdditionalTargetFrameworkInfoProperty Include="_SelfContainedWasSpecified" />
14877 </ItemGroup>
14878 <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14879 <!-- Don't generate a NETSDK1151 error if a non self-contained Exe references a Blazor wasm Exe -->
14880 <ShouldBeValidatedAsExecutableReference>false</ShouldBeValidatedAsExecutableReference>
14881 </PropertyGroup>
14882 <UsingTask TaskName="ValidateExecutableReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14883 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14884 <_UseAttributeForTargetFrameworkInfoPropertyNames Condition="$([MSBuild]::VersionGreaterThanOrEquals($(MSBuildVersion), '17.0'))">true</_UseAttributeForTargetFrameworkInfoPropertyNames>
14885 </PropertyGroup>
14886 <!-- GetTargetFrameworksWithPlatformForSingleTargetFramework uses AdditionalTargetFrameworkInfoProperty to populate _AdditionalTargetFrameworkInfoPropertyWithValue -->
14887 <!-- As we are modifying the value of ShouldBeValidatedAsExecutableReference here (which is part of AdditionalTargetFrameworkInfoProperty), we must run before GetTargetFrameworksWithPlatformForSingleTargetFramework -->
14888 <Target Name="_CalculateIsVSTestTestProject" BeforeTargets="GetTargetFrameworksWithPlatformForSingleTargetFramework" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14889 <PropertyGroup>
14890 <_IsVSTestTestProject Condition="'$(IsTestProject)' == 'true' and '$(IsTestingPlatformApplication)' != 'true'">true</_IsVSTestTestProject>
14891 <_IsVSTestTestProject Condition="'$(_IsVSTestTestProject)' == ''">false</_IsVSTestTestProject>
14892 <!-- Don't generate an error if an Exe project references a test project. -->
14893 <ShouldBeValidatedAsExecutableReference Condition="'$(_IsVSTestTestProject)' == 'true'">false</ShouldBeValidatedAsExecutableReference>
14894 <!-- Don't generate an error if a test project references a self-contained Exe. Test projects
14895 use an OutputType of Exe but will usually call APIs in a referenced Exe rather than try
14896 to run it. -->
14897 <ValidateExecutableReferencesMatchSelfContained Condition="'$(_IsVSTestTestProject)' == 'true' And '$(ValidateExecutableReferencesMatchSelfContained)' == ''">false</ValidateExecutableReferencesMatchSelfContained>
14898 </PropertyGroup>
14899 </Target>
14900 <Target Name="ValidateExecutableReferences" DependsOnTargets="_CalculateIsVSTestTestProject" AfterTargets="_GetProjectReferenceTargetFrameworkProperties" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14901 <ValidateExecutableReferences Condition="'$(ValidateExecutableReferencesMatchSelfContained)' != 'false'" SelfContained="$(SelfContained)" IsExecutable="$(_IsExecutable)" ReferencedProjects="@(_MSBuildProjectReferenceExistent)" UseAttributeForTargetFrameworkInfoPropertyNames="$(_UseAttributeForTargetFrameworkInfoPropertyNames)" />
14902 </Target>
14903 <!--
14904 ============================================================
14905 Command Line Configuration Validation
14906 ============================================================
14907 -->
14908 <Target Name="ValidateCommandLineProperties" AfterTargets="_CheckForInvalidConfigurationAndPlatform" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14909 <!-- Currently a no-op, but we could put things here in the future, so keeping it. -->
14910 </Target>
14911 <!--
14912 ============================================================
14913 Project Capabilities
14914 ============================================================
14915 -->
14916 <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_IsExecutable)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14917 <ProjectCapability Include="CrossPlatformExecutable" />
14918 </ItemGroup>
14919 <!-- Native AOT compilation -->
14920 <!-- Native AOT properties should be shown by default for projects targeting .NET 8 or higher, except for WPF and WinForms projects -->
14921 <ItemGroup Condition="'$(UseWPF)' != 'true'&#xD;&#xA; and '$(UseWindowsForms)' != 'true'&#xD;&#xA; and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and $([MSBuild]::VersionGreaterThanOrEquals('$(_TargetFrameworkVersionWithoutV)', '8.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14922 <ProjectCapability Include="NativeAOT" />
14923 </ItemGroup>
14924 <!-- Reference Manager capabilities -->
14925 <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14926 <ProjectCapability Remove="ReferenceManagerAssemblies" />
14927 </ItemGroup>
14928 <!--
14929============================================================================================================================================
14930 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.SourceLink.targets" Condition="'$(SuppressImplicitGitSourceLink)' != 'true'">
14931
14932C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.targets
14933============================================================================================================================================
14934-->
14935 <!--
14936***********************************************************************************************
14937Microsoft.NET.Sdk.SourceLink.targets
14938
14939WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
14940 created a backup copy. Incorrect changes to this file will make it
14941 impossible to load or build your projects from the command-line or the IDE.
14942
14943Copyright (c) .NET Foundation. All rights reserved.
14944***********************************************************************************************
14945-->
14946 <!-- C++ projects currently do not import Microsoft.NET.Sdk.props. -->
14947 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.SourceLink.props" Condition="'$(_SourceLinkPropsImported)' != 'true'" />-->
14948 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14949 <!-- Workaround for https://github.com/Microsoft/msbuild/issues/3294. -->
14950 <_SourceLinkSdkSubDir>build</_SourceLinkSdkSubDir>
14951 <_SourceLinkSdkSubDir Condition="'$(IsCrossTargetingBuild)' == 'true'">buildMultiTargeting</_SourceLinkSdkSubDir>
14952 <!-- Workaround for https://github.com/dotnet/sdk/issues/36585 (Desktop XAML targets do not produce correct #line directives) -->
14953 <EmbedUntrackedSources Condition="'$(EmbedUntrackedSources)' == '' and '$(ImportFrameworkWinFXTargets)' != 'true'">true</EmbedUntrackedSources>
14954 </PropertyGroup>
14955 <!--
14956============================================================================================================================================
14957 <Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.Build.Tasks.Git\build\Microsoft.Build.Tasks.Git.targets">
14958
14959C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.Build.Tasks.Git\build\Microsoft.Build.Tasks.Git.targets
14960============================================================================================================================================
14961-->
14962 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
14963 <UsingTask TaskName="Microsoft.Build.Tasks.Git.LocateRepository" AssemblyFile="$(MicrosoftBuildTasksGitAssemblyFile)" />
14964 <UsingTask TaskName="Microsoft.Build.Tasks.Git.GetUntrackedFiles" AssemblyFile="$(MicrosoftBuildTasksGitAssemblyFile)" />
14965 <PropertyGroup>
14966 <!--
14967 Sets the scope of git repository configuration. By default (no scope specified) configuration is read from environment variables
14968 and system and global user git/ssh configuration files.
14969
14970 If "local" is specified the configuration is only read from the configuration files local to the repository (or work tree).
14971 In addition, any use of home relative paths in these configuration files (paths that start with '~/') is disallowed.
14972
14973 By default, the scope is restricted to "local" when building in CI (ContinuousIntegrationBuild is true) to avoid introducing
14974 dependencies on CI machine state into the build.
14975 -->
14976 <GitRepositoryConfigurationScope Condition="'$(GitRepositoryConfigurationScope)' == '' and '$(ContinuousIntegrationBuild)' == 'true'">local</GitRepositoryConfigurationScope>
14977 </PropertyGroup>
14978 <Target Name="InitializeSourceControlInformationFromSourceControlManager">
14979 <!--
14980 Reports a warning if the given project doesn't belong to a repository under source control,
14981 unless the targets were implicily imported from an SDK without a package reference.
14982 -->
14983 <Microsoft.Build.Tasks.Git.LocateRepository Path="$(MSBuildProjectDirectory)" RemoteName="$(GitRepositoryRemoteName)" ConfigurationScope="$(GitRepositoryConfigurationScope)" NoWarnOnMissingInfo="$(PkgMicrosoft_Build_Tasks_Git.Equals(''))">
14984 <Output TaskParameter="RepositoryId" PropertyName="_GitRepositoryId" />
14985 <Output TaskParameter="Url" PropertyName="ScmRepositoryUrl" />
14986 <Output TaskParameter="Roots" ItemName="SourceRoot" />
14987 <Output TaskParameter="RevisionId" PropertyName="SourceRevisionId" Condition="'$(SourceRevisionId)' == ''" />
14988 <Output TaskParameter="BranchName" PropertyName="SourceBranchName" />
14989 </Microsoft.Build.Tasks.Git.LocateRepository>
14990 <PropertyGroup>
14991 <RepositoryType Condition="'$(RepositoryType)' == ''">git</RepositoryType>
14992 </PropertyGroup>
14993 </Target>
14994 <!--
14995 Embed files to the PDB that either do not belong to any of the SourceRoot directories
14996 or belong to the source repository, but are explicitly ignored (excluded) from source control.
14997 -->
14998 <Target Name="SetEmbeddedFilesFromSourceControlManagerUntrackedFiles" DependsOnTargets="InitializeSourceControlInformationFromSourceControlManager">
14999 <Microsoft.Build.Tasks.Git.GetUntrackedFiles RepositoryId="$(_GitRepositoryId)" ConfigurationScope="$(GitRepositoryConfigurationScope)" ProjectDirectory="$(MSBuildProjectDirectory)" Files="@(Compile)" Condition="'$(_GitRepositoryId)' != ''">
15000 <Output TaskParameter="UntrackedFiles" ItemName="EmbeddedFiles" />
15001 </Microsoft.Build.Tasks.Git.GetUntrackedFiles>
15002 </Target>
15003 <!--
15004============================================================================================================================================
15005 </Import>
15006
15007C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.targets
15008============================================================================================================================================
15009-->
15010 <!--
15011============================================================================================================================================
15012 <Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.SourceLink.Common\$(_SourceLinkSdkSubDir)\Microsoft.SourceLink.Common.targets">
15013
15014C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.SourceLink.Common\build\Microsoft.SourceLink.Common.targets
15015============================================================================================================================================
15016-->
15017 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
15018 <!--
15019============================================================================================================================================
15020 <Import Project="InitializeSourceControlInformation.targets">
15021
15022C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.SourceLink.Common\build\InitializeSourceControlInformation.targets
15023============================================================================================================================================
15024-->
15025 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
15026 <UsingTask TaskName="Microsoft.SourceLink.Common.SourceLinkHasSingleProvider" AssemblyFile="$(_MicrosoftSourceLinkCommonAssemblyFile)" />
15027 <Target Name="_SourceLinkHasSingleProvider">
15028 <!--
15029 If there is a single SourceLink provider we can use Repository URL to infer repository host.
15030 If the project references multiple SourceLink providers the user needs to specify hosts explicitly (ImplicitHost will be empty)
15031 as we do not know which providers should be used to produce SourceLink URL for the repository.
15032
15033 Reports an error if there is no SourceLinkUrlInitializerTargets is empty (no SourceLink provider is referenced).
15034 -->
15035 <Microsoft.SourceLink.Common.SourceLinkHasSingleProvider ProviderTargets="$(SourceLinkUrlInitializerTargets)">
15036 <Output TaskParameter="HasSingleProvider" PropertyName="SourceLinkHasSingleProvider" />
15037 </Microsoft.SourceLink.Common.SourceLinkHasSingleProvider>
15038 </Target>
15039 <!--
15040 Triggers InitializeSourceControlInformationFromSourceControlManager target defined by a source control package Microsoft.Build.Tasks.{Git|Tfvc|...}.
15041
15042 Notes: No error is reported if InitializeSourceControlInformation is not defined.
15043 -->
15044 <Target Name="_InitializeSourceControlInformationFromSourceControlManager" DependsOnTargets="InitializeSourceControlInformationFromSourceControlManager;_SourceLinkHasSingleProvider;$(SourceControlManagerUrlTranslationTargets);SourceControlManagerPublishTranslatedUrls" BeforeTargets="InitializeSourceControlInformation" Condition="'$(EnableSourceControlManagerQueries)' == 'true'" />
15045 <Target Name="SourceControlManagerPublishTranslatedUrls">
15046 <PropertyGroup>
15047 <!--
15048 If the project already sets RepositoryUrl use it. Such URL is considered final and translations are not applied.
15049 -->
15050 <PrivateRepositoryUrl Condition="'$(PrivateRepositoryUrl)' == ''">$(RepositoryUrl)</PrivateRepositoryUrl>
15051 <PrivateRepositoryUrl Condition="'$(PrivateRepositoryUrl)' == ''">$(ScmRepositoryUrl)</PrivateRepositoryUrl>
15052 </PropertyGroup>
15053 <ItemGroup>
15054 <SourceRoot Update="@(SourceRoot)">
15055 <RepositoryUrl Condition="'%(SourceRoot.RepositoryUrl)' == ''">%(SourceRoot.ScmRepositoryUrl)</RepositoryUrl>
15056 </SourceRoot>
15057 </ItemGroup>
15058 </Target>
15059 <!--
15060============================================================================================================================================
15061 </Import>
15062
15063C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.SourceLink.Common\build\Microsoft.SourceLink.Common.targets
15064============================================================================================================================================
15065-->
15066 <UsingTask TaskName="Microsoft.SourceLink.Common.GenerateSourceLinkFile" AssemblyFile="$(_MicrosoftSourceLinkCommonAssemblyFile)" />
15067 <Target Name="_SetSourceLinkFilePath">
15068 <PropertyGroup>
15069 <_SourceLinkFilePath>$(IntermediateOutputPath)$(MSBuildProjectName).sourcelink.json</_SourceLinkFilePath>
15070 </PropertyGroup>
15071 </Target>
15072 <!--
15073 Triggers SetEmbeddedFilesFromSourceControlManagerUntrackedFiles target defined by a source control package Microsoft.Build.Tasks.{Git|Tfvc|...}.
15074 Assumes that all targets that generate source files and add them to Compile items run before BeforeCompile target.
15075 This is a convention established by common targets.
15076
15077 Disabled for design-time build since calculating untracked files is non-trivial operation
15078 and embedding them only affects the content of the generated PDB, which has no impact on design-time build.
15079 -->
15080 <Target Name="_SetEmbeddedFilesFromSourceControlManagerUntrackedFiles" DependsOnTargets="BeforeCompile;SetEmbeddedFilesFromSourceControlManagerUntrackedFiles" BeforeTargets="CoreCompile" Condition="'$(EmbedUntrackedSources)' == 'true' and '$(EmbedAllSources)' != 'true' and '$(DebugType)' != 'none' and '$(EnableSourceControlManagerQueries)' == 'true' and '$(DesignTimeBuild)' != 'true'" />
15081 <!--
15082 If defined populates MappedPath metadata of SourceRoot items.
15083 -->
15084 <Target Name="_InitializeSourceRootMappedPathsOpt" DependsOnTargets="InitializeSourceRootMappedPaths" Condition="'$(SourceRootMappedPathsFeatureSupported)' == 'true'" />
15085 <!--
15086 Add compiler targets: C++ generates PDB with SourceLink in Link phase.
15087 -->
15088 <PropertyGroup Condition="'$(Language)' == 'C++'">
15089 <_GenerateSourceLinkFileBeforeTargets>Link</_GenerateSourceLinkFileBeforeTargets>
15090 <_GenerateSourceLinkFileDependsOnTargets>ComputeLinkSwitches</_GenerateSourceLinkFileDependsOnTargets>
15091 </PropertyGroup>
15092 <PropertyGroup Condition="'$(Language)' != 'C++'">
15093 <_GenerateSourceLinkFileBeforeTargets>CoreCompile</_GenerateSourceLinkFileBeforeTargets>
15094 <_GenerateSourceLinkFileDependsOnTargets />
15095 </PropertyGroup>
15096 <!--
15097 Each source control provider package adds its SourceLinkUrl initialization target to SourceLinkUrlInitializerTargets.
15098 This target shall initialize SourceLinkUrl of all items that don't have it initialized yet and belong to the source control provider.
15099 -->
15100 <Target Name="_GenerateSourceLinkFile" DependsOnTargets="_SetSourceLinkFilePath;$(_GenerateSourceLinkFileDependsOnTargets);_InitializeSourceRootMappedPathsOpt;$(SourceLinkUrlInitializerTargets)" Condition="'$(EnableSourceLink)' == 'true' and '$(DebugType)' != 'none'" Outputs="$(_SourceLinkFilePath)">
15101 <!--- Suppress warning if targets are imported from an SDK without a package reference. -->
15102 <Microsoft.SourceLink.Common.GenerateSourceLinkFile SourceRoots="@(SourceRoot)" NoWarnOnMissingSourceControlInformation="$(PkgMicrosoft_SourceLink_Common.Equals(''))" OutputFile="$(_SourceLinkFilePath)">
15103 <!-- Set SourceLink property passed to compilers -->
15104 <Output TaskParameter="SourceLink" PropertyName="SourceLink" />
15105 </Microsoft.SourceLink.Common.GenerateSourceLinkFile>
15106 <!--
15107 Include the output file whenever it exists, even if it hasn't been written to (it was up-to-date).
15108 This is needed so that incremental clean doesn't delete the file.
15109 -->
15110 <ItemGroup Condition="'$(SourceLink)' != ''">
15111 <FileWrites Include="$(SourceLink)" />
15112 </ItemGroup>
15113 <!-- C++ Link task currently doesn't recognize SourceLink property -->
15114 <ItemGroup Condition="'$(Language)' == 'C++' and '$(SourceLink)' != ''">
15115 <Link Update="@(Link)">
15116 <AdditionalOptions>%(Link.AdditionalOptions) /sourcelink:"$(SourceLink)"</AdditionalOptions>
15117 </Link>
15118 </ItemGroup>
15119 </Target>
15120 <Target Name="GenerateSourceLinkFile" DependsOnTargets="InitializeSourceControlInformation;_GenerateSourceLinkFile" Condition="'$(SourceControlInformationFeatureSupported)' == 'true'" BeforeTargets="$(_GenerateSourceLinkFileBeforeTargets)" />
15121 <!--
15122============================================================================================================================================
15123 </Import>
15124
15125C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.targets
15126============================================================================================================================================
15127-->
15128 <!--
15129============================================================================================================================================
15130 <Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.SourceLink.GitHub\build\Microsoft.SourceLink.GitHub.targets">
15131
15132C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.SourceLink.GitHub\build\Microsoft.SourceLink.GitHub.targets
15133============================================================================================================================================
15134-->
15135 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
15136 <PropertyGroup>
15137 <_SourceLinkGitHubAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\netframework\Microsoft.SourceLink.GitHub.dll</_SourceLinkGitHubAssemblyFile>
15138 <_SourceLinkGitHubAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\net\Microsoft.SourceLink.GitHub.dll</_SourceLinkGitHubAssemblyFile>
15139 </PropertyGroup>
15140 <UsingTask TaskName="Microsoft.SourceLink.GitHub.GetSourceLinkUrl" AssemblyFile="$(_SourceLinkGitHubAssemblyFile)" />
15141 <UsingTask TaskName="Microsoft.SourceLink.GitHub.TranslateRepositoryUrls" AssemblyFile="$(_SourceLinkGitHubAssemblyFile)" />
15142 <PropertyGroup>
15143 <SourceLinkUrlInitializerTargets>$(SourceLinkUrlInitializerTargets);_InitializeGitHubSourceLinkUrl</SourceLinkUrlInitializerTargets>
15144 <SourceControlManagerUrlTranslationTargets>$(SourceControlManagerUrlTranslationTargets);TranslateGitHubUrlsInSourceControlInformation</SourceControlManagerUrlTranslationTargets>
15145 </PropertyGroup>
15146 <Target Name="_InitializeGitHubSourceLinkUrl" Outputs="%(SourceRoot.Identity)">
15147 <!--
15148 The task calculates SourceLink URL for a given SourceRoot.
15149
15150 If the SourceRoot is associated with a git repository with a recognized domain the <see cref="SourceLinkUrl"/>
15151 output property is set to the content URL corresponding to the domain, otherwise it is set to string "N/A".
15152
15153 Recognized domains are specified via Hosts (initialized from SourceLinkGitHubHost item group).
15154 In addition, if SourceLinkHasSingleProvider is true an implicit host is parsed from RepositoryUrl.
15155
15156 Example of SourceLinkGitHubHost items:
15157
15158 <ItemGroup>
15159 <SourceLinkGitHubHost Include="github.com" ContentUrl="https://raw.githubusercontent.com"/>
15160 <SourceLinkGitHubHost Include="mygithub1.com" /> ContentUrl defaults to https://mygithub1.com/raw
15161 <SourceLinkGitHubHost Include="mygithub2.com:8080" /> ContentUrl defaults to https://mygithub2.com:8080/raw
15162 </ItemGroup>
15163
15164 ContentUrl is optional. If not specified it defaults to "https://{domain}/raw".
15165 -->
15166 <Microsoft.SourceLink.GitHub.GetSourceLinkUrl RepositoryUrl="$(PrivateRepositoryUrl)" SourceRoot="@(SourceRoot)" Hosts="@(SourceLinkGitHubHost)" IsSingleProvider="$(SourceLinkHasSingleProvider)">
15167 <Output TaskParameter="SourceLinkUrl" PropertyName="_SourceLinkUrlToUpdate" />
15168 </Microsoft.SourceLink.GitHub.GetSourceLinkUrl>
15169 <ItemGroup>
15170 <!-- Only update the SourceLinkUrl metadata if the SourceRoot belongs to this source control -->
15171 <SourceRoot Update="%(Identity)" SourceLinkUrl="$(_SourceLinkUrlToUpdate)" Condition="'$(_SourceLinkUrlToUpdate)' != 'N/A'" />
15172 </ItemGroup>
15173 </Target>
15174 <!--
15175 We need to translate ssh URLs to https.
15176 -->
15177 <Target Name="TranslateGitHubUrlsInSourceControlInformation">
15178 <ItemGroup>
15179 <_TranslatedSourceRoot Remove="@(_TranslatedSourceRoot)" />
15180 </ItemGroup>
15181 <Microsoft.SourceLink.GitHub.TranslateRepositoryUrls RepositoryUrl="$(ScmRepositoryUrl)" SourceRoots="@(SourceRoot)" Hosts="@(SourceLinkGitHubHost)" IsSingleProvider="$(SourceLinkHasSingleProvider)">
15182 <Output TaskParameter="TranslatedRepositoryUrl" PropertyName="ScmRepositoryUrl" />
15183 <Output TaskParameter="TranslatedSourceRoots" ItemName="_TranslatedSourceRoot" />
15184 </Microsoft.SourceLink.GitHub.TranslateRepositoryUrls>
15185 <ItemGroup>
15186 <SourceRoot Remove="@(SourceRoot)" />
15187 <SourceRoot Include="@(_TranslatedSourceRoot)" />
15188 </ItemGroup>
15189 </Target>
15190 <!--
15191============================================================================================================================================
15192 </Import>
15193
15194C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.targets
15195============================================================================================================================================
15196-->
15197 <!--
15198============================================================================================================================================
15199 <Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.SourceLink.GitLab\build\Microsoft.SourceLink.GitLab.targets">
15200
15201C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.SourceLink.GitLab\build\Microsoft.SourceLink.GitLab.targets
15202============================================================================================================================================
15203-->
15204 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
15205 <PropertyGroup>
15206 <_SourceLinkGitLabAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\netframework\Microsoft.SourceLink.GitLab.dll</_SourceLinkGitLabAssemblyFile>
15207 <_SourceLinkGitLabAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\net\Microsoft.SourceLink.GitLab.dll</_SourceLinkGitLabAssemblyFile>
15208 </PropertyGroup>
15209 <UsingTask TaskName="Microsoft.SourceLink.GitLab.GetSourceLinkUrl" AssemblyFile="$(_SourceLinkGitLabAssemblyFile)" />
15210 <UsingTask TaskName="Microsoft.SourceLink.GitLab.TranslateRepositoryUrls" AssemblyFile="$(_SourceLinkGitLabAssemblyFile)" />
15211 <PropertyGroup>
15212 <SourceLinkUrlInitializerTargets>$(SourceLinkUrlInitializerTargets);_InitializeGitLabSourceLinkUrl</SourceLinkUrlInitializerTargets>
15213 <SourceControlManagerUrlTranslationTargets>$(SourceControlManagerUrlTranslationTargets);TranslateGitLabUrlsInSourceControlInformation</SourceControlManagerUrlTranslationTargets>
15214 </PropertyGroup>
15215 <Target Name="_InitializeGitLabSourceLinkUrl" Outputs="%(SourceRoot.Identity)">
15216 <!--
15217 The task calculates SourceLink URL for a given SourceRoot.
15218
15219 If the SourceRoot is associated with a git repository with a recognized domain the <see cref="SourceLinkUrl"/>
15220 output property is set to the content URL corresponding to the domain, otherwise it is set to string "N/A".
15221
15222 Recognized domains are specified via Hosts (initialized from SourceLinkGitLabHost item group).
15223 In addition, if SourceLinkHasSingleProvider is true an implicit host is parsed from RepositoryUrl.
15224
15225 Example of SourceLinkGitLabHost items:
15226
15227 <ItemGroup>
15228 <SourceLinkGitLabHost Include="mygitlab1.com" ContentUrl="http://mygitlab1.com"/>
15229 <SourceLinkGitLabHost Include="mygitlab2.com" /> ContentUrl defaults to https://mygitlab2.com
15230 <SourceLinkGitLabHost Include="mygitlab3.com:8080" /> ContentUrl defaults to https://mygitlab3.com:8080
15231 </ItemGroup>
15232
15233 ContentUrl is optional. If not specified it defaults to "https://{domain}" or "http://{domain}", based on the scheme of SourceRoot.RepositoryUrl.
15234 -->
15235 <Microsoft.SourceLink.GitLab.GetSourceLinkUrl RepositoryUrl="$(PrivateRepositoryUrl)" SourceRoot="@(SourceRoot)" Hosts="@(SourceLinkGitLabHost)" IsSingleProvider="$(SourceLinkHasSingleProvider)">
15236 <Output TaskParameter="SourceLinkUrl" PropertyName="_SourceLinkUrlToUpdate" />
15237 </Microsoft.SourceLink.GitLab.GetSourceLinkUrl>
15238 <ItemGroup>
15239 <!-- Only update the SourceLinkUrl metadata if the SourceRoot belongs to this source control -->
15240 <SourceRoot Update="%(Identity)" SourceLinkUrl="$(_SourceLinkUrlToUpdate)" Condition="'$(_SourceLinkUrlToUpdate)' != 'N/A'" />
15241 </ItemGroup>
15242 </Target>
15243 <!--
15244 We need to translate ssh URLs to https.
15245 -->
15246 <Target Name="TranslateGitLabUrlsInSourceControlInformation">
15247 <ItemGroup>
15248 <_TranslatedSourceRoot Remove="@(_TranslatedSourceRoot)" />
15249 </ItemGroup>
15250 <Microsoft.SourceLink.GitLab.TranslateRepositoryUrls RepositoryUrl="$(ScmRepositoryUrl)" SourceRoots="@(SourceRoot)" Hosts="@(SourceLinkGitLabHost)" IsSingleProvider="$(SourceLinkHasSingleProvider)">
15251 <Output TaskParameter="TranslatedRepositoryUrl" PropertyName="ScmRepositoryUrl" />
15252 <Output TaskParameter="TranslatedSourceRoots" ItemName="_TranslatedSourceRoot" />
15253 </Microsoft.SourceLink.GitLab.TranslateRepositoryUrls>
15254 <ItemGroup>
15255 <SourceRoot Remove="@(SourceRoot)" />
15256 <SourceRoot Include="@(_TranslatedSourceRoot)" />
15257 </ItemGroup>
15258 </Target>
15259 <!--
15260============================================================================================================================================
15261 </Import>
15262
15263C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.targets
15264============================================================================================================================================
15265-->
15266 <!--
15267============================================================================================================================================
15268 <Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.SourceLink.AzureRepos.Git\build\Microsoft.SourceLink.AzureRepos.Git.targets">
15269
15270C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.SourceLink.AzureRepos.Git\build\Microsoft.SourceLink.AzureRepos.Git.targets
15271============================================================================================================================================
15272-->
15273 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
15274 <PropertyGroup>
15275 <_SourceLinkAzureReposGitAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\netframework\Microsoft.SourceLink.AzureRepos.Git.dll</_SourceLinkAzureReposGitAssemblyFile>
15276 <_SourceLinkAzureReposGitAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\net\Microsoft.SourceLink.AzureRepos.Git.dll</_SourceLinkAzureReposGitAssemblyFile>
15277 </PropertyGroup>
15278 <UsingTask TaskName="Microsoft.SourceLink.AzureRepos.Git.GetSourceLinkUrl" AssemblyFile="$(_SourceLinkAzureReposGitAssemblyFile)" />
15279 <UsingTask TaskName="Microsoft.SourceLink.AzureRepos.Git.TranslateRepositoryUrls" AssemblyFile="$(_SourceLinkAzureReposGitAssemblyFile)" />
15280 <PropertyGroup>
15281 <SourceLinkUrlInitializerTargets>$(SourceLinkUrlInitializerTargets);_InitializeAzureReposGitSourceLinkUrl</SourceLinkUrlInitializerTargets>
15282 <SourceControlManagerUrlTranslationTargets>$(SourceControlManagerUrlTranslationTargets);TranslateAzureReposGitUrlsInSourceControlInformation</SourceControlManagerUrlTranslationTargets>
15283 </PropertyGroup>
15284 <Target Name="_InitializeAzureReposGitSourceLinkUrl" Outputs="%(SourceRoot.Identity)">
15285 <!--
15286 The task calculates SourceLink URL for a given SourceRoot.
15287
15288 If the SourceRoot is associated with a git repository with a recognized domain the <see cref="SourceLinkUrl"/>
15289 output property is set to the content URL corresponding to the domain, otherwise it is set to string "N/A".
15290
15291 Recognized domains are specified via Hosts (initialized from SourceLinkAzureReposGitHost item group).
15292 In addition, if SourceLinkHasSingleProvider is true an implicit host is parsed from RepositoryUrl.
15293
15294 ContentUrl is optional. If not specified it defaults to "https://{domain}" or "http://{domain}", based on the scheme of SourceRoot.RepositoryUrl.
15295 -->
15296 <Microsoft.SourceLink.AzureRepos.Git.GetSourceLinkUrl RepositoryUrl="$(PrivateRepositoryUrl)" SourceRoot="@(SourceRoot)" Hosts="@(SourceLinkAzureReposGitHost)" IsSingleProvider="$(SourceLinkHasSingleProvider)">
15297 <Output TaskParameter="SourceLinkUrl" PropertyName="_SourceLinkUrlToUpdate" />
15298 </Microsoft.SourceLink.AzureRepos.Git.GetSourceLinkUrl>
15299 <ItemGroup>
15300 <!-- Only update the SourceLinkUrl metadata if the SourceRoot belongs to this source control -->
15301 <SourceRoot Update="%(Identity)" SourceLinkUrl="$(_SourceLinkUrlToUpdate)" Condition="'$(_SourceLinkUrlToUpdate)' != 'N/A'" />
15302 </ItemGroup>
15303 </Target>
15304 <!--
15305 We need to translate ssh URLs to https.
15306 -->
15307 <Target Name="TranslateAzureReposGitUrlsInSourceControlInformation">
15308 <ItemGroup>
15309 <_TranslatedSourceRoot Remove="@(_TranslatedSourceRoot)" />
15310 </ItemGroup>
15311 <Microsoft.SourceLink.AzureRepos.Git.TranslateRepositoryUrls RepositoryUrl="$(ScmRepositoryUrl)" SourceRoots="@(SourceRoot)" Hosts="@(SourceLinkAzureReposGitHost)" IsSingleProvider="$(SourceLinkHasSingleProvider)">
15312 <Output TaskParameter="TranslatedRepositoryUrl" PropertyName="ScmRepositoryUrl" />
15313 <Output TaskParameter="TranslatedSourceRoots" ItemName="_TranslatedSourceRoot" />
15314 </Microsoft.SourceLink.AzureRepos.Git.TranslateRepositoryUrls>
15315 <ItemGroup>
15316 <SourceRoot Remove="@(SourceRoot)" />
15317 <SourceRoot Include="@(_TranslatedSourceRoot)" />
15318 </ItemGroup>
15319 </Target>
15320 <!--
15321============================================================================================================================================
15322 </Import>
15323
15324C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.targets
15325============================================================================================================================================
15326-->
15327 <!--
15328============================================================================================================================================
15329 <Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.SourceLink.Bitbucket.Git\build\Microsoft.SourceLink.Bitbucket.Git.targets">
15330
15331C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.SourceLink.Bitbucket.Git\build\Microsoft.SourceLink.Bitbucket.Git.targets
15332============================================================================================================================================
15333-->
15334 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the License.txt file in the project root for more information. -->
15335 <PropertyGroup>
15336 <_SourceLinkBitbucketAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\netframework\Microsoft.SourceLink.Bitbucket.Git.dll</_SourceLinkBitbucketAssemblyFile>
15337 <_SourceLinkBitbucketAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\net\Microsoft.SourceLink.Bitbucket.Git.dll</_SourceLinkBitbucketAssemblyFile>
15338 </PropertyGroup>
15339 <UsingTask TaskName="Microsoft.SourceLink.Bitbucket.Git.GetSourceLinkUrl" AssemblyFile="$(_SourceLinkBitbucketAssemblyFile)" />
15340 <UsingTask TaskName="Microsoft.SourceLink.Bitbucket.Git.TranslateRepositoryUrls" AssemblyFile="$(_SourceLinkBitbucketAssemblyFile)" />
15341 <PropertyGroup>
15342 <SourceLinkUrlInitializerTargets>$(SourceLinkUrlInitializerTargets);_InitializeBitbucketGitSourceLinkUrl</SourceLinkUrlInitializerTargets>
15343 <SourceControlManagerUrlTranslationTargets>$(SourceControlManagerUrlTranslationTargets);TranslateBitbucketGitUrlsInSourceControlInformation</SourceControlManagerUrlTranslationTargets>
15344 </PropertyGroup>
15345 <Target Name="_InitializeBitbucketGitSourceLinkUrl" Outputs="%(SourceRoot.Identity)">
15346 <!--
15347 The task calculates SourceLink URL for a given SourceRoot.
15348
15349 If the SourceRoot is associated with a git repository with a recognized domain the <see cref="SourceLinkUrl"/>
15350 output property is set to the content URL corresponding to the domain, otherwise it is set to string "N/A".
15351
15352 Recognized domains are specified via Hosts (initialized from SourceLinkBitbucketGitHost item group).
15353 In addition, if SourceLinkHasSingleProvider is true an implicit host is parsed from RepositoryUrl.
15354
15355 Example of SourceLinkBitbucketGitHost items:
15356
15357 <ItemGroup>
15358 <SourceLinkBitbucketGitHost Include="bitbucket1.com" ContentUrl="http://bitbucket1.com"/>
15359 <SourceLinkBitbucketGitHost Include="bitbucket2.com" /> ContentUrl defaults to https://bitbucket2.com
15360 <SourceLinkBitbucketGitHost Include="bitbucket3.com:8080" /> ContentUrl defaults to https://bitbucket3.com:8080
15361 </ItemGroup>
15362
15363 ContentUrl is optional. If not specified it defaults to "https://{domain}" or "http://{domain}", based on the scheme of SourceRoot.RepositoryUrl.
15364 -->
15365 <Microsoft.SourceLink.Bitbucket.Git.GetSourceLinkUrl RepositoryUrl="$(PrivateRepositoryUrl)" SourceRoot="@(SourceRoot)" Hosts="@(SourceLinkBitbucketGitHost)" IsSingleProvider="$(SourceLinkHasSingleProvider)">
15366 <Output TaskParameter="SourceLinkUrl" PropertyName="_SourceLinkUrlToUpdate" />
15367 </Microsoft.SourceLink.Bitbucket.Git.GetSourceLinkUrl>
15368 <ItemGroup>
15369 <!-- Only update the SourceLinkUrl metadata if the SourceRoot belongs to this source control -->
15370 <SourceRoot Update="%(Identity)" SourceLinkUrl="$(_SourceLinkUrlToUpdate)" Condition="'$(_SourceLinkUrlToUpdate)' != 'N/A'" />
15371 </ItemGroup>
15372 </Target>
15373 <!--
15374 We need to translate ssh URLs to https.
15375 -->
15376 <Target Name="TranslateBitbucketGitUrlsInSourceControlInformation">
15377 <ItemGroup>
15378 <_TranslatedSourceRoot Remove="@(_TranslatedSourceRoot)" />
15379 </ItemGroup>
15380 <Microsoft.SourceLink.Bitbucket.Git.TranslateRepositoryUrls RepositoryUrl="$(ScmRepositoryUrl)" SourceRoots="@(SourceRoot)" Hosts="@(SourceLinkBitbucketGitHost)" IsSingleProvider="$(SourceLinkHasSingleProvider)">
15381 <Output TaskParameter="TranslatedRepositoryUrl" PropertyName="ScmRepositoryUrl" />
15382 <Output TaskParameter="TranslatedSourceRoots" ItemName="_TranslatedSourceRoot" />
15383 </Microsoft.SourceLink.Bitbucket.Git.TranslateRepositoryUrls>
15384 <ItemGroup>
15385 <SourceRoot Remove="@(SourceRoot)" />
15386 <SourceRoot Include="@(_TranslatedSourceRoot)" />
15387 </ItemGroup>
15388 </Target>
15389 <!--
15390============================================================================================================================================
15391 </Import>
15392
15393C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.SourceLink.targets
15394============================================================================================================================================
15395-->
15396 <!--
15397============================================================================================================================================
15398 </Import>
15399
15400C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
15401============================================================================================================================================
15402-->
15403 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DisableStandardFrameworkResolution.targets" Condition="'$(DisableStandardFrameworkResolution)' == 'true'" />-->
15404 <!--
15405============================================================================================================================================
15406 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DesignerSupport.targets">
15407
15408C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DesignerSupport.targets
15409============================================================================================================================================
15410-->
15411 <!--
15412***********************************************************************************************
15413Microsoft.NET.DesignerSupport.targets
15414
15415WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
15416 created a backup copy. Incorrect changes to this file will make it
15417 impossible to load or build your projects from the command-line or the IDE.
15418
15419Copyright (c) .NET Foundation. All rights reserved.
15420***********************************************************************************************
15421-->
15422 <PropertyGroup Condition="'$(DesignerRuntimeImplementationProjectOutputGroupDependsOn)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15423 <DesignerRuntimeImplementationProjectOutputGroupDependsOn>
15424 $(CommonOutputGroupsDependsOn);
15425 </DesignerRuntimeImplementationProjectOutputGroupDependsOn>
15426 </PropertyGroup>
15427 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15428 <DesignerRuntimeImplementationProjectOutputGroupDependsOn>
15429 $(DesignerRuntimeImplementationProjectOutputGroupDependsOn);
15430 _GenerateDesignerDepsFile;
15431 _GenerateDesignerRuntimeConfigFile;
15432 GetCopyToOutputDirectoryItems;
15433 _GatherDesignerShadowCopyFiles;
15434 </DesignerRuntimeImplementationProjectOutputGroupDependsOn>
15435 <_DesignerDepsFileName>$(AssemblyName).designer.deps.json</_DesignerDepsFileName>
15436 <_DesignerRuntimeConfigFileName>$(AssemblyName).designer.runtimeconfig.json</_DesignerRuntimeConfigFileName>
15437 <_DesignerDepsFilePath>$(IntermediateOutputPath)$(_DesignerDepsFileName)</_DesignerDepsFilePath>
15438 <_DesignerRuntimeConfigFilePath>$(IntermediateOutputPath)$(_DesignerRuntimeConfigFileName)</_DesignerRuntimeConfigFilePath>
15439 </PropertyGroup>
15440 <Target Name="DesignerRuntimeImplementationProjectOutputGroup" DependsOnTargets="$(DesignerRuntimeImplementationProjectOutputGroupDependsOn)" Returns="@(DesignerRuntimeImplementationProjectOutputGroupOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15441 <Target Name="_GenerateDesignerDepsFile" Inputs="$(MSBuildAllProjects);$(ProjectAssetsFile)" Outputs="$(_DesignerDepsFilePath)" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15442 <!--
15443 NOTE: We do not include the main assembly info or non-NuGet dependencies
15444 in designer deps file as these files may not be built yet at design time.
15445 Instead, we rely on SetAppPaths in runtimeconfig to allow loading of
15446 non-NuGet assets from shadow copied app base directory. This further
15447 allows loading of designer dll(s) that are not seen by the build.
15448 -->
15449 <GenerateDepsFile AssemblyName="_" AssemblyExtension="_" AssemblyVersion="_" AssetsFilePath="$(ProjectAssetsFile)" DepsFilePath="$(_DesignerDepsFilePath)" IncludeMainProject="false" TrimDepsJsonLibrariesWithoutAssets="$(TrimDepsJsonLibrariesWithoutAssets)" IncludeRuntimeFileVersions="$(IncludeFileVersionsInDependencyFile)" IsSelfContained="false" PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" ProjectPath="$(MSBuildProjectFullPath)" RuntimeFrameworks="@(RuntimeFramework)" CompileReferences="@(ResolvedCompileFileDefinitions)" ResolvedNuGetFiles="@(NativeCopyLocalItems);@(ResourceCopyLocalItems);@(RuntimeCopyLocalItems)" ResolvedRuntimeTargetsFiles="@(RuntimeTargetsCopyLocalItems)" TargetFramework="$(TargetFramework)" RuntimeGraphPath="$(RuntimeIdentifierGraphPath)" IncludeProjectsNotInAssetsFile="$(IncludeProjectsNotInAssetsFileInDepsFile)" />
15450 <ItemGroup>
15451 <!-- Designer will rename to <surface process name>.deps.json -->
15452 <DesignerRuntimeImplementationProjectOutputGroupOutput Include="$([MSBuild]::NormalizePath($(_DesignerDepsFilePath)))" TargetPath="$(_DesignerDepsFileName)" />
15453 <FileWrites Include="$(_DesignerDepsFilePath)" />
15454 </ItemGroup>
15455 </Target>
15456 <Target Name="_GenerateDesignerRuntimeConfigFile" Inputs="$(MSBuildAllProjects);$(ProjectAssetsFile)" Outputs="$(_DesignerRuntimeConfigFilePath)" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15457 <ItemGroup>
15458 <_DesignerHostConfigurationOption Include="Microsoft.NETCore.DotNetHostPolicy.SetAppPaths" Value="true" />
15459 </ItemGroup>
15460 <GenerateRuntimeConfigurationFiles AdditionalProbingPaths="@(AdditionalProbingPath)" AssetsFilePath="$(ProjectAssetsFile)" HostConfigurationOptions="@(RuntimeHostConfigurationOption);@(_DesignerHostConfigurationOption)" IsSelfContained="false" PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" RuntimeConfigPath="$(_DesignerRuntimeConfigFilePath)" RuntimeFrameworks="@(RuntimeFramework)" TargetFramework="$(TargetFramework)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" UserRuntimeConfig="$(UserRuntimeConfig)" WriteAdditionalProbingPathsToMainConfig="true" AlwaysIncludeCoreFramework="$(AlwaysIncludeCoreFrameworkInRuntimeConfig)" />
15461 <ItemGroup>
15462 <!-- Designer will rename to <surface process name>.runtimeconfig.json -->
15463 <DesignerRuntimeImplementationProjectOutputGroupOutput Include="$([MSBuild]::NormalizePath($(_DesignerRuntimeConfigFilePath)))" TargetPath="$(_DesignerRuntimeConfigFileName)" />
15464 <FileWrites Include="$(_DesignerRuntimeConfigFilePath)" />
15465 </ItemGroup>
15466 </Target>
15467 <Target Name="_GatherDesignerShadowCopyFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15468 <ItemGroup>
15469 <_DesignerShadowCopy Include="@(ReferenceCopyLocalPaths)" />
15470 <!-- For .NET Core, we do not include NuGet package assets, as the designer will load these from the NuGet cache. -->
15471 <_DesignerShadowCopy Remove="@(_ResolvedCopyLocalBuildAssets)" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" />
15472 <!-- For .NET Core runtime pack assets, we do not include them regardless of whether the app is
15473 self-contained, as they will be loaded from the shared framework. However, for runtime pack
15474 assets where RuntimePackAlwaysCopyLocal is true, there is no shared framework, so we still
15475 include those. -->
15476 <_DesignerShadowCopy Remove="@(RuntimePackAsset)" Condition="'%(RuntimePackAsset.RuntimePackAlwaysCopyLocal)' != 'true'" />
15477 <DesignerRuntimeImplementationProjectOutputGroupOutput Include="@(_DesignerShadowCopy->'%(FullPath)')" TargetPath="%(_DesignerShadowCopy.DestinationSubDirectory)%(_DesignerShadowCopy.Filename)%(_DesignerShadowCopy.Extension)" />
15478 <!-- Include ijwhost.dll for projects that use it -->
15479 <DesignerRuntimeImplementationProjectOutputGroupOutput Include="@(AllItemsFullPathWithTargetPath-&gt;WithMetadataValue('Filename', '$(_DotNetIjwHostLibraryNameWithoutExtension)')-&gt;WithMetadataValue('Extension', '$(_IjwHostLibraryExtension)'))" />
15480 </ItemGroup>
15481 </Target>
15482 <!--
15483============================================================================================================================================
15484 </Import>
15485
15486C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
15487============================================================================================================================================
15488-->
15489 <!--
15490============================================================================================================================================
15491 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.GenerateAssemblyInfo.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'">
15492
15493C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.GenerateAssemblyInfo.targets
15494============================================================================================================================================
15495-->
15496 <!--
15497***********************************************************************************************
15498Microsoft.NET.GenerateAssemblyInfo.targets
15499
15500WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
15501 created a backup copy. Incorrect changes to this file will make it
15502 impossible to load or build your projects from the command-line or the IDE.
15503
15504Copyright (c) .NET Foundation. All rights reserved.
15505***********************************************************************************************
15506-->
15507 <!--
15508 ============================================================
15509 GenerateAssemblyInfo
15510
15511 Generates assembly info source to intermediate directory
15512 ============================================================
15513 -->
15514 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15515 <GeneratedAssemblyInfoFile Condition="'$(GeneratedAssemblyInfoFile)' ==''">$(IntermediateOutputPath)$(MSBuildProjectName).AssemblyInfo$(DefaultLanguageSourceExtension)</GeneratedAssemblyInfoFile>
15516 <GenerateAssemblyInfo Condition="'$(GenerateAssemblyInfo)' == ''">true</GenerateAssemblyInfo>
15517 </PropertyGroup>
15518 <PropertyGroup Condition="'$(GenerateAssemblyInfo)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15519 <GenerateAssemblyCompanyAttribute Condition="'$(GenerateAssemblyCompanyAttribute)' == ''">true</GenerateAssemblyCompanyAttribute>
15520 <GenerateAssemblyConfigurationAttribute Condition="'$(GenerateAssemblyConfigurationAttribute)' == ''">true</GenerateAssemblyConfigurationAttribute>
15521 <GenerateAssemblyCopyrightAttribute Condition="'$(GenerateAssemblyCopyrightAttribute)' == ''">true</GenerateAssemblyCopyrightAttribute>
15522 <GenerateAssemblyDescriptionAttribute Condition="'$(GenerateAssemblyDescriptionAttribute)' == ''">true</GenerateAssemblyDescriptionAttribute>
15523 <GenerateAssemblyFileVersionAttribute Condition="'$(GenerateAssemblyFileVersionAttribute)' == ''">true</GenerateAssemblyFileVersionAttribute>
15524 <GenerateAssemblyInformationalVersionAttribute Condition="'$(GenerateAssemblyInformationalVersionAttribute)' == ''">true</GenerateAssemblyInformationalVersionAttribute>
15525 <GenerateAssemblyTrademarkAttribute Condition="'$(GenerateAssemblyTrademarkAttribute)' == ''">true</GenerateAssemblyTrademarkAttribute>
15526 <GenerateAssemblyProductAttribute Condition="'$(GenerateAssemblyProductAttribute)' == ''">true</GenerateAssemblyProductAttribute>
15527 <GenerateAssemblyTitleAttribute Condition="'$(GenerateAssemblyTitleAttribute)' == ''">true</GenerateAssemblyTitleAttribute>
15528 <GenerateAssemblyVersionAttribute Condition="'$(GenerateAssemblyVersionAttribute)' == ''">true</GenerateAssemblyVersionAttribute>
15529 <GenerateRepositoryUrlAttribute Condition="'$(GenerateRepositoryUrlAttribute)' == '' and !('$(TargetFrameworkIdentifier)' == '.NETFramework' and $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), 4.5)))">true</GenerateRepositoryUrlAttribute>
15530 <GenerateNeutralResourcesLanguageAttribute Condition="'$(GenerateNeutralResourcesLanguageAttribute)' == ''">true</GenerateNeutralResourcesLanguageAttribute>
15531 <GenerateAssemblyMetadataAttributes Condition="'$(GenerateAssemblyMetadataAttributes)' == ''">true</GenerateAssemblyMetadataAttributes>
15532 <IncludeSourceRevisionInInformationalVersion Condition="'$(IncludeSourceRevisionInInformationalVersion)' == ''">true</IncludeSourceRevisionInInformationalVersion>
15533 <GenerateInternalsVisibleToAttributes Condition="'$(GenerateInternalsVisibleToAttributes)' == ''">true</GenerateInternalsVisibleToAttributes>
15534 <GenerateRequiresPreviewFeaturesAttribute Condition="'$(GenerateRequiresPreviewFeaturesAttribute)' == '' and '$(IsNetCoreAppTargetingLatestTFM)' == 'true'">true</GenerateRequiresPreviewFeaturesAttribute>
15535 <GenerateTargetPlatformAttribute Condition="'$(GenerateTargetPlatformAttribute)' == ''">true</GenerateTargetPlatformAttribute>
15536 <GenerateSupportedOSPlatformAttribute Condition="'$(GenerateSupportedOSPlatformAttribute)' == ''">true</GenerateSupportedOSPlatformAttribute>
15537 <GenerateDisableRuntimeMarshallingAttribute Condition="'$(GenerateDisableRuntimeMarshallingAttribute)' == ''">true</GenerateDisableRuntimeMarshallingAttribute>
15538 </PropertyGroup>
15539 <!--
15540 Note that this must run before every invocation of CoreCompile to ensure that all compiler
15541 runs see the generated assembly info. There is at least one scenario involving Xaml
15542 where CoreCompile is invoked without other potential hooks such as Compile or CoreBuild,
15543 etc., so we hook directly on to CoreCompile. Furthermore, we must run *after*
15544 PrepareForBuild to ensure that the intermediate directory has been created.
15545
15546 Targets that generate Compile items are also expected to run before
15547 BeforeCompile targets (common targets convention).
15548 -->
15549 <Target Name="GenerateAssemblyInfo" BeforeTargets="BeforeCompile;CoreCompile" DependsOnTargets="PrepareForBuild;CoreGenerateAssemblyInfo" Condition="'$(GenerateAssemblyInfo)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15550 <Target Name="AddSourceRevisionToInformationalVersion" DependsOnTargets="GetAssemblyVersion;InitializeSourceControlInformation" Condition="'$(SourceControlInformationFeatureSupported)' == 'true' and '$(IncludeSourceRevisionInInformationalVersion)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15551 <PropertyGroup Condition="'$(SourceRevisionId)' != ''">
15552 <!-- Follow SemVer 2.0 rules -->
15553 <_InformationalVersionContainsPlus>false</_InformationalVersionContainsPlus>
15554 <_InformationalVersionContainsPlus Condition="$(InformationalVersion.Contains('+'))">true</_InformationalVersionContainsPlus>
15555 <InformationalVersion Condition="!$(_InformationalVersionContainsPlus)">$(InformationalVersion)+$(SourceRevisionId)</InformationalVersion>
15556 <InformationalVersion Condition="$(_InformationalVersionContainsPlus)">$(InformationalVersion).$(SourceRevisionId)</InformationalVersion>
15557 </PropertyGroup>
15558 </Target>
15559 <Target Name="GetAssemblyAttributes" DependsOnTargets="GetAssemblyVersion;InitializeSourceControlInformation;AddSourceRevisionToInformationalVersion" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15560 <ItemGroup>
15561 <AssemblyAttribute Include="System.Reflection.AssemblyCompanyAttribute" Condition="'$(Company)' != '' and '$(GenerateAssemblyCompanyAttribute)' == 'true'">
15562 <_Parameter1>$(Company)</_Parameter1>
15563 </AssemblyAttribute>
15564 <AssemblyAttribute Include="System.Reflection.AssemblyConfigurationAttribute" Condition="'$(Configuration)' != '' and '$(GenerateAssemblyConfigurationAttribute)' == 'true'">
15565 <_Parameter1>$(Configuration)</_Parameter1>
15566 </AssemblyAttribute>
15567 <AssemblyAttribute Include="System.Reflection.AssemblyCopyrightAttribute" Condition="'$(Copyright)' != '' and '$(GenerateAssemblyCopyrightAttribute)' == 'true'">
15568 <_Parameter1>$(Copyright)</_Parameter1>
15569 </AssemblyAttribute>
15570 <AssemblyAttribute Include="System.Reflection.AssemblyDescriptionAttribute" Condition="'$(Description)' != '' and '$(GenerateAssemblyDescriptionAttribute)' == 'true'">
15571 <_Parameter1>$(Description)</_Parameter1>
15572 </AssemblyAttribute>
15573 <AssemblyAttribute Include="System.Reflection.AssemblyFileVersionAttribute" Condition="'$(FileVersion)' != '' and '$(GenerateAssemblyFileVersionAttribute)' == 'true'">
15574 <_Parameter1>$(FileVersion)</_Parameter1>
15575 </AssemblyAttribute>
15576 <AssemblyAttribute Include="System.Reflection.AssemblyInformationalVersionAttribute" Condition="'$(InformationalVersion)' != '' and '$(GenerateAssemblyInformationalVersionAttribute)' == 'true'">
15577 <_Parameter1>$(InformationalVersion)</_Parameter1>
15578 </AssemblyAttribute>
15579 <AssemblyAttribute Include="System.Reflection.AssemblyProductAttribute" Condition="'$(Product)' != '' and '$(GenerateAssemblyProductAttribute)' == 'true'">
15580 <_Parameter1>$(Product)</_Parameter1>
15581 </AssemblyAttribute>
15582 <AssemblyAttribute Include="System.Reflection.AssemblyTrademarkAttribute" Condition="'$(Trademark)' != '' and '$(GenerateAssemblyTrademarkAttribute)' == 'true'">
15583 <_Parameter1>$(Trademark)</_Parameter1>
15584 </AssemblyAttribute>
15585 <AssemblyAttribute Include="System.Reflection.AssemblyTitleAttribute" Condition="'$(AssemblyTitle)' != '' and '$(GenerateAssemblyTitleAttribute)' == 'true'">
15586 <_Parameter1>$(AssemblyTitle)</_Parameter1>
15587 </AssemblyAttribute>
15588 <AssemblyAttribute Include="System.Reflection.AssemblyVersionAttribute" Condition="'$(AssemblyVersion)' != '' and '$(GenerateAssemblyVersionAttribute)' == 'true'">
15589 <_Parameter1>$(AssemblyVersion)</_Parameter1>
15590 </AssemblyAttribute>
15591 <AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute" Condition="'$(GenerateRepositoryUrlAttribute)' == 'true' and ('$(RepositoryUrl)' != '' or '$(PublishRepositoryUrl)' == 'true')">
15592 <_Parameter1>RepositoryUrl</_Parameter1>
15593 <_Parameter2 Condition="'$(RepositoryUrl)' != ''">$(RepositoryUrl)</_Parameter2>
15594 <_Parameter2 Condition="'$(RepositoryUrl)' == ''">$(PrivateRepositoryUrl)</_Parameter2>
15595 </AssemblyAttribute>
15596 <AssemblyAttribute Include="System.Resources.NeutralResourcesLanguageAttribute" Condition="'$(NeutralLanguage)' != '' and '$(GenerateNeutralResourcesLanguageAttribute)' == 'true'">
15597 <_Parameter1>$(NeutralLanguage)</_Parameter1>
15598 </AssemblyAttribute>
15599 <InternalsVisibleTo Condition="'%(InternalsVisibleTo.PublicKey)' != ''">
15600 <Key>%(InternalsVisibleTo.PublicKey)</Key>
15601 </InternalsVisibleTo>
15602 <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo" Condition="%(InternalsVisibleTo.Identity) != '' and '$(GenerateInternalsVisibleToAttributes)' == 'true'">
15603 <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' != ''">%(InternalsVisibleTo.Identity), PublicKey=%(InternalsVisibleTo.Key)</_Parameter1>
15604 <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' == '' and '$(PublicKey)' != ''">%(InternalsVisibleTo.Identity), PublicKey=$(PublicKey)</_Parameter1>
15605 <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' == '' and '$(PublicKey)' == ''">%(InternalsVisibleTo.Identity)</_Parameter1>
15606 </AssemblyAttribute>
15607 <AssemblyAttribute Include="System.Reflection.AssemblyMetadata" Condition="%(AssemblyMetadata.Identity) != '' and '$(GenerateAssemblyMetadataAttributes)' == 'true'">
15608 <_Parameter1>%(AssemblyMetadata.Identity)</_Parameter1>
15609 <_Parameter2>%(AssemblyMetadata.Value)</_Parameter2>
15610 </AssemblyAttribute>
15611 <AssemblyAttribute Include="System.Runtime.Versioning.RequiresPreviewFeaturesAttribute" Condition="'$(EnablePreviewFeatures)' == 'true' and '$(GenerateRequiresPreviewFeaturesAttribute)' == 'true'" />
15612 </ItemGroup>
15613 <ItemGroup Condition="'$(GenerateTargetPlatformAttribute)' == 'true'&#xD;&#xA; and '$(TargetPlatformIdentifier)' != ''&#xD;&#xA; and '$(TargetPlatformVersion)' != ''&#xD;&#xA; and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '5.0'))">
15614 <AssemblyAttribute Include="System.Runtime.Versioning.TargetPlatformAttribute">
15615 <_Parameter1>$(TargetPlatformIdentifier)$(TargetPlatformVersion)</_Parameter1>
15616 </AssemblyAttribute>
15617 </ItemGroup>
15618 <ItemGroup Condition="'$(GenerateSupportedOSPlatformAttribute)' == 'true'&#xD;&#xA; and '$(TargetPlatformIdentifier)' != ''&#xD;&#xA; and '$(SupportedOSPlatformVersion)' != ''&#xD;&#xA; and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '5.0'))">
15619 <AssemblyAttribute Include="System.Runtime.Versioning.SupportedOSPlatformAttribute" Condition="!$([MSBuild]::VersionEquals($(SupportedOSPlatformVersion), '0.0'))">
15620 <_Parameter1>$(TargetPlatformIdentifier)$(SupportedOSPlatformVersion)</_Parameter1>
15621 </AssemblyAttribute>
15622 <AssemblyAttribute Include="System.Runtime.Versioning.SupportedOSPlatformAttribute" Condition="$([MSBuild]::VersionEquals($(SupportedOSPlatformVersion), '0.0'))">
15623 <_Parameter1>$(TargetPlatformIdentifier)</_Parameter1>
15624 </AssemblyAttribute>
15625 </ItemGroup>
15626 <ItemGroup Condition="'$(GenerateDisableRuntimeMarshallingAttribute)' == 'true'&#xD;&#xA; and '$(DisableRuntimeMarshalling)' == 'true'&#xD;&#xA; and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '7.0'))">
15627 <AssemblyAttribute Include="System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute" />
15628 </ItemGroup>
15629 </Target>
15630 <!--
15631 To allow version changes to be respected on incremental builds (e.g. through CLI parameters),
15632 create a hash of all assembly attributes so that the cache file will change with the calculated
15633 assembly attribute values and msbuild will then execute CoreGenerateAssembly to generate a new file.
15634 -->
15635 <Target Name="CreateGeneratedAssemblyInfoInputsCacheFile" DependsOnTargets="GetAssemblyAttributes" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15636 <PropertyGroup>
15637 <GeneratedAssemblyInfoInputsCacheFile>$(IntermediateOutputPath)$(MSBuildProjectName).AssemblyInfoInputs.cache</GeneratedAssemblyInfoInputsCacheFile>
15638 </PropertyGroup>
15639 <!-- We only use up to _Parameter1 for most attributes, but other targets may add additional assembly attributes with multiple parameters. -->
15640 <Hash ItemsToHash="@(AssemblyAttribute->'%(Identity)%(_Parameter1)%(_Parameter2)%(_Parameter3)%(_Parameter4)%(_Parameter5)%(_Parameter6)%(_Parameter7)%(_Parameter8)')">
15641 <Output TaskParameter="HashResult" PropertyName="_AssemblyAttributesHash" />
15642 </Hash>
15643 <WriteLinesToFile Lines="$(_AssemblyAttributesHash)" File="$(GeneratedAssemblyInfoInputsCacheFile)" Overwrite="True" WriteOnlyWhenDifferent="True" />
15644 <ItemGroup>
15645 <FileWrites Include="$(GeneratedAssemblyInfoInputsCacheFile)" />
15646 </ItemGroup>
15647 </Target>
15648 <Target Name="CoreGenerateAssemblyInfo" Condition="'$(Language)'=='VB' or '$(Language)'=='C#'" DependsOnTargets="CreateGeneratedAssemblyInfoInputsCacheFile" Inputs="$(GeneratedAssemblyInfoInputsCacheFile)" Outputs="$(GeneratedAssemblyInfoFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15649 <ItemGroup>
15650 <!-- Ensure the generated assemblyinfo file is not already part of the Compile sources, as a workaround for https://github.com/dotnet/sdk/issues/114 -->
15651 <Compile Remove="$(GeneratedAssemblyInfoFile)" />
15652 </ItemGroup>
15653 <WriteCodeFragment AssemblyAttributes="@(AssemblyAttribute)" Language="$(Language)" OutputFile="$(GeneratedAssemblyInfoFile)">
15654 <Output TaskParameter="OutputFile" ItemName="Compile" />
15655 <Output TaskParameter="OutputFile" ItemName="FileWrites" />
15656 </WriteCodeFragment>
15657 </Target>
15658 <!--
15659 ==================================================================
15660 GetAssemblyVersion
15661
15662 Parses the nuget package version set in $(Version) and returns
15663 the implied $(AssemblyVersion) and $(FileVersion).
15664
15665 e.g.:
15666 <Version>1.2.3-beta.4</Version>
15667
15668 implies:
15669 <AssemblyVersion>1.2.3</AssemblyVersion>
15670 <FileVersion>1.2.3</FileVersion>
15671
15672 Note that if $(AssemblyVersion) or $(FileVersion) are are already set, it
15673 is considered an override of the default inference from $(Version) and they
15674 are left unchanged by this target.
15675 ==================================================================
15676 -->
15677 <Target Name="GetAssemblyVersion" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15678 <GetAssemblyVersion Condition="'$(AssemblyVersion)' == ''" NuGetVersion="$(Version)">
15679 <Output TaskParameter="AssemblyVersion" PropertyName="AssemblyVersion" />
15680 </GetAssemblyVersion>
15681 <PropertyGroup>
15682 <FileVersion Condition="'$(FileVersion)' == ''">$(AssemblyVersion)</FileVersion>
15683 <InformationalVersion Condition="'$(InformationalVersion)' == ''">$(Version)</InformationalVersion>
15684 </PropertyGroup>
15685 </Target>
15686 <!--
15687============================================================================================================================================
15688 </Import>
15689
15690C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
15691============================================================================================================================================
15692-->
15693 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.GenerateGlobalUsings.targets" Condition="'$(Language)' == 'C#'" />-->
15694 <!--
15695============================================================================================================================================
15696 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.GenerateSupportedRuntime.targets">
15697
15698C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.GenerateSupportedRuntime.targets
15699============================================================================================================================================
15700-->
15701 <!--
15702***********************************************************************************************
15703Microsoft.NET.GenerateSupportedRuntime.targets
15704
15705WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
15706 created a backup copy. Incorrect changes to this file will make it
15707 impossible to load or build your projects from the command-line or the IDE.
15708
15709Copyright (c) .NET Foundation. All rights reserved.
15710***********************************************************************************************
15711-->
15712 <UsingTask TaskName="WriteAppConfigWithSupportedRuntime" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15713 <UsingTask TaskName="SetGeneratedAppConfigMetadata" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15714 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15715 <_GenerateSupportedRuntimeIntermediateAppConfig>$(IntermediateOutputPath)$(TargetFileName).withSupportedRuntime.config</_GenerateSupportedRuntimeIntermediateAppConfig>
15716 </PropertyGroup>
15717 <Target Name="GenerateSupportedRuntime" Condition="'$(GenerateSupportedRuntime)' != 'false' and '$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(HasRuntimeOutput)' == 'true'" DependsOnTargets="_WriteAppConfigWithSupportedRuntime" BeforeTargets="GenerateBindingRedirects" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15718 <SetGeneratedAppConfigMetadata AppConfigFile="@(AppConfigWithTargetPath)" TargetName="$(TargetFileName).config" GeneratedAppConfigFile="$(_GenerateSupportedRuntimeIntermediateAppConfig)">
15719 <Output TaskParameter="OutputAppConfigFileWithMetadata" ItemName="_GenerateSupportedRuntimeAppConfigWithTargetPath" />
15720 </SetGeneratedAppConfigMetadata>
15721 <!--Override the AppConfigWithTargetPath for downstream target-->
15722 <ItemGroup>
15723 <AppConfigWithTargetPath Remove="@(AppConfigWithTargetPath)" />
15724 <AppConfigWithTargetPath Include="@(_GenerateSupportedRuntimeAppConfigWithTargetPath)" />
15725 </ItemGroup>
15726 </Target>
15727 <Target Name="_WriteAppConfigWithSupportedRuntime" Inputs="$(MSBuildAllProjects);@(AppConfigWithTargetPath)" Outputs="$(_GenerateSupportedRuntimeIntermediateAppConfig)" DependsOnTargets="PrepareForBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15728 <WriteAppConfigWithSupportedRuntime AppConfigFile="@(AppConfigWithTargetPath)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkProfile="$(TargetFrameworkProfile)" OutputAppConfigFile="$(_GenerateSupportedRuntimeIntermediateAppConfig)" />
15729 <ItemGroup>
15730 <FileWrites Include="@(_GenerateSupportedRuntimeAppConfigWithTargetPath)" />
15731 </ItemGroup>
15732 </Target>
15733 <!--
15734============================================================================================================================================
15735 </Import>
15736
15737C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
15738============================================================================================================================================
15739-->
15740 <!--
15741============================================================================================================================================
15742 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ComposeStore.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'">
15743
15744C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ComposeStore.targets
15745============================================================================================================================================
15746-->
15747 <!--
15748***********************************************************************************************
15749Microsoft.NET.ComposeStore.targets
15750
15751WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
15752 created a backup copy. Incorrect changes to this file will make it
15753 impossible to load or build your projects from the command-line or the IDE.
15754
15755Copyright (c) .NET Foundation. All rights reserved.
15756***********************************************************************************************
15757-->
15758 <!--
15759 ============================================================
15760 ComposeStore
15761
15762 The main store entry point.
15763 ============================================================
15764 -->
15765 <Target Name="ComposeStore" DependsOnTargets="PrepareForComposeStore;&#xD;&#xA; PrepOptimizer;&#xD;&#xA; StoreWorkerMain;&#xD;&#xA; _CopyResolvedUnOptimizedFiles;&#xD;&#xA; StoreFinalizer;" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15766 <!--
15767 ============================================================
15768 StoreWorkerMain
15769
15770 Processes the store project files
15771 ============================================================
15772 -->
15773 <Target Name="StoreWorkerMain" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15774 <ItemGroup>
15775 <_AllProjects Include="$(AdditionalProjects.Split('%3B'))" />
15776 <_AllProjects Include="$(MSBuildProjectFullPath)" />
15777 </ItemGroup>
15778 <MSBuild Projects="%(_AllProjects.Identity)" Targets="StoreWorkerMapper" BuildinParallel="$(BuildinParallel)" Properties="ComposeWorkingDir=$(ComposeWorkingDir);&#xD;&#xA; PublishDir=$(PublishDir);&#xD;&#xA; StoreStagingDir=$(StoreStagingDir);&#xD;&#xA; TargetFramework=$(_TFM);&#xD;&#xA; JitPath=$(JitPath);&#xD;&#xA; Crossgen=$(Crossgen);&#xD;&#xA; DisableImplicitFrameworkReferences=true;&#xD;&#xA; SkipUnchangedFiles=$(SkipUnchangedFiles);&#xD;&#xA; PreserveStoreLayout=$(PreserveStoreLayout);&#xD;&#xA; CreateProfilingSymbols=$(CreateProfilingSymbols);&#xD;&#xA; StoreSymbolsStagingDir=$(StoreSymbolsStagingDir)">
15779 <Output ItemName="AllResolvedPackagesPublished" TaskParameter="TargetOutputs" />
15780 </MSBuild>
15781 </Target>
15782 <!--
15783 ============================================================
15784 StoreWorkerMapper
15785
15786 Processes each package specified in a store project file
15787 ============================================================
15788 -->
15789 <Target Name="StoreWorkerMapper" Returns="@(ResolvedPackagesFromMapper)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15790 <ItemGroup>
15791 <PackageReferencesToStore Include="$(MSBuildProjectFullPath)">
15792 <PackageName>%(PackageReference.Identity)</PackageName>
15793 <PackageVersion>%(PackageReference.Version)</PackageVersion>
15794 <AdditionalProperties>
15795 StorePackageName=%(PackageReference.Identity);
15796 StorePackageVersion=%(PackageReference.Version);
15797 ComposeWorkingDir=$(ComposeWorkingDir);
15798 PublishDir=$(PublishDir);
15799 StoreStagingDir=$(StoreStagingDir);
15800 TargetFramework=$(TargetFramework);
15801 RuntimeIdentifier=$(RuntimeIdentifier);
15802 JitPath=$(JitPath);
15803 Crossgen=$(Crossgen);
15804 SkipUnchangedFiles=$(SkipUnchangedFiles);
15805 PreserveStoreLayout=$(PreserveStoreLayout);
15806 CreateProfilingSymbols=$(CreateProfilingSymbols);
15807 StoreSymbolsStagingDir=$(StoreSymbolsStagingDir);
15808 DisableImplicitFrameworkReferences=false;
15809 </AdditionalProperties>
15810 </PackageReferencesToStore>
15811 </ItemGroup>
15812 <!-- Restore phase -->
15813 <MSBuild Projects="@(PackageReferencesToStore)" Targets="RestoreForComposeStore" BuildInParallel="$(BuildInParallel)" />
15814 <!-- Resolve phase-->
15815 <MSBuild Projects="@(PackageReferencesToStore)" Targets="StoreResolver" Properties="SelfContained=false;UseAppHost=false;MSBuildProjectExtensionsPath=$(ComposeWorkingDir)\%(PackageReferencesToStore.PackageName)_$([System.String]::Copy('%(PackageReferencesToStore.PackageVersion)').Replace('*','-'))\;" BuildInParallel="$(BuildInParallel)">
15816 <Output ItemName="ResolvedPackagesFromMapper" TaskParameter="TargetOutputs" />
15817 </MSBuild>
15818 </Target>
15819 <Target Name="StoreResolver" Returns="@(ResolvedPackagesPublished)" DependsOnTargets="PrepforRestoreForComposeStore;&#xD;&#xA; StoreWorkerPerformWork" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15820 <Target Name="StoreWorkerPerformWork" DependsOnTargets="ComputeAndCopyFilesToStoreDirectory;" Condition="Exists($(StoreWorkerWorkingDir))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15821 <!--
15822 ============================================================
15823 StoreFinalizer
15824
15825 Cleans up and produces artifacts after completion of store
15826 ============================================================
15827 -->
15828 <UsingTask TaskName="RemoveDuplicatePackageReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15829 <Target Name="StoreFinalizer" DependsOnTargets="StoreWorkerMain;&#xD;&#xA; _CopyResolvedOptimizedFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15830 <RemoveDuplicatePackageReferences InputPackageReferences="@(AllResolvedPackagesPublished)">
15831 <Output TaskParameter="UniquePackageReferences" ItemName="AllResolvedPackagesPublishedAfterFilter" />
15832 </RemoveDuplicatePackageReferences>
15833 <ItemGroup>
15834 <ListOfPackageReference Include="@(AllResolvedPackagesPublishedAfterFilter -> '%20%20&lt;Package Id=&quot;%(Identity)&quot; Version=&quot;%(Version)&quot; /&gt;')" />
15835 </ItemGroup>
15836 <PropertyGroup>
15837 <_StoreArtifactContent><![CDATA[
15838<StoreArtifacts>
15839@(ListOfPackageReference)
15840</StoreArtifacts>
15841]]></_StoreArtifactContent>
15842 </PropertyGroup>
15843 <WriteLinesToFile File="$(StoreArtifactXml)" Lines="$(_StoreArtifactContent)" Overwrite="true" />
15844 <Message Text="Files were composed in $(PublishDir)" Importance="high" />
15845 <Message Text="The list of packages stored is in $(StoreArtifactXml) " Importance="high" />
15846 <RemoveDir Condition="'$(PreserveComposeWorkingDir)' != 'true'" Directories="$(ComposeWorkingDir)" />
15847 </Target>
15848 <!--
15849 ============================================================
15850 _CopyResolvedUnOptimizedFiles
15851
15852 Copy OptimizedResolvedFileToPublish items to the publish directory.
15853 ============================================================
15854 -->
15855 <Target Name="_CopyResolvedOptimizedFiles" DependsOnTargets="StoreWorkerMain;" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15856 <ItemGroup>
15857 <_OptimizedResolvedFileToPublish Include="$(StoreStagingDir)\**\*.*" />
15858 <_OptimizedSymbolFileToPublish Include="$(StoreSymbolsStagingDir)\**\*.*" />
15859 </ItemGroup>
15860 <Copy SourceFiles="@(_OptimizedResolvedFileToPublish)" DestinationFolder="$(PublishDir)%(_OptimizedResolvedFileToPublish.RecursiveDir)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" Condition="'@(_OptimizedResolvedFileToPublish)' != ''" SkipUnchangedFiles="$(SkipUnchangedFiles)">
15861 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
15862 </Copy>
15863 <Copy SourceFiles="@(_OptimizedSymbolFileToPublish)" DestinationFolder="$(ProfilingSymbolsDir)%(_OptimizedSymbolFileToPublish.RecursiveDir)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" Condition="'@(_OptimizedSymbolFileToPublish)' != ''" SkipUnchangedFiles="$(SkipUnchangedFiles)">
15864 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
15865 </Copy>
15866 </Target>
15867 <!--
15868 ============================================================
15869 PrepareForComposeStore
15870
15871 Prepare the prerequisites for ComposeStore.
15872 ============================================================
15873 -->
15874 <Target Name="PrepareForComposeStore" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15875 <PropertyGroup>
15876 <PreserveStoreLayout Condition="'$(PreserveStoreLayout)' == ''">true</PreserveStoreLayout>
15877 <SkipOptimization Condition="'$(RuntimeIdentifier)' == ''">true</SkipOptimization>
15878 <_TFM Condition="'$(_TFM)' == ''">$(TargetFramework)</_TFM>
15879 <SkipUnchangedFiles Condition="'$(SkipUnchangedFiles)' == ''">true</SkipUnchangedFiles>
15880 </PropertyGroup>
15881 <NETSdkError Condition="'2.0' &gt; '$(_TargetFrameworkVersionWithoutV)'" ResourceName="UnuspportedFramework" FormatArguments="$(TargetFrameworkMoniker)" />
15882 <NETSdkError Condition="'$(RuntimeIdentifier)' =='' and '$(_PureManagedAssets)' == ''" ResourceName="RuntimeIdentifierWasNotSpecified" />
15883 <NETSdkError Condition="'$(_TFM)' ==''" ResourceName="AtLeastOneTargetFrameworkMustBeSpecified" />
15884 <PropertyGroup>
15885 <DefaultComposeDir>$(UserProfileRuntimeStorePath)</DefaultComposeDir>
15886 <_ProfilingSymbolsDirectoryName>symbols</_ProfilingSymbolsDirectoryName>
15887 <DefaultProfilingSymbolsDir>$([System.IO.Path]::Combine($(DefaultComposeDir), $(_ProfilingSymbolsDirectoryName)))</DefaultProfilingSymbolsDir>
15888 <ProfilingSymbolsDir Condition="'$(ProfilingSymbolsDir)' == '' and '$(ComposeDir)' != ''">$([System.IO.Path]::Combine($(ComposeDir), $(_ProfilingSymbolsDirectoryName)))</ProfilingSymbolsDir>
15889 <ProfilingSymbolsDir Condition="'$(ProfilingSymbolsDir)' != '' and '$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ProfilingSymbolsDir), $(PlatformTarget)))</ProfilingSymbolsDir>
15890 <ProfilingSymbolsDir Condition="'$(ProfilingSymbolsDir)' == ''">$(DefaultProfilingSymbolsDir)</ProfilingSymbolsDir>
15891 <ProfilingSymbolsDir Condition="'$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ProfilingSymbolsDir), $(_TFM)))</ProfilingSymbolsDir>
15892 <ProfilingSymbolsDir Condition="!HasTrailingSlash('$(ProfilingSymbolsDir)')">$(ProfilingSymbolsDir)\</ProfilingSymbolsDir>
15893 <ComposeDir Condition="'$(ComposeDir)' == ''">$(DefaultComposeDir)</ComposeDir>
15894 <ComposeDir Condition="'$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ComposeDir), $(PlatformTarget)))</ComposeDir>
15895 <ComposeDir Condition="'$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ComposeDir), $(_TFM)))</ComposeDir>
15896 <StoreArtifactXml>$([System.IO.Path]::Combine($(ComposeDir),"artifact.xml"))</StoreArtifactXml>
15897 <PublishDir>$([System.IO.Path]::GetFullPath($(ComposeDir)))</PublishDir>
15898 <_RandomFileName>$([System.IO.Path]::GetRandomFileName())</_RandomFileName>
15899 <TEMP Condition="'$(TEMP)' == ''">$([System.IO.Path]::GetTempPath())</TEMP>
15900 <ComposeWorkingDir Condition="'$(ComposeWorkingDir)' == ''">$([System.IO.Path]::Combine($(TEMP), $(_RandomFileName)))</ComposeWorkingDir>
15901 <ComposeWorkingDir>$([System.IO.Path]::GetFullPath($(ComposeWorkingDir)))</ComposeWorkingDir>
15902 <StoreStagingDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"StagingDir"))</StoreStagingDir>
15903 <!-- Will contain optimized managed assemblies in nuget cache layout -->
15904 <StoreSymbolsStagingDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"SymbolsStagingDir"))</StoreSymbolsStagingDir>
15905 <!-- Ensure any PublishDir has a trailing slash, so it can be concatenated -->
15906 <PublishDir Condition="!HasTrailingSlash('$(PublishDir)')">$(PublishDir)\</PublishDir>
15907 </PropertyGroup>
15908 <PropertyGroup Condition="'$(CreateProfilingSymbols)' == ''">
15909 <!-- There is no support for profiling symbols on OSX -->
15910 <CreateProfilingSymbols Condition="$(RuntimeIdentifier.StartsWith('osx'))">false</CreateProfilingSymbols>
15911 <CreateProfilingSymbols Condition="'$(CreateProfilingSymbols)' == ''">true</CreateProfilingSymbols>
15912 </PropertyGroup>
15913 <NETSdkError Condition="Exists($(ComposeWorkingDir))" ResourceName="FolderAlreadyExists" FormatArguments="$(ComposeWorkingDir)" />
15914 <MakeDir Directories="$(PublishDir)" />
15915 <MakeDir Directories="$(StoreStagingDir)" />
15916 </Target>
15917 <Target Name="PrepforRestoreForComposeStore" DependsOnTargets="_DefaultMicrosoftNETPlatformLibrary" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15918 <PropertyGroup>
15919 <StorePackageVersionForFolderName>$(StorePackageVersion.Replace('*','-'))</StorePackageVersionForFolderName>
15920 <StoreWorkerWorkingDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"$(StorePackageName)_$(StorePackageVersionForFolderName)"))</StoreWorkerWorkingDir>
15921 <_PackageProjFile>$([System.IO.Path]::Combine($(StoreWorkerWorkingDir), "Restore.csproj"))</_PackageProjFile>
15922 <BaseIntermediateOutputPath>$(StoreWorkerWorkingDir)\</BaseIntermediateOutputPath>
15923 <ProjectAssetsFile>$(BaseIntermediateOutputPath)\project.assets.json</ProjectAssetsFile>
15924 </PropertyGroup>
15925 <PropertyGroup>
15926 <PackagesToPrune>$(MicrosoftNETPlatformLibrary)</PackagesToPrune>
15927 <SelfContained Condition="'$(SelfContained)' == ''">true</SelfContained>
15928 </PropertyGroup>
15929 </Target>
15930 <!--
15931 ============================================================
15932 RestoreForComposeStore
15933
15934 Restores the package
15935 ============================================================
15936 -->
15937 <Target Name="RestoreForComposeStore" DependsOnTargets="PrepforRestoreForComposeStore;" Condition="!Exists($(StoreWorkerWorkingDir))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15938 <MakeDir Directories="$(StoreWorkerWorkingDir)" />
15939 <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Restore" Properties="RestoreGraphProjectInput=$(MSBuildProjectFullPath);&#xD;&#xA; RestoreOutputPath=$(BaseIntermediateOutputPath);&#xD;&#xA; StorePackageName=$(StorePackageName);&#xD;&#xA; StorePackageVersion=$(StorePackageVersion);&#xD;&#xA; RuntimeIdentifier=$(RuntimeIdentifier);&#xD;&#xA; TargetFramework=$(TargetFramework);" />
15940 </Target>
15941 <!--
15942 ============================================================
15943 ComputeAndCopyFilesToStoreDirectory
15944
15945 Computes the list of all files to copy to the publish directory and then publishes them.
15946 ============================================================
15947 -->
15948 <Target Name="ComputeAndCopyFilesToStoreDirectory" DependsOnTargets="ComputeFilesToStore;&#xD;&#xA; CopyFilesToStoreDirectory" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15949 <!--
15950 ============================================================
15951 CopyFilesToStoreDirectory
15952
15953 Copy all build outputs, satellites and other necessary files to the publish directory.
15954 ============================================================
15955 -->
15956 <Target Name="CopyFilesToStoreDirectory" DependsOnTargets="_CopyResolvedUnOptimizedFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15957 <!--
15958 ============================================================
15959 _CopyResolvedUnOptimizedFiles
15960
15961 Copy _UnOptimizedResolvedFileToPublish items to the publish directory.
15962 ============================================================
15963 -->
15964 <Target Name="_CopyResolvedUnOptimizedFiles" DependsOnTargets="_ComputeResolvedFilesToStoreTypes;&#xD;&#xA; _RunOptimizer" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15965 <Copy SourceFiles="@(_UnOptimizedResolvedFileToPublish)" DestinationFiles="$(PublishDir)%(_UnOptimizedResolvedFileToPublish.DestinationSubPath)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" SkipUnchangedFiles="$(SkipUnchangedFiles)">
15966 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
15967 </Copy>
15968 </Target>
15969 <!--
15970 ============================================================
15971 _ComputeResolvedFilesToStoreTypes
15972 ============================================================
15973 -->
15974 <Target Name="_ComputeResolvedFilesToStoreTypes" DependsOnTargets="_GetResolvedFilesToStore;_SplitResolvedFiles;" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15975 <!--
15976 ============================================================
15977 _SplitResolvedFiles
15978
15979 Splits ResolvedFileToPublish items into 'managed' and 'unmanaged' buckets.
15980 ============================================================
15981 -->
15982 <Target Name="_SplitResolvedFiles" Condition="$(SkipOptimization) !='true' " DependsOnTargets="_GetResolvedFilesToStore" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15983 <ItemGroup>
15984 <_ManagedResolvedFileToPublishCandidates Include="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.AssetType)'=='runtime'" />
15985 <_UnOptimizedResolvedFileToPublish Include="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.AssetType)'!='runtime'" />
15986 </ItemGroup>
15987 <PropertyGroup>
15988 <SkipOptimization Condition="'@(_ManagedResolvedFileToPublishCandidates)'==''">true</SkipOptimization>
15989 </PropertyGroup>
15990 </Target>
15991 <!--
15992 ============================================================
15993 _GetResolvedFilesToStore
15994 ============================================================
15995 -->
15996 <Target Name="_GetResolvedFilesToStore" Condition="$(SkipOptimization) == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15997 <ItemGroup>
15998 <_UnOptimizedResolvedFileToPublish Include="@(ResolvedFileToPublish)" />
15999 </ItemGroup>
16000 </Target>
16001 <!--
16002 ============================================================
16003 ComputeFilesToStore
16004
16005 Gathers all the files that need to be copied to the publish directory.
16006 ============================================================
16007 -->
16008 <UsingTask TaskName="FilterResolvedFiles" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16009 <Target Name="ComputeFilesToStore" DependsOnTargets="_ComputeResolvedCopyLocalPublishAssets;&#xD;&#xA; _ComputeCopyToPublishDirectoryItems" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16010 <PropertyGroup>
16011 <CopyBuildOutputToPublishDirectory Condition="'$(CopyBuildOutputToPublishDirectory)'==''">true</CopyBuildOutputToPublishDirectory>
16012 <CopyOutputSymbolsToPublishDirectory Condition="'$(CopyOutputSymbolsToPublishDirectory)'==''">true</CopyOutputSymbolsToPublishDirectory>
16013 </PropertyGroup>
16014 <FilterResolvedFiles AssetsFilePath="$(ProjectAssetsFile)" ResolvedFiles="@(_ResolvedCopyLocalPublishAssets)" PackagesToPrune="$(PackagesToPrune)" TargetFramework="$(TargetFramework)" RuntimeIdentifier="$(RuntimeIdentifier)" IsSelfContained="$(SelfContained)">
16015 <Output TaskParameter="AssembliesToPublish" ItemName="ResolvedFileToPublish" />
16016 <Output TaskParameter="PublishedPackages" ItemName="PackagesThatWereResolved" />
16017 </FilterResolvedFiles>
16018 <ItemGroup>
16019 <ResolvedPackagesPublished Include="@(PackagesThatWereResolved)" Condition="$(DoNotTrackPackageAsResolved) !='true'" />
16020 </ItemGroup>
16021 </Target>
16022 <!--
16023 ============================================================
16024 PrepRestoreForStoreProjects
16025
16026 Removes specified PackageReference for store and inserts the specified StorePackageName
16027 ============================================================
16028 -->
16029 <Target Name="PrepRestoreForStoreProjects" BeforeTargets="_GenerateProjectRestoreGraphPerFramework;" Condition="'$(StorePackageName)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16030 <ItemGroup>
16031 <PackageReference Remove="@(PackageReference)" Condition="'%(PackageReference.IsImplicitlyDefined)' != 'true'" />
16032 <PackageReference Include="$(StorePackageName)" Version="$(StorePackageVersion)" />
16033 </ItemGroup>
16034 </Target>
16035 <!--
16036============================================================================================================================================
16037 </Import>
16038
16039C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
16040============================================================================================================================================
16041-->
16042 <!--
16043============================================================================================================================================
16044 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.CrossGen.targets">
16045
16046C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.CrossGen.targets
16047============================================================================================================================================
16048-->
16049 <!--
16050***********************************************************************************************
16051Microsoft.NET.CrossGen.targets
16052
16053WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
16054 created a backup copy. Incorrect changes to this file will make it
16055 impossible to load or build your projects from the command-line or the IDE.
16056
16057Copyright (c) .NET Foundation. All rights reserved.
16058***********************************************************************************************
16059-->
16060 <!--
16061 For ReadyToRun compilation, default to Crossgen for .NET Core 3.x and .NET 5. If PublishReadyToRunUseCrossgen2
16062 is set to true in the project or on the command line, use Crossgen2 and default to composite mode. For .NET 6
16063 and higher, always use Crossgen2 and default to non-composite mode.
16064 -->
16065 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16066 <PublishReadyToRunUseCrossgen2 Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '6.0'">true</PublishReadyToRunUseCrossgen2>
16067 <PublishReadyToRunComposite Condition="'$(PublishReadyToRunComposite)' == '' and '$(PublishSingleFile)' == 'true' and '$(PublishReadyToRun)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '7.0'">true</PublishReadyToRunComposite>
16068 <PublishReadyToRunComposite Condition="'$(PublishReadyToRunComposite)' == '' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '6.0'">false</PublishReadyToRunComposite>
16069 <PublishReadyToRunComposite Condition="'$(PublishReadyToRunComposite)' == ''">true</PublishReadyToRunComposite>
16070 <PublishReadyToRunComposite Condition="'$(PublishReadyToRunUseCrossgen2)' != 'true' or '$(SelfContained)' != 'true'">false</PublishReadyToRunComposite>
16071 <PublishReadyToRunUseRuntimePackOptimizationData Condition="'$(PublishReadyToRunUseRuntimePackOptimizationData)' == ''">true</PublishReadyToRunUseRuntimePackOptimizationData>
16072 <PublishReadyToRunPerfmapFormatVersion Condition="'$(PublishReadyToRunPerfmapFormatVersion)' == ''">1</PublishReadyToRunPerfmapFormatVersion>
16073 </PropertyGroup>
16074 <!--
16075 ============================================================
16076 PrepOptimizer
16077
16078 Sets up the common infrastructure for the optimization phase
16079 Outputs:
16080 JitPath
16081 Crossgen
16082 ============================================================
16083 -->
16084 <Target Name="PrepOptimizer" DependsOnTargets="_RestoreCrossgen;" Condition="$(SkipOptimization) != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16085 <!-- Get the coreclr path -->
16086 <ItemGroup>
16087 <_CoreclrResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)" Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='coreclr'" />
16088 <_CoreclrResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)" Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='libcoreclr'" />
16089 <_JitResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)" Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='clrjit'" />
16090 <_JitResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)" Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='libclrjit'" />
16091 </ItemGroup>
16092 <NETSdkError Condition="'@(_CoreclrResolvedPath-&gt;Count())' &gt; 1" ResourceName="MultipleFilesResolved" FormatArguments="coreclr" />
16093 <NETSdkError Condition="'@(_CoreclrResolvedPath)'== ''" ResourceName="UnableToFindResolvedPath" FormatArguments="coreclr" />
16094 <NETSdkError Condition="'@(_JitResolvedPath-&gt;Count())' &gt; 1" ResourceName="MultipleFilesResolved" FormatArguments="jit" />
16095 <NETSdkError Condition="'@(_JitResolvedPath)'== ''" ResourceName="UnableToFindResolvedPath" FormatArguments="jit" />
16096 <!-- Get the crossgen and jit path-->
16097 <PropertyGroup>
16098 <_CoreclrPath>@(_CoreclrResolvedPath)</_CoreclrPath>
16099 <JitPath>@(_JitResolvedPath)</JitPath>
16100 <_CoreclrDir>$([System.IO.Path]::GetDirectoryName($(_CoreclrPath)))</_CoreclrDir>
16101 <_CoreclrPkgDir>$([System.IO.Path]::Combine($(_CoreclrDir),"..\..\..\"))</_CoreclrPkgDir>
16102 <CrossgenDir>$([System.IO.Path]::Combine($(_CoreclrPkgDir),"tools"))</CrossgenDir>
16103 <!-- TODO override with rid specific tools path for x-arch -->
16104 <Crossgen>$([System.IO.Path]::Combine($(CrossgenDir),"crossgen"))</Crossgen>
16105 <Crossgen Condition="$([MSBuild]::IsOSPlatform(`Windows`))">$([System.IO.Path]::Combine($(CrossgenDir),"crossgen.exe"))</Crossgen>
16106 </PropertyGroup>
16107 <NETSdkError Condition="!Exists($(Crossgen))" ResourceName="UnableToFindResolvedPath" FormatArguments="$(Crossgen)" />
16108 <!-- Copy crossgen into the netcoreapp folder to ensure it can load Microsoft.DiaSymReader.Native when creating PDBs -->
16109 <Copy SourceFiles="$(Crossgen)" DestinationFolder="$(_NetCoreRefDir)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">
16110 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
16111 </Copy>
16112 <PropertyGroup>
16113 <Crossgen>$([System.IO.Path]::GetFullPath($([System.IO.Path]::Combine($(_NetCoreRefDir), $([System.IO.Path]::GetFileName($(Crossgen)))))))</Crossgen>
16114 </PropertyGroup>
16115 </Target>
16116 <!--
16117 ============================================================
16118 _RunOptimizer
16119
16120 Start the optimization phase
16121 ============================================================
16122 -->
16123 <Target Name="_RunOptimizer" DependsOnTargets="_InitializeBasicProps;&#xD;&#xA; _ComputeResolvedFilesToStoreTypes;&#xD;&#xA; _SetupStageForCrossgen" Condition="$(SkipOptimization) != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16124 <ItemGroup>
16125 <AssembliestoCrossgen Include="$(MSBuildProjectFullPath)">
16126 <Properties>
16127 CrossgenExe=$(Crossgen);
16128 CrossgenJit=$(JitPath);
16129 CrossgenInputAssembly=%(_ManagedResolvedFilesToOptimize.Fullpath);
16130 CrossgenOutputAssembly=$(_RuntimeOptimizedDir)$(DirectorySeparatorChar)%(_ManagedResolvedFilesToOptimize.FileName)%(_ManagedResolvedFilesToOptimize.Extension);
16131 CrossgenSubOutputPath=%(_ManagedResolvedFilesToOptimize.DestinationSubPath);
16132 _RuntimeOptimizedDir=$(_RuntimeOptimizedDir);
16133 PublishDir=$(StoreStagingDir);
16134 CrossgenPlatformAssembliesPath=$(_RuntimeRefDir)$(PathSeparator)$(_NetCoreRefDir);
16135 CreateProfilingSymbols=$(CreateProfilingSymbols);
16136 StoreSymbolsStagingDir=$(StoreSymbolsStagingDir);
16137 _RuntimeSymbolsDir=$(_RuntimeSymbolsDir)
16138 </Properties>
16139 </AssembliestoCrossgen>
16140 </ItemGroup>
16141 <!-- CrossGen the assemblies -->
16142 <MSBuild Projects="@(AssembliestoCrossgen)" Targets="RunCrossGen" BuildInParallel="$(BuildInParallel)" Condition="'@(_ManagedResolvedFilesToOptimize)' != ''" />
16143 </Target>
16144 <!--
16145 ============================================================
16146 RunCrossGen
16147 Target Encapsulating the crossgen command
16148 ============================================================
16149 -->
16150 <Target Name="RunCrossGen" DependsOnTargets="_InitializeBasicProps;" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16151 <PropertyGroup>
16152 <CrossgenProfilingSymbolsOutputDirectory>$([System.IO.Path]::GetDirectoryName($(_RuntimeSymbolsDir)\$(CrossgenSubOutputPath)))</CrossgenProfilingSymbolsOutputDirectory>
16153 <CrossgenSymbolsStagingDirectory>$([System.IO.Path]::GetDirectoryName($(StoreSymbolsStagingDir)\$(CrossgenSubOutputPath)))</CrossgenSymbolsStagingDirectory>
16154 <CrossgenCommandline>$(CrossgenExe) -nologo -readytorun -in "$(CrossgenInputAssembly)" -out "$(CrossgenOutputAssembly)" -jitpath "$(CrossgenJit)" -platform_assemblies_paths "$(CrossgenPlatformAssembliesPath)"</CrossgenCommandline>
16155 <CreateProfilingSymbolsOptionName Condition="$([MSBuild]::IsOSPlatform(`Windows`))">CreatePDB</CreateProfilingSymbolsOptionName>
16156 <CreateProfilingSymbolsOptionName Condition="'$(CreateProfilingSymbolsOptionName)' == ''">CreatePerfMap</CreateProfilingSymbolsOptionName>
16157 </PropertyGroup>
16158 <Message Text="CrossgenCommandline: $(CrossgenCommandline)" />
16159 <!--Optimization skip if the assembly is already present in the final output directory-->
16160 <Exec Command="$(CrossgenCommandline)" Condition="!Exists($([System.IO.Path]::Combine($(PublishDir),$(CrossgenSubOutputPath))))" IgnoreStandardErrorWarningFormat="true" />
16161 <Copy SourceFiles="$(CrossgenOutputAssembly)" DestinationFiles="$(PublishDir)\$(CrossgenSubOutputPath)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" Condition="!Exists($([System.IO.Path]::Combine($(PublishDir),$(CrossgenSubOutputPath))))">
16162 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
16163 </Copy>
16164 <!-- Create profiling symbols if requested -->
16165 <MakeDir Directories="$(CrossgenProfilingSymbolsOutputDirectory)" Condition="'$(CreateProfilingSymbols)' == 'true' and Exists($(CrossgenOutputAssembly))" />
16166 <Exec Command="$(CrossgenExe) -nologo -readytorun -platform_assemblies_paths $(CrossgenPlatformAssembliesPath) -$(CreateProfilingSymbolsOptionName) $(CrossgenProfilingSymbolsOutputDirectory) $(CrossgenOutputAssembly)" Condition="'$(CreateProfilingSymbols)' == 'true' and Exists($(CrossgenOutputAssembly))" IgnoreStandardErrorWarningFormat="true" />
16167 <ItemGroup>
16168 <_ProfilingSymbols Include="$(CrossgenProfilingSymbolsOutputDirectory)\*" Condition="'$(CreateProfilingSymbols)' == 'true'" />
16169 </ItemGroup>
16170 <Copy SourceFiles="@(_ProfilingSymbols)" DestinationFolder="$(CrossgenSymbolsStagingDirectory)" Condition="'$(CreateProfilingSymbols)' == 'true'" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)">
16171 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
16172 </Copy>
16173 </Target>
16174 <Target Name="_InitializeBasicProps" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16175 <PropertyGroup>
16176 <PathSeparator>$([System.IO.Path]::PathSeparator)</PathSeparator>
16177 <DirectorySeparatorChar>$([System.IO.Path]::DirectorySeparatorChar)</DirectorySeparatorChar>
16178 </PropertyGroup>
16179 </Target>
16180 <!--
16181 ============================================================
16182 _GetCrossgenProps
16183 Generates props used by Crossgen
16184 ============================================================
16185 -->
16186 <Target Name="_GetCrossgenProps" Condition="$(SkipOptimization) != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16187 <PropertyGroup>
16188 <_CrossProjFileDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"Optimize"))</_CrossProjFileDir>
16189 <_NetCoreRefDir>$([System.IO.Path]::Combine($(_CrossProjFileDir), "netcoreapp"))</_NetCoreRefDir>
16190 <!-- flat netcore app assemblies-->
16191 </PropertyGroup>
16192 <MakeDir Directories="$(_CrossProjFileDir)" />
16193 <PropertyGroup>
16194 <_CrossProjAssetsFile>$([System.IO.Path]::Combine($(_CrossProjFileDir), project.assets.json))</_CrossProjAssetsFile>
16195 </PropertyGroup>
16196 </Target>
16197 <!--
16198 ============================================================
16199 _SetupStageForCrossgen
16200 ============================================================
16201 -->
16202 <Target Name="_SetupStageForCrossgen" DependsOnTargets="_GetCrossgenProps;" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16203 <PropertyGroup>
16204 <_RuntimeRefDir>$([System.IO.Path]::Combine($(StoreWorkerWorkingDir), "runtimeref"))</_RuntimeRefDir>
16205 <!-- flat app managed assemblies -->
16206 <_RuntimeOptimizedDir>$([System.IO.Path]::Combine($(StoreWorkerWorkingDir), "runtimopt"))</_RuntimeOptimizedDir>
16207 <!-- optimized app managed assemblies in nuget cache layout -->
16208 <_RuntimeSymbolsDir>$([System.IO.Path]::Combine($(StoreWorkerWorkingDir), "runtimesymbols"))</_RuntimeSymbolsDir>
16209 </PropertyGroup>
16210 <ItemGroup>
16211 <_ManagedResolvedFilesToOptimize Include="@(_ManagedResolvedFileToPublishCandidates)" />
16212 </ItemGroup>
16213 <MakeDir Directories="$(_RuntimeOptimizedDir)" />
16214 <MakeDir Directories="$(_RuntimeSymbolsDir)" Condition="'$(CreateProfilingSymbols)' == 'true'" />
16215 <!-- Copy managed files to a flat temp directory for passing it as ref -->
16216 <Copy SourceFiles="@(_ManagedResolvedFilesToOptimize)" DestinationFolder="$(_RuntimeRefDir)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">
16217 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
16218 </Copy>
16219 </Target>
16220 <!--
16221 ============================================================
16222 _RestoreCrossgen
16223 Restores netcoreapp and publishes it to a temp directory
16224 ============================================================
16225 -->
16226 <Target Name="_RestoreCrossgen" DependsOnTargets="PrepforRestoreForComposeStore;&#xD;&#xA; _SetupStageForCrossgen;&#xD;&#xA; ProcessFrameworkReferences;&#xD;&#xA; ApplyImplicitVersions;&#xD;&#xA; _ComputePackageReferencePublish" Condition="$(SkipOptimization) != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16227 <ItemGroup>
16228 <!-- Filter package references to the one for the platform library, in order to find the right version -->
16229 <PackageReferenceForCrossGen Include="@(PackageReference)" Condition="'%(Identity)' == '$(MicrosoftNETPlatformLibrary)'" />
16230 </ItemGroup>
16231 <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Restore" Properties="RuntimeIdentifiers=$(RuntimeIdentifier);&#xD;&#xA; RestoreGraphProjectInput=$(MSBuildProjectFullPath);&#xD;&#xA; RestoreOutputPath=$(_CrossProjFileDir);&#xD;&#xA; StorePackageName=$(MicrosoftNETPlatformLibrary);&#xD;&#xA; StorePackageVersion=%(PackageReferenceForCrossGen.Version);" />
16232 <!-- For future: Use ResolvePackageAssets instead of ResolveCopyLocalAssets, delete ResolveCopyLocalAssets task -->
16233 <ResolveCopyLocalAssets Condition="'$(_TargetFrameworkVersionWithoutV)' &lt; '3.0'" AssetsFilePath="$(_CrossProjAssetsFile)" TargetFramework="$(_TFM)" RuntimeIdentifier="$(RuntimeIdentifier)" PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" RuntimeFrameworks="@(RuntimeFramework)" ExcludedPackageReferences="@(_ExcludeFromPublishPackageReference)" IsSelfContained="$(SelfContained)" PreserveStoreLayout="false">
16234 <Output TaskParameter="ResolvedAssets" ItemName="CrossgenResolvedAssembliesToPublish" />
16235 </ResolveCopyLocalAssets>
16236 <GetPackageDirectory Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0'" Items="@(RuntimePack)" AssetsFileWithAdditionalPackageFolders="$(_CrossProjAssetsFile)">
16237 <Output TaskParameter="Output" ItemName="_CrossgenRuntimePack" />
16238 </GetPackageDirectory>
16239 <ResolveRuntimePackAssets Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0'" FrameworkReferences="@(FrameworkReference)" ResolvedRuntimePacks="@(_CrossgenRuntimePack)" DisableTransitiveFrameworkReferenceDownloads="$(DisableTransitiveFrameworkReferenceDownloads)">
16240 <Output TaskParameter="RuntimePackAssets" ItemName="CrossgenResolvedAssembliesToPublish" />
16241 </ResolveRuntimePackAssets>
16242 <!-- Copy managed files to a flat temp directory for passing it as ref for crossgen -->
16243 <Copy SourceFiles="@(CrossgenResolvedAssembliesToPublish)" DestinationFolder="$(_NetCoreRefDir)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">
16244 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
16245 </Copy>
16246 </Target>
16247 <!--
16248 ============================================================
16249 CreateReadyToRunImages
16250
16251 Create ReadyToRun images for managed assemblies in _ResolvedFileToPublishAlways and _ResolvedFileToPublishPreserveNewest.
16252 ============================================================
16253 -->
16254 <Target Name="CreateReadyToRunImages" Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0' And '$(PublishReadyToRun)' == 'true' And '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" DependsOnTargets="_PrepareForReadyToRunCompilation;&#xD;&#xA; _CreateR2RImages;&#xD;&#xA; _CreateR2RSymbols" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16255 <ItemGroup>
16256 <R2RTelemetry Include="PublishReadyToRunUseCrossgen2" Value="$(PublishReadyToRunUseCrossgen2)" />
16257 <R2RTelemetry Include="Crossgen2PackVersion" Value="%(ResolvedCrossgen2Pack.NuGetPackageVersion)" />
16258 <R2RTelemetry Include="CompileListCount" Value="@(_ReadyToRunCompileList-&gt;Count())" />
16259 <R2RTelemetry Include="FailedCount" Value="@(_ReadyToRunCompilationFailures-&gt;Count())" />
16260 </ItemGroup>
16261 <AllowEmptyTelemetry EventName="ReadyToRun" EventData="@(R2RTelemetry)" />
16262 <NETSdkError Condition="'@(_ReadyToRunCompilationFailures)' != ''" ResourceName="ReadyToRunCompilationFailed" />
16263 <NETSdkInformation Condition="'$(_ReadyToRunCompilerHasWarnings)' != ''" ResourceName="ReadyToRunCompilationHasWarnings_Info" />
16264 <ItemGroup>
16265 <!--
16266 Note: we only remove the entries for the IL images and replace them with the entries for the R2R images.
16267 We do not do the same for PDBs, because the native PDBs created by the R2R compiler complement the IL PDBs
16268 and do not replace them. IL PDBs are still required for debugging. Native PDBs emitted by the R2R compiler are
16269 only used for profiling purposes.
16270 -->
16271 <ResolvedFileToPublish Remove="@(_ReadyToRunCompositeBuildInput)" />
16272 <ResolvedFileToPublish Remove="@(_ReadyToRunCompileList)" />
16273 <ResolvedFileToPublish Include="@(_ReadyToRunFilesToPublish)" />
16274 </ItemGroup>
16275 </Target>
16276 <!--
16277 ============================================================
16278 _PrepareForReadyToRunCompilation
16279
16280 Prepare build for ReadyToRun compilations. Builds list of assemblies to compile, and computes paths to ReadyToRun compiler bits
16281 ============================================================
16282 -->
16283 <UsingTask Condition="'$(Crossgen2TasksOverriden)' != 'true'" TaskName="PrepareForReadyToRunCompilation" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16284 <Target Name="_PrepareForReadyToRunCompilation" DependsOnTargets="ResolveReadyToRunCompilers;_ComputeManagedRuntimePackAssemblies;_ComputeAssembliesToPostprocessOnPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16285 <PropertyGroup>
16286 <_ReadyToRunOutputPath>$(IntermediateOutputPath)R2R</_ReadyToRunOutputPath>
16287 </PropertyGroup>
16288 <MakeDir Directories="$(_ReadyToRunOutputPath)" />
16289 <ItemGroup>
16290 <_ReadyToRunImplementationAssemblies Include="@(ResolvedFileToPublish-&gt;WithMetadataValue('PostprocessAssembly', 'true'))" />
16291 </ItemGroup>
16292 <!-- Even if app is not self-contained, crossgen requires closure of implementation assemblies. Resolve conflicts
16293 of the runtime pack assets as though we were copying them locally, and add them to the R2R implementation
16294 assembly list. -->
16295 <ItemGroup Condition="'$(SelfContained)' != 'true'">
16296 <_ReadyToRunImplementationAssemblies Include="@(_ManagedRuntimePackAssembly)" ReferenceOnly="true" />
16297 </ItemGroup>
16298 <ResolvePackageFileConflicts Condition="'$(SelfContained)' != 'true'" ReferenceCopyLocalPaths="@(_ReadyToRunImplementationAssemblies)">
16299 <Output TaskParameter="ReferenceCopyLocalPathsWithoutConflicts" ItemName="_ReadyToRunImplementationAssembliesWithoutConflicts" />
16300 </ResolvePackageFileConflicts>
16301 <ItemGroup Condition="'$(SelfContained)' != 'true'">
16302 <_ReadyToRunImplementationAssemblies Remove="@(_ReadyToRunImplementationAssemblies)" />
16303 <_ReadyToRunImplementationAssemblies Include="@(_ReadyToRunImplementationAssembliesWithoutConflicts)" />
16304 </ItemGroup>
16305 <ItemGroup>
16306 <_ReadyToRunPgoFiles Include="@(PublishReadyToRunPgoFiles)" />
16307 <_ReadyToRunPgoFiles Include="@(RuntimePackAsset)" Condition="'%(RuntimePackAsset.AssetType)' == 'pgodata' and '%(RuntimePackAsset.Extension)' == '.mibc' and '$(PublishReadyToRunUseRuntimePackOptimizationData)' == 'true'" />
16308 </ItemGroup>
16309 <PrepareForReadyToRunCompilation CrossgenTool="@(CrossgenTool)" Crossgen2Tool="@(Crossgen2Tool)" OutputPath="$(_ReadyToRunOutputPath)" MainAssembly="@(IntermediateAssembly)" Assemblies="@(_ReadyToRunImplementationAssemblies)" ExcludeList="@(PublishReadyToRunExclude)" EmitSymbols="$(PublishReadyToRunEmitSymbols)" IncludeSymbolsInSingleFile="$(IncludeSymbolsInSingleFile)" ReadyToRunUseCrossgen2="$(PublishReadyToRunUseCrossgen2)" Crossgen2Composite="$(PublishReadyToRunComposite)" PublishReadyToRunCompositeExclusions="@(PublishReadyToRunCompositeExclusions)" PublishReadyToRunCompositeRoots="@(PublishReadyToRunCompositeRoots)">
16310 <Output TaskParameter="ReadyToRunCompileList" ItemName="_ReadyToRunCompileList" />
16311 <Output TaskParameter="ReadyToRunSymbolsCompileList" ItemName="_ReadyToRunSymbolsCompileList" />
16312 <Output TaskParameter="ReadyToRunFilesToPublish" ItemName="_ReadyToRunFilesToPublish" />
16313 <Output TaskParameter="ReadyToRunAssembliesToReference" ItemName="_ReadyToRunAssembliesToReference" />
16314 <Output TaskParameter="ReadyToRunCompositeBuildReferences" ItemName="_ReadyToRunCompositeBuildReferences" />
16315 <Output TaskParameter="ReadyToRunCompositeBuildInput" ItemName="_ReadyToRunCompositeBuildInput" />
16316 <Output TaskParameter="ReadyToRunCompositeUnrootedBuildInput" ItemName="_ReadyToRunCompositeUnrootedBuildInput" />
16317 </PrepareForReadyToRunCompilation>
16318 </Target>
16319 <UsingTask Condition="'$(Crossgen2TasksOverriden)' != 'true'" TaskName="ResolveReadyToRunCompilers" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16320 <Target Name="ResolveReadyToRunCompilers" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16321 <ResolveReadyToRunCompilers RuntimePacks="@(ResolvedRuntimePack)" Crossgen2Packs="@(ResolvedCrossgen2Pack)" TargetingPacks="@(ResolvedTargetingPack)" RuntimeGraphPath="$(RuntimeIdentifierGraphPath)" NETCoreSdkRuntimeIdentifier="$(NETCoreSdkRuntimeIdentifier)" EmitSymbols="$(PublishReadyToRunEmitSymbols)" ReadyToRunUseCrossgen2="$(PublishReadyToRunUseCrossgen2)" PerfmapFormatVersion="$(PublishReadyToRunPerfmapFormatVersion)">
16322 <Output TaskParameter="CrossgenTool" ItemName="CrossgenTool" />
16323 <Output TaskParameter="Crossgen2Tool" ItemName="Crossgen2Tool" />
16324 </ResolveReadyToRunCompilers>
16325 </Target>
16326 <!--
16327 ============================================================
16328 _CreateR2RImages
16329
16330 Compiles assemblies in the _ReadyToRunCompileList list into ReadyToRun images
16331 ============================================================
16332 -->
16333 <UsingTask Condition="'$(Crossgen2TasksOverriden)' != 'true'" TaskName="RunReadyToRunCompiler" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16334 <Target Name="_CreateR2RImages" Inputs="$(MSBuildAllProjects);@(_ReadyToRunCompileList);@(_ReadyToRunCompositeBuildInput);@(_ReadyToRunPgoFiles)" Outputs="%(_ReadyToRunCompileList.OutputR2RImage);%(_ReadyToRunCompileList.OutputPDBImage)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16335 <RunReadyToRunCompiler CrossgenTool="@(CrossgenTool)" Crossgen2Tool="@(Crossgen2Tool)" UseCrossgen2="$(PublishReadyToRunUseCrossgen2)" Crossgen2PgoFiles="@(_ReadyToRunPgoFiles)" Crossgen2ExtraCommandLineArgs="$(PublishReadyToRunCrossgen2ExtraArgs)" ImplementationAssemblyReferences="@(_ReadyToRunAssembliesToReference)" ShowCompilerWarnings="$(PublishReadyToRunShowWarnings)" CompilationEntry="@(_ReadyToRunCompileList)" ContinueOnError="ErrorAndContinue" ReadyToRunCompositeBuildReferences="@(_ReadyToRunCompositeBuildReferences)" ReadyToRunCompositeBuildInput="@(_ReadyToRunCompositeBuildInput)" ReadyToRunCompositeUnrootedBuildInput="@(_ReadyToRunCompositeUnrootedBuildInput)">
16336 <Output TaskParameter="ExitCode" PropertyName="_ReadyToRunCompilerExitCode" />
16337 <Output TaskParameter="WarningsDetected" PropertyName="_ReadyToRunWarningsDetected" />
16338 </RunReadyToRunCompiler>
16339 <PropertyGroup>
16340 <!-- Use distinct property here as any of the invocations can set it -->
16341 <_ReadyToRunCompilerHasWarnings Condition="'$(_ReadyToRunWarningsDetected)' == 'true'">true</_ReadyToRunCompilerHasWarnings>
16342 </PropertyGroup>
16343 <ItemGroup>
16344 <_ReadyToRunCompilationFailures Condition="'$(_ReadyToRunCompilerExitCode)' != '' And $(_ReadyToRunCompilerExitCode) != 0" Include="@(_ReadyToRunCompileList)" />
16345 </ItemGroup>
16346 </Target>
16347 <!--
16348 ============================================================
16349 _CreateR2RSymbols
16350
16351 Emit native symbols for ReadyToRun images in the _ReadyToRunSymbolsCompileList list
16352 ============================================================
16353 -->
16354 <Target Name="_CreateR2RSymbols" Inputs="$(MSBuildAllProjects);@(_ReadyToRunSymbolsCompileList)" Outputs="%(_ReadyToRunSymbolsCompileList.OutputPDBImage)" Condition="'$(PublishReadyToRunUseCrossgen2)' != 'true' or '@(Crossgen2Tool -> '%(IsVersion5)')' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16355 <RunReadyToRunCompiler CrossgenTool="@(CrossgenTool)" Crossgen2Tool="@(Crossgen2Tool)" UseCrossgen2="$(PublishReadyToRunUseCrossgen2)" Crossgen2ExtraCommandLineArgs="$(PublishReadyToRunCrossgen2ExtraArgs)" ImplementationAssemblyReferences="@(_ReadyToRunAssembliesToReference)" ShowCompilerWarnings="$(PublishReadyToRunShowWarnings)" CompilationEntry="@(_ReadyToRunSymbolsCompileList)" ContinueOnError="ErrorAndContinue">
16356 <Output TaskParameter="ExitCode" PropertyName="_ReadyToRunCompilerExitCode" />
16357 <Output TaskParameter="WarningsDetected" PropertyName="_ReadyToRunWarningsDetected" />
16358 </RunReadyToRunCompiler>
16359 <PropertyGroup>
16360 <!-- Use distinct property here as any of the invocations can set it -->
16361 <_ReadyToRunCompilerHasWarnings Condition="'$(_ReadyToRunWarningsDetected)' == 'true'">true</_ReadyToRunCompilerHasWarnings>
16362 </PropertyGroup>
16363 <ItemGroup>
16364 <_ReadyToRunCompilationFailures Condition="'$(_ReadyToRunCompilerExitCode)' != '' And $(_ReadyToRunCompilerExitCode) != 0" Include="@(_ReadyToRunSymbolsCompileList)" />
16365 </ItemGroup>
16366 </Target>
16367 <!--
16368============================================================================================================================================
16369 </Import>
16370
16371C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
16372============================================================================================================================================
16373-->
16374 <!--
16375============================================================================================================================================
16376 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ObsoleteReferences.targets">
16377
16378C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ObsoleteReferences.targets
16379============================================================================================================================================
16380-->
16381 <!--
16382***********************************************************************************************
16383Microsoft.NET.ObsoleteReferences.targets
16384
16385WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
16386 created a backup copy. Incorrect changes to this file will make it
16387 impossible to load or build your projects from the command-line or the IDE.
16388
16389Copyright (c) .NET Foundation. All rights reserved.
16390***********************************************************************************************
16391-->
16392 <PropertyGroup Condition="'$(NETCoreSdkBundledCliToolsProps)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16393 <NETCoreSdkBundledCliToolsProps>$(MSBuildThisFileDirectory)..\..\..\Microsoft.NETCoreSdk.BundledCliTools.props</NETCoreSdkBundledCliToolsProps>
16394 </PropertyGroup>
16395 <!--
16396============================================================================================================================================
16397 <Import Project="$(NETCoreSdkBundledCliToolsProps)" Condition="Exists('$(NETCoreSdkBundledCliToolsProps)')">
16398
16399C:\Program Files\dotnet\sdk\10.0.100\Microsoft.NETCoreSdk.BundledCliTools.props
16400============================================================================================================================================
16401-->
16402 <!--
16403***********************************************************************************************
16404Microsoft.NETCoreSdk.BundledCliTools.props
16405
16406WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
16407 created a backup copy. Incorrect changes to this file will make it
16408 impossible to load or build your projects from the command-line or the IDE.
16409
16410Copyright (c) .NET Foundation. All rights reserved.
16411***********************************************************************************************
16412-->
16413 <ItemGroup />
16414 <!--
16415============================================================================================================================================
16416 </Import>
16417
16418C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ObsoleteReferences.targets
16419============================================================================================================================================
16420-->
16421 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16422 <_ReferenceToObsoleteDotNetCliTool Include="@(DotNetCliToolReference)" />
16423 <DotNetCliToolReference Remove="@(BundledDotNetCliToolReference)" />
16424 <_ReferenceToObsoleteDotNetCliTool Remove="@(DotNetCliToolReference)" />
16425 </ItemGroup>
16426 <Target Name="_CheckForObsoleteDotNetCliToolReferences" BeforeTargets="CollectPackageReferences" Condition=" '$(SuppressObsoleteDotNetCliToolWarning)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16427 <NETSdkWarning Condition=" '%(_ReferenceToObsoleteDotNetCliTool.Identity)' != '' " ResourceName="ProjectContainsObsoleteDotNetCliTool" FormatArguments="%(_ReferenceToObsoleteDotNetCliTool.Identity)" />
16428 </Target>
16429 <!--
16430============================================================================================================================================
16431 </Import>
16432
16433C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
16434============================================================================================================================================
16435-->
16436 <!--
16437============================================================================================================================================
16438 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Publish.targets">
16439
16440C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Publish.targets
16441============================================================================================================================================
16442-->
16443 <!--
16444***********************************************************************************************
16445Microsoft.NET.Publish.targets
16446
16447WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
16448 created a backup copy. Incorrect changes to this file will make it
16449 impossible to load or build your projects from the command-line or the IDE.
16450
16451Copyright (c) .NET Foundation. All rights reserved.
16452***********************************************************************************************
16453-->
16454 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16455 <DefaultCopyToPublishDirectoryMetadata Condition="'$(DefaultCopyToPublishDirectoryMetadata)' == ''">true</DefaultCopyToPublishDirectoryMetadata>
16456 <_GetChildProjectCopyToPublishDirectoryItems Condition="'$(_GetChildProjectCopyToPublishDirectoryItems)' == ''">true</_GetChildProjectCopyToPublishDirectoryItems>
16457 <IsPublishable Condition="'$(IsPublishable)' == ''">true</IsPublishable>
16458 </PropertyGroup>
16459 <!-- Trimming/AOT/publish* property configuration -->
16460 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16461 <!-- PublishAot depends on PublishTrimmed. This must be set early enough for the KnownILLinkPack to be restored. -->
16462 <PublishTrimmed Condition="'$(PublishTrimmed)' == '' And '$(PublishAot)' == 'true'">true</PublishTrimmed>
16463 <IsTrimmable Condition="'$(IsTrimmable)' == '' and '$(IsAotCompatible)' == 'true'">true</IsTrimmable>
16464 <_FirstTargetFrameworkToSupportTrimming>net6.0</_FirstTargetFrameworkToSupportTrimming>
16465 <_FirstTargetFrameworkToSupportAot>net7.0</_FirstTargetFrameworkToSupportAot>
16466 <_FirstTargetFrameworkToSupportSingleFile>net6.0</_FirstTargetFrameworkToSupportSingleFile>
16467 <_FirstTargetFrameworkVersionToSupportTrimAnalyzer>$([MSBuild]::GetTargetFrameworkVersion('$(_FirstTargetFrameworkToSupportTrimming)'))</_FirstTargetFrameworkVersionToSupportTrimAnalyzer>
16468 <_FirstTargetFrameworkVersionToSupportAotAnalyzer>$([MSBuild]::GetTargetFrameworkVersion('$(_FirstTargetFrameworkToSupportAot)'))</_FirstTargetFrameworkVersionToSupportAotAnalyzer>
16469 <_FirstTargetFrameworkVersionToSupportSingleFileAnalyzer>$([MSBuild]::GetTargetFrameworkVersion('$(_FirstTargetFrameworkToSupportSingleFile)'))</_FirstTargetFrameworkVersionToSupportSingleFileAnalyzer>
16470 </PropertyGroup>
16471 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16472 <ProjectCapability Condition="'$(IsAotCompatible)' == 'true'" Include="IsAotCompatible" />
16473 <ProjectCapability Condition="'$(IsTrimmable)' == 'true'" Include="IsTrimmable" />
16474 <ProjectCapability Condition="'$(PublishAot)' == 'true'" Include="PublishAot" />
16475 <ProjectCapability Condition="'$(PublishReadyToRun)' == 'true'" Include="PublishReadyToRun" />
16476 <ProjectCapability Condition="'$(PublishSingleFile)' == 'true'" Include="PublishSingleFile" />
16477 <ProjectCapability Condition="'$(PublishTrimmed)' == 'true'" Include="PublishTrimmed" />
16478 </ItemGroup>
16479 <ItemDefinitionGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16480 <ResolvedFileToPublish>
16481 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
16482 </ResolvedFileToPublish>
16483 </ItemDefinitionGroup>
16484 <Target Name="_ComputeToolPackInputsToProcessFrameworkReferences" BeforeTargets="ProcessFrameworkReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16485 <!-- Keep this in sync with the warnings produced for RequiresILLinkPack in ProcessFrameworkReferences.cs.
16486 Must be set late enough to see the inferred value of EnableSingleFileAnalyzer. -->
16487 <PropertyGroup>
16488 <_RequiresILLinkPack Condition="'$(_RequiresILLinkPack)' == '' And (&#xD;&#xA; '$(PublishAot)' == 'true' Or&#xD;&#xA; '$(IsAotCompatible)' == 'true' Or '$(EnableAotAnalyzer)' == 'true' Or&#xD;&#xA; '$(PublishTrimmed)' == 'true' Or&#xD;&#xA; '$(IsTrimmable)' == 'true' Or '$(EnableTrimAnalyzer)' == 'true' Or&#xD;&#xA; '$(EnableSingleFileAnalyzer)' == 'true')">true</_RequiresILLinkPack>
16489 <_RequiresILLinkPack Condition="'$(_RequiresILLinkPack)' == ''">false</_RequiresILLinkPack>
16490 </PropertyGroup>
16491 <!-- ProcessFrameworkReferences warns when the project settings introduce a dependency on a
16492 tool pack that's not available for the target framework. For trimming, AOT, and single-file, the recommendation
16493 is to multitarget the project to include a more recent TargetFramework. For correctly multitargeted
16494 projects, the warning is usually just noise, so we silence it.
16495
16496 Correctly multitargeted projects include a TargetFramework that is compatible with the requested
16497 functionality (trimming/AOT/single-file), and doesn't leave a "gap" where the incompatible TargetFramework's
16498 assembly could be consumed from an app that uses the functionality. In other words, correctly multitargeted
16499 projects should include at least one TFM that:
16500 - supports the given functionality, and
16501 - is no larger than the minimum non-EOL TargetFramework that supports this functionality.
16502
16503 The following logic determines whether the project is correctly multi-targeted based on its TargetFrameworks,
16504 and silences the warning if it is. -->
16505 <PropertyGroup>
16506 <!-- The min non-EOL TFM has already caught up with the first TFM to support trimming/singlefile. No need to compare against it. -->
16507 <_MinNonEolTargetFrameworkForTrimming>$(_MinimumNonEolSupportedNetCoreTargetFramework)</_MinNonEolTargetFrameworkForTrimming>
16508 <_MinNonEolTargetFrameworkForSingleFile>$(_MinimumNonEolSupportedNetCoreTargetFramework)</_MinNonEolTargetFrameworkForSingleFile>
16509 <!-- Get the min non-EOL TFM that supports AOT. -->
16510 <_MinNonEolTargetFrameworkForAot>$(_MinimumNonEolSupportedNetCoreTargetFramework)</_MinNonEolTargetFrameworkForAot>
16511 <_MinNonEolTargetFrameworkForAot Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(_FirstTargetFrameworkToSupportAot)', '$(_MinimumNonEolSupportedNetCoreTargetFramework)'))">$(_FirstTargetFrameworkToSupportAot)</_MinNonEolTargetFrameworkForAot>
16512 </PropertyGroup>
16513 <ItemGroup>
16514 <_TargetFramework Include="$(TargetFrameworks)" />
16515 <_DecomposedTargetFramework Include="@(_TargetFramework)">
16516 <SupportsTrimming>$([MSBuild]::IsTargetFrameworkCompatible('%(Identity)', '$(_FirstTargetFrameworkToSupportTrimming)'))</SupportsTrimming>
16517 <SupportedByMinNonEolTargetFrameworkForTrimming>$([MSBuild]::IsTargetFrameworkCompatible('$(_MinNonEolTargetFrameworkForTrimming)', '%(Identity)'))</SupportedByMinNonEolTargetFrameworkForTrimming>
16518 <SupportsAot>$([MSBuild]::IsTargetFrameworkCompatible('%(Identity)', '$(_FirstTargetFrameworkToSupportAot)'))</SupportsAot>
16519 <SupportedByMinNonEolTargetFrameworkForAot>$([MSBuild]::IsTargetFrameworkCompatible('$(_MinNonEolTargetFrameworkForAot)', '%(Identity)'))</SupportedByMinNonEolTargetFrameworkForAot>
16520 <SupportsSingleFile>$([MSBuild]::IsTargetFrameworkCompatible('%(Identity)', '$(_FirstTargetFrameworkToSupportSingleFile)'))</SupportsSingleFile>
16521 <SupportedByMinNonEolTargetFrameworkForSingleFile>$([MSBuild]::IsTargetFrameworkCompatible('$(_MinNonEolTargetFrameworkForSingleFile)', '%(Identity)'))</SupportedByMinNonEolTargetFrameworkForSingleFile>
16522 </_DecomposedTargetFramework>
16523 <_TargetFrameworkToSilenceIsTrimmableUnsupportedWarning Include="@(_DecomposedTargetFramework)" Condition="'%(SupportsTrimming)' == 'true' And '%(SupportedByMinNonEolTargetFrameworkForTrimming)' == 'true'" />
16524 <_TargetFrameworkToSilenceIsAotCompatibleUnsupportedWarning Include="@(_DecomposedTargetFramework->'%(Identity)')" Condition="'%(SupportsAot)' == 'true' And '%(SupportedByMinNonEolTargetFrameworkForAot)' == 'true'" />
16525 <_TargetFrameworkToSilenceEnableSingleFileAnalyzerUnsupportedWarning Include="@(_DecomposedTargetFramework)" Condition="'%(SupportsSingleFile)' == 'true' And '%(SupportedByMinNonEolTargetFrameworkForSingleFile)' == 'true'" />
16526 </ItemGroup>
16527 <PropertyGroup>
16528 <!-- Don't warn if the library multitargets and includes TFM that's supported by trimming/AOT and is supported by the min non-EOL TFM that supports trimming/AOT. -->
16529 <_SilenceIsTrimmableUnsupportedWarning Condition="'$(_SilenceIsTrimmableUnsupportedWarning)' == '' And&#xD;&#xA; @(_TargetFrameworkToSilenceIsTrimmableUnsupportedWarning-&gt;Count()) &gt; 0">true</_SilenceIsTrimmableUnsupportedWarning>
16530 <_SilenceIsAotCompatibleUnsupportedWarning Condition="'$(_SilenceIsAotCompatibleUnsupportedWarning)' == '' And&#xD;&#xA; @(_TargetFrameworkToSilenceIsAotCompatibleUnsupportedWarning-&gt;Count()) &gt; 0">true</_SilenceIsAotCompatibleUnsupportedWarning>
16531 <_SilenceEnableSingleFileAnalyzerUnsupportedWarning Condition="'$(_SilenceEnableSingleFileAnalyzerUnsupportedWarning)' == '' And&#xD;&#xA; @(_TargetFrameworkToSilenceEnableSingleFileAnalyzerUnsupportedWarning-&gt;Count()) &gt; 0">true</_SilenceEnableSingleFileAnalyzerUnsupportedWarning>
16532 </PropertyGroup>
16533 </Target>
16534 <!--
16535 ============================================================
16536 Publish
16537
16538 The main publish entry point.
16539 ============================================================
16540 -->
16541 <!--<Import Project="Microsoft.NET.ClickOnce.targets" Condition="'$(PublishProtocol)' == 'ClickOnce'" />-->
16542 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16543 <!-- We still need to resolve references even if we are not building during publish. -->
16544 <!-- BuildOnlySettings are required for RAR to find satellites and dependencies -->
16545 <_BeforePublishNoBuildTargets>
16546 BuildOnlySettings;
16547 _PreventProjectReferencesFromBuilding;
16548 ResolveReferences;
16549 PrepareResourceNames;
16550 ComputeIntermediateSatelliteAssemblies;
16551 ComputeEmbeddedApphostPaths;
16552 </_BeforePublishNoBuildTargets>
16553 <_CorePublishTargets>
16554 PrepareForPublish;
16555 ComputeAndCopyFilesToPublishDirectory;
16556 $(PublishProtocolProviderTargets);
16557 PublishItemsOutputGroup;
16558 </_CorePublishTargets>
16559 <_PublishNoBuildAlternativeDependsOn>$(_BeforePublishNoBuildTargets);$(_CorePublishTargets)</_PublishNoBuildAlternativeDependsOn>
16560 </PropertyGroup>
16561 <Target Name="_PublishBuildAlternative" Condition="'$(NoBuild)' != 'true'" DependsOnTargets="Build;$(_CorePublishTargets)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16562 <Target Name="_PublishNoBuildAlternative" Condition="'$(NoBuild)' == 'true'" DependsOnTargets="$(_PublishNoBuildAlternativeDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16563 <Target Name="Publish" Condition="$(IsPublishable) == 'true'" DependsOnTargets="_PublishBuildAlternative;_PublishNoBuildAlternative" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16564 <!-- Ensure there is minimal verbosity output pointing to the publish directory and not just the
16565 build step's minimal output. Otherwise there is no indication at minimal verbosity of where
16566 the published assets were copied. -->
16567 <Message Importance="High" Text="$(MSBuildProjectName) -&gt; $([System.IO.Path]::GetFullPath('$(PublishDir)'))" />
16568 <ItemGroup>
16569 <PublishTelemetry Include="PublishReadyToRun" Value="$(PublishReadyToRun)" />
16570 <PublishTelemetry Include="PublishTrimmed" Value="$(PublishTrimmed)" />
16571 <PublishTelemetry Include="PublishSingleFile" Value="$(PublishSingleFile)" />
16572 <PublishTelemetry Include="PublishAot" Value="$(PublishAot)" />
16573 <PublishTelemetry Include="PublishProtocol" Value="$(PublishProtocol)" />
16574 </ItemGroup>
16575 <AllowEmptyTelemetry EventName="PublishProperties" EventData="@(PublishTelemetry)" />
16576 </Target>
16577 <!-- Don't let project reference resolution build project references in NoBuild case. -->
16578 <Target Name="_PreventProjectReferencesFromBuilding" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16579 <PropertyGroup>
16580 <BuildProjectReferences>false</BuildProjectReferences>
16581 </PropertyGroup>
16582 </Target>
16583 <!--
16584 ============================================================
16585 PrepareForPublish
16586
16587 Prepare the prerequisites for publishing.
16588 ============================================================
16589 -->
16590 <Target Name="PrepareForPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16591 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' And '$(_IsExecutable)' != 'true'" ResourceName="CannotHaveSingleFileWithoutExecutable" />
16592 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' And '$(_IsExecutable)' == 'true' And '$(TargetFrameworkIdentifier)' != '.NETCoreApp'" ResourceName="CanOnlyHaveSingleFileWithNetCoreApp" />
16593 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' And&#xD;&#xA; '$(IncludeSymbolsInSingleFile)' == 'true' And&#xD;&#xA; '$(_TargetFrameworkVersionWithoutV)' &gt;= '5.0' And '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" ResourceName="CannotIncludeSymbolsInSingleFile" />
16594 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' and '$(RuntimeIdentifier)' == ''" ResourceName="CannotHaveSingleFileWithoutRuntimeIdentifier" />
16595 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' and '$(UseAppHost)' != 'true' and '$(PublishAot)' != 'true'" ResourceName="CannotHaveSingleFileWithoutAppHost" />
16596 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' And&#xD;&#xA; '$(EnableCompressionInSingleFile)' == 'true' And&#xD;&#xA; '$(_TargetFrameworkVersionWithoutV)' &lt; '6.0'" ResourceName="CompressionInSingleFileRequires60" />
16597 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' And&#xD;&#xA; '$(EnableCompressionInSingleFile)' == 'true' And&#xD;&#xA; '$(SelfContained)' != 'true'" ResourceName="CompressionInSingleFileRequiresSelfContained" />
16598 <NETSdkWarning Condition="'$(PublishProfileImported)' != 'true' and '$(PublishProfile)' != ''" ResourceName="PublishProfileNotPresent" FormatArguments="$(PublishProfile)" />
16599 <!-- Projects in a solution cannot have conflicting configurations. This checks if PublishRelease conflicted at runtime to avoid extra project evaluations.
16600 SolutionExt is used to check if we are publishing a solution. Will be undefined if not.-->
16601 <NETSdkError Condition="'$(_IsPublishing)' == 'true' and&#xD;&#xA; '$(DOTNET_CLI_DISABLE_PUBLISH_AND_PACK_RELEASE)' != 'true' and&#xD;&#xA; '$(DOTNET_CLI_LAZY_PUBLISH_AND_PACK_RELEASE_FOR_SOLUTIONS)' == 'true' and&#xD;&#xA; '$(SolutionExt)' == '.sln' and&#xD;&#xA; '$(_SolutionLevelPublishRelease)' != '$(PublishRelease)'" ResourceName="SolutionProjectConfigurationsConflict" FormatArguments="PublishRelease;$(ProjectName)" />
16602 <NETSdkError Condition="'$(PublishAot)' == 'true' and&#xD;&#xA; '$(_IsPublishing)' != 'true' and&#xD;&#xA; '$(PublishAotUsingRuntimePack)' == 'true' and&#xD;&#xA; '$(NativeCompilationDuringPublish)' != 'false' and&#xD;&#xA; '$(_TargetFrameworkVersionWithoutV)' &gt;= '10.0'" ResourceName="NativeCompilationRequiresPublishing" />
16603 <PropertyGroup>
16604 <!-- Ensure any PublishDir has a trailing slash, so it can be concatenated -->
16605 <PublishDir Condition="!HasTrailingSlash('$(PublishDir)')">$(PublishDir)\</PublishDir>
16606 </PropertyGroup>
16607 <MakeDir Directories="$(PublishDir)" />
16608 </Target>
16609 <!--
16610 ============================================================
16611 ComputeAndCopyFilesToPublishDirectory
16612
16613 Computes the list of all files to copy to the publish directory and then publishes them.
16614 ============================================================
16615 -->
16616 <Target Name="ComputeAndCopyFilesToPublishDirectory" DependsOnTargets="ComputeFilesToPublish;&#xD;&#xA; CopyFilesToPublishDirectory" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16617 <!--
16618 ============================================================
16619 CopyFilesToPublishDirectory
16620
16621 Copy all build outputs, satellites and other necessary files to the publish directory.
16622 When publishing to a single file, only those files that are not bundled are copied.
16623 The remaining files are directly written to the bundle file.
16624 ============================================================
16625 -->
16626 <Target Name="CopyFilesToPublishDirectory" DependsOnTargets="_IncrementalCleanPublishDirectory;&#xD;&#xA; _CopyResolvedFilesToPublishPreserveNewest;&#xD;&#xA; _CopyResolvedFilesToPublishAlways;&#xD;&#xA; _HandleFileConflictsForPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16627 <!--
16628 ============================================================
16629 _IncrementalCleanPublishDirectory
16630
16631 Remove files that were produced in a prior publish but weren't produced in the current publish.
16632 ============================================================
16633 -->
16634 <Target Name="_IncrementalCleanPublishDirectory" DependsOnTargets="_GetCurrentAndPriorPublishFileWrites" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16635 <!-- Subtract list of files produced in the prior publish from list of files produced in this publish. -->
16636 <ItemGroup>
16637 <_OrphanPublishFileWrites Include="@(_PriorPublishFileWrites)" Exclude="@(_CurrentPublishFileWrites)" />
16638 </ItemGroup>
16639 <!-- Delete the orphaned files. -->
16640 <Delete Files="@(_OrphanPublishFileWrites)" TreatErrorsAsWarnings="true">
16641 <Output TaskParameter="DeletedFiles" ItemName="_OrphanFilesDeleted" />
16642 </Delete>
16643 <!-- Write new list of current files back to clean file. -->
16644 <WriteLinesToFile File="$(IntermediateOutputPath)$(_PublishCleanFile)" Lines="@(_CurrentPublishFileWrites)" Overwrite="true" />
16645 </Target>
16646 <!--
16647 ============================================================
16648 _GetCurrentAndPriorPublishFileWrites
16649 Get the list of files written in the previous publish and the list of files to be written in this publish.
16650 ============================================================
16651 -->
16652 <Target Name="_GetCurrentAndPriorPublishFileWrites" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16653 <PropertyGroup>
16654 <_NormalizedPublishDir>$([MSBuild]::NormalizeDirectory($(PublishDir)))</_NormalizedPublishDir>
16655 </PropertyGroup>
16656 <Hash ItemstoHash="$(_NormalizedPublishDir)">
16657 <Output TaskParameter="HashResult" PropertyName="_NormalizedPublishDirHash" />
16658 </Hash>
16659 <PropertyGroup>
16660 <_PublishCleanFile Condition="'$(PublishCleanFile)'==''">PublishOutputs.$(_NormalizedPublishDirHash.Substring(0, 10)).txt</_PublishCleanFile>
16661 </PropertyGroup>
16662 <!-- Read in writes made by prior publish. -->
16663 <ReadLinesFromFile File="$(IntermediateOutputPath)$(_PublishCleanFile)">
16664 <Output TaskParameter="Lines" ItemName="_UnfilteredPriorPublishFileWrites" />
16665 </ReadLinesFromFile>
16666 <ConvertToAbsolutePath Paths="@(_UnfilteredPriorPublishFileWrites)">
16667 <Output TaskParameter="AbsolutePaths" ItemName="_UnfilteredAbsolutePriorPublishFileWrites" />
16668 </ConvertToAbsolutePath>
16669 <!-- Find all files in the final output directory. -->
16670 <FindUnderPath Path="$(_NormalizedPublishDir)" Files="@(_UnfilteredAbsolutePriorPublishFileWrites)" UpdateToAbsolutePaths="true">
16671 <Output TaskParameter="InPath" ItemName="_PriorPublishFileWritesInOutput" />
16672 </FindUnderPath>
16673 <!-- Remove duplicates from files produced in the previous publish. -->
16674 <RemoveDuplicates Inputs="@(_PriorPublishFileWritesInOutput)">
16675 <Output TaskParameter="Filtered" ItemName="_PriorPublishFileWrites" />
16676 </RemoveDuplicates>
16677 <ItemGroup>
16678 <_CurrentPublishFileWritesUnfiltered Include="@(ResolvedFileToPublish->'$(_NormalizedPublishDir)%(RelativePath)')" />
16679 <_CurrentPublishFileWritesUnfiltered Include="$(_NormalizedPublishDir)$(AssemblyName)$(_NativeExecutableExtension)" Condition="'$(UseAppHost)' == 'true'" />
16680 </ItemGroup>
16681 <ConvertToAbsolutePath Paths="@(_CurrentPublishFileWritesUnfiltered)">
16682 <Output TaskParameter="AbsolutePaths" ItemName="_CurrentAbsolutePublishFileWritesUnfiltered" />
16683 </ConvertToAbsolutePath>
16684 <!-- Remove duplicates from the files produced in this publish-->
16685 <RemoveDuplicates Inputs="@(_CurrentAbsolutePublishFileWritesUnfiltered)">
16686 <Output TaskParameter="Filtered" ItemName="_CurrentPublishFileWrites" />
16687 </RemoveDuplicates>
16688 </Target>
16689 <!--
16690 ============================================================
16691 _CopyResolvedFilesToPublishPreserveNewest
16692
16693 Copy _ResolvedFileToPublishPreserveNewest items to the publish directory
16694 ============================================================
16695 -->
16696 <Target Name="_CopyResolvedFilesToPublishPreserveNewest" DependsOnTargets="_ComputeResolvedFilesToPublishTypes" Inputs="@(_ResolvedFileToPublishPreserveNewest)" Outputs="@(_ResolvedFileToPublishPreserveNewest->'$(PublishDir)%(RelativePath)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16697 <!--
16698 PreserveNewest means that we will only copy the source to the destination if the source is newer.
16699 SkipUnchangedFiles is not used for that purpose because it will copy if the source and destination
16700 differ by size too. Instead, this target uses inputs and outputs to only copy when the source is newer.
16701 -->
16702 <Copy SourceFiles="@(_ResolvedFileToPublishPreserveNewest)" DestinationFiles="@(_ResolvedFileToPublishPreserveNewest->'$(PublishDir)%(RelativePath)')" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">
16703 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
16704 </Copy>
16705 </Target>
16706 <!--
16707 ============================================================
16708 _CopyResolvedFilesToPublishAlways
16709
16710 Copy _ResolvedFileToPublishAlways items to the publish directory
16711 ============================================================
16712 -->
16713 <Target Name="_CopyResolvedFilesToPublishAlways" DependsOnTargets="_ComputeResolvedFilesToPublishTypes" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16714 <!--
16715 Use SkipUnchangedFiles to prevent unnecessary file copies. The copy will occur if the
16716 destination doesn't exist, the source is newer than the destination, or if the source and
16717 destination differ by file size.
16718 -->
16719 <Copy SourceFiles="@(_ResolvedFileToPublishAlways)" DestinationFiles="@(_ResolvedFileToPublishAlways->'$(PublishDir)%(RelativePath)')" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">
16720 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
16721 </Copy>
16722 </Target>
16723 <UsingTask TaskName="ResolveReadyToRunCompilers" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16724 <Target Name="ResolveReadyToRunCompilers" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16725 <ResolveReadyToRunCompilers RuntimePacks="@(ResolvedRuntimePack)" Crossgen2Packs="@(ResolvedCrossgen2Pack)" TargetingPacks="@(ResolvedTargetingPack)" RuntimeGraphPath="$(RuntimeIdentifierGraphPath)" NETCoreSdkRuntimeIdentifier="$(NETCoreSdkRuntimeIdentifier)" EmitSymbols="$(PublishReadyToRunEmitSymbols)" ReadyToRunUseCrossgen2="$(PublishReadyToRunUseCrossgen2)" PerfmapFormatVersion="$(PublishReadyToRunPerfmapFormatVersion)">
16726 <Output TaskParameter="CrossgenTool" ItemName="CrossgenTool" />
16727 <Output TaskParameter="Crossgen2Tool" ItemName="Crossgen2Tool" />
16728 </ResolveReadyToRunCompilers>
16729 </Target>
16730 <!--
16731 ============================================================
16732 _ComputeResolvedFilesToPublishTypes
16733
16734 Splits ResolvedFileToPublish items into 'PreserveNewest' and 'Always' buckets.
16735 Then further splits those into 'Unbundled' buckets based on the single file setting.
16736 ============================================================
16737 -->
16738 <Target Name="_ComputeResolvedFilesToPublishTypes" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16739 <ItemGroup>
16740 <_ResolvedFileToPublishPreserveNewest Include="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.CopyToPublishDirectory)'=='PreserveNewest'" />
16741 <_ResolvedFileToPublishAlways Include="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.CopyToPublishDirectory)'=='Always'" />
16742 </ItemGroup>
16743 <ItemGroup>
16744 <_ResolvedUnbundledFileToPublishPreserveNewest Include="@(_ResolvedFileToPublishPreserveNewest)" Condition="'$(PublishSingleFile)' != 'true' or&#xD;&#xA; '%(_ResolvedFileToPublishPreserveNewest.ExcludeFromSingleFile)'=='true'" />
16745 <_ResolvedUnbundledFileToPublishAlways Include="@(_ResolvedFileToPublishAlways)" Condition="'$(PublishSingleFile)' != 'true' or&#xD;&#xA; '%(_ResolvedFileToPublishAlways.ExcludeFromSingleFile)'=='true'" />
16746 </ItemGroup>
16747 </Target>
16748 <!--
16749 ============================================================
16750 ComputeFilesToPublish
16751
16752 Gathers all the files that need to be copied to the publish directory, including R2R and ILLinker transformations
16753 ============================================================
16754 -->
16755 <Target Name="ComputeFilesToPublish" DependsOnTargets="PrepareForPublish;&#xD;&#xA; ComputeResolvedFilesToPublishList;&#xD;&#xA; ILLink;&#xD;&#xA; CreateReadyToRunImages;&#xD;&#xA; GeneratePublishDependencyFile;&#xD;&#xA; GenerateSingleFileBundle" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16756 <!--
16757 ============================================================
16758 ILLink
16759
16760 Initially an empty placeholder target. When trimming, this
16761 will be redefined to invoke ILLink to perform IL trimming.
16762 The placeholder exists to allow other targets to depend on it for ordering purposes.
16763 ============================================================
16764 -->
16765 <Target Name="ILLink" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16766 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16767 <CopyBuildOutputToPublishDirectory Condition="'$(CopyBuildOutputToPublishDirectory)'==''">true</CopyBuildOutputToPublishDirectory>
16768 <CopyOutputSymbolsToPublishDirectory Condition="'$(CopyOutputSymbolsToPublishDirectory)'==''">true</CopyOutputSymbolsToPublishDirectory>
16769 <IncludeSymbolsInSingleFile Condition="'$(IncludeSymbolsInSingleFile)' == ''">false</IncludeSymbolsInSingleFile>
16770 </PropertyGroup>
16771 <UsingTask TaskName="ResolveOverlappingItemGroupConflicts" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16772 <!--
16773 ============================================================
16774 ComputeResolvedFilesToPublishList
16775
16776 Gathers all the files that need to be copied to the publish directory.
16777 ============================================================
16778 -->
16779 <Target Name="ComputeResolvedFilesToPublishList" DependsOnTargets="_ComputeResolvedCopyLocalPublishAssets;&#xD;&#xA; _ComputeCopyToPublishDirectoryItems;&#xD;&#xA; ComputeRefAssembliesToPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16780 <ItemGroup>
16781 <!-- Copy the build product (.dll or .exe). -->
16782 <ResolvedFileToPublish Include="@(IntermediateAssembly)" Condition="'$(CopyBuildOutputToPublishDirectory)' == 'true'">
16783 <RelativePath>@(IntermediateAssembly->'%(Filename)%(Extension)')</RelativePath>
16784 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
16785 </ResolvedFileToPublish>
16786 <!-- Copy the deps file if using the build deps file. -->
16787 <ResolvedFileToPublish Include="$(ProjectDepsFilePath)" Condition="'$(GenerateDependencyFile)' == 'true' and '$(_UseBuildDependencyFile)' == 'true'">
16788 <RelativePath>$(ProjectDepsFileName)</RelativePath>
16789 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
16790 </ResolvedFileToPublish>
16791 <!-- Copy the runtime config file. -->
16792 <ResolvedFileToPublish Include="$(ProjectRuntimeConfigFilePath)" Condition="'$(GenerateRuntimeConfigurationFiles)' == 'true' and '$(PublishAot)' != 'true'">
16793 <RelativePath>$(ProjectRuntimeConfigFileName)</RelativePath>
16794 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
16795 </ResolvedFileToPublish>
16796 <!-- Copy the app.config (if any) -->
16797 <ResolvedFileToPublish Include="@(AppConfigWithTargetPath)" Condition="'$(CopyBuildOutputToPublishDirectory)' == 'true'">
16798 <RelativePath>@(AppConfigWithTargetPath->'%(TargetPath)')</RelativePath>
16799 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
16800 </ResolvedFileToPublish>
16801 <!-- Copy the debug information file (.pdb), if any -->
16802 <ResolvedFileToPublish Include="@(_DebugSymbolsIntermediatePath)" Condition="'$(_DebugSymbolsProduced)'=='true' and '$(CopyOutputSymbolsToPublishDirectory)'=='true'">
16803 <RelativePath>@(_DebugSymbolsIntermediatePath->'%(Filename)%(Extension)')</RelativePath>
16804 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
16805 <ExcludeFromSingleFile Condition="'$(IncludeSymbolsInSingleFile)'!='true'">true</ExcludeFromSingleFile>
16806 </ResolvedFileToPublish>
16807 <!-- Copy satellite assemblies. -->
16808 <ResolvedFileToPublish Include="@(IntermediateSatelliteAssembliesWithTargetPath)">
16809 <RelativePath>%(IntermediateSatelliteAssembliesWithTargetPath.Culture)\%(Filename)%(Extension)</RelativePath>
16810 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
16811 </ResolvedFileToPublish>
16812 <!-- Copy generated COM References. -->
16813 <ResolvedFileToPublish Include="@(ReferenceComWrappersToCopyLocal)">
16814 <RelativePath>%(Filename)%(Extension)</RelativePath>
16815 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
16816 </ResolvedFileToPublish>
16817 </ItemGroup>
16818 <!-- Remove conflicting items that appear in both _ResolvedCopyLocalPublishAssets and ResolvedFileToPublish
16819 to ensure that we don't get duplicate files in the publish output. -->
16820 <ResolveOverlappingItemGroupConflicts ItemGroup1="@(_ResolvedCopyLocalPublishAssets-&gt;Distinct())" ItemGroup2="@(ResolvedFileToPublish-&gt;Distinct())" PreferredPackages="$(PackageConflictPreferredPackages)">
16821 <Output TaskParameter="RemovedItemGroup1" ItemName="_ResolvedCopyLocalPublishAssetsRemoved" />
16822 <Output TaskParameter="RemovedItemGroup2" ItemName="ResolvedFileToPublishRemoved" />
16823 </ResolveOverlappingItemGroupConflicts>
16824 <ItemGroup>
16825 <_ResolvedCopyLocalPublishAssets Remove="@(_ResolvedCopyLocalPublishAssetsRemoved)" />
16826 <ResolvedFileToPublish Remove="@(ResolvedFileToPublishRemoved)" />
16827 <!-- Copy the resolved copy local publish assets. -->
16828 <ResolvedFileToPublish Include="@(_ResolvedCopyLocalPublishAssets)">
16829 <RelativePath>%(_ResolvedCopyLocalPublishAssets.DestinationSubDirectory)%(Filename)%(Extension)</RelativePath>
16830 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
16831 </ResolvedFileToPublish>
16832 <!-- Copy the xml documentation (if enabled) -->
16833 <ResolvedFileToPublish Include="@(FinalDocFile)" Condition="'$(PublishDocumentationFile)' == 'true'">
16834 <RelativePath>@(FinalDocFile->'%(Filename)%(Extension)')</RelativePath>
16835 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
16836 </ResolvedFileToPublish>
16837 <!-- Copy all PackAsTool shims (if any) -->
16838 <ResolvedFileToPublish Include="@(_EmbeddedApphostPaths-&gt;Distinct())">
16839 <RelativePath>shims/%(_EmbeddedApphostPaths.ShimRuntimeIdentifier)/%(_EmbeddedApphostPaths.Filename)%(_EmbeddedApphostPaths.Extension)</RelativePath>
16840 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
16841 </ResolvedFileToPublish>
16842 <!-- Filter files for PublishSingleFiles scenario -->
16843 <_FilesToDrop Include="@(ResolvedFileToPublish)" Condition="'$(PublishSingleFile)' == 'true' and&#xD;&#xA; '%(ResolvedFileToPublish.DropFromSingleFile)' == 'true'" />
16844 <ResolvedFileToPublish Remove="@(_FilesToDrop)" />
16845 </ItemGroup>
16846 </Target>
16847 <!--
16848 ============================================================
16849 _ResolveCopyLocalAssetsForPublish
16850 Resolves the assets from packages to copy locally for publish.
16851 We can just use the build's copy local assets if we can reuse the build deps file.
16852 ============================================================
16853 -->
16854 <UsingTask TaskName="ResolveCopyLocalAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16855 <Target Name="_ResolveCopyLocalAssetsForPublish" DependsOnTargets="ResolveLockFileCopyLocalFiles;&#xD;&#xA; _ComputeUseBuildDependencyFile;&#xD;&#xA; _DefaultMicrosoftNETPlatformLibrary;&#xD;&#xA; ResolveRuntimePackAssets;&#xD;&#xA; _ComputePackageReferencePublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16856 <!-- For future: Delete ResolveCopyLocalAssets task. Need to figure out how to get correct DestinationSubPath for
16857 PreserveStoreLayout without this task, and how to handle RuntimeStorePackages. -->
16858 <ResolveCopyLocalAssets AssetsFilePath="$(ProjectAssetsFile)" TargetFramework="$(TargetFramework)" RuntimeIdentifier="$(RuntimeIdentifier)" PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" RuntimeFrameworks="@(RuntimeFramework)" ExcludedPackageReferences="@(_ExcludeFromPublishPackageReference)" RuntimeStorePackages="@(RuntimeStorePackages)" PreserveStoreLayout="$(PreserveStoreLayout)" ResolveRuntimeTargets="$(CopyLocalRuntimeTargetAssets)" IsSelfContained="$(SelfContained)" Condition="'$(PreserveStoreLayout)' == 'true' Or '@(RuntimeStorePackages)' != ''">
16859 <Output TaskParameter="ResolvedAssets" ItemName="_ResolvedCopyLocalPublishAssets" />
16860 </ResolveCopyLocalAssets>
16861 <ItemGroup>
16862 <_ResolvedCopyLocalPublishAssets Include="@(RuntimePackAsset)" Condition="('$(SelfContained)' == 'true' Or '%(RuntimePackAsset.RuntimePackAlwaysCopyLocal)' == 'true') and '%(RuntimePackAsset.AssetType)' != 'pgodata'" />
16863 </ItemGroup>
16864 <ItemGroup Condition="'$(_UseBuildDependencyFile)' != 'true'">
16865 <!-- Remove the apphost executable from publish copy local assets; we will copy the generated apphost instead -->
16866 <_ResolvedCopyLocalPublishAssets Remove="@(_NativeRestoredAppHostNETCore)" />
16867 </ItemGroup>
16868 <ItemGroup Condition="'$(PreserveStoreLayout)' != 'true' And '@(RuntimeStorePackages)' == ''">
16869 <_ResolvedCopyLocalPublishAssets Include="@(_ResolvedCopyLocalBuildAssets)" Condition="'%(_ResolvedCopyLocalBuildAssets.CopyToPublishDirectory)' != 'false' " />
16870 </ItemGroup>
16871 </Target>
16872 <!--
16873 ============================================================
16874 _ParseTargetManifestFiles
16875 Parses the $(TargetManifestFiles) which contains a list of files into @(RuntimeStorePackages) items
16876 which describes which packages should be excluded from publish since they are contained in the runtime store.
16877 ============================================================
16878 -->
16879 <UsingTask TaskName="ParseTargetManifests" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
16880 <Target Name="_ParseTargetManifestFiles" Condition="'$(TargetManifestFiles)' != ''" Returns="@(RuntimeStorePackages)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16881 <ParseTargetManifests TargetManifestFiles="$(TargetManifestFiles)">
16882 <Output TaskParameter="RuntimeStorePackages" ItemName="RuntimeStorePackages" />
16883 </ParseTargetManifests>
16884 </Target>
16885 <!--
16886 ============================================================
16887 _FilterSatelliteResourcesForPublish
16888 Filters the resolved resource assets for build to the given resource languages.
16889 ============================================================
16890 -->
16891 <Target Name="_FilterSatelliteResourcesForPublish" Condition="'$(SatelliteResourceLanguages)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16892 <ItemGroup>
16893 <_PublishSatelliteResources Include="@(_ResolvedCopyLocalPublishAssets)" Condition="'%(_ResolvedCopyLocalPublishAssets.AssetType)' == 'resources'" />
16894 </ItemGroup>
16895 <JoinItems Left="@(_PublishSatelliteResources)" LeftKey="Culture" LeftMetadata="*" Right="$(SatelliteResourceLanguages)" RightKey="" RightMetadata="" ItemSpecToUse="Left">
16896 <Output TaskParameter="JoinResult" ItemName="_FilteredPublishSatelliteResources" />
16897 </JoinItems>
16898 <ItemGroup Condition="'@(_PublishSatelliteResources)' != ''">
16899 <_ResolvedCopyLocalPublishAssets Remove="@(_PublishSatelliteResources)" />
16900 <_ResolvedCopyLocalPublishAssets Include="@(_FilteredPublishSatelliteResources)" />
16901 </ItemGroup>
16902 </Target>
16903 <!--
16904 ============================================================
16905 _ComputeResolvedCopyLocalPublishAssets
16906 Computes the files from both project and package references.
16907 ============================================================
16908 -->
16909 <Target Name="_ComputeResolvedCopyLocalPublishAssets" DependsOnTargets="_ResolveCopyLocalAssetsForPublish;&#xD;&#xA; _FilterSatelliteResourcesForPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16910 <ItemGroup>
16911 <_ResolvedCopyLocalPublishAssets Include="@(ReferenceCopyLocalPaths)" Exclude="@(_ResolvedCopyLocalBuildAssets);@(RuntimePackAsset)" Condition="('$(PublishReferencesDocumentationFiles)' == 'true' or '%(ReferenceCopyLocalPaths.Extension)' != '.xml') and '%(ReferenceCopyLocalPaths.Private)' != 'false'">
16912 <DestinationSubPath>%(ReferenceCopyLocalPaths.DestinationSubDirectory)%(ReferenceCopyLocalPaths.Filename)%(ReferenceCopyLocalPaths.Extension)</DestinationSubPath>
16913 </_ResolvedCopyLocalPublishAssets>
16914 </ItemGroup>
16915 </Target>
16916 <!--
16917 ============================================================
16918 _CreateSingleFileHost
16919 Create the single-file host for the publish scenario if app is being published as a self-contained single-file .net5+ app
16920 ============================================================
16921 -->
16922 <Target Name="_CreateSingleFileHost" Inputs="@(IntermediateAssembly);$(SingleFileHostSourcePath)" Outputs="$(SingleFileHostIntermediatePath)" DependsOnTargets="_GetAppHostPaths;_GetAppHostCreationConfiguration" Condition="'$(_UseSingleFileHostForPublish)' == 'true' and&#xD;&#xA; Exists('@(IntermediateAssembly)') and&#xD;&#xA; Exists('$(SingleFileHostSourcePath)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16923 <CreateAppHost AppHostSourcePath="$(SingleFileHostSourcePath)" AppHostDestinationPath="$(SingleFileHostIntermediatePath)" AppBinaryName="$(AssemblyName)$(TargetExt)" IntermediateAssembly="@(IntermediateAssembly->'%(FullPath)')" WindowsGraphicalUserInterface="$(_UseWindowsGraphicalUserInterface)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" EnableMacOSCodeSign="$(_EnableMacOSCodeSign)" DisableCetCompat="$(_DisableCetCompat)" />
16924 </Target>
16925 <!--
16926 ============================================================
16927 _CreateAppHostForPublish
16928 Create the apphost for the publish scenario if app is configuring .NET install search behaviour
16929 Because there is no SDK support yet for output with a layout conforming to the configuration,
16930 only do this on publish, such that the inner dev loop is unaffected.
16931 ============================================================
16932 -->
16933 <Target Name="_CreateAppHostForPublish" Inputs="@(IntermediateAssembly);$(AppHostSourcePath)" Outputs="$(AppHostForPublishIntermediatePath)" DependsOnTargets="_GetAppHostPaths;_GetAppHostCreationConfiguration" Condition="'$(_UpdateAppHostForPublish)' == 'true' and&#xD;&#xA; Exists('@(IntermediateAssembly)') and&#xD;&#xA; Exists('$(AppHostSourcePath)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16934 <CreateAppHost AppHostSourcePath="$(AppHostSourcePath)" AppHostDestinationPath="$(AppHostForPublishIntermediatePath)" AppBinaryName="$(AssemblyName)$(TargetExt)" IntermediateAssembly="@(IntermediateAssembly->'%(FullPath)')" WindowsGraphicalUserInterface="$(_UseWindowsGraphicalUserInterface)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" EnableMacOSCodeSign="$(_EnableMacOSCodeSign)" DisableCetCompat="$(_DisableCetCompat)" DotNetSearchLocations="$(AppHostDotNetSearch)" AppRelativeDotNet="$(AppHostRelativeDotNet)" />
16935 </Target>
16936 <!--
16937 ============================================================
16938 _ComputeCopyToPublishDirectoryItems
16939 ============================================================
16940 -->
16941 <Target Name="_ComputeCopyToPublishDirectoryItems" DependsOnTargets="GetCopyToPublishDirectoryItems" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16942 <ItemGroup>
16943 <ResolvedFileToPublish Include="@(_SourceItemsToCopyToPublishDirectoryAlways)">
16944 <RelativePath>%(_SourceItemsToCopyToPublishDirectoryAlways.TargetPath)</RelativePath>
16945 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
16946 <IsKeyOutput Condition="'%(_SourceItemsToCopyToPublishDirectoryAlways.FullPath)' == '$(AppHostIntermediatePath)'">True</IsKeyOutput>
16947 </ResolvedFileToPublish>
16948 <ResolvedFileToPublish Include="@(_SourceItemsToCopyToPublishDirectory)">
16949 <RelativePath>%(_SourceItemsToCopyToPublishDirectory.TargetPath)</RelativePath>
16950 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
16951 <IsKeyOutput Condition="'%(_SourceItemsToCopyToPublishDirectory.FullPath)' == '$(AppHostIntermediatePath)'">True</IsKeyOutput>
16952 </ResolvedFileToPublish>
16953 </ItemGroup>
16954 </Target>
16955 <!--
16956 ============================================================
16957 GetCopyToPublishDirectoryItems
16958
16959 Get all project items that may need to be transferred to the publish directory.
16960 This includes baggage items from transitively referenced projects. It would appear
16961 that this target computes full transitive closure of content items for all referenced
16962 projects; however that is not the case. It only collects the content items from its
16963 immediate children and not children of children.
16964
16965 See comment on GetCopyToOutputDirectoryItems, from which this logic was taken.
16966 ============================================================
16967 -->
16968 <Target Name="GetCopyToPublishDirectoryItems" Returns="@(AllPublishItemsFullPathWithTargetPath)" KeepDuplicateOutputs=" '$(MSBuildDisableGetCopyToPublishDirectoryItemsOptimization)' == '' " DependsOnTargets="AssignTargetPaths;&#xD;&#xA; DefaultCopyToPublishDirectoryMetadata;&#xD;&#xA; _CreateSingleFileHost;&#xD;&#xA; _CreateAppHostForPublish;&#xD;&#xA; _SplitProjectReferencesByFileExistence;&#xD;&#xA; _GetProjectReferenceTargetFrameworkProperties" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16969 <!-- In the general case, clients need very little of the metadata which is generated by invoking this target on this project and its children. For those
16970 cases, we can immediately discard the unwanted metadata, reducing memory usage, particularly in very large and interconnected systems of projects.
16971 However, if some client does require the original functionality, it is sufficient to set MSBuildDisableGetCopyToPublishDirectoryItemsOptimization to
16972 a non-empty value and the original behavior will be restored. -->
16973 <PropertyGroup Condition=" '$(MSBuildDisableGetCopyToPublishDirectoryItemsOptimization)' == '' ">
16974 <_GCTPDIKeepDuplicates>false</_GCTPDIKeepDuplicates>
16975 <_GCTPDIKeepMetadata>CopyToPublishDirectory;ExcludeFromSingleFile;TargetPath</_GCTPDIKeepMetadata>
16976 </PropertyGroup>
16977 <!-- Get items from child projects first. -->
16978 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="GetCopyToPublishDirectoryItems" BuildInParallel="$(BuildInParallel)" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework)" Condition="'@(_MSBuildProjectReferenceExistent)' != '' and '$(_GetChildProjectCopyToPublishDirectoryItems)' == 'true' and '%(_MSBuildProjectReferenceExistent.Private)' != 'false'" ContinueOnError="$(ContinueOnError)" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences)">
16979 <Output TaskParameter="TargetOutputs" ItemName="_AllChildProjectPublishItemsWithTargetPath" />
16980 </MSBuild>
16981 <!-- Target outputs must be full paths because they will be consumed by a different project. -->
16982 <ItemGroup>
16983 <_SourceItemsToCopyToPublishDirectoryAlways KeepDuplicates=" '$(_GCTPDIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(_AllChildProjectPublishItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectPublishItemsWithTargetPath.CopyToPublishDirectory)'=='Always'" />
16984 <_SourceItemsToCopyToPublishDirectory KeepDuplicates=" '$(_GCTPDIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(_AllChildProjectPublishItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectPublishItemsWithTargetPath.CopyToPublishDirectory)'=='PreserveNewest'" />
16985 </ItemGroup>
16986 <!-- Remove items which we will never again use - they just sit around taking up memory otherwise -->
16987 <ItemGroup>
16988 <_AllChildProjectPublishItemsWithTargetPath Remove="@(_AllChildProjectPublishItemsWithTargetPath)" />
16989 </ItemGroup>
16990 <!-- Get items from this project last so that they will be copied last. -->
16991 <ItemGroup>
16992 <_SourceItemsToCopyToPublishDirectoryAlways KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToPublishDirectory)'=='Always'" />
16993 <_SourceItemsToCopyToPublishDirectory KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToPublishDirectory)'=='PreserveNewest'" />
16994 </ItemGroup>
16995 <ItemGroup>
16996 <_SourceItemsToCopyToPublishDirectoryAlways KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToPublishDirectory)'=='Always'" />
16997 <_SourceItemsToCopyToPublishDirectory KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToPublishDirectory)'=='PreserveNewest'" />
16998 </ItemGroup>
16999 <ItemGroup>
17000 <_CompileItemsToPublish Include="@(Compile->'%(FullPath)')" Condition="'%(Compile.CopyToPublishDirectory)'=='Always' or '%(Compile.CopyToPublishDirectory)'=='PreserveNewest'" />
17001 </ItemGroup>
17002 <AssignTargetPath Files="@(_CompileItemsToPublish)" RootFolder="$(MSBuildProjectDirectory)">
17003 <Output TaskParameter="AssignedFiles" ItemName="_CompileItemsToPublishWithTargetPath" />
17004 </AssignTargetPath>
17005 <ItemGroup>
17006 <_SourceItemsToCopyToPublishDirectoryAlways KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(_CompileItemsToPublishWithTargetPath)" Condition="'%(_CompileItemsToPublishWithTargetPath.CopyToPublishDirectory)'=='Always'" />
17007 <_SourceItemsToCopyToPublishDirectory KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(_CompileItemsToPublishWithTargetPath)" Condition="'%(_CompileItemsToPublishWithTargetPath.CopyToPublishDirectory)'=='PreserveNewest'" />
17008 </ItemGroup>
17009 <ItemGroup>
17010 <_SourceItemsToCopyToPublishDirectoryAlways KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToPublishDirectory)'=='Always'" />
17011 <_SourceItemsToCopyToPublishDirectory KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToPublishDirectory)'=='PreserveNewest'" />
17012 </ItemGroup>
17013 <ItemGroup Condition="'$(_UseSingleFileHostForPublish)' == 'true' and Exists('$(SingleFileHostIntermediatePath)')">
17014 <!-- Remove non-single-file apphost from items to publish -->
17015 <_SourceItemsToCopyToPublishDirectoryAlways Remove="$(AppHostIntermediatePath)" />
17016 <_SourceItemsToCopyToPublishDirectory Remove="$(AppHostIntermediatePath)" />
17017 <!-- Add the single-file host created as part of publish -->
17018 <_SourceItemsToCopyToPublishDirectoryAlways Include="$(SingleFileHostIntermediatePath)" CopyToOutputDirectory="Always" TargetPath="$(AssemblyName)$(_NativeExecutableExtension)" />
17019 </ItemGroup>
17020 <ItemGroup Condition="'$(_UpdateAppHostForPublish)' == 'true' and Exists('$(AppHostForPublishIntermediatePath)')">
17021 <!-- Remove apphost from build from items to publish -->
17022 <_SourceItemsToCopyToPublishDirectoryAlways Remove="$(AppHostIntermediatePath)" />
17023 <_SourceItemsToCopyToPublishDirectory Remove="$(AppHostIntermediatePath)" />
17024 <!-- Add the apphost created as part of publish -->
17025 <_SourceItemsToCopyToPublishDirectoryAlways Include="$(AppHostForPublishIntermediatePath)" CopyToOutputDirectory="Always" TargetPath="$(AssemblyName)$(_NativeExecutableExtension)" />
17026 </ItemGroup>
17027 <ItemGroup>
17028 <AllPublishItemsFullPathWithTargetPath Include="@(_SourceItemsToCopyToPublishDirectoryAlways->'%(FullPath)');@(_SourceItemsToCopyToPublishDirectory->'%(FullPath)')" />
17029 </ItemGroup>
17030 </Target>
17031 <!--
17032 ============================================================
17033 DefaultCopyToPublishDirectoryMetadata
17034
17035 If CopyToPublishDirectory isn't set on these items, the value should be taken from CopyToOutputDirectory.
17036 This way, projects can just set "CopyToOutputDirectory = Always/PreserveNewest" and by default the item will be copied
17037 to both the build output and publish directories.
17038 ============================================================
17039 -->
17040 <Target Name="DefaultCopyToPublishDirectoryMetadata" DependsOnTargets="AssignTargetPaths" Condition=" '$(DefaultCopyToPublishDirectoryMetadata)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17041 <ItemGroup>
17042 <ContentWithTargetPath Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='Always' and '%(ContentWithTargetPath.CopyToPublishDirectory)' == ''">
17043 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
17044 </ContentWithTargetPath>
17045 <ContentWithTargetPath Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' and '%(ContentWithTargetPath.CopyToPublishDirectory)' == ''">
17046 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
17047 </ContentWithTargetPath>
17048 <EmbeddedResource Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='Always' and '%(EmbeddedResource.CopyToPublishDirectory)' == ''">
17049 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
17050 </EmbeddedResource>
17051 <EmbeddedResource Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='PreserveNewest' and '%(EmbeddedResource.CopyToPublishDirectory)' == ''">
17052 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
17053 </EmbeddedResource>
17054 <Compile Condition="'%(Compile.CopyToOutputDirectory)'=='Always' and '%(Compile.CopyToPublishDirectory)' == ''">
17055 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
17056 </Compile>
17057 <Compile Condition="'%(Compile.CopyToOutputDirectory)'=='PreserveNewest' and '%(Compile.CopyToPublishDirectory)' == ''">
17058 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
17059 </Compile>
17060 <_NoneWithTargetPath Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' and '%(_NoneWithTargetPath.CopyToPublishDirectory)' == ''">
17061 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
17062 </_NoneWithTargetPath>
17063 <_NoneWithTargetPath Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' and '%(_NoneWithTargetPath.CopyToPublishDirectory)' == ''">
17064 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
17065 </_NoneWithTargetPath>
17066 </ItemGroup>
17067 </Target>
17068 <PropertyGroup Condition="'$(SelfContained)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17069 <_ComputeManagedRuntimePackAssembliesIfSelfContained>_ComputeManagedRuntimePackAssemblies</_ComputeManagedRuntimePackAssembliesIfSelfContained>
17070 </PropertyGroup>
17071 <!-- Determine the managed assembly subset of ResolvedFileToPublish that should be post-processed by linker, and ready to run compilation -->
17072 <Target Name="_ComputeAssembliesToPostprocessOnPublish" DependsOnTargets="_ComputeUserRuntimeAssemblies;$(_ComputeManagedRuntimePackAssembliesIfSelfContained)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17073 <!--
17074 Default set of files to post-process correspond to the items that would be designated
17075 as managed runtime assemblies in .deps.json, and published to root of the application.
17076 RuntimeTargets and satellite assemblies are excluded. Currently, both linker and ready
17077 to run require a RID, so there will not be RuntimeTargets. Linker could conceptually
17078 operate without a RID, but would not know how to handle multiple assemblies with same
17079 identity.
17080 -->
17081 <ItemGroup>
17082 <!-- Assemblies from packages -->
17083 <_ManagedRuntimeAssembly Include="@(RuntimeCopyLocalItems)" />
17084 <!-- Assemblies from other references -->
17085 <_ManagedRuntimeAssembly Include="@(UserRuntimeAssembly)" />
17086 <!-- Assembly produced by this project -->
17087 <_ManagedRuntimeAssembly Include="@(IntermediateAssembly)" />
17088 </ItemGroup>
17089 <!-- Assemblies from runtime packs for self-contained apps -->
17090 <ItemGroup Condition="'$(SelfContained)' == 'true'">
17091 <_ManagedRuntimeAssembly Include="@(_ManagedRuntimePackAssembly)" />
17092 </ItemGroup>
17093 <!--
17094 Match above with ResolvedFileToPublish. Some of above would have been excluded from publish in
17095 various ways and should be excluded from the list of files to postprocess as well. Furthermore,
17096 the metadata must match ResolvedFileToPublish as the tools modify or remove these items in that
17097 list to implement their post-processing.
17098 -->
17099 <JoinItems Left="@(_ManagedRuntimeAssembly)" Right="@(ResolvedFileToPublish)" RightMetadata="*">
17100 <Output TaskParameter="JoinResult" ItemName="_AssemblyToPostprocessOnPublish" />
17101 </JoinItems>
17102 <!--
17103 Set PostprocessAssembly=true metadata on ResolvedFileToPublish, which will be honored by linker
17104 and crossgen.
17105
17106 Assemblies injected into ResolvedFileToPublish outside the set above (such as razor views) are
17107 responsible for setting this metadata to opt in to post-processing.
17108 -->
17109 <ItemGroup>
17110 <ResolvedFileToPublish Remove="@(_AssemblyToPostprocessOnPublish)" />
17111 <ResolvedFileToPublish Include="@(_AssemblyToPostprocessOnPublish)" PostprocessAssembly="true" />
17112 </ItemGroup>
17113 </Target>
17114 <Target Name="_ComputeManagedRuntimePackAssemblies" Returns="@(_ManagedRuntimePackAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17115 <ItemGroup>
17116 <!-- Special case for System.Private.Corelib due to https://github.com/dotnet/core-setup/issues/7728 -->
17117 <_ManagedRuntimePackAssembly Include="@(RuntimePackAsset)" Condition="'%(RuntimePackAsset.AssetType)' == 'runtime'&#xD;&#xA; or '%(RuntimePackAsset.Filename)' == 'System.Private.Corelib'" />
17118 </ItemGroup>
17119 </Target>
17120 <Target Name="_ComputeUseBuildDependencyFile" DependsOnTargets="_ComputePackageReferencePublish;&#xD;&#xA; _ParseTargetManifestFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17121 <!-- Check to see whether we can re-use the .deps.json file from the build for publish, or whether we have to
17122 generate a different one. -->
17123 <PropertyGroup>
17124 <_TrimRuntimeAssets Condition="'$(PublishSingleFile)' == 'true' and '$(SelfContained)' == 'true'">true</_TrimRuntimeAssets>
17125 <_UseBuildDependencyFile Condition="'@(_ExcludeFromPublishPackageReference)' == '' and&#xD;&#xA; '@(RuntimeStorePackages)' == '' and&#xD;&#xA; '$(PreserveStoreLayout)' != 'true' and&#xD;&#xA; '$(PublishTrimmed)' != 'true' and&#xD;&#xA; '$(_TrimRuntimeAssets)' != 'true'">true</_UseBuildDependencyFile>
17126 </PropertyGroup>
17127 </Target>
17128 <!--
17129 ============================================================
17130 GenerateSingleFileBundle
17131
17132 Bundle the ResolvedFileToPublish items into one file in PublishDir
17133 (except those marked ExcludeFromSingleFile)
17134 ============================================================
17135 -->
17136 <Target Name="_ComputeFilesToBundle" DependsOnTargets="_HandleFileConflictsForPublish" Condition="'$(PublishSingleFile)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17137 <ItemGroup>
17138 <_FilesToBundle Include="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.ExcludeFromSingleFile)' != 'true'" />
17139 <ResolvedFileToPublish Remove="@(_FilesToBundle)" />
17140 </ItemGroup>
17141 <PropertyGroup>
17142 <PublishedSingleFileName>$(AssemblyName)$(_NativeExecutableExtension)</PublishedSingleFileName>
17143 <PublishedSingleFilePath>$(PublishDir)$(PublishedSingleFileName)</PublishedSingleFilePath>
17144 </PropertyGroup>
17145 </Target>
17146 <Target Name="PrepareForBundle" DependsOnTargets="_ComputeFilesToBundle" Condition="'$(PublishSingleFile)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17147 <ItemGroup>
17148 <FilesToBundle Include="@(_FilesToBundle)" />
17149 </ItemGroup>
17150 <PropertyGroup>
17151 <AppHostFile>$(PublishedSingleFileName)</AppHostFile>
17152 </PropertyGroup>
17153 </Target>
17154 <Target Name="_GenerateSingleFileBundleInputCache" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17155 <ItemGroup>
17156 <_GenerateSingleFileBundlePropertyInputsCacheToHash Include="$(PublishedSingleFilePath)" />
17157 <_GenerateSingleFileBundlePropertyInputsCacheToHash Include="$(TraceSingleFileBundler)" />
17158 <_GenerateSingleFileBundlePropertyInputsCacheToHash Include="$(IncludeSymbolsInSingleFile)" />
17159 <_GenerateSingleFileBundlePropertyInputsCacheToHash Include="$(IncludeAllContentForSelfExtract)" />
17160 <_GenerateSingleFileBundlePropertyInputsCacheToHash Include="$(IncludeNativeLibrariesForSelfExtract)" />
17161 <_GenerateSingleFileBundlePropertyInputsCacheToHash Include="$(EnableCompressionInSingleFile)" />
17162 <_GenerateSingleFileBundlePropertyInputsCacheToHash Include="$(PublishedSingleFileName)" />
17163 <_GenerateSingleFileBundlePropertyInputsCacheToHash Include="$(RuntimeIdentifier)" />
17164 <_GenerateSingleFileBundlePropertyInputsCacheToHash Include="$(PublishDir)" />
17165 <_GenerateSingleFileBundlePropertyInputsCacheToHash Include="$(_TargetFrameworkVersionWithoutV)" />
17166 <_GenerateSingleFileBundlePropertyInputsCacheToHash Include="@(FilesToBundle)" />
17167 </ItemGroup>
17168 <Hash ItemsToHash="@(_GenerateSingleFileBundlePropertyInputsCacheToHash)">
17169 <Output TaskParameter="HashResult" PropertyName="_GenerateSingleFileBundlePropertyInputsCacheHash" />
17170 </Hash>
17171 <WriteLinesToFile Lines="$(_GenerateSingleFileBundlePropertyInputsCacheHash)" File="$(_GenerateSingleFileBundlePropertyInputsCache)" Overwrite="true" WriteOnlyWhenDifferent="true" />
17172 </Target>
17173 <UsingTask TaskName="GenerateBundle" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
17174 <Target Name="GenerateSingleFileBundle" Condition="'$(PublishSingleFile)' == 'true' and '$(PublishAot)' != 'true'" DependsOnTargets="_ComputeFilesToBundle;PrepareForBundle;_GenerateSingleFileBundleInputCache" Inputs="@(FilesToBundle);$(_GenerateSingleFileBundlePropertyInputsCache)" Outputs="$(PublishedSingleFilePath)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17175 <PropertyGroup>
17176 <TraceSingleFileBundler Condition="'$(TraceSingleFileBundler)' == ''">false</TraceSingleFileBundler>
17177 <IncludeSymbolsInSingleFile Condition="'$(IncludeSymbolsInSingleFile)' == ''">false</IncludeSymbolsInSingleFile>
17178 <IncludeAllContentForSelfExtract Condition="'$(IncludeAllContentForSelfExtract)' == ''">false</IncludeAllContentForSelfExtract>
17179 <IncludeNativeLibrariesForSelfExtract Condition="'$(IncludeNativeLibrariesForSelfExtract)' == ''">$(IncludeAllContentForSelfExtract)</IncludeNativeLibrariesForSelfExtract>
17180 <EnableCompressionInSingleFile Condition="'$(EnableCompressionInSingleFile)' == ''">false</EnableCompressionInSingleFile>
17181 </PropertyGroup>
17182 <NETSdkError Condition="'$(IncludeAllContentForSelfExtract)' == 'true' And '$(IncludeNativeLibrariesForSelfExtract)' != 'true'" ResourceName="CannotIncludeAllContentButNotNativeLibrariesInSingleFile" />
17183 <GenerateBundle FilesToBundle="@(FilesToBundle)" AppHostName="$(PublishedSingleFileName)" IncludeSymbols="$(IncludeSymbolsInSingleFile)" EnableCompressionInSingleFile="$(EnableCompressionInSingleFile)" IncludeNativeLibraries="$(IncludeNativeLibrariesForSelfExtract)" IncludeAllContent="$(IncludeAllContentForSelfExtract)" TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" RuntimeIdentifier="$(RuntimeIdentifier)" OutputDir="$(PublishDir)" ShowDiagnosticOutput="$(TraceSingleFileBundler)" EnableMacOSCodeSign="$(_EnableMacOSCodeSign)">
17184 <Output TaskParameter="ExcludedFiles" ItemName="_FilesExcludedFromBundle" />
17185 </GenerateBundle>
17186 <ItemGroup>
17187 <ResolvedFileToPublish Include="@(_FilesExcludedFromBundle)" />
17188 <!-- ResolvedFileToPublish shouldn't include PublishedSingleFilePath, since the single-file bundle is written directly to the publish directory -->
17189 </ItemGroup>
17190 </Target>
17191 <Target Name="_ComputeIntermediateDepsFilePath" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17192 <PropertyGroup>
17193 <!-- IntermediateDepsFilePath is the location where the deps.json file is originally created -->
17194 <IntermediateDepsFilePath Condition=" '$(PublishDepsFilePath)' != ''">$(PublishDepsFilePath)</IntermediateDepsFilePath>
17195 <IntermediateDepsFilePath Condition=" '$(PublishDepsFilePath)' == ''">$(IntermediateOutputPath)$(ProjectDepsFileName)</IntermediateDepsFilePath>
17196 </PropertyGroup>
17197 </Target>
17198 <Target Name="_GeneratePublishDependencyFileInputCache" DependsOnTargets="_ComputeIntermediateDepsFilePath" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17199 <ItemGroup>
17200 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(PublishDepsFilePath)" />
17201 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(PublishSingleFile)" />
17202 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(MSBuildProjectFullPath)" />
17203 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(ProjectAssetsFile)" />
17204 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(IntermediateDepsFilePath)" />
17205 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(TargetFramework)" />
17206 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(AssemblyName)" />
17207 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(TargetExt)" />
17208 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(Version)" />
17209 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(IncludeMainProjectInDepsFile)" />
17210 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(RuntimeIdentifier)" />
17211 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(MicrosoftNETPlatformLibrary)" />
17212 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(SelfContained)" />
17213 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(IncludeFileVersionsInDependencyFile)" />
17214 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(RuntimeIdentifierGraphPath)" />
17215 <_GeneratePublishDependencyFilePropertyInputsCacheToHash Include="$(IncludeProjectsNotInAssetsFileInDepsFile)" />
17216 </ItemGroup>
17217 <Hash ItemsToHash="@(_GeneratePublishDependencyFilePropertyInputsCacheToHash)">
17218 <Output TaskParameter="HashResult" PropertyName="_GeneratePublishDependencyFilePropertyInputsCacheHash" />
17219 </Hash>
17220 <WriteLinesToFile Lines="$(_GeneratePublishDependencyFilePropertyInputsCacheHash)" File="$(_GeneratePublishDependencyFilePropertyInputsCache)" Overwrite="True" WriteOnlyWhenDifferent="True" />
17221 <ItemGroup>
17222 <FileWrites Include="$(_GeneratePublishDependencyFilePropertyInputsCache)" />
17223 </ItemGroup>
17224 </Target>
17225 <!--
17226 ============================================================
17227 _GeneratePublishDependencyFile
17228 Generates the $(project).deps.json file for a published app
17229 ============================================================
17230 -->
17231 <Target Name="GeneratePublishDependencyFile" DependsOnTargets="_ComputeUseBuildDependencyFile;&#xD;&#xA; _ComputeIntermediateDepsFilePath;&#xD;&#xA; _DefaultMicrosoftNETPlatformLibrary;&#xD;&#xA; _HandlePackageFileConflicts;&#xD;&#xA; _HandlePackageFileConflictsForPublish;&#xD;&#xA; _ComputeReferenceAssemblies;&#xD;&#xA; _ComputeUserRuntimeAssemblies;&#xD;&#xA; ResolveRuntimePackAssets;&#xD;&#xA; _ComputePackageReferencePublish;&#xD;&#xA; _GeneratePublishDependencyFileInputCache" Condition="'$(GenerateDependencyFile)' == 'true' and '$(_UseBuildDependencyFile)' != 'true' and '$(PublishAot)' != 'true'" Inputs="$(ProjectAssetsFile);$(ProjectAssetsCacheFile);$(MSBuildAllProjects);$(_GeneratePublishDependencyFilePropertyInputsCache)" Outputs="$(IntermediateDepsFilePath)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17232 <PropertyGroup>
17233 <!-- PublishDepsFilePath is the location where the deps.json resides when published
17234 PublishDepsFilePath is empty (by default) for PublishSingleFile, since the deps.json file is embedded within the single-file bundle -->
17235 <PublishDepsFilePath Condition=" '$(PublishDepsFilePath)' == '' And '$(PublishSingleFile)' != 'true'">$(PublishDir)$(ProjectDepsFileName)</PublishDepsFilePath>
17236 <_IsSingleFilePublish Condition="'$(PublishSingleFile)' == ''">false</_IsSingleFilePublish>
17237 <_IsSingleFilePublish Condition="'$(PublishSingleFile)' != ''">$(PublishSingleFile)</_IsSingleFilePublish>
17238 </PropertyGroup>
17239 <ItemGroup>
17240 <ResolvedCompileFileDefinitions Remove="@(_PublishConflictPackageFiles)" Condition="'%(_PublishConflictPackageFiles.ConflictItemType)' == 'Reference'" />
17241 <RuntimeTargetsCopyLocalItems Remove="@(_PublishConflictPackageFiles)" Condition="'%(_PublishConflictPackageFiles.ConflictItemType)' != 'Reference'" />
17242 <RuntimePackAsset Remove="@(_PublishConflictPackageFiles)" Condition="'%(_PublishConflictPackageFiles.ConflictItemType)' != 'Reference'" />
17243 <_ResolvedNuGetFilesForPublish Include="@(NativeCopyLocalItems)" Condition="'%(NativeCopyLocalItems.CopyToPublishDirectory)' != 'false'" />
17244 <_ResolvedNuGetFilesForPublish Include="@(ResourceCopyLocalItems)" Condition="'%(ResourceCopyLocalItems.CopyToPublishDirectory)' != 'false'" />
17245 <_ResolvedNuGetFilesForPublish Include="@(RuntimeCopyLocalItems)" Condition="'%(RuntimeCopyLocalItems.CopyToPublishDirectory)' != 'false'" />
17246 <_ResolvedNuGetFilesForPublish Remove="@(_PublishConflictPackageFiles)" Condition="'%(_PublishConflictPackageFiles.ConflictItemType)' != 'Reference'" />
17247 </ItemGroup>
17248 <GenerateDepsFile ProjectPath="$(MSBuildProjectFullPath)" AssetsFilePath="$(ProjectAssetsFile)" DepsFilePath="$(IntermediateDepsFilePath)" TargetFramework="$(TargetFramework)" AssemblyName="$(AssemblyName)" AssemblyExtension="$(TargetExt)" AssemblyVersion="$(Version)" AssemblySatelliteAssemblies="@(IntermediateSatelliteAssembliesWithTargetPath)" ReferencePaths="@(ReferencePath)" ReferenceDependencyPaths="@(ReferenceDependencyPaths)" ReferenceSatellitePaths="@(ReferenceSatellitePaths)" ReferenceAssemblies="@(_ReferenceAssemblies)" RuntimePackAssets="@(RuntimePackAsset)" IncludeMainProject="$(IncludeMainProjectInDepsFile)" TrimDepsJsonLibrariesWithoutAssets="$(TrimDepsJsonLibrariesWithoutAssets)" RuntimeIdentifier="$(RuntimeIdentifier)" PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" RuntimeFrameworks="@(RuntimeFramework)" CompilerOptions="@(DependencyFileCompilerOptions)" RuntimeStorePackages="@(RuntimeStorePackages)" CompileReferences="@(ResolvedCompileFileDefinitions)" ResolvedNuGetFiles="@(_ResolvedNuGetFilesForPublish)" ResolvedRuntimeTargetsFiles="@(RuntimeTargetsCopyLocalItems)" UserRuntimeAssemblies="@(UserRuntimeAssembly)" IsSelfContained="$(SelfContained)" IsSingleFile="$(_IsSingleFilePublish)" IncludeRuntimeFileVersions="$(IncludeFileVersionsInDependencyFile)" RuntimeGraphPath="$(RuntimeIdentifierGraphPath)" IncludeProjectsNotInAssetsFile="$(IncludeProjectsNotInAssetsFileInDepsFile)" />
17249 <ItemGroup>
17250 <ResolvedFileToPublish Include="$(IntermediateDepsFilePath)">
17251 <RelativePath>$(ProjectDepsFileName)</RelativePath>
17252 </ResolvedFileToPublish>
17253 </ItemGroup>
17254 </Target>
17255 <!--
17256 ============================================================
17257 ComputeEmbeddedApphostPaths
17258
17259 When no build flag is set, EmbeddedApphostPaths is not available. Compute EmbeddedApphostPaths is required to find build asset.
17260 ============================================================
17261 -->
17262 <UsingTask TaskName="Microsoft.NET.Build.Tasks.GetEmbeddedApphostPaths" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
17263 <Target Name="ComputeEmbeddedApphostPaths" Condition="'$(PackAsTool)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17264 <ItemGroup>
17265 <_PackAsToolShimRuntimeIdentifiers Condition="@(_PackAsToolShimRuntimeIdentifiers) ==''" Include="$(PackAsToolShimRuntimeIdentifiers)" />
17266 </ItemGroup>
17267 <GetEmbeddedApphostPaths PackagedShimOutputDirectory="$([MSBuild]::NormalizeDirectory($(PackagedShimOutputRootDirectory), 'shims', $(TargetFramework)))" ShimRuntimeIdentifiers="@(_PackAsToolShimRuntimeIdentifiers)" ToolCommandName="$(ToolCommandName)">
17268 <Output TaskParameter="EmbeddedApphostPaths" ItemName="_EmbeddedApphostPaths" />
17269 </GetEmbeddedApphostPaths>
17270 </Target>
17271 <!--
17272 ============================================================
17273 ComputeFilesCopiedToPublishDir
17274
17275 Gathers all the files that will be copied to the publish directory. This is used by wapproj and is required for back compat.
17276 ============================================================
17277 -->
17278 <Target Name="ComputeFilesCopiedToPublishDir" DependsOnTargets="ComputeResolvedFilesToPublishList;&#xD;&#xA; _ComputeFilesToBundle" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17279 <ItemGroup>
17280 <FilesCopiedToPublishDir Include="@(ResolvedFileToPublish)" />
17281 <FilesCopiedToPublishDir Include="$(PublishedSingleFilePath)" RelativePath="$(PublishedSingleFileName)" IsKeyOutput="true" Condition="'$(PublishSingleFile)' == 'true'" />
17282 <!-- Wapproj handles adding the correct deps.json file, so remove it here to avoid duplicates. -->
17283 <FilesCopiedToPublishDir Remove="@(FilesCopiedToPublishDir)" Condition="'%(FilesCopiedToPublishDir.Filename)%(FilesCopiedToPublishDir.Extension)' == '$(ProjectDepsFileName)'" />
17284 </ItemGroup>
17285 </Target>
17286 <!--
17287 ============================================================
17288 PublishItemsOutputGroup
17289
17290 Emit an output group containing all files that get published. This will be consumed by VS installer projects.
17291 ============================================================
17292 -->
17293 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17294 <PublishItemsOutputGroupDependsOn>
17295 $(PublishItemsOutputGroupDependsOn);
17296 ResolveReferences;
17297 ComputeResolvedFilesToPublishList;
17298 _ComputeFilesToBundle;
17299 </PublishItemsOutputGroupDependsOn>
17300 </PropertyGroup>
17301 <UsingTask TaskName="Microsoft.NET.Build.Tasks.GetPublishItemsOutputGroupOutputs" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
17302 <Target Name="PublishItemsOutputGroup" DependsOnTargets="$(PublishItemsOutputGroupDependsOn)" Returns="@(PublishItemsOutputGroupOutputs)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17303 <GetPublishItemsOutputGroupOutputs ResolvedFileToPublish="@(ResolvedFileToPublish)" PublishDir="$(PublishDir)">
17304 <Output TaskParameter="PublishItemsOutputGroupOutputs" ItemName="PublishItemsOutputGroupOutputs" />
17305 </GetPublishItemsOutputGroupOutputs>
17306 <ItemGroup>
17307 <PublishItemsOutputGroupOutputs Include="$(PublishedSingleFilePath)" TargetPath="$(PublishedSingleFileName)" IsKeyOutput="true" Condition="'$(PublishSingleFile)' == 'true'" OutputPath="$(PublishedSingleFilePath)" OutputGroup="PublishItemsOutputGroup" />
17308 </ItemGroup>
17309 </Target>
17310 <!--
17311 This target exists for back-compat with Azure Functions SDK: https://github.com/dotnet/cli/issues/10363
17312 Because build copy-local now behaves the same as publish with respect to package dependency resolution,
17313 the Azure Functions SDK doesn't need to resolve publish assets for build.
17314 TODO: Remove this target when no longer needed as a workaround.
17315 -->
17316 <Target Name="RunResolvePublishAssemblies" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
17317 <!--
17318 ============================================================
17319 _CheckForLanguageAndPublishFeatureCombinationSupport
17320
17321 Block unsupported language and feature combination.
17322 ============================================================
17323 -->
17324 <Target Name="_CheckForLanguageAndPublishFeatureCombinationSupport" Condition="$(IsPublishable) == 'true'" BeforeTargets="Publish;PrepareForPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17325 <NETSdkError Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true') and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" ResourceName="NoSupportCppPublishDotnetCore" />
17326 </Target>
17327 <!--
17328============================================================================================================================================
17329 </Import>
17330
17331C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
17332============================================================================================================================================
17333-->
17334 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackStubs.targets" Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true')" />-->
17335 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackTool.targets" Condition="'$(PackAsTool)' == 'true'" />-->
17336 <!--
17337============================================================================================================================================
17338 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackProjectTool.targets">
17339
17340C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.PackProjectTool.targets
17341============================================================================================================================================
17342-->
17343 <!--
17344***********************************************************************************************
17345Microsoft.NET.PackProjectTool.targets
17346
17347WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
17348 created a backup copy. Incorrect changes to this file will make it
17349 impossible to load or build your projects from the command-line or the IDE.
17350
17351Copyright (c) .NET Foundation. All rights reserved.
17352***********************************************************************************************
17353-->
17354 <Target Name="_PackProjectToolValidation" Condition=" '$(PackageType)' == 'DotnetCliTool'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17355 <NETSdkError Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' &gt; '2.2' " ResourceName="ProjectToolOnlySupportTFMLowerThanNetcoreapp22" />
17356 </Target>
17357 <!--
17358============================================================================================================================================
17359 </Import>
17360
17361C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
17362============================================================================================================================================
17363-->
17364 <!--
17365============================================================================================================================================
17366 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PreserveCompilationContext.targets">
17367
17368C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.PreserveCompilationContext.targets
17369============================================================================================================================================
17370-->
17371 <!--
17372***********************************************************************************************
17373Microsoft.NET.PreserveCompilationContext.targets
17374
17375WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
17376 created a backup copy. Incorrect changes to this file will make it
17377 impossible to load or build your projects from the command-line or the IDE.
17378
17379Copyright (c) .NET Foundation. All rights reserved.
17380***********************************************************************************************
17381-->
17382 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17383 <RefAssembliesFolderName Condition="'$(RefAssembliesFolderName)' == ''">refs</RefAssembliesFolderName>
17384 <PreserveCompilationReferences Condition=" '$(PreserveCompilationReferences)' == ''">$(PreserveCompilationContext)</PreserveCompilationReferences>
17385 </PropertyGroup>
17386 <Target Name="ComputeDependencyFileCompilerOptions" Condition="'$(PreserveCompilationContext)' == 'true'" BeforeTargets="GenerateBuildDependencyFile;&#xD;&#xA; GeneratePublishDependencyFile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17387 <ItemGroup>
17388 <DependencyFileCompilerOptions Include="CompilerOptions">
17389 <DefineConstants>$(DefineConstants)</DefineConstants>
17390 <LangVersion>$(LangVersion)</LangVersion>
17391 <PlatformTarget>$(PlatformTarget)</PlatformTarget>
17392 <AllowUnsafeBlocks>$(AllowUnsafeBlocks)</AllowUnsafeBlocks>
17393 <TreatWarningsAsErrors>$(TreatWarningsAsErrors)</TreatWarningsAsErrors>
17394 <Optimize>$(Optimize)</Optimize>
17395 <AssemblyOriginatorKeyFile>$(AssemblyOriginatorKeyFile)</AssemblyOriginatorKeyFile>
17396 <DelaySign>$(DelaySign)</DelaySign>
17397 <PublicSign>$(PublicSign)</PublicSign>
17398 <DebugType>$(DebugType)</DebugType>
17399 <OutputType>$(OutputType)</OutputType>
17400 <GenerateDocumentationFile>$(GenerateDocumentationFile)</GenerateDocumentationFile>
17401 </DependencyFileCompilerOptions>
17402 </ItemGroup>
17403 </Target>
17404 <UsingTask TaskName="FindItemsFromPackages" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
17405 <Target Name="ComputeRefAssembliesToPublish" Condition="'$(PreserveCompilationReferences)' == 'true'" DependsOnTargets="ResolvePackageAssets;&#xD;&#xA; _ParseTargetManifestFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17406 <FindItemsFromPackages Items="@(RuntimeCopyLocalItems)" Packages="@(RuntimeStorePackages)">
17407 <Output TaskParameter="ItemsFromPackages" ItemName="_RuntimeItemsInRuntimeStore" />
17408 </FindItemsFromPackages>
17409 <ItemGroup>
17410 <!--
17411 Don't copy a compilation assembly if it's also a runtime assembly. There is no need to copy the same
17412 assembly to the 'refs' folder, if it is already in the publish directory.
17413 -->
17414 <_RefAssembliesToExclude Include="@(_ResolvedCopyLocalPublishAssets->'%(FullPath)')" />
17415 <!--
17416 Similarly, don't copy a compilation assembly if it's also a runtime assembly that is in a runtime store.
17417 It will be resolved from the runtime store directory at runtime.
17418 -->
17419 <_RefAssembliesToExclude Include="@(_RuntimeItemsInRuntimeStore)" />
17420 <ResolvedFileToPublish Include="@(ReferencePath)" Exclude="@(_RefAssembliesToExclude)">
17421 <RelativePath>$(RefAssembliesFolderName)\%(Filename)%(Extension)</RelativePath>
17422 </ResolvedFileToPublish>
17423 </ItemGroup>
17424 </Target>
17425 <!--
17426 ============================================================
17427 _CopyReferenceOnlyAssembliesForBuild
17428
17429 Copies reference assemblies that normally can't be resolved at runtime to the 'refs' folder in the build output.
17430 This is necessary in order for the running app to resolve these reference assemblies.
17431 ============================================================
17432 -->
17433 <Target Name="_CopyReferenceOnlyAssembliesForBuild" Condition="'$(PreserveCompilationReferences)' == 'true'" DependsOnTargets="_ComputeReferenceAssemblies" AfterTargets="CopyFilesToOutputDirectory" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17434 <Copy SourceFiles="@(_ReferenceOnlyAssemblies)" DestinationFolder="$(OutDir)$(RefAssembliesFolderName)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)">
17435 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
17436 </Copy>
17437 </Target>
17438 <!--
17439============================================================================================================================================
17440 </Import>
17441
17442C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
17443============================================================================================================================================
17444-->
17445 <!--
17446============================================================================================================================================
17447 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ConflictResolution.targets">
17448
17449C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ConflictResolution.targets
17450============================================================================================================================================
17451-->
17452 <!--
17453***********************************************************************************************
17454Microsoft.NET.ConflictResolution.targets
17455
17456WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
17457 created a backup copy. Incorrect changes to this file will make it
17458 impossible to load or build your projects from the command-line or the IDE.
17459
17460Copyright (c) .NET Foundation. All rights reserved.
17461***********************************************************************************************
17462-->
17463 <!--
17464============================================================================================================================================
17465 <Import Project="Microsoft.NET.DefaultPackageConflictOverrides.targets">
17466
17467C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DefaultPackageConflictOverrides.targets
17468============================================================================================================================================
17469-->
17470 <!--
17471***********************************************************************************************
17472Microsoft.NET.DefaultPackageConflictOverrides.targets
17473
17474WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
17475 created a backup copy. Incorrect changes to this file will make it
17476 impossible to load or build your projects from the command-line or the IDE.
17477
17478Copyright (c) .NET Foundation. All rights reserved.
17479***********************************************************************************************
17480-->
17481 <ItemGroup Condition="'$(DisableDefaultPackageConflictOverrides)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17482 <PackageConflictOverrides Include="Microsoft.NETCore.App" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And ('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &lt; '3.0')">
17483 <OverriddenPackages>
17484 Microsoft.CSharp|4.4.0;
17485 Microsoft.Win32.Primitives|4.3.0;
17486 Microsoft.Win32.Registry|4.4.0;
17487 runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
17488 runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
17489 runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
17490 runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
17491 runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
17492 runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple|4.3.0;
17493 runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
17494 runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
17495 runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
17496 runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
17497 runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
17498 System.AppContext|4.3.0;
17499 System.Buffers|4.4.0;
17500 System.Collections|4.3.0;
17501 System.Collections.Concurrent|4.3.0;
17502 System.Collections.Immutable|1.4.0;
17503 System.Collections.NonGeneric|4.3.0;
17504 System.Collections.Specialized|4.3.0;
17505 System.ComponentModel|4.3.0;
17506 System.ComponentModel.EventBasedAsync|4.3.0;
17507 System.ComponentModel.Primitives|4.3.0;
17508 System.ComponentModel.TypeConverter|4.3.0;
17509 System.Console|4.3.0;
17510 System.Data.Common|4.3.0;
17511 System.Diagnostics.Contracts|4.3.0;
17512 System.Diagnostics.Debug|4.3.0;
17513 System.Diagnostics.DiagnosticSource|4.4.0;
17514 System.Diagnostics.FileVersionInfo|4.3.0;
17515 System.Diagnostics.Process|4.3.0;
17516 System.Diagnostics.StackTrace|4.3.0;
17517 System.Diagnostics.TextWriterTraceListener|4.3.0;
17518 System.Diagnostics.Tools|4.3.0;
17519 System.Diagnostics.TraceSource|4.3.0;
17520 System.Diagnostics.Tracing|4.3.0;
17521 System.Dynamic.Runtime|4.3.0;
17522 System.Globalization|4.3.0;
17523 System.Globalization.Calendars|4.3.0;
17524 System.Globalization.Extensions|4.3.0;
17525 System.IO|4.3.0;
17526 System.IO.Compression|4.3.0;
17527 System.IO.Compression.ZipFile|4.3.0;
17528 System.IO.FileSystem|4.3.0;
17529 System.IO.FileSystem.AccessControl|4.4.0;
17530 System.IO.FileSystem.DriveInfo|4.3.0;
17531 System.IO.FileSystem.Primitives|4.3.0;
17532 System.IO.FileSystem.Watcher|4.3.0;
17533 System.IO.IsolatedStorage|4.3.0;
17534 System.IO.MemoryMappedFiles|4.3.0;
17535 System.IO.Pipes|4.3.0;
17536 System.IO.UnmanagedMemoryStream|4.3.0;
17537 System.Linq|4.3.0;
17538 System.Linq.Expressions|4.3.0;
17539 System.Linq.Queryable|4.3.0;
17540 System.Net.Http|4.3.0;
17541 System.Net.NameResolution|4.3.0;
17542 System.Net.Primitives|4.3.0;
17543 System.Net.Requests|4.3.0;
17544 System.Net.Security|4.3.0;
17545 System.Net.Sockets|4.3.0;
17546 System.Net.WebHeaderCollection|4.3.0;
17547 System.ObjectModel|4.3.0;
17548 System.Private.DataContractSerialization|4.3.0;
17549 System.Reflection|4.3.0;
17550 System.Reflection.Emit|4.3.0;
17551 System.Reflection.Emit.ILGeneration|4.3.0;
17552 System.Reflection.Emit.Lightweight|4.3.0;
17553 System.Reflection.Extensions|4.3.0;
17554 System.Reflection.Metadata|1.5.0;
17555 System.Reflection.Primitives|4.3.0;
17556 System.Reflection.TypeExtensions|4.3.0;
17557 System.Resources.ResourceManager|4.3.0;
17558 System.Runtime|4.3.0;
17559 System.Runtime.Extensions|4.3.0;
17560 System.Runtime.Handles|4.3.0;
17561 System.Runtime.InteropServices|4.3.0;
17562 System.Runtime.InteropServices.RuntimeInformation|4.3.0;
17563 System.Runtime.Loader|4.3.0;
17564 System.Runtime.Numerics|4.3.0;
17565 System.Runtime.Serialization.Formatters|4.3.0;
17566 System.Runtime.Serialization.Json|4.3.0;
17567 System.Runtime.Serialization.Primitives|4.3.0;
17568 System.Security.AccessControl|4.4.0;
17569 System.Security.Claims|4.3.0;
17570 System.Security.Cryptography.Algorithms|4.3.0;
17571 System.Security.Cryptography.Cng|4.4.0;
17572 System.Security.Cryptography.Csp|4.3.0;
17573 System.Security.Cryptography.Encoding|4.3.0;
17574 System.Security.Cryptography.OpenSsl|4.4.0;
17575 System.Security.Cryptography.Primitives|4.3.0;
17576 System.Security.Cryptography.X509Certificates|4.3.0;
17577 System.Security.Cryptography.Xml|4.4.0;
17578 System.Security.Principal|4.3.0;
17579 System.Security.Principal.Windows|4.4.0;
17580 System.Text.Encoding|4.3.0;
17581 System.Text.Encoding.Extensions|4.3.0;
17582 System.Text.RegularExpressions|4.3.0;
17583 System.Threading|4.3.0;
17584 System.Threading.Overlapped|4.3.0;
17585 System.Threading.Tasks|4.3.0;
17586 System.Threading.Tasks.Extensions|4.3.0;
17587 System.Threading.Tasks.Parallel|4.3.0;
17588 System.Threading.Thread|4.3.0;
17589 System.Threading.ThreadPool|4.3.0;
17590 System.Threading.Timer|4.3.0;
17591 System.ValueTuple|4.3.0;
17592 System.Xml.ReaderWriter|4.3.0;
17593 System.Xml.XDocument|4.3.0;
17594 System.Xml.XmlDocument|4.3.0;
17595 System.Xml.XmlSerializer|4.3.0;
17596 System.Xml.XPath|4.3.0;
17597 System.Xml.XPath.XDocument|4.3.0;
17598 </OverriddenPackages>
17599 </PackageConflictOverrides>
17600 <PackageConflictOverrides Include="NETStandard.Library">
17601 <OverriddenPackages>
17602 Microsoft.Win32.Primitives|4.3.0;
17603 System.AppContext|4.3.0;
17604 System.Collections|4.3.0;
17605 System.Collections.Concurrent|4.3.0;
17606 System.Collections.Immutable|1.4.0;
17607 System.Collections.NonGeneric|4.3.0;
17608 System.Collections.Specialized|4.3.0;
17609 System.ComponentModel|4.3.0;
17610 System.ComponentModel.EventBasedAsync|4.3.0;
17611 System.ComponentModel.Primitives|4.3.0;
17612 System.ComponentModel.TypeConverter|4.3.0;
17613 System.Console|4.3.0;
17614 System.Data.Common|4.3.0;
17615 System.Diagnostics.Contracts|4.3.0;
17616 System.Diagnostics.Debug|4.3.0;
17617 System.Diagnostics.FileVersionInfo|4.3.0;
17618 System.Diagnostics.Process|4.3.0;
17619 System.Diagnostics.StackTrace|4.3.0;
17620 System.Diagnostics.TextWriterTraceListener|4.3.0;
17621 System.Diagnostics.Tools|4.3.0;
17622 System.Diagnostics.TraceSource|4.3.0;
17623 System.Diagnostics.Tracing|4.3.0;
17624 System.Dynamic.Runtime|4.3.0;
17625 System.Globalization|4.3.0;
17626 System.Globalization.Calendars|4.3.0;
17627 System.Globalization.Extensions|4.3.0;
17628 System.IO|4.3.0;
17629 System.IO.Compression|4.3.0;
17630 System.IO.Compression.ZipFile|4.3.0;
17631 System.IO.FileSystem|4.3.0;
17632 System.IO.FileSystem.DriveInfo|4.3.0;
17633 System.IO.FileSystem.Primitives|4.3.0;
17634 System.IO.FileSystem.Watcher|4.3.0;
17635 System.IO.IsolatedStorage|4.3.0;
17636 System.IO.MemoryMappedFiles|4.3.0;
17637 System.IO.Pipes|4.3.0;
17638 System.IO.UnmanagedMemoryStream|4.3.0;
17639 System.Linq|4.3.0;
17640 System.Linq.Expressions|4.3.0;
17641 System.Linq.Queryable|4.3.0;
17642 System.Net.Http|4.3.0;
17643 System.Net.NameResolution|4.3.0;
17644 System.Net.Primitives|4.3.0;
17645 System.Net.Requests|4.3.0;
17646 System.Net.Security|4.3.0;
17647 System.Net.Sockets|4.3.0;
17648 System.Net.WebHeaderCollection|4.3.0;
17649 System.ObjectModel|4.3.0;
17650 System.Private.DataContractSerialization|4.3.0;
17651 System.Reflection|4.3.0;
17652 System.Reflection.Emit|4.3.0;
17653 System.Reflection.Emit.ILGeneration|4.3.0;
17654 System.Reflection.Emit.Lightweight|4.3.0;
17655 System.Reflection.Extensions|4.3.0;
17656 System.Reflection.Primitives|4.3.0;
17657 System.Reflection.TypeExtensions|4.3.0;
17658 System.Resources.ResourceManager|4.3.0;
17659 System.Runtime|4.3.0;
17660 System.Runtime.Extensions|4.3.0;
17661 System.Runtime.Handles|4.3.0;
17662 System.Runtime.InteropServices|4.3.0;
17663 System.Runtime.InteropServices.RuntimeInformation|4.3.0;
17664 System.Runtime.Loader|4.3.0;
17665 System.Runtime.Numerics|4.3.0;
17666 System.Runtime.Serialization.Formatters|4.3.0;
17667 System.Runtime.Serialization.Json|4.3.0;
17668 System.Runtime.Serialization.Primitives|4.3.0;
17669 System.Security.AccessControl|4.4.0;
17670 System.Security.Claims|4.3.0;
17671 System.Security.Cryptography.Algorithms|4.3.0;
17672 System.Security.Cryptography.Csp|4.3.0;
17673 System.Security.Cryptography.Encoding|4.3.0;
17674 System.Security.Cryptography.Primitives|4.3.0;
17675 System.Security.Cryptography.X509Certificates|4.3.0;
17676 System.Security.Cryptography.Xml|4.4.0;
17677 System.Security.Principal|4.3.0;
17678 System.Security.Principal.Windows|4.4.0;
17679 System.Text.Encoding|4.3.0;
17680 System.Text.Encoding.Extensions|4.3.0;
17681 System.Text.RegularExpressions|4.3.0;
17682 System.Threading|4.3.0;
17683 System.Threading.Overlapped|4.3.0;
17684 System.Threading.Tasks|4.3.0;
17685 System.Threading.Tasks.Extensions|4.3.0;
17686 System.Threading.Tasks.Parallel|4.3.0;
17687 System.Threading.Thread|4.3.0;
17688 System.Threading.ThreadPool|4.3.0;
17689 System.Threading.Timer|4.3.0;
17690 System.ValueTuple|4.3.0;
17691 System.Xml.ReaderWriter|4.3.0;
17692 System.Xml.XDocument|4.3.0;
17693 System.Xml.XmlDocument|4.3.0;
17694 System.Xml.XmlSerializer|4.3.0;
17695 System.Xml.XPath|4.3.0;
17696 System.Xml.XPath.XDocument|4.3.0;
17697 </OverriddenPackages>
17698 </PackageConflictOverrides>
17699 </ItemGroup>
17700 <!--
17701============================================================================================================================================
17702 </Import>
17703
17704C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ConflictResolution.targets
17705============================================================================================================================================
17706-->
17707 <UsingTask TaskName="ResolvePackageFileConflicts" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
17708 <UsingTask TaskName="CheckForDuplicateItemMetadata" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
17709 <!--
17710 _HandlePackageFileConflicts
17711 Handles package file conflict resolution for build.
17712 This will differ from the conflict resolution at publish time if the publish assets differ from build.
17713 -->
17714 <Target Name="_HandlePackageFileConflicts" DependsOnTargets="GetFrameworkPaths;GetReferenceAssemblyPaths;ResolveTargetingPackAssets" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17715 <ItemGroup>
17716 <!--
17717 All runtime assets for conflict resolution.
17718 Exclude the copy-local items since those are passed in separately.
17719 -->
17720 <_RuntimeAssetsForConflictResolution Include="@(RuntimeCopyLocalItems);&#xD;&#xA; @(NativeCopyLocalItems);&#xD;&#xA; @(ResourceCopyLocalItems);&#xD;&#xA; @(RuntimeTargetsCopyLocalItems)" Exclude="@(ReferenceCopyLocalPaths)" />
17721 </ItemGroup>
17722 <ResolvePackageFileConflicts References="@(Reference)" Analyzers="@(Analyzer)" ReferenceCopyLocalPaths="@(ReferenceCopyLocalPaths)" OtherRuntimeItems="@(_RuntimeAssetsForConflictResolution)" PlatformManifests="@(PackageConflictPlatformManifests)" TargetFrameworkDirectories="$(TargetFrameworkDirectory)" PackageOverrides="@(PackageConflictOverrides)" PreferredPackages="$(PackageConflictPreferredPackages)">
17723 <Output TaskParameter="ReferencesWithoutConflicts" ItemName="_ReferencesWithoutConflicts" />
17724 <Output TaskParameter="AnalyzersWithoutConflicts" ItemName="_AnalyzersWithoutConflicts" />
17725 <Output TaskParameter="ReferenceCopyLocalPathsWithoutConflicts" ItemName="_ReferenceCopyLocalPathsWithoutConflicts" />
17726 <Output TaskParameter="Conflicts" ItemName="_ConflictPackageFiles" />
17727 </ResolvePackageFileConflicts>
17728 <!-- Replace Reference / ReferenceCopyLocalPaths with the filtered lists.
17729 We must remove all and include rather than just remove since removal is based
17730 only on ItemSpec and duplicate ItemSpecs may exist with different metadata
17731 (eg: HintPath) -->
17732 <ItemGroup>
17733 <Reference Remove="@(Reference)" />
17734 <Reference Include="@(_ReferencesWithoutConflicts)" />
17735 <Analyzer Remove="@(Analyzer)" />
17736 <Analyzer Include="@(_AnalyzersWithoutConflicts)" />
17737 <ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" />
17738 <ReferenceCopyLocalPaths Include="@(_ReferenceCopyLocalPathsWithoutConflicts)" />
17739 </ItemGroup>
17740 </Target>
17741 <!--
17742 _HandlePackageFileConflictsForPublish
17743 Handles package file conflict resolution for publish.
17744 Currently, publish assets may differ due to the following reasons:
17745 * A package was marked as excluded from publishing (including PrivateAssets="all").
17746 * There are runtime store packages to publish against.
17747 * If we're preserving store layout, which alters the destination paths of files.
17748 When none of these things are true, then we can rely on the conflict resolution from build.
17749 -->
17750 <Target Name="_HandlePackageFileConflictsForPublish" AfterTargets="_ResolveCopyLocalAssetsForPublish;&#xD;&#xA; _FilterSatelliteResourcesForPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17751 <ResolvePackageFileConflicts ReferenceCopyLocalPaths="@(_ResolvedCopyLocalPublishAssets)" PlatformManifests="@(PackageConflictPlatformManifests)" TargetFrameworkDirectories="$(TargetFrameworkDirectory)" PreferredPackages="$(PackageConflictPreferredPackages)">
17752 <Output TaskParameter="ReferenceCopyLocalPathsWithoutConflicts" ItemName="_ResolvedCopyLocalPublishAssetsWithoutConflicts" />
17753 <Output TaskParameter="Conflicts" ItemName="_PublishConflictPackageFiles" />
17754 </ResolvePackageFileConflicts>
17755 <ItemGroup>
17756 <_ResolvedCopyLocalPublishAssets Remove="@(_ResolvedCopyLocalPublishAssets)" />
17757 <_ResolvedCopyLocalPublishAssets Include="@(_ResolvedCopyLocalPublishAssetsWithoutConflicts)" />
17758 </ItemGroup>
17759 </Target>
17760 <!--
17761 _HandleFileConflictsForPublish
17762 Ensures there are no duplicate files being written to the publish output.
17763 -->
17764 <Target Name="_HandleFileConflictsForPublish" AfterTargets="ComputeFilesToPublish" Condition="'$(ErrorOnDuplicatePublishOutputFiles)' != 'false'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17765 <CheckForDuplicateItemMetadata Items="@(ResolvedFileToPublish-&gt;Distinct())" MetadataName="RelativePath">
17766 <Output TaskParameter="DuplicatesExist" PropertyName="_ResolvedFileToPublishContainsDuplicates" />
17767 <Output TaskParameter="DuplicateItems" ItemName="_ResolvedFileToPublishDuplicatedItems" />
17768 </CheckForDuplicateItemMetadata>
17769 <NETSdkError Condition="'$(_ResolvedFileToPublishContainsDuplicates)' == 'true'" ResourceName="DuplicatePublishOutputFiles" FormatArguments="@(_ResolvedFileToPublishDuplicatedItems, ', ')" />
17770 </Target>
17771 <!--
17772============================================================================================================================================
17773 </Import>
17774
17775C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
17776============================================================================================================================================
17777-->
17778 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.CSharp.targets" Condition="'$(Language)' == 'C#'" />-->
17779 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.VisualBasic.targets" Condition="'$(Language)' == 'VB'" />-->
17780 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.FSharp.targets" Condition="'$(Language)' == 'F#'" />-->
17781 <!--<Import Project="$(ILCompilerTargetsPath)" Condition="'$(ILCompilerTargetsPath)' != '' and '$(PublishAot)' == 'true'" />-->
17782 <!--<Import Project="$(ILLinkTargetsPath)" Condition="'$(ILLinkTargetsPath)' != '' and '$(Language)' != 'C++'" />-->
17783 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.Analyzers.targets" Condition="'$(Language)' == 'C#' or '$(Language)' == 'VB'" />-->
17784 <!--
17785 ============================================================
17786 Run Information
17787 The ProcessStart information that can be used to run this project.
17788 ============================================================
17789 -->
17790 <!-- TODO: can we now move all of this into the ComputeRunArguments target, or must this be kept for compat? -->
17791 <!-- NOTE: the targets above may change UseAppHost and other relevant properties, and so all of this pre-computation needs to come after it.
17792 I checked this when I moved it and none of those targets _used_ the Run* properties.
17793 This is yet another case where precomputing data during evaluation _is bad_ and should be moved to a Target. -->
17794 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17795 <RunWorkingDirectory Condition="'$(RunWorkingDirectory)' == ''">$(StartWorkingDirectory)</RunWorkingDirectory>
17796 </PropertyGroup>
17797 <Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17798 <When Condition="'$(StartAction)' == 'Program'">
17799 <PropertyGroup>
17800 <RunCommand Condition="'$(RunCommand)' == ''">$(StartProgram)</RunCommand>
17801 <RunArguments Condition="'$(RunArguments)' == ''">$(StartArguments)</RunArguments>
17802 </PropertyGroup>
17803 </When>
17804 <When Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_IsExecutable)' == 'true'">
17805 <PropertyGroup Condition="'$(UseAppHost)' != 'true'">
17806 <!-- TODO: https://github.com/dotnet/sdk/issues/20 Need to get the DotNetHost path from MSBuild -->
17807 <RunCommand Condition="'$(RunCommand)' == ''">dotnet</RunCommand>
17808 <_NetCoreRunArguments>exec "$(TargetPath)"</_NetCoreRunArguments>
17809 <RunArguments Condition="'$(RunArguments)' == '' and '$(StartArguments)' != ''">$(_NetCoreRunArguments) $(StartArguments)</RunArguments>
17810 <RunArguments Condition="'$(RunArguments)' == ''">$(_NetCoreRunArguments)</RunArguments>
17811 </PropertyGroup>
17812 <PropertyGroup Condition="'$(UseAppHost)' == 'true'">
17813 <RunCommand Condition="'$(RunCommand)' == ''">$(TargetDir)$(AssemblyName)$(_NativeExecutableExtension)</RunCommand>
17814 <RunArguments Condition="'$(RunArguments)' == ''">$(StartArguments)</RunArguments>
17815 </PropertyGroup>
17816 </When>
17817 <When Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(_IsExecutable)' == 'true'">
17818 <PropertyGroup Condition="$([MSBuild]::IsOSPlatform(`Windows`))">
17819 <RunCommand Condition="'$(RunCommand)' == ''">$(TargetPath)</RunCommand>
17820 <RunArguments Condition="'$(RunArguments)' == ''">$(StartArguments)</RunArguments>
17821 </PropertyGroup>
17822 <PropertyGroup Condition="$([MSBuild]::IsOSUnixLike())">
17823 <RunCommand Condition="'$(RunCommand)' == ''">mono</RunCommand>
17824 <RunArguments Condition="'$(RunArguments)' == ''">"$(TargetPath)" $(StartArguments)</RunArguments>
17825 </PropertyGroup>
17826 </When>
17827 </Choose>
17828 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17829 <!-- Ensure $(RunWorkingDirectory) is a full path -->
17830 <RunWorkingDirectory Condition="'$(RunWorkingDirectory)' != '' and '$([System.IO.Path]::IsPathRooted($(RunWorkingDirectory)))' != 'true'">$([System.IO.Path]::GetFullPath($([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', '$(RunWorkingDirectory)'))))</RunWorkingDirectory>
17831 </PropertyGroup>
17832 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17833 <!-- Signals that this project supports the target-based run invocation protocol powered by the ComputeRunArguments target. -->
17834 <ProjectCapability Include="SupportsComputeRunCommand" />
17835 </ItemGroup>
17836 <!-- Placeholder target for tools to override RunCommand/RunArguments/RunWorkingDirectory.
17837 This allows tools to run validation or logic required to compute any required data,
17838 which cannot be done during evaluation. -->
17839 <Target Name="ComputeRunArguments" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
17840 <!-- Override MSBuild Run Target -->
17841 <Target Name="Run" DependsOnTargets="ComputeRunArguments" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17842 <Exec Command="$(RunCommand) $(RunArguments)" WorkingDirectory="$(RunWorkingDirectory)" />
17843 </Target>
17844 <!-- Import WindowsDesktop targets if necessary -->
17845 <PropertyGroup Condition=" '$(ImportWindowsDesktopTargets)' == ''&#xD;&#xA; and ('$(UseWpf)' == 'true' Or '$(UseWindowsForms)' == 'true') " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17846 <ImportWindowsDesktopTargets Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '3.0'))&#xD;&#xA; and '$(TargetPlatformIdentifier)' == 'Windows' ">true</ImportWindowsDesktopTargets>
17847 <ImportWindowsDesktopTargets Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">true</ImportWindowsDesktopTargets>
17848 </PropertyGroup>
17849 <PropertyGroup Condition=" '$(ImportWindowsDesktopTargets)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17850 <AfterMicrosoftNETSdkTargets>$(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)../../Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.targets</AfterMicrosoftNETSdkTargets>
17851 </PropertyGroup>
17852 <!-- Note: Once WindowsDesktop is a workload this will be moved to WorkloadManifest.targets -->
17853 <ItemGroup Condition="'$(MicrosoftNETWindowsWorkloadInstalled)' == 'true' and&#xD;&#xA; '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and&#xD;&#xA; $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '5.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17854 <SdkSupportedTargetPlatformIdentifier Include="windows" DisplayName="Windows" />
17855 </ItemGroup>
17856 <!--
17857============================================================================================================================================
17858 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Windows.targets" Condition="'$(TargetPlatformIdentifier)' == 'Windows'">
17859
17860C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Windows.targets
17861============================================================================================================================================
17862-->
17863 <!--
17864***********************************************************************************************
17865Microsoft.NET.Windows.targets
17866
17867WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
17868 created a backup copy. Incorrect changes to this file will make it
17869 impossible to load or build your projects from the command-line or the IDE.
17870
17871Copyright (c) .NET Foundation. All rights reserved.
17872***********************************************************************************************
17873-->
17874 <!--C++/CLI does not support nuget restore which is required for Windows SDK Ref. Also these are C# projections.-->
17875 <PropertyGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true'&#xD;&#xA; and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '5.0'))&#xD;&#xA; and '$(TargetPlatformIdentifier)' == 'Windows'&#xD;&#xA; and '$(TargetPlatformVersion)' != ''&#xD;&#xA; and $([MSBuild]::VersionGreaterThanOrEquals($(TargetPlatformVersion), '10.0'))&#xD;&#xA; and '$(Language)' != 'C++'&#xD;&#xA; and '$(IncludeWindowsSDKRefFrameworkReferences)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17876 <IncludeWindowsSDKRefFrameworkReferences>true</IncludeWindowsSDKRefFrameworkReferences>
17877 </PropertyGroup>
17878 <!-- If UseWindowsSDKPreview is true, then allow any target platform version, not just the ones defined by the SDK -->
17879 <PropertyGroup Condition="'$(UseWindowsSDKPreview)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17880 <TargetPlatformVersionSupported>true</TargetPlatformVersionSupported>
17881 </PropertyGroup>
17882 <!-- If EffectiveTargetPlatformVersion isn't set, then someone may have manually set TargetPlatformVersion in their Directory.Build.targets
17883 which wasn't processed before. -->
17884 <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'windows' and '$(TargetPlatformVersion)' != '' and '$(EffectiveTargetPlatformVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17885 <!--
17886 In order to support multi-targeting between CsWinRT 2.x and CsWinRT 3.0, we use the revision number of the Windows SDK to indicate the CsWinRT version.
17887 Specifically, '.0' indicates CsWinRT 2.x, and '.1' indicates CsWinRT 3.0. Because we want the rest of the tooling to still always see the '.0' version
17888 for the Windows SDK (as the '.1' only has meaning for the .NET SDK and TFM in NuGet), here we check if we're using CsWinRT 3.0, and if so we have a version
17889 of the target platform version with the revision number reset back to '.0' as EffectiveTargetPlatformVersion which we use in other places.
17890 EffectiveTargetPlatformVersion is set to TargetPlatformVersion in other scenarios.
17891 -->
17892 <_TargetPlatformVersionUsesCsWinRT3 Condition="$([System.Version]::Parse('$(TargetPlatformVersion)').Revision) == 1">true</_TargetPlatformVersionUsesCsWinRT3>
17893 <EffectiveTargetPlatformVersion Condition="'$(_TargetPlatformVersionUsesCsWinRT3)' == 'true'">$([System.Version]::Parse('$(TargetPlatformVersion)').Major).$([System.Version]::Parse('$(TargetPlatformVersion)').Minor).$([System.Version]::Parse('$(TargetPlatformVersion)').Build).0</EffectiveTargetPlatformVersion>
17894 <EffectiveTargetPlatformVersion Condition="'$(_TargetPlatformVersionUsesCsWinRT3)' != 'true'">$(TargetPlatformVersion)</EffectiveTargetPlatformVersion>
17895 </PropertyGroup>
17896 <!-- Set 7.0 as the TargetPlatformVersion for windows. -->
17897 <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'windows' and '$(TargetPlatformVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17898 <TargetPlatformVersion>7.0</TargetPlatformVersion>
17899 <EffectiveTargetPlatformVersion>$(TargetPlatformVersion)</EffectiveTargetPlatformVersion>
17900 </PropertyGroup>
17901 <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'Windows'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17902 <!-- When targeting Windows, sync the SupportedOSPlatformVersion and TargetPlatformMinVersion. If either one isn't set, set it to the
17903 other value. -->
17904 <SupportedOSPlatformVersion Condition="'$(SupportedOSPlatformVersion)' == ''">$(TargetPlatformMinVersion)</SupportedOSPlatformVersion>
17905 <TargetPlatformMinVersion Condition="'$(TargetPlatformMinVersion)' == ''">$(SupportedOSPlatformVersion)</TargetPlatformMinVersion>
17906 <!-- If neither were set, then use the EffectiveTargetPlatformVersion value for both. -->
17907 <SupportedOSPlatformVersion Condition="'$(SupportedOSPlatformVersion)' == ''">$(EffectiveTargetPlatformVersion)</SupportedOSPlatformVersion>
17908 <TargetPlatformMinVersion Condition="'$(TargetPlatformMinVersion)' == ''">$(EffectiveTargetPlatformVersion)</TargetPlatformMinVersion>
17909 </PropertyGroup>
17910 <!-- Used by analyzers in the Microsoft.Windows.SDK.NET.Ref package. -->
17911 <PropertyGroup Condition="'$(IncludeWindowsSDKRefFrameworkReferences)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17912 <CsWinRTAotOptimizerEnabled Condition="'$(CsWinRTAotOptimizerEnabled)' == '' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0'))">true</CsWinRTAotOptimizerEnabled>
17913 <CsWinRTAotExportsEnabled Condition="'$(CsWinRTAotExportsEnabled)' == '' and '$(CsWinRTAotOptimizerEnabled)' == 'true' and '$(PublishAot)' == 'true'">true</CsWinRTAotExportsEnabled>
17914 <CsWinRTCcwLookupTableGeneratorEnabled Condition="'$(CsWinRTCcwLookupTableGeneratorEnabled)' == '' and '$(CsWinRTGenerateProjection)' != 'true'">true</CsWinRTCcwLookupTableGeneratorEnabled>
17915 <CsWinRTAotWarningLevel Condition="'$(CsWinRTAotWarningLevel)' == '' and '$(CsWinRTGenerateProjection)' != 'true' and ('$(PublishAot)' == 'true' or '$(IsAotCompatible)' == 'true')">1</CsWinRTAotWarningLevel>
17916 </PropertyGroup>
17917 <ItemGroup Condition="'$(IncludeWindowsSDKRefFrameworkReferences)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17918 <CompilerVisibleProperty Include="CsWinRTAotOptimizerEnabled" />
17919 <CompilerVisibleProperty Include="CsWinRTAotExportsEnabled" />
17920 <CompilerVisibleProperty Include="CsWinRTRcwFactoryFallbackGeneratorForceOptIn" />
17921 <CompilerVisibleProperty Include="CsWinRTRcwFactoryFallbackGeneratorForceOptOut" />
17922 <CompilerVisibleProperty Include="CsWinRTCcwLookupTableGeneratorEnabled" />
17923 <CompilerVisibleProperty Include="CsWinRTMergeReferencedActivationFactories" />
17924 <CompilerVisibleProperty Include="CsWinRTAotWarningLevel" />
17925 </ItemGroup>
17926 <!-- Also add the Windows.UI.Xaml.* projections from the Windows SDK if 'UseUwp' is set in the project.
17927 Note: we only add this reference if the TFM is .NET 8 or above, as the Windows SDK projections
17928 that are used on .NET 6 and below do not have the Windows.UI.Xaml profile, so this wouldn't work. -->
17929 <ItemGroup Condition=" '$(IncludeWindowsSDKRefFrameworkReferences)' == 'true' And&#xD;&#xA; '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '8.0')) and '$(TargetPlatformIdentifier)' == 'Windows' and '$(UseUwp)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17930 <FrameworkReference Condition="'$(_TargetPlatformVersionUsesCsWinRT3)' != 'true'" Include="Microsoft.Windows.SDK.NET.Ref.Xaml" />
17931 <FrameworkReference Condition="'$(_TargetPlatformVersionUsesCsWinRT3)' == 'true'" Include="Microsoft.Windows.SDK.NET.Ref.CsWinRT3.Xaml" />
17932 </ItemGroup>
17933 <!-- If WindowsSdkPackageVersion is specified and it is an older version before profile support was added,
17934 add the non profile framework reference. -->
17935 <ItemGroup Condition=" '$(IncludeWindowsSDKRefFrameworkReferences)' == 'true'&#xD;&#xA; and '$(WindowsSdkPackageVersion)' != ''&#xD;&#xA; and '$(UseUwp)' != 'true'&#xD;&#xA; and $([System.Version]::Parse('$(WindowsSdkPackageVersion.Split('-')[0])').Build) &lt;= 26100&#xD;&#xA; and $([System.Version]::Parse('$(WindowsSdkPackageVersion.Split('-')[0])').Revision) &lt;= 34" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17936 <FrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" IsImplicitlyDefined="true" Pack="false" PrivateAssets="All" />
17937 </ItemGroup>
17938 <!-- Default 'CsWinRTUseWindowsUIXamlProjections' to 'false', unless 'UseUwp' is set.
17939 This is to ensure that using the full Windows SDK projections will work correctly.
17940 We still allow users to override this, which can help in mixed WinAppSDK scenarios. -->
17941 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17942 <CsWinRTUseWindowsUIXamlProjections Condition=" '$(CsWinRTUseWindowsUIXamlProjections)' == '' and '$(UseUwp)' == 'true' ">true</CsWinRTUseWindowsUIXamlProjections>
17943 <CsWinRTUseWindowsUIXamlProjections Condition=" '$(CsWinRTUseWindowsUIXamlProjections)' == '' ">false</CsWinRTUseWindowsUIXamlProjections>
17944 </PropertyGroup>
17945 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17946 <!-- Mark 'CsWinRTUseWindowsUIXamlProjections' as compiler visible, so the analyzers bundled in the Windows SDK projections can see it -->
17947 <CompilerVisibleProperty Include="CsWinRTUseWindowsUIXamlProjections" />
17948 </ItemGroup>
17949 <!-- Configure the Windows.UI.Xaml.* projections feature switch for CsWinRT from here. This is
17950 needed because there's no .targets from CsWinRT that's used when CsWinRT itself is not being
17951 directly referenced in the project. For instance, in a normal application (not authoring).
17952 Note: we only do this on 'net8.0-windows' or greater, as it's not supported otherwise. -->
17953 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17954 <RuntimeHostConfigurationOption Include="CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS" Value="$(CsWinRTUseWindowsUIXamlProjections)" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '8.0')) and '$(TargetPlatformIdentifier)' == 'Windows'" Trim="true" />
17955 </ItemGroup>
17956 <Target Name="_ErrorOnUnresolvedWindowsSDKAssemblyConflict" AfterTargets="ResolveAssemblyReferences" Condition=" '@(ResolveAssemblyReferenceUnresolvedAssemblyConflicts)' != '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17957 <ItemGroup>
17958 <_WindowsSDKUnresolvedRef Include="@(ResolveAssemblyReferenceUnresolvedAssemblyConflicts)" Condition="'%(Identity)' == 'Microsoft.Windows.SDK.NET' " />
17959 </ItemGroup>
17960 <NETSdkError ResourceName="WindowsSDKVersionConflicts" Condition="@(_WindowsSDKUnresolvedRef) != ''" />
17961 </Target>
17962 <Target Name="RemoveManagedWinRTComponentWinMDReferences" AfterTargets="ResolveProjectReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17963 <ItemGroup>
17964 <!-- Before we remove them from _ResolvedProjectReferencePaths, grab the implementation .dll's path -->
17965 <ManagedWinRTComponentImplementations Include="@(_ResolvedProjectReferencePaths->'%(ManagedImplementation)')" Condition="('%(_ResolvedProjectReferencePaths.Extension)' == '.winmd') And ('%(_ResolvedProjectReferencePaths.Implementation)' == 'WinRT.Host.dll')" />
17966 </ItemGroup>
17967 <!-- Managed WinRT components include both the WinMD and the .NET DLL in the result from GetTargetPath. Managed projects need to only reference the .NET DLL, not the WinMD.
17968 The WinMD in this case can be identified because the Implementation metadata value is WinRT.Host.dll. So here we remove any such WinMD references. -->
17969 <ItemGroup>
17970 <_ResolvedProjectReferencePaths Remove="@(_ResolvedProjectReferencePaths)" Condition="('%(_ResolvedProjectReferencePaths.Extension)' == '.winmd') And ('%(_ResolvedProjectReferencePaths.Implementation)' == 'WinRT.Host.dll')" />
17971 </ItemGroup>
17972 </Target>
17973 <Target Name="AddWinRTComponentImplementationReference" AfterTargets="ResolveProjectReferences" DependsOnTargets="RemoveManagedWinRTComponentWinMDReferences" Condition="'@(ManagedWinRTComponentImplementations)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17974 <ItemGroup>
17975 <Reference Include="@(ManagedWinRTComponentImplementations)" />
17976 </ItemGroup>
17977 </Target>
17978 <!-- Target to emit an error when 'UseUwp' is not set, but the 'Microsoft.Windows.SDK.NET.Ref.Xaml' item is transitively referenced -->
17979 <Target Name="_CheckForTransitiveWindowsSDKFullDependencies" AfterTargets="ResolvePackageAssets" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and '$(TargetPlatformIdentifier)' == 'Windows'&#xD;&#xA; and '@(TransitiveFrameworkReference)' != ''&#xD;&#xA; and '$(UseUwp)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17980 <ItemGroup>
17981 <_WindowsSDKXamlTransitiveFrameworkReference Include="@(TransitiveFrameworkReference)" Condition="'%(Identity)' == 'Microsoft.Windows.SDK.NET.Ref.Xaml'" />
17982 </ItemGroup>
17983 <NetSdkError Condition="'@(_WindowsSDKXamlTransitiveFrameworkReference)' != ''" ResourceName="WindowsSDKXamlMissingUseUwpProperty" />
17984 </Target>
17985 <!-- Target to emit an error when 'UseUwp' is set, but the TFM is not 'net8.0-windows' or greater -->
17986 <Target Name="_CheckForInvalidTfmForWindowsSDKXamlDependencies" AfterTargets="ResolvePackageAssets" Condition=" !('$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '8.0')) and '$(TargetPlatformIdentifier)' == 'Windows')&#xD;&#xA; and '$(UseUwp)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17987 <NetSdkError ResourceName="WindowsSDKXamlInvalidTfm" />
17988 </Target>
17989 <!--
17990 Emit a warning if using CsWinRT 3.0, which is selected when targeting a Windows SDK with '1' as the revision version.
17991 NOTE: remove this target when CsWinRT 3.0 is released as a stable version and becomes officially supported.
17992 -->
17993 <Target Name="_WarnForCsWinRT3_0PreviewFeatureEnabled" AfterTargets="ResolvePackageAssets" Condition=" '$(IncludeWindowsSDKRefFrameworkReferences)' == 'true'&#xD;&#xA; and '$(_TargetPlatformVersionUsesCsWinRT3)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17994 <NETSdkWarning ResourceName="UsingPreviewCsWinRT3_0Feature" FormatArguments="$(_OriginalWindowsTargetPlatformVersion)" />
17995 </Target>
17996 <!-- Setup common properties for '_RunCsWinRTGenerator' below -->
17997 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
17998 <!--
17999 Running 'cswinrtgen' is required for CsWinRT 3.0, and it is currently in preview.
18000 So the switch for it is currently opt-in. It can be changed to opt-out in the future.
18001 We only enable this automatically if the project is explicitly targeting CsWinRT 3.0.
18002 -->
18003 <CsWinRTGenerateInteropAssembly Condition="'$(CsWinRTGenerateInteropAssembly)' == '' and '$(_TargetPlatformVersionUsesCsWinRT3)' == 'true'">true</CsWinRTGenerateInteropAssembly>
18004 <CsWinRTGenerateInteropAssembly Condition="'$(CsWinRTGenerateInteropAssembly)' == ''">false</CsWinRTGenerateInteropAssembly>
18005 <!--
18006 Default property values for 'cswinrtgen'. Not setting 'CsWinRTToolsDirectory' and
18007 'CsWinRTToolsArchitecture' because the task can handle their default values on its
18008 own, and it will use that to automatically set the right directory and architecture.
18009 -->
18010 <CsWinRTGeneratorInteropAssemblyDirectory Condition="'$(CsWinRTGeneratorInteropAssemblyDirectory)' == ''">$(IntermediateOutputPath)</CsWinRTGeneratorInteropAssemblyDirectory>
18011 <CsWinRTGeneratorValidateWinRTRuntimeAssemblyVersion Condition="'$(CsWinRTGeneratorValidateWinRTRuntimeAssemblyVersion)' == ''">true</CsWinRTGeneratorValidateWinRTRuntimeAssemblyVersion>
18012 <CsWinRTGeneratorValidateWinRTRuntimeDllVersion2References Condition="'$(CsWinRTGeneratorValidateWinRTRuntimeDllVersion2References)' == ''">true</CsWinRTGeneratorValidateWinRTRuntimeDllVersion2References>
18013 <CsWinRTGeneratorEnableIncrementalGeneration Condition="'$(CsWinRTGeneratorEnableIncrementalGeneration)' == ''">true</CsWinRTGeneratorEnableIncrementalGeneration>
18014 <CsWinRTGeneratorTreatWarningsAsErrors Condition="'$(CsWinRTGeneratorTreatWarningsAsErrors)' == ''">false</CsWinRTGeneratorTreatWarningsAsErrors>
18015 <CsWinRTGeneratorMaxDegreesOfParallelism Condition="'$(CsWinRTGeneratorMaxDegreesOfParallelism)' == ''">-1</CsWinRTGeneratorMaxDegreesOfParallelism>
18016 <CsWinRTGeneratorStandardOutputImportance Condition="'$(CsWinRTGeneratorStandardOutputImportance)' == ''">High</CsWinRTGeneratorStandardOutputImportance>
18017 <CsWinRTGeneratorStandardErrorImportance Condition="'$(CsWinRTGeneratorStandardErrorImportance)' == ''">High</CsWinRTGeneratorStandardErrorImportance>
18018 <CsWinRTGeneratorLogStandardErrorAsError Condition="'$(CsWinRTGeneratorLogStandardErrorAsError)' == ''">true</CsWinRTGeneratorLogStandardErrorAsError>
18019 <!-- Derived properties for 'cswinrtgen' tooling -->
18020 <_CsWinRTGeneratorInteropAssemblyName>WinRT.Interop</_CsWinRTGeneratorInteropAssemblyName>
18021 <_CsWinRTGeneratorInteropAssemblyFileName>$(_CsWinRTGeneratorInteropAssemblyName).dll</_CsWinRTGeneratorInteropAssemblyFileName>
18022 <_CsWinRTGeneratorInteropAssemblyPath>$([MSBuild]::NormalizePath('$(CsWinRTGeneratorInteropAssemblyDirectory)', '$(_CsWinRTGeneratorInteropAssemblyFileName)'))</_CsWinRTGeneratorInteropAssemblyPath>
18023 <!--
18024 Set the path of the file with the hash of all input properties for 'cswinrtgen'.
18025 This is needed to make the target incremental with respect to property changes.
18026 -->
18027 <_RunCsWinRTGeneratorPropertyInputsCachePath Condition="'$(_RunCsWinRTGeneratorPropertyInputsCachePath)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).cswinrtgen.cache</_RunCsWinRTGeneratorPropertyInputsCachePath>
18028 <_RunCsWinRTGeneratorPropertyInputsCachePath>$([MSBuild]::NormalizePath('$(MSBuildProjectDirectory)', '$(_RunCsWinRTGeneratorPropertyInputsCachePath)'))</_RunCsWinRTGeneratorPropertyInputsCachePath>
18029 </PropertyGroup>
18030 <!--
18031 ============================================================
18032 _ComputeRunCsWinRTGeneratorCache
18033
18034 Computes the cache file for '_RunCsWinRTGenerator' with the
18035 hash of all input properties, to support incremental builds.
18036 ============================================================
18037 -->
18038 <Target Name="_ComputeRunCsWinRTGeneratorCache" DependsOnTargets="ResolveAssemblyReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18039 <!--
18040 If the user hasn't specified the 'CsWinRTToolsDirectory' property, we need to resolve the correct
18041 tools path to use to find the 'cswinrtgen' binary that matches the 'WinRT.Runtime.dll' assembly in
18042 use. To do so, we can leverage the assembly resolution logic that the .NET SDK is already doing.
18043 We know that the right 'cswinrtgen' binary will always be in the '\tools' directory of whatever
18044 package contains the 'WinRT.Runtime.dll' assembly (i.e. either 'Microsoft.Windows.SDK.NET.Ref' or
18045 'Microsoft.Windows.CsWinRT'). So we can get the resolved assembly and compute the tools directory
18046 path relative to it. We can use this value whenever 'CsWinRTToolsDirectory' isn't set.
18047 -->
18048 <ItemGroup>
18049 <_WinRTRuntimeDllReferencePath Include="@(ReferencePath)" Condition="'%(Filename)%(Extension)' == 'WinRT.Runtime.dll'" />
18050 </ItemGroup>
18051 <!-- Compute the implicit '\tools' path, and use that if 'CsWinRTToolsDirectory' isn't set -->
18052 <PropertyGroup>
18053 <_WinRTRuntimeDllDirectory>$([System.IO.Path]::GetDirectoryName('%(_WinRTRuntimeDllReferencePath.FullPath)'))</_WinRTRuntimeDllDirectory>
18054 <_CsWinRTOrTargetingPackLibDirectory>$([System.IO.Path]::GetDirectoryName('$(_WinRTRuntimeDllDirectory)'))</_CsWinRTOrTargetingPackLibDirectory>
18055 <_CsWinRTOrTargetingPackRootDirectory>$([System.IO.Path]::GetDirectoryName('$(_CsWinRTOrTargetingPackLibDirectory)'))</_CsWinRTOrTargetingPackRootDirectory>
18056 <_CsWinRTOrTargetingPackToolsDirectory>$([System.IO.Path]::Combine('$(_CsWinRTOrTargetingPackRootDirectory)', 'tools'))</_CsWinRTOrTargetingPackToolsDirectory>
18057 <CsWinRTEffectiveToolsDirectory>$(CsWinRTToolsDirectory)</CsWinRTEffectiveToolsDirectory>
18058 <CsWinRTEffectiveToolsDirectory Condition="'$(CsWinRTEffectiveToolsDirectory)' == ''">$(_CsWinRTOrTargetingPackToolsDirectory)</CsWinRTEffectiveToolsDirectory>
18059 </PropertyGroup>
18060 <ItemGroup>
18061 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTEffectiveToolsDirectory)" />
18062 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTToolsArchitecture)" />
18063 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTGeneratorInteropAssemblyDirectory)" />
18064 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTGeneratorDebugReproDirectory)" />
18065 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTUseWindowsUIXamlProjections)" />
18066 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTGeneratorValidateWinRTRuntimeAssemblyVersion)" />
18067 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTGeneratorValidateWinRTRuntimeDllVersion2References)" />
18068 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTGeneratorEnableIncrementalGeneration)" />
18069 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTGeneratorTreatWarningsAsErrors)" />
18070 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTGeneratorMaxDegreesOfParallelism)" />
18071 <_RunCsWinRTGeneratorInputsCacheToHash Include="@(CsWinRTGeneratorAdditionalArgument)" />
18072 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTGeneratorStandardOutputImportance)" />
18073 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTGeneratorStandardErrorImportance)" />
18074 <_RunCsWinRTGeneratorInputsCacheToHash Include="$(CsWinRTGeneratorLogStandardErrorAsError)" />
18075 </ItemGroup>
18076 <Hash ItemsToHash="@(_RunCsWinRTGeneratorInputsCacheToHash)">
18077 <Output TaskParameter="HashResult" PropertyName="_RunCsWinRTGeneratorInputsCacheHash" />
18078 </Hash>
18079 <WriteLinesToFile Lines="$(_RunCsWinRTGeneratorInputsCacheHash)" File="$(_RunCsWinRTGeneratorPropertyInputsCachePath)" Overwrite="true" WriteOnlyWhenDifferent="true" />
18080 </Target>
18081 <!--
18082 ============================================================
18083 _RunCsWinRTGenerator
18084
18085 Runs 'cswinrtgen' to produce the 'WinRT.Interop.dll' assembly.
18086 ============================================================
18087 -->
18088 <UsingTask Condition="'$(CsWinRTGeneratorTasksOverriden)' != 'true'" TaskName="RunCsWinRTGenerator" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
18089 <Target Name="_RunCsWinRTGenerator" DependsOnTargets="CoreCompile;$(GetTargetPathDependsOn);$(GetTargetPathWithTargetPlatformMonikerDependsOn);_ComputeRunCsWinRTGeneratorCache" BeforeTargets="GetTargetPath;GetTargetPathWithTargetPlatformMoniker;GenerateBuildDependencyFile;GeneratePublishDependencyFile;GetCopyToOutputDirectoryItems;GetCopyToPublishDirectoryItems" Inputs="@(ReferencePath);@(IntermediateAssembly);$(_RunCsWinRTGeneratorPropertyInputsCachePath)" Outputs="$(_CsWinRTGeneratorInteropAssemblyPath)" Condition="'$(CsWinRTGenerateInteropAssembly)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18090 <!-- Invoke 'cswinrtgen' -->
18091 <RunCsWinRTGenerator ReferenceAssemblyPaths="@(ReferencePath)" OutputAssemblyPath="@(IntermediateAssembly)" InteropAssemblyDirectory="$(CsWinRTGeneratorInteropAssemblyDirectory)" DebugReproDirectory="$(CsWinRTGeneratorDebugReproDirectory)" CsWinRTToolsDirectory="$(CsWinRTEffectiveToolsDirectory)" CsWinRTToolsArchitecture="$(CsWinRTToolsArchitecture)" UseWindowsUIXamlProjections="$(CsWinRTUseWindowsUIXamlProjections)" ValidateWinRTRuntimeAssemblyVersion="$(CsWinRTGeneratorValidateWinRTRuntimeAssemblyVersion)" ValidateWinRTRuntimeDllVersion2References="$(CsWinRTGeneratorValidateWinRTRuntimeDllVersion2References)" EnableIncrementalGeneration="$(CsWinRTGeneratorEnableIncrementalGeneration)" TreatWarningsAsErrors="$(CsWinRTGeneratorTreatWarningsAsErrors)" MaxDegreesOfParallelism="$(CsWinRTGeneratorMaxDegreesOfParallelism)" AdditionalArguments="@(CsWinRTGeneratorAdditionalArgument)" StandardOutputImportance="$(CsWinRTGeneratorStandardOutputImportance)" StandardErrorImportance="$(CsWinRTGeneratorStandardErrorImportance)" LogStandardErrorAsError="$(CsWinRTGeneratorLogStandardErrorAsError)" />
18092 <!-- Set the metadata for the interop .dll item -->
18093 <ItemGroup>
18094 <CsWinRTGeneratorInteropAssemblyPath Include="$(_CsWinRTGeneratorInteropAssemblyPath)">
18095 <AssemblyName>$(_CsWinRTGeneratorInteropAssemblyName)</AssemblyName>
18096 <TargetFrameworkIdentifier>.NETCoreApp</TargetFrameworkIdentifier>
18097 <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
18098 <IncludeRuntimeDependency>true</IncludeRuntimeDependency>
18099 <Private>true</Private>
18100 <MSBuildSourceTargetName>_RunCsWinRTGenerator</MSBuildSourceTargetName>
18101 <Platforms>AnyCPU</Platforms>
18102 </CsWinRTGeneratorInteropAssemblyPath>
18103 </ItemGroup>
18104 <!-- Add the interop .dll to the required output groups -->
18105 <ItemGroup>
18106 <!-- 'ReferencePath' handles adding the interop .dll to '.deps.json', which is needed for '[UnsafeAccessor]' to work -->
18107 <ReferencePath Include="@(CsWinRTGeneratorInteropAssemblyPath)" />
18108 <!-- '_SourceItemsToCopyToOutputDirectory' handles copying the interop .dll to the build output folder -->
18109 <_SourceItemsToCopyToOutputDirectory Include="@(CsWinRTGeneratorInteropAssemblyPath)" TargetPath="$(_CsWinRTGeneratorInteropAssemblyFileName)" />
18110 <!-- '_SourceItemsToCopyToPublishDirectory' handles copying the interop .dll to the publish output folder -->
18111 <_SourceItemsToCopyToPublishDirectory Include="@(CsWinRTGeneratorInteropAssemblyPath)" TargetPath="$(_CsWinRTGeneratorInteropAssemblyFileName)" />
18112 </ItemGroup>
18113 <!-- Append to 'FileWrites' so the interop .dll will be removed on clean -->
18114 <ItemGroup>
18115 <FileWrites Include="@(CsWinRTGeneratorInteropAssemblyPath)" />
18116 </ItemGroup>
18117 </Target>
18118 <!--
18119============================================================================================================================================
18120 </Import>
18121
18122C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
18123============================================================================================================================================
18124-->
18125 <!-- TargetPlatformMoniker and TargetPlatformDisplayName would normally be set in Microsoft.Common.CurrentVersion.targets. However, the
18126 TargetPlatformVersion may have been set later than that in evaluation by platform-specific targets or Directory.Build.targets. So fix up those properties here -->
18127 <PropertyGroup Condition="'$(TargetPlatformMoniker)' == '' and '$(TargetPlatformIdentifier)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18128 <!-- Set TargetPlatformVersion if it isn't set. This is so that we have a valid TargetPlatformMoniker for Restore.
18129 This avoids an issue where projects with multitargeted unknown platforms would fail to restore because the platforms
18130 weren't included in the TargetPlatformMoniker for restore, obscuring the errors about unknown platforms or missing
18131 workloads. -->
18132 <TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == ''">0.0</TargetPlatformVersion>
18133 <TargetPlatformMoniker>$(TargetPlatformIdentifier),Version=$(TargetPlatformVersion)</TargetPlatformMoniker>
18134 <TargetPlatformDisplayName>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformSDKDisplayName($(TargetPlatformIdentifier), $(TargetPlatformVersion)))</TargetPlatformDisplayName>
18135 </PropertyGroup>
18136 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18137 <!-- If the Windows targets wasn't called to default it, then just default it to the TargetPlatformVersion. -->
18138 <EffectiveTargetPlatformVersion Condition="'$(EffectiveTargetPlatformVersion)' == ''">$(TargetPlatformVersion)</EffectiveTargetPlatformVersion>
18139 </PropertyGroup>
18140 <!-- Default SupportedOSPlatformVersion to TargetPlatformVersion -->
18141 <PropertyGroup Condition="'$(SupportedOSPlatformVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18142 <SupportedOSPlatformVersion>$(EffectiveTargetPlatformVersion)</SupportedOSPlatformVersion>
18143 </PropertyGroup>
18144 <!--<Import Project="$(AfterMicrosoftNETSdkTargets)" Condition="'$(AfterMicrosoftNETSdkTargets)' != ''" />-->
18145 <!--
18146============================================================================================================================================
18147 </Import>
18148
18149C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
18150============================================================================================================================================
18151-->
18152 <!--
18153============================================================================================================================================
18154 <Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.ApiCompat.targets">
18155
18156C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ApiCompat.targets
18157============================================================================================================================================
18158-->
18159 <!--
18160***********************************************************************************************
18161Microsoft.NET.ApiCompat.targets
18162
18163WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
18164 created a backup copy. Incorrect changes to this file will make it
18165 impossible to load or build your projects from the command-line or the IDE.
18166
18167Copyright (c) .NET Foundation. All rights reserved.
18168***********************************************************************************************
18169-->
18170 <PropertyGroup Condition="'$(UseApiCompatPackage)' != 'true'">
18171 <DotNetApiCompatTaskAssembly Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\net472\Microsoft.DotNet.ApiCompat.Task.dll</DotNetApiCompatTaskAssembly>
18172 <DotNetApiCompatTaskAssembly Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\net10.0\Microsoft.DotNet.ApiCompat.Task.dll</DotNetApiCompatTaskAssembly>
18173 </PropertyGroup>
18174 <ItemGroup Condition="'$(EnablePackageValidation)' == 'true' and&#xD;&#xA; '$(IsPackable)' == 'true' and&#xD;&#xA; '$(DisablePackageBaselineValidation)' != 'true' and&#xD;&#xA; '$(PackageValidationBaselinePath)' == '' and&#xD;&#xA; '$(PackageValidationBaselineVersion)' != ''">
18175 <PackageDownload Include="$([MSBuild]::ValueOrDefault('$(PackageValidationBaselineName)', '$(PackageId)'))" Version="[$(PackageValidationBaselineVersion)]" />
18176 </ItemGroup>
18177 <!--<ImportGroup Condition="'$(UseApiCompatPackage)' != 'true'">-->
18178 <!--
18179============================================================================================================================================
18180 <Import Project="Microsoft.NET.ApiCompat.Common.targets">
18181
18182C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ApiCompat.Common.targets
18183============================================================================================================================================
18184-->
18185 <!--
18186***********************************************************************************************
18187Microsoft.NET.ApiCompat.Common.targets
18188
18189WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
18190 created a backup copy. Incorrect changes to this file will make it
18191 impossible to load or build your projects from the command-line or the IDE.
18192
18193Copyright (c) .NET Foundation. All rights reserved.
18194***********************************************************************************************
18195-->
18196 <!-- Expose the tasks for SDK consumption and for external use cases. -->
18197 <UsingTask TaskName="Microsoft.DotNet.ApiCompat.Task.ValidateAssembliesTask" AssemblyFile="$(DotNetApiCompatTaskAssembly)" />
18198 <UsingTask TaskName="Microsoft.DotNet.ApiCompat.Task.ValidatePackageTask" AssemblyFile="$(DotNetApiCompatTaskAssembly)" />
18199 <Target Name="CollectApiCompatInputs">
18200 <PropertyGroup Condition="'$(RoslynAssembliesPath)' == ''">
18201 <!-- If a custom roslyn assemblies path isn't provided, the opt-in switch 'ApiCompatUseRoslynToolsetPackagePath' is set to true and
18202 the roslyn toolset package is referenced, use the assemblies from that package. -->
18203 <_UseRoslynToolsetPackage Condition="'$(ApiCompatUseRoslynToolsetPackagePath)' == 'true' and '@(PackageReference-&gt;AnyHaveMetadataValue('Identity', 'Microsoft.Net.Compilers.Toolset'))' == 'true'">true</_UseRoslynToolsetPackage>
18204 <!-- CSharpCoreTargetsPath and VisualBasicCoreTargetsPath point to the same location, Microsoft.CodeAnalysis.CSharp and Microsoft.CodeAnalysis.VisualBasic
18205 are on the same directory as Microsoft.CodeAnalysis. So there is no need to distinguish between csproj or vbproj. -->
18206 <RoslynAssembliesPath Condition="'$(_UseRoslynToolsetPackage)' == 'true'">$([System.IO.Path]::GetDirectoryName('$(CSharpCoreTargetsPath)'))</RoslynAssembliesPath>
18207 <!-- Otherwise, default to the roslyn compiler provided by the SDK / Visual Studio. -->
18208 <RoslynAssembliesPath Condition="'$(_UseRoslynToolsetPackage)' != 'true'">$(RoslynTargetsPath)</RoslynAssembliesPath>
18209 <!-- The SDK stores the roslyn assemblies in the 'bincore' subdirectory. -->
18210 <RoslynAssembliesPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$([System.IO.Path]::Combine('$(RoslynAssembliesPath)', 'bincore'))</RoslynAssembliesPath>
18211 </PropertyGroup>
18212 <!-- Respect legacy property and item names. -->
18213 <PropertyGroup>
18214 <ApiCompatGenerateSuppressionFile Condition="'$(ApiCompatGenerateSuppressionFile)' == ''">$(GenerateCompatibilitySuppressionFile)</ApiCompatGenerateSuppressionFile>
18215 </PropertyGroup>
18216 <ItemGroup>
18217 <ApiCompatSuppressionFile Include="$(CompatibilitySuppressionFilePath)" Condition="'@(ApiCompatSuppressionFile)' == '' and '$(CompatibilitySuppressionFilePath)' != ''" />
18218 </ItemGroup>
18219 <!-- END: Respect legacy property and item names. -->
18220 <PropertyGroup>
18221 <_apiCompatDefaultProjectSuppressionFile>$([MSBuild]::NormalizePath('$(MSBuildProjectDirectory)', 'CompatibilitySuppressions.xml'))</_apiCompatDefaultProjectSuppressionFile>
18222 <!-- Pass in a default suppression output file if non is supplied, and ApiCompatGenerateSuppressionFile is true. -->
18223 <ApiCompatSuppressionOutputFile Condition="'$(ApiCompatSuppressionOutputFile)' == '' and '$(ApiCompatGenerateSuppressionFile)' == 'true'">$(_apiCompatDefaultProjectSuppressionFile)</ApiCompatSuppressionOutputFile>
18224 </PropertyGroup>
18225 <!-- Pass in a default suppression file, if it exists. -->
18226 <ItemGroup Condition="'@(ApiCompatSuppressionFile)' == ''">
18227 <ApiCompatSuppressionFile Include="$(_apiCompatDefaultProjectSuppressionFile)" Condition="Exists($(_apiCompatDefaultProjectSuppressionFile))" />
18228 </ItemGroup>
18229 </Target>
18230 <!--
18231============================================================================================================================================
18232 </Import>
18233
18234C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ApiCompat.targets
18235============================================================================================================================================
18236-->
18237 <!--
18238============================================================================================================================================
18239 <Import Project="Microsoft.NET.ApiCompat.ValidatePackage.targets">
18240
18241C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ApiCompat.ValidatePackage.targets
18242============================================================================================================================================
18243-->
18244 <!--
18245***********************************************************************************************
18246Microsoft.NET.ApiCompat.ValidatePackage.targets
18247
18248WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
18249 created a backup copy. Incorrect changes to this file will make it
18250 impossible to load or build your projects from the command-line or the IDE.
18251
18252Copyright (c) .NET Foundation. All rights reserved.
18253***********************************************************************************************
18254-->
18255 <PropertyGroup>
18256 <_ApiCompatValidatePackageSemaphoreFile>$(IntermediateOutputPath)$(MSBuildThisFileName).semaphore</_ApiCompatValidatePackageSemaphoreFile>
18257 <!-- Add any custom targets that need to run before package validation to the following property. -->
18258 <RunPackageValidationDependsOn>CollectApiCompatInputs;_GetReferencePathFromInnerProjects;$(RunPackageValidationDependsOn)</RunPackageValidationDependsOn>
18259 </PropertyGroup>
18260 <Target Name="RunPackageValidation" DependsOnTargets="$(RunPackageValidationDependsOn)" AfterTargets="Pack" Inputs="@(NuGetPackInput);&#xD;&#xA; @(ApiCompatSuppressionFile);&#xD;&#xA; $(ApiCompatSuppressionOutputFile)" Outputs="$(_ApiCompatValidatePackageSemaphoreFile)" Condition="'$(EnablePackageValidation)' == 'true' and '$(IsPackable)' == 'true'">
18261 <PropertyGroup>
18262 <PackageValidationBaselineName Condition="'$(PackageValidationBaselineName)' == ''">$(PackageId)</PackageValidationBaselineName>
18263 <PackageValidationBaselinePath Condition="'$(PackageValidationBaselinePath)' == '' and '$(PackageValidationBaselineVersion)' != ''">$([MSBuild]::NormalizePath('$(NuGetPackageRoot)', '$(PackageValidationBaselineName.ToLower())', '$(PackageValidationBaselineVersion)', '$(PackageValidationBaselineName.ToLower()).$(PackageValidationBaselineVersion).nupkg'))</PackageValidationBaselinePath>
18264 <_packageValidationBaselinePath Condition="'$(DisablePackageBaselineValidation)' != 'true'">$(PackageValidationBaselinePath)</_packageValidationBaselinePath>
18265 </PropertyGroup>
18266 <ItemGroup>
18267 <_PackageTargetPath Include="@(NuGetPackOutput-&gt;WithMetadataValue('Extension', '.nupkg'))" Condition="!$([System.String]::new('%(Identity)').EndsWith('.symbols.nupkg'))" />
18268 </ItemGroup>
18269 <!-- PackageTargetPath isn't exposed by NuGet: https://github.com/NuGet/Home/issues/6671. -->
18270 <Microsoft.DotNet.ApiCompat.Task.ValidatePackageTask PackageTargetPath="@(_PackageTargetPath)" RuntimeGraph="$(RuntimeIdentifierGraphPath)" NoWarn="$(NoWarn)" RespectInternals="$(ApiCompatRespectInternals)" EnableRuleAttributesMustMatch="$(ApiCompatEnableRuleAttributesMustMatch)" ExcludeAttributesFiles="@(ApiCompatExcludeAttributesFile)" EnableRuleCannotChangeParameterName="$(ApiCompatEnableRuleCannotChangeParameterName)" RunApiCompat="$(RunApiCompat)" EnableStrictModeForCompatibleTfms="$(EnableStrictModeForCompatibleTfms)" EnableStrictModeForCompatibleFrameworksInPackage="$(EnableStrictModeForCompatibleFrameworksInPackage)" EnableStrictModeForBaselineValidation="$(EnableStrictModeForBaselineValidation)" GenerateSuppressionFile="$(ApiCompatGenerateSuppressionFile)" PreserveUnnecessarySuppressions="$(ApiCompatPreserveUnnecessarySuppressions)" PermitUnnecessarySuppressions="$(ApiCompatPermitUnnecessarySuppressions)" SuppressionFiles="@(ApiCompatSuppressionFile)" SuppressionOutputFile="$(ApiCompatSuppressionOutputFile)" BaselinePackageTargetPath="$(_packageValidationBaselinePath)" RoslynAssembliesPath="$(RoslynAssembliesPath)" PackageAssemblyReferences="@(PackageValidationReferencePath)" BaselinePackageFrameworksToIgnore="@(PackageValidationBaselineFrameworkToIgnore)" />
18271 <MakeDir Directories="$([System.IO.Path]::GetDirectoryName('$(_ApiCompatValidatePackageSemaphoreFile)'))" />
18272 <Touch Files="$(_ApiCompatValidatePackageSemaphoreFile)" AlwaysCreate="true" />
18273 </Target>
18274 <Target Name="GetReferencesForApiCompatValidatePackage" DependsOnTargets="FindReferenceAssembliesForReferences" Returns="@(ApiCompatAssemblyReferencesWithTargetFramework)">
18275 <ItemGroup>
18276 <ApiCompatAssemblyReferencesWithTargetFramework Include="$(TargetFramework)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" ReferencePath="@(ReferencePathWithRefAssemblies, ',')">
18277 <TargetPlatformMoniker Condition="'$(ApiCompatIgnoreTargetPlatformMoniker)' != 'true'">$(TargetPlatformMoniker)</TargetPlatformMoniker>
18278 </ApiCompatAssemblyReferencesWithTargetFramework>
18279 </ItemGroup>
18280 </Target>
18281 <!-- Depends on NuGet's _GetTargetFrameworksOutput target to calculate inner target frameworks. -->
18282 <Target Name="_GetReferencePathFromInnerProjects" DependsOnTargets="_GetTargetFrameworksOutput" Condition="'$(RunPackageValidationWithoutReferences)' != 'true'">
18283 <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="GetReferencesForApiCompatValidatePackage" Properties="TargetFramework=%(_TargetFrameworks.Identity);&#xD;&#xA; BuildProjectReferences=false">
18284 <Output ItemName="PackageValidationReferencePath" TaskParameter="TargetOutputs" />
18285 </MSBuild>
18286 </Target>
18287 <!--
18288============================================================================================================================================
18289 </Import>
18290
18291C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ApiCompat.targets
18292============================================================================================================================================
18293-->
18294 <!--</ImportGroup>-->
18295 <!--
18296============================================================================================================================================
18297 </Import>
18298
18299C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
18300============================================================================================================================================
18301-->
18302 <!-- Import targets from NuGet.Build.Tasks.Pack package/Sdk -->
18303 <PropertyGroup Condition="'$(NuGetBuildTasksPackTargets)' == '' AND '$(ImportNuGetBuildTasksPackTargetsFromSdk)' != 'false'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18304 <NuGetBuildTasksPackTargets>$(MSBuildThisFileDirectory)..\..\..\NuGet.Build.Tasks.Pack.targets</NuGetBuildTasksPackTargets>
18305 <ImportNuGetBuildTasksPackTargetsFromSdk>true</ImportNuGetBuildTasksPackTargetsFromSdk>
18306 </PropertyGroup>
18307 <!--
18308============================================================================================================================================
18309 <Import Project="$(NuGetBuildTasksPackTargets)" Condition="Exists('$(NuGetBuildTasksPackTargets)') AND '$(ImportNuGetBuildTasksPackTargetsFromSdk)' == 'true'">
18310
18311C:\Program Files\dotnet\sdk\10.0.100\NuGet.Build.Tasks.Pack.targets
18312============================================================================================================================================
18313-->
18314 <!--
18315***********************************************************************************************
18316NuGet.Build.Tasks.Pack.targets
18317
18318WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
18319 created a backup copy. Incorrect changes to this file will make it
18320 impossible to load or build your projects from the command-line or the IDE.
18321
18322Copyright (c) .NET Foundation. All rights reserved.
18323***********************************************************************************************
18324-->
18325 <!-- Load NuGet.Build.Tasks.Pack.dll, this can be overridden to use a different version with $(NuGetPackTaskAssemblyFile) -->
18326 <PropertyGroup Condition="$(NuGetPackTaskAssemblyFile) == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18327 <NuGetPackTaskAssemblyFile Condition="'$(UsingMicrosoftNetSdk)' == 'true' And '$(MSBuildRuntimeType)' != 'Core'">Sdks\Microsoft.NET.Sdk\tools\net472\NuGet.Build.Tasks.Pack.dll</NuGetPackTaskAssemblyFile>
18328 <NuGetPackTaskAssemblyFile Condition="'$(NuGetPackTaskAssemblyFile)' == ''">NuGet.Build.Tasks.Pack.dll</NuGetPackTaskAssemblyFile>
18329 </PropertyGroup>
18330 <!-- Tasks -->
18331 <UsingTask TaskName="NuGet.Build.Tasks.Pack.PackTask" AssemblyFile="$(NuGetPackTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
18332 <UsingTask TaskName="NuGet.Build.Tasks.Pack.GetPackOutputItemsTask" AssemblyFile="$(NuGetPackTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
18333 <UsingTask TaskName="NuGet.Build.Tasks.GetProjectTargetFrameworksTask" AssemblyFile="$(NuGetPackTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
18334 <UsingTask TaskName="NuGet.Build.Tasks.Pack.GetProjectReferencesFromAssetsFileTask" AssemblyFile="$(NuGetPackTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
18335 <UsingTask TaskName="NuGet.Build.Tasks.Pack.IsPackableFalseWarningTask" AssemblyFile="$(NuGetPackTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
18336 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18337 <PackageId Condition=" '$(PackageId)' == '' ">$(AssemblyName)</PackageId>
18338 <PackageVersion Condition=" '$(PackageVersion)' == '' ">$(Version)</PackageVersion>
18339 <IncludeContentInPack Condition="'$(IncludeContentInPack)'==''">true</IncludeContentInPack>
18340 <GenerateNuspecDependsOn>_LoadPackInputItems; _GetTargetFrameworksOutput; _WalkEachTargetPerFramework; _GetPackageFiles; $(GenerateNuspecDependsOn)</GenerateNuspecDependsOn>
18341 <PackageDescription Condition="'$(PackageDescription)'==''">$(Description)</PackageDescription>
18342 <PackageDescription Condition="'$(PackageDescription)'==''">Package Description</PackageDescription>
18343 <IsPackable Condition="'$(IsPackable)'=='' AND ('$(IsTestProject)'=='true' OR '$(IsTestingPlatformApplication)'=='true')">false</IsPackable>
18344 <IsPackable Condition="'$(IsPackable)'==''">true</IsPackable>
18345 <IncludeBuildOutput Condition="'$(IncludeBuildOutput)'==''">true</IncludeBuildOutput>
18346 <BuildOutputTargetFolder Condition="'$(BuildOutputTargetFolder)' == '' AND '$(IsTool)' == 'true'">tools</BuildOutputTargetFolder>
18347 <BuildOutputTargetFolder Condition="'$(BuildOutputTargetFolder)' == ''">lib</BuildOutputTargetFolder>
18348 <ContentTargetFolders Condition="'$(ContentTargetFolders)' == ''">content;contentFiles</ContentTargetFolders>
18349 <PackDependsOn>$(BeforePack); _GetRestoreProjectStyle; _IntermediatePack; GenerateNuspec; $(PackDependsOn)</PackDependsOn>
18350 <IsInnerBuild Condition="'$(TargetFramework)' != '' AND '$(TargetFrameworks)' != ''">true</IsInnerBuild>
18351 <SymbolPackageFormat Condition="'$(SymbolPackageFormat)' == ''">symbols.nupkg</SymbolPackageFormat>
18352 <AddPriFileDependsOn Condition="'$(MicrosoftPortableCurrentVersionPropsHasBeenImported)' == 'true'">DeterminePortableBuildCapabilities</AddPriFileDependsOn>
18353 <WarnOnPackingNonPackableProject Condition="'$(WarnOnPackingNonPackableProject)' == ''">false</WarnOnPackingNonPackableProject>
18354 <ImportNuGetBuildTasksPackTargetsFromSdk Condition="'$(ImportNuGetBuildTasksPackTargetsFromSdk)' == ''">false</ImportNuGetBuildTasksPackTargetsFromSdk>
18355 <DefaultAllowedOutputExtensionsInPackageBuildOutputFolder Condition="'$(DefaultAllowedOutputExtensionsInPackageBuildOutputFolder)' == ''">.dll; .exe; .winmd; .json; .pri; .xml</DefaultAllowedOutputExtensionsInPackageBuildOutputFolder>
18356 <AllowedOutputExtensionsInPackageBuildOutputFolder>$(DefaultAllowedOutputExtensionsInPackageBuildOutputFolder) ;$(AllowedOutputExtensionsInPackageBuildOutputFolder)</AllowedOutputExtensionsInPackageBuildOutputFolder>
18357 <AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder Condition="'$(SymbolPackageFormat)' != 'snupkg'">.pdb; .mdb; $(AllowedOutputExtensionsInPackageBuildOutputFolder); $(AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder)</AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder>
18358 <AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder Condition="'$(SymbolPackageFormat)' == 'snupkg'">.pdb</AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder>
18359 <SuppressDependenciesWhenPacking Condition="'$(SuppressDependenciesWhenPacking)' == ''">false</SuppressDependenciesWhenPacking>
18360 </PropertyGroup>
18361 <PropertyGroup Condition="'$(NoBuild)' == 'true' or '$(GeneratePackageOnBuild)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18362 <GenerateNuspecDependsOn>$(GenerateNuspecDependsOn)</GenerateNuspecDependsOn>
18363 </PropertyGroup>
18364 <PropertyGroup Condition="'$(NoBuild)' != 'true' and '$(GeneratePackageOnBuild)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18365 <GenerateNuspecDependsOn>Build;$(GenerateNuspecDependsOn)</GenerateNuspecDependsOn>
18366 </PropertyGroup>
18367 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18368 <ProjectCapability Include="Pack" />
18369 </ItemGroup>
18370 <ItemDefinitionGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18371 <BuildOutputInPackage>
18372 <TargetFramework>$(TargetFramework)</TargetFramework>
18373 </BuildOutputInPackage>
18374 </ItemDefinitionGroup>
18375 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18376 <RestoreOutputPath Condition="'$(RestoreOutputPath)' == ''">$(MSBuildProjectExtensionsPath)</RestoreOutputPath>
18377 <PackageOutputPath Condition="'$(PackageOutputPath)' == ''">$(BaseOutputPath)$(Configuration)\</PackageOutputPath>
18378 <NuspecOutputPath Condition="'$(NuspecOutputPath)' == ''">$(BaseIntermediateOutputPath)$(Configuration)\</NuspecOutputPath>
18379 </PropertyGroup>
18380 <!--
18381 ============================================================
18382 _GetAbsoluteOutputPathsForPack
18383 Gets the absolute output paths for Pack.
18384 ============================================================
18385 -->
18386 <Target Name="_GetAbsoluteOutputPathsForPack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18387 <ConvertToAbsolutePath Paths="$(RestoreOutputPath)">
18388 <Output TaskParameter="AbsolutePaths" PropertyName="RestoreOutputAbsolutePath" />
18389 </ConvertToAbsolutePath>
18390 <ConvertToAbsolutePath Paths="$(PackageOutputPath)">
18391 <Output TaskParameter="AbsolutePaths" PropertyName="PackageOutputAbsolutePath" />
18392 </ConvertToAbsolutePath>
18393 <ConvertToAbsolutePath Paths="$(NuspecOutputPath)">
18394 <Output TaskParameter="AbsolutePaths" PropertyName="NuspecOutputAbsolutePath" />
18395 </ConvertToAbsolutePath>
18396 </Target>
18397 <!--
18398 ============================================================
18399 _GetOutputItemsFromPack
18400 Gets the output '.nupkg' and '.nuspec' absolute file paths.
18401 ============================================================
18402 -->
18403 <Target Name="_GetOutputItemsFromPack" DependsOnTargets="_GetAbsoluteOutputPathsForPack" Returns="@(_OutputPackItems)" Condition="'$(PackageReferenceCompatibleProjectStyle)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18404 <!-- 'PackageOutputAbsolutePath' and 'NuspecOutputAbsolutePath' will be provided by '_GetAbsoluteOutputPathsForPack' target -->
18405 <GetPackOutputItemsTask PackageOutputPath="$(PackageOutputAbsolutePath)" NuspecOutputPath="$(NuspecOutputAbsolutePath)" PackageId="$(PackageId)" PackageVersion="$(PackageVersion)" IncludeSymbols="$(IncludeSymbols)" IncludeSource="$(IncludeSource)" SymbolPackageFormat="$(SymbolPackageFormat)">
18406 <Output TaskParameter="OutputPackItems" ItemName="_OutputPackItems" />
18407 </GetPackOutputItemsTask>
18408 </Target>
18409 <!--
18410 ============================================================
18411 _GetTargetFrameworksOutput
18412 Read target frameworks from the project.
18413 ============================================================
18414 -->
18415 <Target Name="_GetTargetFrameworksOutput" Returns="@(_TargetFrameworks)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18416 <PropertyGroup>
18417 <_ProjectFrameworks />
18418 </PropertyGroup>
18419 <GetProjectTargetFrameworksTask ProjectPath="$(MSBuildProjectFullPath)" TargetFrameworks="$(TargetFrameworks)" TargetFramework="$(TargetFramework)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformMinVersion="$(TargetPlatformMinVersion)">
18420 <Output TaskParameter="ProjectTargetFrameworks" PropertyName="_ProjectFrameworks" />
18421 </GetProjectTargetFrameworksTask>
18422 <ItemGroup Condition=" '$(_ProjectFrameworks)' != '' ">
18423 <_TargetFrameworks Include="$(_ProjectFrameworks.Split(';'))" />
18424 </ItemGroup>
18425 </Target>
18426 <!--
18427 ============================================================
18428 Pack
18429 Post Build Target
18430 ============================================================
18431 -->
18432 <Target Name="_PackAsBuildAfterTarget" AfterTargets="Build" Condition="'$(GeneratePackageOnBuild)' == 'true' AND '$(IsInnerBuild)' != 'true'" DependsOnTargets="Pack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
18433 <Target Name="_CleanPackageFiles" DependsOnTargets="_GetOutputItemsFromPack" AfterTargets="Clean" Condition="'$(GeneratePackageOnBuild)' == 'true' AND '$(IsInnerBuild)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18434 <ItemGroup>
18435 <_PackageFilesToDelete Include="@(_OutputPackItems)" />
18436 </ItemGroup>
18437 <Delete Files="@(_PackageFilesToDelete)" />
18438 </Target>
18439 <Target Name="_CalculateInputsOutputsForPack" DependsOnTargets="_GetOutputItemsFromPack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18440 <PropertyGroup Condition="$(ContinuePackingAfterGeneratingNuspec) == '' ">
18441 <ContinuePackingAfterGeneratingNuspec>false</ContinuePackingAfterGeneratingNuspec>
18442 </PropertyGroup>
18443 <ItemGroup>
18444 <!--This catches changes to properties-->
18445 <NuGetPackInput Include="$(MSBuildAllProjects)" />
18446 <NuGetPackInput Include="@(_PackageFiles)" />
18447 <NuGetPackInput Include="@(_PackageFilesToExclude)" />
18448 <NuGetPackInput Include="@(_BuildOutputInPackage->'%(FinalOutputPath)')" />
18449 <NuGetPackInput Include="@(_TargetPathsToSymbols->'%(FinalOutputPath)')" />
18450 <NuGetPackInput Include="@(_SourceFiles)" />
18451 <NuGetPackInput Include="@(_References)" />
18452 <NuGetPackOutput Include="@(_OutputPackItems)" />
18453 </ItemGroup>
18454 </Target>
18455 <!--
18456 ============================================================
18457 Pack
18458 Main entry point for packing packages
18459 ============================================================
18460 -->
18461 <Target Name="Pack" DependsOnTargets="$(PackDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18462 <IsPackableFalseWarningTask Condition="'$(IsPackable)' == 'false' AND '$(WarnOnPackingNonPackableProject)' == 'true'" />
18463 </Target>
18464 <Target Name="_IntermediatePack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18465 <PropertyGroup>
18466 <ContinuePackingAfterGeneratingNuspec>true</ContinuePackingAfterGeneratingNuspec>
18467 </PropertyGroup>
18468 </Target>
18469 <Target Name="GenerateNuspec" Condition="'$(IsPackable)' == 'true' AND '$(PackageReferenceCompatibleProjectStyle)' == 'true'" Inputs="@(NuGetPackInput)" Outputs="@(NuGetPackOutput)" DependsOnTargets="$(GenerateNuspecDependsOn);_CalculateInputsOutputsForPack;_GetProjectReferenceVersions;_InitializeNuspecRepositoryInformationProperties" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18470 <ConvertToAbsolutePath Condition="$(NuspecFile) != ''" Paths="$(NuspecFile)">
18471 <Output TaskParameter="AbsolutePaths" PropertyName="NuspecFileAbsolutePath" />
18472 </ConvertToAbsolutePath>
18473 <!-- Call Pack -->
18474 <PackTask PackItem="$(PackProjectInputFile)" PackageFiles="@(_PackageFiles)" PackageFilesToExclude="@(_PackageFilesToExclude)" PackageVersion="$(PackageVersion)" PackageId="$(PackageId)" Title="$(Title)" Authors="$(Authors)" Description="$(PackageDescription)" Copyright="$(Copyright)" RequireLicenseAcceptance="$(PackageRequireLicenseAcceptance)" LicenseUrl="$(PackageLicenseUrl)" ProjectUrl="$(PackageProjectUrl)" IconUrl="$(PackageIconUrl)" ReleaseNotes="$(PackageReleaseNotes)" Tags="$(PackageTags)" DevelopmentDependency="$(DevelopmentDependency)" BuildOutputInPackage="@(_BuildOutputInPackage)" ProjectReferencesWithVersions="@(_ProjectReferencesWithVersions)" TargetPathsToSymbols="@(_TargetPathsToSymbols)" TargetFrameworks="@(_TargetFrameworks)" FrameworksWithSuppressedDependencies="@(_FrameworksWithSuppressedDependencies)" AssemblyName="$(AssemblyName)" PackageOutputPath="$(PackageOutputAbsolutePath)" IncludeSymbols="$(IncludeSymbols)" IncludeSource="$(IncludeSource)" PackageTypes="$(PackageType)" IsTool="$(IsTool)" RepositoryUrl="$(RepositoryUrl)" RepositoryType="$(RepositoryType)" RepositoryBranch="$(RepositoryBranch)" RepositoryCommit="$(RepositoryCommit)" SourceFiles="@(_SourceFiles-&gt;Distinct())" NoPackageAnalysis="$(NoPackageAnalysis)" NoDefaultExcludes="$(NoDefaultExcludes)" MinClientVersion="$(MinClientVersion)" Serviceable="$(Serviceable)" FrameworkAssemblyReferences="@(_FrameworkAssemblyReferences)" ContinuePackingAfterGeneratingNuspec="$(ContinuePackingAfterGeneratingNuspec)" NuspecOutputPath="$(NuspecOutputAbsolutePath)" IncludeBuildOutput="$(IncludeBuildOutput)" BuildOutputFolders="$(BuildOutputTargetFolder)" ContentTargetFolders="$(ContentTargetFolders)" RestoreOutputPath="$(RestoreOutputAbsolutePath)" NuspecFile="$(NuspecFileAbsolutePath)" NuspecBasePath="$(NuspecBasePath)" NuspecProperties="$(NuspecProperties)" AllowedOutputExtensionsInPackageBuildOutputFolder="$(AllowedOutputExtensionsInPackageBuildOutputFolder)" AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder="$(AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder)" NoWarn="$(NoWarn)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" TreatWarningsAsErrors="$(TreatWarningsAsErrors)" OutputFileNamesWithoutVersion="$(OutputFileNamesWithoutVersion)" InstallPackageToOutputPath="$(InstallPackageToOutputPath)" SymbolPackageFormat="$(SymbolPackageFormat)" PackageLicenseFile="$(PackageLicenseFile)" PackageLicenseExpression="$(PackageLicenseExpression)" PackageLicenseExpressionVersion="$(PackageLicenseExpressionVersion)" Readme="$(PackageReadmeFile)" Deterministic="$(Deterministic)" PackageIcon="$(PackageIcon)" />
18475 </Target>
18476 <!--
18477 Initialize Repository* properties from properties set by a source control package, if available in the project.
18478 -->
18479 <Target Name="_InitializeNuspecRepositoryInformationProperties" DependsOnTargets="InitializeSourceControlInformation" Condition="'$(SourceControlInformationFeatureSupported)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18480 <PropertyGroup>
18481 <!-- The project must specify PublishRepositoryUrl=true in order to publish the URL or branch, in order to prevent inadvertent leak of internal data. -->
18482 <RepositoryUrl Condition="'$(RepositoryUrl)' == '' and '$(PublishRepositoryUrl)' == 'true'">$(PrivateRepositoryUrl)</RepositoryUrl>
18483 <RepositoryCommit Condition="'$(RepositoryCommit)' == ''">$(SourceRevisionId)</RepositoryCommit>
18484 <RepositoryBranch Condition="'$(RepositoryBranch)' == '' and '$(PublishRepositoryUrl)' == 'true' and '$(SourceBranchName)' != ''">$(SourceBranchName)</RepositoryBranch>
18485 </PropertyGroup>
18486 </Target>
18487 <!--
18488 ============================================================
18489 _LoadPackGraphEntryPoints
18490 Find project entry point and load them into items.
18491 ============================================================
18492 -->
18493 <Target Name="_LoadPackInputItems" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18494 <!-- Allow overriding items with PackProjectInputFile -->
18495 <PropertyGroup Condition="'$(PackProjectInputFile)' == ''">
18496 <PackProjectInputFile>$(MSBuildProjectFullPath)</PackProjectInputFile>
18497 </PropertyGroup>
18498 </Target>
18499 <Target Name="_GetProjectReferenceVersions" Condition="'$(NuspecFile)' == ''" DependsOnTargets="_GetAbsoluteOutputPathsForPack;$(GetPackageVersionDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18500 <!-- 'RestoreOutputAbsolutePath' will be provided by '_GetAbsoluteOutputPathsForPack' target -->
18501 <ConvertToAbsolutePath Condition="'$(ProjectAssetsFile)' != ''" Paths="$(ProjectAssetsFile)">
18502 <Output TaskParameter="AbsolutePaths" PropertyName="ProjectAssetsFileAbsolutePath" />
18503 </ConvertToAbsolutePath>
18504 <GetProjectReferencesFromAssetsFileTask RestoreOutputAbsolutePath="$(RestoreOutputAbsolutePath)" ProjectAssetsFileAbsolutePath="$(ProjectAssetsFileAbsolutePath)">
18505 <Output TaskParameter="ProjectReferences" ItemName="_ProjectReferencesFromAssetsFile" />
18506 </GetProjectReferencesFromAssetsFileTask>
18507 <MSBuild Projects="@(_ProjectReferencesFromAssetsFile)" Targets="_GetProjectVersion" SkipNonexistentTargets="true" SkipNonexistentProjects="true" Properties="BuildProjectReferences=false;">
18508 <Output TaskParameter="TargetOutputs" ItemName="_ProjectReferencesWithVersions" />
18509 </MSBuild>
18510 </Target>
18511 <Target Name="_GetProjectVersion" DependsOnTargets="$(GetPackageVersionDependsOn)" Returns="@(_ProjectPathWithVersion)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18512 <ItemGroup>
18513 <_ProjectPathWithVersion Include="$(MSBuildProjectFullPath)">
18514 <ProjectVersion Condition="'$(PackageVersion)' != ''">$(PackageVersion)</ProjectVersion>
18515 <ProjectVersion Condition="'$(PackageVersion)' == ''">1.0.0</ProjectVersion>
18516 </_ProjectPathWithVersion>
18517 </ItemGroup>
18518 </Target>
18519 <Target Name="_WalkEachTargetPerFramework" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18520 <ItemGroup>
18521 <_ProjectsWithTFM Include="$(MSBuildProjectFullPath)" AdditionalProperties="TargetFramework=%(_TargetFrameworks.Identity)" />
18522 <_ProjectsWithTFMNoBuild Include="$(MSBuildProjectFullPath)" AdditionalProperties="TargetFramework=%(_TargetFrameworks.Identity);BuildProjectReferences=false" />
18523 </ItemGroup>
18524 <MSBuild Condition="'$(IncludeBuildOutput)' == 'true'" Projects="@(_ProjectsWithTFM)" Targets="_GetBuildOutputFilesWithTfm" BuildInParallel="$(BuildInParallel)">
18525 <Output TaskParameter="TargetOutputs" ItemName="_BuildOutputInPackage" />
18526 </MSBuild>
18527 <MSBuild Condition="'$(TargetsForTfmSpecificContentInPackage)' != ''" Projects="@(_ProjectsWithTFM)" Targets="_GetTfmSpecificContentForPackage" BuildInParallel="$(BuildInParallel)">
18528 <Output TaskParameter="TargetOutputs" ItemName="_PackageFiles" />
18529 </MSBuild>
18530 <MSBuild Condition="'$(IncludeBuildOutput)' == 'true'" Projects="@(_ProjectsWithTFM)" Targets="_GetDebugSymbolsWithTfm" BuildInParallel="$(BuildInParallel)">
18531 <Output TaskParameter="TargetOutputs" ItemName="_TargetPathsToSymbols" />
18532 </MSBuild>
18533 <MSBuild Condition="'$(IncludeSource)' == 'true'" Projects="@(_ProjectsWithTFMNoBuild)" Targets="SourceFilesProjectOutputGroup" BuildInParallel="$(BuildInParallel)">
18534 <Output TaskParameter="TargetOutputs" ItemName="_SourceFiles" />
18535 </MSBuild>
18536 <MSBuild Projects="@(_ProjectsWithTFMNoBuild)" Targets="_GetFrameworkAssemblyReferences" BuildInParallel="$(BuildInParallel)">
18537 <Output TaskParameter="TargetOutputs" ItemName="_FrameworkAssemblyReferences" />
18538 </MSBuild>
18539 <MSBuild Projects="@(_ProjectsWithTFMNoBuild)" Targets="_GetFrameworksWithSuppressedDependencies" BuildInParallel="$(BuildInParallel)">
18540 <Output TaskParameter="TargetOutputs" ItemName="_FrameworksWithSuppressedDependencies" />
18541 </MSBuild>
18542 </Target>
18543 <Target Name="_GetFrameworksWithSuppressedDependencies" Returns="@(_TfmWithDependenciesSuppressed)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18544 <ItemGroup>
18545 <_TfmWithDependenciesSuppressed Include="$(TargetFramework)" Condition="'$(SuppressDependenciesWhenPacking)' == 'true'" />
18546 </ItemGroup>
18547 </Target>
18548 <Target Name="_GetFrameworkAssemblyReferences" DependsOnTargets="ResolveReferences" Returns="@(TfmSpecificFrameworkAssemblyReferences)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18549 <ItemGroup>
18550 <TfmSpecificFrameworkAssemblyReferences Include="@(ReferencePath->'%(OriginalItemSpec)')" Condition="'%(ReferencePath.Pack)' != 'false' AND '%(ReferencePath.ResolvedFrom)' == '{TargetFrameworkDirectory}'">
18551 <TargetFramework>$(TargetFramework)</TargetFramework>
18552 </TfmSpecificFrameworkAssemblyReferences>
18553 </ItemGroup>
18554 </Target>
18555 <Target Name="_GetBuildOutputFilesWithTfm" DependsOnTargets="BuiltProjectOutputGroup;DocumentationProjectOutputGroup;SatelliteDllsProjectOutputGroup;_AddPriFileToPackBuildOutput;$(TargetsForTfmSpecificBuildOutput)" Returns="@(BuildOutputInPackage)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18556 <ItemGroup Condition="'$(IncludeBuildOutput)' == 'true'">
18557 <BuildOutputInPackage Include="@(SatelliteDllsProjectOutputGroupOutput);&#xD;&#xA; @(BuiltProjectOutputGroupOutput);&#xD;&#xA; @(DocumentationProjectOutputGroupOutput);&#xD;&#xA; @(_PathToPriFile)" />
18558 </ItemGroup>
18559 </Target>
18560 <Target Name="_GetTfmSpecificContentForPackage" DependsOnTargets="$(TargetsForTfmSpecificContentInPackage)" Returns="@(TfmSpecificPackageFileWithRecursiveDir)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18561 <!-- The below workaround needs to be done due to msbuild bug https://github.com/Microsoft/msbuild/issues/3121 -->
18562 <ItemGroup>
18563 <TfmSpecificPackageFileWithRecursiveDir Include="@(TfmSpecificPackageFile)">
18564 <NuGetRecursiveDir>%(TfmSpecificPackageFile.RecursiveDir)</NuGetRecursiveDir>
18565 <BuildAction>%(TfmSpecificPackageFile.BuildAction)</BuildAction>
18566 </TfmSpecificPackageFileWithRecursiveDir>
18567 </ItemGroup>
18568 </Target>
18569 <Target Name="_GetDebugSymbolsWithTfm" DependsOnTargets="DebugSymbolsProjectOutputGroup;$(TargetsForTfmSpecificDebugSymbolsInPackage)" Returns="@(_TargetPathsToSymbolsWithTfm)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18570 <ItemGroup Condition="'$(IncludeBuildOutput)' == 'true'">
18571 <_TargetPathsToSymbolsWithTfm Include="@(DebugSymbolsProjectOutputGroupOutput)">
18572 <TargetFramework>$(TargetFramework)</TargetFramework>
18573 </_TargetPathsToSymbolsWithTfm>
18574 </ItemGroup>
18575 <ItemGroup>
18576 <_TargetPathsToSymbolsWithTfm Include="@(TfmSpecificDebugSymbolsFile)" />
18577 </ItemGroup>
18578 </Target>
18579 <!--Projects with target framework like UWP, Win8, wpa81 produce a Pri file
18580 in their bin dir. This Pri file is not included in the BuiltProjectGroupOutput, and
18581 has to be added manually here.-->
18582 <Target Name="_AddPriFileToPackBuildOutput" Returns="@(_PathToPriFile)" DependsOnTargets="$(AddPriFileDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18583 <ItemGroup Condition="'$(IncludeProjectPriFile)' == 'true'">
18584 <_PathToPriFile Include="$(ProjectPriFullPath)">
18585 <FinalOutputPath>$(ProjectPriFullPath)</FinalOutputPath>
18586 <TargetPath>$(ProjectPriFileName)</TargetPath>
18587 </_PathToPriFile>
18588 </ItemGroup>
18589 </Target>
18590 <!--
18591 ============================================================
18592 _GetPackageFiles
18593 Entry point for generating the project to project references.
18594 ============================================================
18595 -->
18596 <Target Name="_GetPackageFiles" Condition="$(IncludeContentInPack) == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18597 <ItemGroup>
18598 <_PackageFilesToExclude Include="@(Content)" Condition="'%(Content.Pack)' == 'false'" />
18599 </ItemGroup>
18600 <!-- Include PackageFiles and Content of the project being packed -->
18601 <ItemGroup>
18602 <_PackageFiles Include="@(Content)" Condition=" %(Content.Pack) != 'false' ">
18603 <BuildAction Condition="'%(Content.BuildAction)' == ''">Content</BuildAction>
18604 </_PackageFiles>
18605 <_PackageFiles Include="@(Compile)" Condition=" %(Compile.Pack) == 'true' ">
18606 <BuildAction Condition="'%(Compile.BuildAction)' == ''">Compile</BuildAction>
18607 </_PackageFiles>
18608 <_PackageFiles Include="@(None)" Condition=" %(None.Pack) == 'true' ">
18609 <BuildAction Condition="'%(None.BuildAction)' == ''">None</BuildAction>
18610 </_PackageFiles>
18611 <_PackageFiles Include="@(EmbeddedResource)" Condition=" %(EmbeddedResource.Pack) == 'true' ">
18612 <BuildAction Condition="'%(EmbeddedResource.BuildAction)' == ''">EmbeddedResource</BuildAction>
18613 </_PackageFiles>
18614 <_PackageFiles Include="@(ApplicationDefinition)" Condition=" %(ApplicationDefinition.Pack) == 'true' ">
18615 <BuildAction Condition="'%(ApplicationDefinition.BuildAction)' == ''">ApplicationDefinition</BuildAction>
18616 </_PackageFiles>
18617 <_PackageFiles Include="@(Page)" Condition=" %(Page.Pack) == 'true' ">
18618 <BuildAction Condition="'%(Page.BuildAction)' == ''">Page</BuildAction>
18619 </_PackageFiles>
18620 <_PackageFiles Include="@(Resource)" Condition=" %(Resource.Pack) == 'true' ">
18621 <BuildAction Condition="'%(Resource.BuildAction)' == ''">Resource</BuildAction>
18622 </_PackageFiles>
18623 <_PackageFiles Include="@(SplashScreen)" Condition=" %(SplashScreen.Pack) == 'true' ">
18624 <BuildAction Condition="'%(SplashScreen.BuildAction)' == ''">SplashScreen</BuildAction>
18625 </_PackageFiles>
18626 <_PackageFiles Include="@(DesignData)" Condition=" %(DesignData.Pack) == 'true' ">
18627 <BuildAction Condition="'%(DesignData.BuildAction)' == ''">DesignData</BuildAction>
18628 </_PackageFiles>
18629 <_PackageFiles Include="@(DesignDataWithDesignTimeCreatableTypes)" Condition=" %(DesignDataWithDesignTimeCreatableTypes.Pack) == 'true' ">
18630 <BuildAction Condition="'%(DesignDataWithDesignTimeCreatableTypes.BuildAction)' == ''">DesignDataWithDesignTimeCreatableTypes</BuildAction>
18631 </_PackageFiles>
18632 <_PackageFiles Include="@(CodeAnalysisDictionary)" Condition=" %(CodeAnalysisDictionary.Pack) == 'true' ">
18633 <BuildAction Condition="'%(CodeAnalysisDictionary.BuildAction)' == ''">CodeAnalysisDictionary</BuildAction>
18634 </_PackageFiles>
18635 <_PackageFiles Include="@(AndroidAsset)" Condition=" %(AndroidAsset.Pack) == 'true' ">
18636 <BuildAction Condition="'%(AndroidAsset.BuildAction)' == ''">AndroidAsset</BuildAction>
18637 </_PackageFiles>
18638 <_PackageFiles Include="@(AndroidResource)" Condition=" %(AndroidResource.Pack) == 'true' ">
18639 <BuildAction Condition="'%(AndroidResource.BuildAction)' == ''">AndroidResource</BuildAction>
18640 </_PackageFiles>
18641 <_PackageFiles Include="@(BundleResource)" Condition=" %(BundleResource.Pack) == 'true' ">
18642 <BuildAction Condition="'%(BundleResource.BuildAction)' == ''">BundleResource</BuildAction>
18643 </_PackageFiles>
18644 </ItemGroup>
18645 </Target>
18646 <!--
18647============================================================================================================================================
18648 </Import>
18649
18650C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
18651============================================================================================================================================
18652-->
18653 <!-- Import targets from Microsoft.NET.Build.Container.targets -->
18654 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18655 <_IsNotSetContainersTargetsDir>false</_IsNotSetContainersTargetsDir>
18656 <_IsNotSetContainersTargetsDir Condition=" '$(_ContainersTargetsDir)'=='' ">true</_IsNotSetContainersTargetsDir>
18657 <_ContainersTargetsDir Condition="$(_IsNotSetContainersTargetsDir)">$(MSBuildThisFileDirectory)..\..\..\Containers\build\</_ContainersTargetsDir>
18658 </PropertyGroup>
18659 <!--
18660============================================================================================================================================
18661 <Import Project="$(MSBuildThisFileDirectory)..\..\..\Containers\build\Microsoft.NET.Build.Containers.props" Condition="Exists('$(MSBuildThisFileDirectory)..\..\..\Containers\build\Microsoft.NET.Build.Containers.props')">
18662
18663C:\Program Files\dotnet\sdk\10.0.100\Containers\build\Microsoft.NET.Build.Containers.props
18664============================================================================================================================================
18665-->
18666 <PropertyGroup>
18667 <!-- A flag representing this package existing in a project. -->
18668 <SDKContainerSupportEnabled>true</SDKContainerSupportEnabled>
18669 <ContainerTaskFolderName>tasks</ContainerTaskFolderName>
18670 <ContainerTaskFramework Condition="'$(MSBuildRuntimeType)' == 'Core'">net10.0</ContainerTaskFramework>
18671 <ContainerTaskFramework Condition="'$(MSBuildRuntimeType)' == 'Full'">net472</ContainerTaskFramework>
18672 <ContainerizeFolderName>containerize</ContainerizeFolderName>
18673 <!--The folder where the custom task will be present. It points to inside the nuget package. -->
18674 <ContainerCustomTasksFolder>$(MSBuildThisFileDirectory)..\$(ContainerTaskFolderName)\$(ContainerTaskFramework)\</ContainerCustomTasksFolder>
18675 <ContainerizeFolder>$(MSBuildThisFileDirectory)..\$(ContainerizeFolderName)\</ContainerizeFolder>
18676 <!--Reference to the assembly which contains the MSBuild Task-->
18677 <ContainerCustomTasksAssembly Condition="'$(ContainerCustomTasksAssembly)' == ''">$(ContainerCustomTasksFolder)$(MSBuildThisFileName).dll</ContainerCustomTasksAssembly>
18678 </PropertyGroup>
18679 <!--Register our custom task-->
18680 <UsingTask TaskName="$(MSBuildThisFileName).Tasks.CreateNewImage" AssemblyFile="$(ContainerCustomTasksAssembly)" />
18681 <UsingTask TaskName="$(MSBuildThisFileName).Tasks.CreateImageIndex" AssemblyFile="$(ContainerCustomTasksAssembly)" />
18682 <UsingTask TaskName="$(MSBuildThisFileName).Tasks.ParseContainerProperties" AssemblyFile="$(ContainerCustomTasksAssembly)" />
18683 <UsingTask TaskName="$(MSBuildThisFileName).Tasks.ComputeDotnetBaseImageAndTag" AssemblyFile="$(ContainerCustomTasksAssembly)" />
18684 <!--
18685============================================================================================================================================
18686 </Import>
18687
18688C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
18689============================================================================================================================================
18690-->
18691 <!--
18692============================================================================================================================================
18693 <Import Project="$(_ContainersTargetsDir)Microsoft.NET.Build.Containers.targets" Condition="$(_IsNotSetContainersTargetsDir) AND Exists('$(_ContainersTargetsDir)Microsoft.NET.Build.Containers.targets')">
18694
18695C:\Program Files\dotnet\sdk\10.0.100\Containers\build\Microsoft.NET.Build.Containers.targets
18696============================================================================================================================================
18697-->
18698 <PropertyGroup>
18699 <_IsSDKContainerAllowedVersion>false</_IsSDKContainerAllowedVersion>
18700 <!-- Anything newer than 7.0.100-preview.7 is supported -->
18701 <_IsSDKContainerAllowedVersion Condition="$([MSBuild]::VersionGreaterThan($(NetCoreSdkVersion), 7.0.100))&#xD;&#xA; OR ( $([MSBuild]::VersionEquals($(NetCoreSdkVersion), 7.0.100))&#xD;&#xA; AND (&#xD;&#xA; $(NETCoreSdkVersion.Contains('-preview.7'))&#xD;&#xA; OR $(NETCoreSdkVersion.Contains('-rc'))&#xD;&#xA; OR $(NETCoreSdkVersion.Contains('-')) == false&#xD;&#xA; )&#xD;&#xA; )">true</_IsSDKContainerAllowedVersion>
18702 <_ContainerIsTargetingNet8TFM>false</_ContainerIsTargetingNet8TFM>
18703 <_ContainerIsTargetingNet8TFM Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '8.0'))">true</_ContainerIsTargetingNet8TFM>
18704 <_ContainerIsSelfContained>false</_ContainerIsSelfContained>
18705 <_ContainerIsSelfContained Condition="'$(SelfContained)' == 'true' or '$(PublishSelfContained)' == 'true'">true</_ContainerIsSelfContained>
18706 <EnableSdkContainerSupport Condition="'$(EnableSdkContainerSupport)' == '' and '$(OutputType)' != 'Library'">true</EnableSdkContainerSupport>
18707 </PropertyGroup>
18708 <ItemGroup>
18709 <ProjectCapability Include="NetSdkOCIImageBuild" />
18710 </ItemGroup>
18711 <Target Name="_ContainerVerifySDKVersion" Condition="'$(WebPublishMethod)' == 'Container' or '$(PublishProfile)' == 'DefaultContainer'" BeforeTargets="AfterPublish">
18712 <!-- If the user has opted into container publishing via their own profile (WebPublishMethod = Container) or
18713 via the default Profile (PublishProfile = DefaultContainer), make sure they're on a supported SDK version.
18714 We do the explicit profile name check here because for preview6 for example the profile didn't exist, so we
18715 can't rely only on the WebPublishMethod. -->
18716 <Error Condition="'$(_IsSDKContainerAllowedVersion)' != 'true'" Code="CONTAINER002" Text="The current .NET SDK ($(NETCoreSdkVersion)) doesn't support containerization. Please use version 7.0.100 or higher to enable containerization." />
18717 </Target>
18718 <Target Name="ComputeContainerBaseImage" Returns="$(ContainerBaseImage)">
18719 <PropertyGroup>
18720 <!-- The Container RID should default to the RID used for the entire build (to ensure things run on the platform they are built for), but the user knows best and so should be able to set it explicitly.
18721 For builds that have a RID, we default to that RID. Otherwise, we default to the Linux RID matching the architecture of the currently-executing SDK. -->
18722 <ContainerRuntimeIdentifier Condition="'$(ContainerRuntimeIdentifier)' == '' and '$(RuntimeIdentifier)' != ''">$(RuntimeIdentifier)</ContainerRuntimeIdentifier>
18723 <ContainerRuntimeIdentifiers Condition="'$(BuildingInsideVisualStudio)' != 'true' and '$(ContainerRuntimeIdentifiers)' == '' and '$(IsRidAgnostic)' != 'true'">$(RuntimeIdentifiers)</ContainerRuntimeIdentifiers>
18724 <ContainerRuntimeIdentifier Condition="'$(ContainerRuntimeIdentifier)' == '' and '$(ContainerRuntimeIdentifiers)' == ''">linux-$(NETCoreSdkPortableRuntimeIdentifier.Split('-')[1])</ContainerRuntimeIdentifier>
18725 <!-- We want to save customer provided ContainerBaseImage to later set ContainerUser. -->
18726 <_InitialContainerBaseImage>$(ContainerBaseImage)</_InitialContainerBaseImage>
18727 </PropertyGroup>
18728 <ItemGroup>
18729 <_TargetRuntimeIdentifiers Include="$(ContainerRuntimeIdentifier)" Condition="'$(ContainerRuntimeIdentifier)' != ''" />
18730 <_TargetRuntimeIdentifiers Include="$(ContainerRuntimeIdentifiers)" Condition="@(_TargetRuntimeIdentifiers-&gt;Count()) == 0" />
18731 </ItemGroup>
18732 <ComputeDotnetBaseImageAndTag UserBaseImage="$(ContainerBaseImage)" SdkVersion="$(NetCoreSdkVersion)" TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV).0" FrameworkReferences="@(FrameworkReference)" IsSelfContained="$(_ContainerIsSelfContained)" IsAotPublished="$(PublishAot)" IsTrimmed="$(PublishTrimmed)" UsesInvariantGlobalization="$(InvariantGlobalization)" TargetRuntimeIdentifiers="@(_TargetRuntimeIdentifiers)" ContainerFamily="$(ContainerFamily)">
18733 <Output TaskParameter="ComputedContainerBaseImage" PropertyName="ContainerBaseImage" />
18734 </ComputeDotnetBaseImageAndTag>
18735 <ItemGroup>
18736 <_TargetRuntimeIdentifiers Remove="$(_TargetRuntimeIdentifiers)" />
18737 </ItemGroup>
18738 </Target>
18739 <!-- This Target is called early on in the chain for both single-RID and multi-RID containers - but for single-RID it's important
18740 that we ensure all of the data necessary to create a single-RID container is computed after we exit this target. -->
18741 <Target Name="ComputeContainerConfig" DependsOnTargets="ComputeContainerBaseImage;_ContainerEstablishRIDNess;_ComputeContainerExecutionArgs">
18742 <PropertyGroup Label="VS defaults">
18743 <!-- RegistryUrl is used by existing VS targets for Docker builds - this lets us fill that void -->
18744 <ContainerRegistry Condition="'$(RegistryUrl)' != ''">$(RegistryUrl)</ContainerRegistry>
18745 <!-- PublishImageTag is used by existing VS targets for Docker builds - this lets us fill that void -->
18746 <ContainerImageTag Condition="'$(PublishImageTag)' != ''">$(PublishImageTag)</ContainerImageTag>
18747 <!-- This line is a compatibility shim for VS support - the VS container targets define a container tag using this property and format. This lets us be a drop-in replacement for them. -->
18748 <ContainerImageTag Condition="'$(AutoGenerateImageTag)' == 'true'">$([System.DateTime]::UtcNow.ToString('yyyyMMddhhmmss'))</ContainerImageTag>
18749 </PropertyGroup>
18750 <!-- Compatibility: previous versions used ImageName, but the proper term is Repository. Keep using that if explicitly set. -->
18751 <Warning Condition="'$(ContainerImageName)' != ''" Code="CONTAINER003" Text="The property 'ContainerImageName' was set but is obsolete - please use 'ContainerRepository' instead." />
18752 <!-- Container Defaults -->
18753 <PropertyGroup>
18754 <!-- An empty ContainerRegistry implies pushing to the local registry, putting this here for documentation purposes -->
18755 <!-- <ContainerRegistry></ContainerRegistry> -->
18756 <!-- An empty LocalRegistry implies detecting the local registry. LocalRegistry can be set explicity to Docker/Podman. -->
18757 <!-- <LocalRegistry></LocalRegistry> -->
18758 <!-- Compatibility: previous versions used ImageName, but the proper term is Repository. Keep using that if explicitly set. -->
18759 <ContainerRepository Condition="'$(ContainerImageName)' != ''">$(ContainerImageName)</ContainerRepository>
18760 <!-- Note: spaces will be replaced with '-' in ContainerRepository and ContainerImageTag -->
18761 <ContainerRepository Condition="'$(ContainerRepository)' == ''">$(AssemblyName)</ContainerRepository>
18762 <!-- Only default a tag name if no tag names at all are provided -->
18763 <ContainerImageTag Condition="'$(ContainerImageTag)' == '' and '$(ContainerImageTags)' == ''">latest</ContainerImageTag>
18764 <ContainerImageTag Condition="'$(AutoGenerateImageTag)' == 'true' and '$(ContainerImageTags)' == ''">$([System.DateTime]::UtcNow.ToString('yyyyMMddhhmmss'))</ContainerImageTag>
18765 </PropertyGroup>
18766 <ParseContainerProperties FullyQualifiedBaseImageName="$(ContainerBaseImage)" ContainerRegistry="$(ContainerRegistry)" ContainerRepository="$(ContainerRepository)" ContainerImageTag="$(ContainerImageTag)" ContainerImageTags="$(ContainerImageTags)" ContainerEnvironmentVariables="@(ContainerEnvironmentVariable)">
18767 <Output TaskParameter="ParsedContainerRegistry" PropertyName="ContainerBaseRegistry" />
18768 <Output TaskParameter="ParsedContainerImage" PropertyName="ContainerBaseName" />
18769 <Output TaskParameter="ParsedContainerTag" PropertyName="ContainerBaseTag" />
18770 <Output TaskParameter="ParsedContainerDigest" PropertyName="ContainerBaseDigest" />
18771 <Output TaskParameter="NewContainerRegistry" PropertyName="ContainerRegistry" />
18772 <Output TaskParameter="NewContainerRepository" PropertyName="ContainerRepository" />
18773 <Output TaskParameter="NewContainerTags" ItemName="ContainerImageTags" />
18774 <Output TaskParameter="NewContainerEnvironmentVariables" ItemName="ContainerEnvironmentVariables" />
18775 </ParseContainerProperties>
18776 <PropertyGroup>
18777 <ContainerGenerateLabels Condition="'$(ContainerGenerateLabels)' == ''">true</ContainerGenerateLabels>
18778 <ContainerGenerateLabelsImageCreated Condition="'$(ContainerGenerateLabelsImageCreated)' == ''">true</ContainerGenerateLabelsImageCreated>
18779 <ContainerGenerateLabelsImageDescription Condition="'$(ContainerGenerateLabelsImageDescription)' == ''">true</ContainerGenerateLabelsImageDescription>
18780 <ContainerGenerateLabelsImageAuthors Condition="'$(ContainerGenerateLabelsImageAuthors)' == ''">true</ContainerGenerateLabelsImageAuthors>
18781 <ContainerGenerateLabelsImageUrl Condition="'$(ContainerGenerateLabelsImageUrl)' == ''">true</ContainerGenerateLabelsImageUrl>
18782 <ContainerGenerateLabelsImageDocumentation Condition="'$(ContainerGenerateLabelsImageDocumentation)' == ''">true</ContainerGenerateLabelsImageDocumentation>
18783 <ContainerGenerateLabelsImageSource Condition="'$(ContainerGenerateLabelsImageSource)' == ''">true</ContainerGenerateLabelsImageSource>
18784 <ContainerGenerateLabelsImageVersion Condition="'$(ContainerGenerateLabelsImageVersion)' == ''">true</ContainerGenerateLabelsImageVersion>
18785 <ContainerGenerateLabelsImageRevision Condition="'$(ContainerGenerateLabelsImageRevision)' == ''">true</ContainerGenerateLabelsImageRevision>
18786 <ContainerGenerateLabelsImageVendor Condition="'$(ContainerGenerateLabelsImageVendor)' == ''">true</ContainerGenerateLabelsImageVendor>
18787 <ContainerGenerateLabelsImageLicenses Condition="'$(ContainerGenerateLabelsImageLicenses)' == ''">true</ContainerGenerateLabelsImageLicenses>
18788 <ContainerGenerateLabelsImageTitle Condition="'$(ContainerGenerateLabelsImageTitle)' == ''">true</ContainerGenerateLabelsImageTitle>
18789 <ContainerGenerateLabelsImageBaseDigest Condition="'$(ContainerGenerateLabelsImageBaseDigest)' == ''">true</ContainerGenerateLabelsImageBaseDigest>
18790 <ContainerGenerateLabelsImageBaseName Condition="'$(ContainerGenerateLabelsImageBaseName)' == ''">true</ContainerGenerateLabelsImageBaseName>
18791 <ContainerGenerateLabelsDotnetToolset Condition="'$(ContainerGenerateLabelsDotnetToolset)' == ''">true</ContainerGenerateLabelsDotnetToolset>
18792 </PropertyGroup>
18793 <PropertyGroup Label="Defaults for Container Labels">
18794 <ContainerDescription Condition="'$(ContainerDescription)' == '' and '$(Description)' != ''">$(Description)</ContainerDescription>
18795 <ContainerAuthors Condition="'$(ContainerAuthors)' == '' and '$(Authors)' != ''">$(Authors)</ContainerAuthors>
18796 <ContainerInformationUrl Condition="'$(ContainerInformationUrl)' == '' and '$(PackageProjectUrl)' != ''">$(PackageProjectUrl)</ContainerInformationUrl>
18797 <ContainerDocumentationUrl Condition="'$(ContainerDocumentationUrl)' == '' and '$(PackageProjectUrl)' != ''">$(PackageProjectUrl)</ContainerDocumentationUrl>
18798 <ContainerVersion Condition="'$(ContainerVersion)' == '' and '$(PackageVersion)' != ''">$(PackageVersion)</ContainerVersion>
18799 <ContainerLicenseExpression Condition="'$(ContainerLicenseExpression)' == '' and '$(PackageLicenseExpression)' != ''">$(PackageLicenseExpression)</ContainerLicenseExpression>
18800 <ContainerTitle Condition="'$(ContainerTitle)' == '' and '$(Title)' != ''">$(Title)</ContainerTitle>
18801 </PropertyGroup>
18802 <!-- Labels generated from descriptions from the spec at https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys -->
18803 <ItemGroup Label="Conventional Label assignment" Condition="'$(ContainerGenerateLabels)' == 'true'">
18804 <ContainerLabel Condition="'$(ContainerGenerateLabelsImageCreated)' == 'true'" Include="org.opencontainers.image.created;org.opencontainers.artifact.created" Value="$([System.DateTime]::UtcNow.ToString('o'))" />
18805 <ContainerLabel Condition="'$(ContainerGenerateLabelsImageDescription)' == 'true' and '$(ContainerDescription)' != ''" Include="org.opencontainers.artifact.description;org.opencontainers.image.description" Value="$(ContainerDescription)" />
18806 <ContainerLabel Condition="'$(ContainerGenerateLabelsImageAuthors)' == 'true' and '$(ContainerAuthors)' != ''" Include="org.opencontainers.image.authors" Value="$(ContainerAuthors)" />
18807 <ContainerLabel Condition="'$(ContainerGenerateLabelsImageUrl)' == 'true' and '$(ContainerInformationUrl)' != ''" Include="org.opencontainers.image.url" Value="$(ContainerInformationUrl)" />
18808 <ContainerLabel Condition="'$(ContainerGenerateLabelsImageDocumentation)' == 'true' and '$(ContainerDocumentationUrl)' != ''" Include="org.opencontainers.image.documentation" Value="$(ContainerDocumentationUrl)" />
18809 <ContainerLabel Condition="'$(ContainerGenerateLabelsImageVersion)' == 'true' and '$(ContainerVersion)' != ''" Include="org.opencontainers.image.version" Value="$(ContainerVersion)" />
18810 <ContainerLabel Condition="'$(ContainerGenerateLabelsImageVendor)' == 'true' and '$(ContainerVendor)' != ''" Include="org.opencontainers.image.vendor" Value="$(ContainerVendor)" />
18811 <ContainerLabel Condition="'$(ContainerGenerateLabelsImageLicenses)' == 'true' and '$(ContainerLicenseExpression)' != ''" Include="org.opencontainers.image.licenses" Value="$(ContainerLicenseExpression)" />
18812 <ContainerLabel Condition="'$(ContainerGenerateLabelsImageTitle)' == 'true' and '$(ContainerTitle)' != ''" Include="org.opencontainers.image.title" Value="$(ContainerTitle)" />
18813 <!-- Need to compute digests, not just names, before we can light this up. This suggests we need a task where all of the 'read' steps are done. -->
18814 <!-- <ContainerLabel Condition="'$(ContainerGenerateLabelsImageBaseDigest)' == 'true' and '$(ContainerBaseImageDigest)' != ''" Include="org.opencontainers.image.base.digest" Value="$(ContainerBaseImageDigest)" /> -->
18815 <ContainerLabel Condition="'$(ContainerGenerateLabelsImageBaseName)' == 'true' and '$(ContainerBaseImage)' != ''" Include="org.opencontainers.image.base.name" Value="$(ContainerBaseImage)" />
18816 <ContainerLabel Condition="'$(ContainerGenerateLabelsDotnetToolset)' == 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" Include="net.dot.runtime.majorminor" Value="$(_TargetFrameworkVersionWithoutV)" />
18817 <ContainerLabel Condition="'$(ContainerGenerateLabelsDotnetToolset)' == 'true'" Include="net.dot.sdk.version" Value="$(NETCoreSdkVersion)" />
18818 </ItemGroup>
18819 <!-- These sourcelink-derived properties are only allowed to flow to generated artifacts if `PublishRepositoryUrl` is set as a user signal for opt-in.
18820 In addition, the 'nice' property names are currently set by NuGet Pack targets and so we have to use the private/generic names here. -->
18821 <PropertyGroup Label="Source control label assignment" Condition="'$(ContainerGenerateLabels)' == 'true' and '$(PublishRepositoryUrl)' == 'true'">
18822 <!-- Sourcelink gives us the .git suffix, but scanning tools aren't looking for that so we trim it off here. -->
18823 <_TrimmedRepositoryUrl Condition="'$(RepositoryType)' == 'git' and '$(PrivateRepositoryUrl)' != '' and $(PrivateRepositoryUrl.EndsWith('.git'))">$(PrivateRepositoryUrl.Substring(0, $(PrivateRepositoryUrl.LastIndexOf('.git'))))</_TrimmedRepositoryUrl>
18824 <_TrimmedRepositoryUrl Condition="'$(_TrimmedRepositoryUrl)' == '' and '$(PrivateRepositoryUrl)' != ''">$(PrivateRepositoryUrl)</_TrimmedRepositoryUrl>
18825 </PropertyGroup>
18826 <ItemGroup Label="Source control label assignment" Condition="'$(ContainerGenerateLabels)' == 'true' and '$(PublishRepositoryUrl)' == 'true'">
18827 <ContainerLabel Condition="'$(ContainerGenerateLabelsImageSource)' == 'true' and '$(_TrimmedRepositoryUrl)' != ''" Include="org.opencontainers.image.source" Value="$(_TrimmedRepositoryUrl)" />
18828 <ContainerLabel Condition="'$(ContainerGenerateLabelsImageRevision)' == 'true' and '$(SourceRevisionId)' != ''" Include="org.opencontainers.image.revision" Value="$(SourceRevisionId)" />
18829 </ItemGroup>
18830 </Target>
18831 <PropertyGroup>
18832 <PublishContainerDependsOn>
18833 _ContainerVerifySDKVersion;
18834 ComputeContainerConfig;
18835 _CheckContainersPackage;
18836 </PublishContainerDependsOn>
18837 </PropertyGroup>
18838 <!-- These args are relevant to container execution and are per-RID by nature. Therefore they're a direct dependency of the _PublishSingleContainer
18839 target and not computed at the outer, multi-RID build layer. -->
18840 <Target Name="_ComputeContainerExecutionArgs" DependsOnTargets="_ContainerEstablishRIDNess" Condition="'$(_IsSingleRIDBuild)' == 'true'">
18841 <PropertyGroup>
18842 <!-- The Container RID should default to the RID used for the entire build (to ensure things run on the platform they are built for), but the user knows best and so should be able to set it explicitly.
18843 For builds that have a RID, we default to that RID. Otherwise, we default to the Linux RID matching the architecture of the currently-executing SDK. -->
18844 <_ContainerIsTargetingWindows>false</_ContainerIsTargetingWindows>
18845 <_ContainerIsTargetingWindows Condition="$(ContainerRuntimeIdentifier.StartsWith('win'))">true</_ContainerIsTargetingWindows>
18846 <!-- Set the WorkingDirectory depending on the RID -->
18847 <ContainerWorkingDirectory Condition="'$(ContainerWorkingDirectory)' == '' and !$(_ContainerIsTargetingWindows)">/app/</ContainerWorkingDirectory>
18848 <ContainerWorkingDirectory Condition="'$(ContainerWorkingDirectory)' == '' and $(_ContainerIsTargetingWindows)">C:\app\</ContainerWorkingDirectory>
18849 <_ContainerIsUsingMicrosoftDefaultImages Condition="'$(_InitialContainerBaseImage)' == ''">true</_ContainerIsUsingMicrosoftDefaultImages>
18850 <_ContainerIsUsingMicrosoftDefaultImages Condition="'$(_InitialContainerBaseImage)' != ''">false</_ContainerIsUsingMicrosoftDefaultImages>
18851 </PropertyGroup>
18852 <!-- We only set a default user when the base image is Microsoft-authored, and we're targeting a version of those images that supports a nonroot user -->
18853 <PropertyGroup Label="ContainerUser Assignment" Condition="$(_ContainerIsUsingMicrosoftDefaultImages) and $(_ContainerIsTargetingNet8TFM) and '$(ContainerUser)' == ''">
18854 <ContainerUser Condition="$(_ContainerIsTargetingWindows)">ContainerUser</ContainerUser>
18855 </PropertyGroup>
18856 <ItemGroup Label="AppCommand Assignment" Condition="'$(ContainerAppCommandInstruction)' != 'None'">
18857 <!-- For self-contained, invoke the native executable as a single arg -->
18858 <ContainerAppCommand Condition="@(ContainerAppCommand-&gt;Count()) == 0 and $(_ContainerIsSelfContained)" Include="$(ContainerWorkingDirectory)$(AssemblyName)$(_NativeExecutableExtension)" />
18859 <!-- For non self-contained, invoke `dotnet` `app.dll` as separate args -->
18860 <ContainerAppCommand Condition="@(ContainerAppCommand-&gt;Count()) == 0 and !$(_ContainerIsSelfContained)" Include="dotnet;$(ContainerWorkingDirectory)$(TargetFileName)" />
18861 </ItemGroup>
18862 </Target>
18863 <Target Name="_CheckContainersPackage" AfterTargets="Build">
18864 <PropertyGroup>
18865 <!-- facts to base on comparisons on -->
18866 <_ContainersPackageIdentity>Microsoft.NET.Build.Containers</_ContainersPackageIdentity>
18867 <_WebDefaultSdkVersion>7.0.300</_WebDefaultSdkVersion>
18868 <_WorkerDefaultSdkVersion>8.0.100</_WorkerDefaultSdkVersion>
18869 <_ConsoleDefaultSdkVersion>8.0.200</_ConsoleDefaultSdkVersion>
18870 <!-- capability detection for the executing SDK -->
18871 <_SdkCanPublishWeb>$([MSBuild]::VersionGreaterThanOrEquals('$(NETCoreSdkVersion)', '$(_WebDefaultSdkVersion)'))</_SdkCanPublishWeb>
18872 <_SdkCanPublishWorker>$([MSBuild]::VersionGreaterThanOrEquals('$(NETCoreSdkVersion)', '$(_WorkerDefaultSdkVersion)'))</_SdkCanPublishWorker>
18873 <_SdkCanPublishConsole>$([MSBuild]::VersionGreaterThanOrEquals('$(NETCoreSdkVersion)', '$(_ConsoleDefaultSdkVersion)'))</_SdkCanPublishConsole>
18874 <!-- capability detection for the executing project -->
18875 <_ContainerPackageIsPresent>false</_ContainerPackageIsPresent>
18876 <_ContainerPackageIsPresent Condition="@(PackageReference-&gt;AnyHaveMetadataValue('Identity', '$(_ContainersPackageIdentity)'))">true</_ContainerPackageIsPresent>
18877 <_IsWebProject>false</_IsWebProject>
18878 <_IsWebProject Condition="@(ProjectCapability-&gt;AnyHaveMetadataValue('Identity', 'DotNetCoreWeb'))">true</_IsWebProject>
18879 <_IsWorkerProject>false</_IsWorkerProject>
18880 <_IsWorkerProject Condition="@(ProjectCapability-&gt;AnyHaveMetadataValue('Identity', 'DotNetCoreWorker'))">true</_IsWorkerProject>
18881 </PropertyGroup>
18882 <Warning Condition="$(_ContainerPackageIsPresent)&#xD;&#xA; and (&#xD;&#xA; ($(_SdkCanPublishWeb) and $(_IsWebProject)) or&#xD;&#xA; ($(_SdkCanPublishWorker) and $(_IsWorkerProject)) or&#xD;&#xA; ($(_SdkCanPublishConsole) and '$(EnableSdkContainerSupport)' == 'true')&#xD;&#xA; )" Code="CONTAINER005" Text="The $(_ContainersPackageIdentity) NuGet package is explicitly referenced but the current SDK can natively publish the project as a container. Consider removing the package reference to $(_ContainersPackageIdentity) because it is no longer needed." />
18883 </Target>
18884 <!-- There is an implicit dependency here in that both of ComputeContainerConfig and _ComputeContainerExecutionArgs must have been run, but because we call this Target
18885 in a few different ways we can't express that dependency directly here. -->
18886 <Target Name="_PublishSingleContainer" Returns="@(GeneratedContainer)">
18887 <PropertyGroup Condition="'$(DOTNET_HOST_PATH)' == ''">
18888 <DotNetHostDirectory>$(NetCoreRoot)</DotNetHostDirectory>
18889 <DotNetHostFileName>dotnet</DotNetHostFileName>
18890 <DotNetHostFileName Condition="'$(OS)' == 'Windows_NT'">dotnet.exe</DotNetHostFileName>
18891 </PropertyGroup>
18892 <CreateNewImage ContainerizeDirectory="$(ContainerizeFolder)" ToolPath="$(DotNetHostDirectory)" ToolExe="$(DotNetHostFileName)" BaseRegistry="$(ContainerBaseRegistry)" BaseImageName="$(ContainerBaseName)" BaseImageTag="$(ContainerBaseTag)" BaseImageDigest="$(ContainerBaseDigest)" ImageFormat="$(ContainerImageFormat)" LocalRegistry="$(LocalRegistry)" OutputRegistry="$(ContainerRegistry)" ArchiveOutputPath="$(ContainerArchiveOutputPath)" Repository="$(ContainerRepository)" ImageTags="@(ContainerImageTags)" PublishDirectory="$(PublishDir)" WorkingDirectory="$(ContainerWorkingDirectory)" Entrypoint="@(ContainerEntrypoint)" EntrypointArgs="@(ContainerEntrypointArgs)" AppCommand="@(ContainerAppCommand)" AppCommandArgs="@(ContainerAppCommandArgs)" AppCommandInstruction="$(ContainerAppCommandInstruction)" DefaultArgs="@(ContainerDefaultArgs)" Labels="@(ContainerLabel)" ExposedPorts="@(ContainerPort)" ContainerEnvironmentVariables="@(ContainerEnvironmentVariables)" ContainerRuntimeIdentifier="$(ContainerRuntimeIdentifier)" ContainerUser="$(ContainerUser)" RuntimeIdentifierGraphPath="$(RuntimeIdentifierGraphPath)" SkipPublishing="$(_SkipContainerPublishing)" GenerateLabels="$(ContainerGenerateLabels)" GenerateDigestLabel="$(ContainerGenerateLabelsImageBaseDigest)">
18893 <!-- The RID graph path is provided as a property by the SDK. -->
18894 <Output TaskParameter="GeneratedContainerManifest" PropertyName="GeneratedContainerManifest" />
18895 <Output TaskParameter="GeneratedContainerConfiguration" PropertyName="GeneratedContainerConfiguration" />
18896 <Output TaskParameter="GeneratedContainerDigest" PropertyName="GeneratedContainerDigest" />
18897 <Output TaskParameter="GeneratedArchiveOutputPath" PropertyName="GeneratedArchiveOutputPath" />
18898 <Output TaskParameter="GeneratedContainerMediaType" PropertyName="GeneratedContainerMediaType" />
18899 <Output TaskParameter="GeneratedContainerNames" ItemName="GeneratedContainerName" />
18900 <Output TaskParameter="GeneratedDigestLabel" ItemName="ContainerLabel" />
18901 </CreateNewImage>
18902 <ItemGroup>
18903 <GeneratedContainer Include="GeneratedContainer">
18904 <Manifest>$(GeneratedContainerManifest)</Manifest>
18905 <Configuration>$(GeneratedContainerConfiguration)</Configuration>
18906 <ManifestDigest>$(GeneratedContainerDigest)</ManifestDigest>
18907 <ManifestMediaType>$(GeneratedContainerMediaType)</ManifestMediaType>
18908 </GeneratedContainer>
18909 </ItemGroup>
18910 </Target>
18911 <Target Name="_PublishMultiArchContainers" DependsOnTargets="$(PublishContainerDependsOn)" Returns="@(GeneratedContainer)">
18912 <PropertyGroup>
18913 <!--We want to skip publishing individual images in case of multi-arch tarball publishing or local daemon (only docker) publishing because all images are published in one tarball.-->
18914 <!--We don't want to skip publishing individual images in case of remote registry because the individual images should be available in the registry before image index is pushed.-->
18915 <!--We don't want to skip publishing individual images in case of local daemon podman because podman loads multi-arch tarball differently - only individual image for the current platform.-->
18916 <_SkipContainerPublishing>false</_SkipContainerPublishing>
18917 <_SkipContainerPublishing Condition="$(ContainerArchiveOutputPath) != '' or ( $(ContainerRegistry) == '' and ( $(LocalRegistry) == '' or $(LocalRegistry) == 'Docker' ) )">true</_SkipContainerPublishing>
18918 <!--We want to skip CreateImageIndex task in case of local daemon podman because it is not supported.-->
18919 <_SkipCreateImageIndex>false</_SkipCreateImageIndex>
18920 <_SkipCreateImageIndex Condition="$(ContainerArchiveOutputPath) == '' and $(ContainerRegistry) == '' and $(LocalRegistry) == 'Podman'">true</_SkipCreateImageIndex>
18921 <!-- Figure out what format the inner images should be coerced to -->
18922 <!-- If a user had an opinion, use that -->
18923 <_SingleImageContainerFormat Condition="'$(ContainerImageFormat)' != ''">$(ContainerImageFormat)</_SingleImageContainerFormat>
18924 <!-- If we are publishing to local tarball or to local Docker, force OCI to prevent mismatches between inner images and the outer manifest -->
18925 <_SingleImageContainerFormat Condition="$(_SkipContainerPublishing) == 'true' ">OCI</_SingleImageContainerFormat>
18926 </PropertyGroup>
18927 <ItemGroup>
18928 <_rids Include="$(ContainerRuntimeIdentifiers)" Condition="'$(ContainerRuntimeIdentifiers)' != ''" />
18929 <_rids Include="$(RuntimeIdentifiers)" Condition="'$(ContainerRuntimeIdentifiers)' == '' and '$(RuntimeIdentifiers)' != ''" />
18930 <_InnerBuild Include="$(MSBuildProjectFullPath)" AdditionalProperties="&#xD;&#xA; ContainerRuntimeIdentifier=%(_rids.Identity);&#xD;&#xA; RuntimeIdentifier=%(_rids.Identity);&#xD;&#xA; ContainerBaseRegistry=$(ContainerBaseRegistry);&#xD;&#xA; ContainerBaseName=$(ContainerBaseName);&#xD;&#xA; ContainerBaseTag=$(ContainerBaseTag);&#xD;&#xA; ContainerBaseDigest=$(ContainerBaseDigest);&#xD;&#xA; ContainerRegistry=$(ContainerRegistry);&#xD;&#xA; _ContainerImageTags=@(ContainerImageTags, ';');&#xD;&#xA; ContainerRepository=$(ContainerRepository);&#xD;&#xA; _ContainerLabel=@(ContainerLabel->'%(Identity):%(Value)');&#xD;&#xA; _ContainerPort=@(ContainerPort->'%(Identity):%(Type)');&#xD;&#xA; _ContainerEnvironmentVariables=@(ContainerEnvironmentVariable->'%(Identity):%(Value)');&#xD;&#xA; ContainerGenerateLabels=$(ContainerGenerateLabels);&#xD;&#xA; ContainerGenerateLabelsImageBaseDigest=$(ContainerGenerateLabelsImageBaseDigest);&#xD;&#xA; _SkipContainerPublishing=$(_SkipContainerPublishing);&#xD;&#xA; ContainerImageFormat=$(_SingleImageContainerFormat);&#xD;&#xA; _IsMultiRIDBuild=false;&#xD;&#xA; _IsSingleRIDBuild=true;&#xD;&#xA; _InitialContainerBaseImage=$(_InitialContainerBaseImage)&#xD;&#xA; " />
18931 <_rids Remove="$(_rids)" />
18932 </ItemGroup>
18933 <MSBuild Projects="@(_InnerBuild)" Targets="Publish;_ParseItemsForPublishingSingleContainer;_ComputeContainerExecutionArgs;_PublishSingleContainer" BuildInParallel="$([MSBuild]::ValueOrDefault('$(ContainerPublishInParallel)', 'true'))">
18934 <Output TaskParameter="TargetOutputs" ItemName="GeneratedContainer" />
18935 </MSBuild>
18936 <CreateImageIndex Condition="'$(_SkipCreateImageIndex)' == 'false' " GeneratedContainers="@(GeneratedContainer)" LocalRegistry="$(LocalRegistry)" OutputRegistry="$(ContainerRegistry)" ArchiveOutputPath="$(ContainerArchiveOutputPath)" Repository="$(ContainerRepository)" ImageTags="@(ContainerImageTags)" BaseRegistry="$(ContainerBaseRegistry)" BaseImageName="$(ContainerBaseName)" BaseImageTag="$(ContainerBaseTag)" BaseImageDigest="$(ContainerBaseDigest)">
18937 <Output TaskParameter="GeneratedImageIndex" PropertyName="GeneratedImageIndex" />
18938 <Output TaskParameter="GeneratedArchiveOutputPath" PropertyName="GeneratedArchiveOutputPath" />
18939 </CreateImageIndex>
18940 </Target>
18941 <Target Name="_ParseItemsForPublishingSingleContainer">
18942 <ItemGroup>
18943 <OriginalImageTags Include="$(_ContainerImageTags)" />
18944 <ContainerImageTags Include="@(OriginalImageTags->'%(Identity)-$(ContainerRuntimeIdentifier)')" />
18945 <_ParsedContainerLabel Condition="'$(_ContainerLabel)' != ':'" Include="$(_ContainerLabel)" />
18946 <ContainerLabel Condition="@(_ParsedContainerLabel-&gt;Count()) &gt; 0 " Include="$([System.String]::Copy('%(_ParsedContainerLabel.Identity)').Split(':')[0])" Value="$([System.String]::Copy('%(_ParsedContainerLabel.Identity)').Split(':')[1])" />
18947 <_ParsedContainerPort Condition="'$(_ContainerPort)' != ':'" Include="$(_ContainerPort)" />
18948 <ContainerPort Condition="@(_ParsedContainerPort-&gt;Count()) &gt; 0 " Include="$([System.String]::Copy('%(_ParsedContainerPort.Identity)').Split(':')[0])" Type="$([System.String]::Copy('%(_ParsedContainerPort.Identity)').Split(':')[1])" />
18949 <_ParsedContainerEnvironmentVariables Condition="'$(_ContainerEnvironmentVariables)' != ':'" Include="$(_ContainerEnvironmentVariables)" />
18950 <ContainerEnvironmentVariables Condition="@(_ParsedContainerEnvironmentVariables-&gt;Count()) &gt; 0 " Include="$([System.String]::Copy('%(_ParsedContainerEnvironmentVariables.Identity)').Split(':')[0])" Value="$([System.String]::Copy('%(_ParsedContainerEnvironmentVariables.Identity)').Split(':')[1])" />
18951 </ItemGroup>
18952 </Target>
18953 <Target Name="_ContainerEstablishRIDNess">
18954 <PropertyGroup>
18955 <_IsMultiTFMBuild Condition="'$(TargetFrameworks)' != '' and '$(TargetFramework)' == ''">true</_IsMultiTFMBuild>
18956 <!-- we are multi-RID if:
18957 * we have CRIDs and no CRID
18958 * we have RIDs and no (CRIDs or CRID or RID)
18959 -->
18960 <_HasCRIDsAndNoCRID Condition="'$(ContainerRuntimeIdentifiers)' != '' and '$(ContainerRuntimeIdentifier)' == ''">true</_HasCRIDsAndNoCRID>
18961 <_HasRIDs Condition="'$(RuntimeIdentifiers)' != ''">true</_HasRIDs>
18962 <_NoCRIDsOrCRIDorRID Condition="'$(ContainerRuntimeIdentifiers)' == '' and '$(ContainerRuntimeIdentifier)' == '' and '$(RuntimeIdentifier)' == ''">true</_NoCRIDsOrCRIDorRID>
18963 <!-- these two are load-bearing for other comparisons - see _ComputeContainerExecutionArgs -->
18964 <_IsMultiRIDBuild Condition="'$(BuildingInsideVisualStudio)' != 'true' and ('$(_HasCRIDsAndNoCRID)' == true or ('$(_HasRIDs)' == 'true' and '$(_NoCRIDsOrCRIDorRID)' == 'true'))">true</_IsMultiRIDBuild>
18965 <_IsSingleRIDBuild Condition="'$(_IsMultiRIDBuild)' == ''">true</_IsSingleRIDBuild>
18966 </PropertyGroup>
18967 </Target>
18968 <Target Name="PublishContainer" DependsOnTargets="$(PublishContainerDependsOn)" Condition="'$(IsPublishable)' == 'true' AND '$(EnableSdkContainerSupport)' == 'true'" Returns="@(GeneratedContainer)">
18969 <!-- Call _PublishMultiArchContainers if we are in a multi-rid build, and call _PublishSingleContainer if we are in a single-RID build -->
18970 <CallTarget Condition="'$(_IsMultiRIDBuild)' == 'true' " Targets="_PublishMultiArchContainers">
18971 <Output TaskParameter="TargetOutputs" ItemName="GeneratedContainer" />
18972 </CallTarget>
18973 <CallTarget Condition="'$(_IsSingleRIDBuild)' == 'true' " Targets="_PublishSingleContainer">
18974 <Output TaskParameter="TargetOutputs" ItemName="GeneratedContainer" />
18975 </CallTarget>
18976 <Error Condition="'$(_IsMultiTFMBuild)' == 'true'" Code="CONTAINERS0666" Text="Containers cannot be published for multiple TargetFrameworks at this time. Please specify a TargetFramework." />
18977 </Target>
18978 <!--
18979============================================================================================================================================
18980 </Import>
18981
18982C:\Program Files\dotnet\sdk\10.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
18983============================================================================================================================================
18984-->
18985 <!--
18986============================================================================================================================================
18987 </Import>
18988
18989C:\Users\Rob\.nuget\packages\microsoft.build.traversal\4.1.82\Sdk\Traversal.targets
18990============================================================================================================================================
18991-->
18992 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
18993 <ProjectReferenceTargets Remove="Build" />
18994 <ProjectReferenceTargets Remove="Clean" />
18995 <ProjectReferenceTargets Remove="Rebuild" />
18996 <ProjectReferenceTargets Remove="Test" />
18997 <ProjectReferenceTargets Remove="VSTest" />
18998 <ProjectReferenceTargets Remove="Publish" />
18999 <ProjectReferenceTargets Remove="PublishContainer" />
19000 <ProjectReferenceTargets Remove="Pack" />
19001 <ProjectReferenceTargets Include="Build" Targets=".default" OuterBuild="true" />
19002 <ProjectReferenceTargets Include="Build" Targets=".default" />
19003 <ProjectReferenceTargets Include="Clean" Targets="Clean" OuterBuild="true" />
19004 <ProjectReferenceTargets Include="Clean" Targets="Clean" />
19005 <ProjectReferenceTargets Include="Rebuild" Targets="Rebuild" />
19006 <ProjectReferenceTargets Include="Test" Targets="Test" />
19007 <ProjectReferenceTargets Include="VSTest" Targets="VSTest" />
19008 <ProjectReferenceTargets Include="Publish" Targets="Publish" />
19009 <ProjectReferenceTargets Include="PublishContainer" Targets="PublishContainer" />
19010 <ProjectReferenceTargets Include="Pack" Targets="Pack" />
19011 </ItemGroup>
19012 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19013 <MSBuildAllProjects Condition="'$(MSBuildToolsVersion)' != 'Current'">$(MSBuildAllProjects);$(MsBuildThisFileFullPath)</MSBuildAllProjects>
19014 <!--
19015 Set by Microsoft.Common.targets, some targets must be removed while others are left as standard extension mechanisms.
19016 -->
19017 <CoreBuildDependsOn>
19018 BuildOnlySettings;
19019 PrepareForBuild;
19020 PreBuildEvent;
19021 ResolveReferences;
19022 PostBuildEvent
19023 </CoreBuildDependsOn>
19024 <PrepareForBuildDependsOn />
19025 <ResolveReferencesDependsOn>
19026 BeforeResolveReferences;
19027 AfterResolveReferences
19028 </ResolveReferencesDependsOn>
19029 <TestDependsOn>
19030 Build
19031 </TestDependsOn>
19032 <VSTestDependsOn Condition="'$(VSTestNoBuild)' != 'true'">
19033 Build
19034 </VSTestDependsOn>
19035 <CleanDependsOn>
19036 BeforeClean;
19037 UnmanagedUnregistration;
19038 CoreClean;
19039 PrepareProjectReferences;
19040 CleanPublishFolder;
19041 AfterClean
19042 </CleanDependsOn>
19043 <PackDependsOn>
19044 ResolveReferences;
19045 </PackDependsOn>
19046 <PublishDependsOn Condition="'$(NoBuild)' != 'true'">
19047 Build;
19048 </PublishDependsOn>
19049 <PublishDependsOn Condition="'$(NoBuild)' == 'true'" />
19050 <PublishContainerDependsOn Condition="'$(NoBuild)' != 'true'">
19051 Build;
19052 </PublishContainerDependsOn>
19053 <PublishContainerDependsOn Condition="'$(NoBuild)' == 'true'" />
19054 <GetTargetPathDependsOn />
19055 </PropertyGroup>
19056 <ItemGroup Condition=" '$(TraversalTranslateProjectFileItems)' != 'false' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19057 <!--
19058 Translate the ProjectFile items by moving them to ProjectReference items instead.
19059 -->
19060 <ProjectReference Include="@(ProjectFile)" />
19061 <ProjectFile Remove="@(ProjectFile)" />
19062 </ItemGroup>
19063 <ItemGroup Condition="'$(TraversalGlobalProperties)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19064 <ProjectReference Update="@(ProjectReference)" AdditionalProperties="%(AdditionalProperties);$(TraversalGlobalProperties)" />
19065 </ItemGroup>
19066 <ItemGroup Condition=" '$(TraversalRemoveCurrentProject)' != 'false' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19067 <!--
19068 Remove the dirs.proj in case the user accidentally included it through a glob like **\*.*proj. Otherwise
19069 every user has to have an Exclude="$(MSBuildProjectFullPath)".
19070 -->
19071 <ProjectReference Remove="$(MSBuildProjectFullPath)" />
19072 </ItemGroup>
19073 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19074 <BuildInParallel Condition="'$(BuildInParallel)' == ''">true</BuildInParallel>
19075 <ContinueOnError Condition="'$(ContinueOnError)' == ''">false</ContinueOnError>
19076 <StopOnFirstFailure Condition="'$(StopOnFirstFailure)' == ''">true</StopOnFirstFailure>
19077 </PropertyGroup>
19078 <Target Name="PrepareForBuild" DependsOnTargets="$(PrepareForBuildDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19079 <Target Name="Build" DependsOnTargets="$(BuildDependsOn)" Condition=" '$(IsGraphBuild)' != 'true' " Returns="@(CollectedBuildOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19080 <MSBuild Projects="@(ProjectReference)" Condition="'%(ProjectReference.Build)' != 'false'" BuildInParallel="$([MSBuild]::ValueOrDefault('%(ProjectReference.BuildInParallel)', '$(BuildInParallel)'))" Properties="%(ProjectReference.SetConfiguration); %(ProjectReference.SetPlatform); %(ProjectReference.SetTargetFramework)" SkipNonexistentProjects="$(SkipNonexistentProjects)" SkipNonexistentTargets="$(SkipNonexistentTargets)" StopOnFirstFailure="$(StopOnFirstFailure)" Targets="%(ProjectReference.Targets)" ContinueOnError="$(ContinueOnError)">
19081 <Output TaskParameter="TargetOutputs" ItemName="CollectedBuildOutput" />
19082 </MSBuild>
19083 </Target>
19084 <Target Name="Clean" DependsOnTargets="$(CleanDependsOn)" Condition=" '$(IsGraphBuild)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19085 <MSBuild Projects="@(ProjectReference)" Targets="Clean" Condition="'%(ProjectReference.Clean)' != 'false'" BuildInParallel="$([MSBuild]::ValueOrDefault('%(ProjectReference.CleanInParallel)',&#xD;&#xA; $([MSBuild]::ValueOrDefault('%(ProjectReference.BuildInParallel)',&#xD;&#xA; $([MSBuild]::ValueOrDefault('$(CleanInParallel)', '$(BuildInParallel)'))&#xD;&#xA; ))&#xD;&#xA; ))" Properties="%(ProjectReference.SetConfiguration); %(ProjectReference.SetPlatform); %(ProjectReference.SetTargetFramework)" SkipNonexistentProjects="$(SkipNonexistentProjects)" SkipNonexistentTargets="$(SkipNonexistentTargets)" StopOnFirstFailure="$(StopOnFirstFailure)" ContinueOnError="$([MSBuild]::ValueOrDefault('$(CleanContinueOnError)', '$(ContinueOnError)'))" />
19086 </Target>
19087 <Target Name="Rebuild" DependsOnTargets="$(RebuildDependsOn)" Condition=" '$(IsGraphBuild)' != 'true' " Returns="@(CollectedBuildOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19088 <Target Name="Test" DependsOnTargets="$(TestDependsOn)" Condition=" '$(IsGraphBuild)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19089 <MSBuild Projects="@(ProjectReference)" Targets="Test" Condition="'%(ProjectReference.Test)' != 'false'" BuildInParallel="$([MSBuild]::ValueOrDefault('%(ProjectReference.TestInParallel)',&#xD;&#xA; $([MSBuild]::ValueOrDefault('%(ProjectReference.BuildInParallel)',&#xD;&#xA; $([MSBuild]::ValueOrDefault('$(TestInParallel)', '$(BuildInParallel)'))&#xD;&#xA; ))&#xD;&#xA; ))" Properties="%(ProjectReference.SetConfiguration); %(ProjectReference.SetPlatform); %(ProjectReference.SetTargetFramework)" SkipNonexistentProjects="$(SkipNonexistentProjects)" SkipNonexistentTargets="$(SkipNonexistentTargets)" StopOnFirstFailure="$(StopOnFirstFailure)" ContinueOnError="$([MSBuild]::ValueOrDefault('$(TestContinueOnError)', '$(ContinueOnError)'))" />
19090 </Target>
19091 <Target Name="VSTest" DependsOnTargets="$(VSTestDependsOn)" Condition=" '$(IsGraphBuild)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19092 <MSBuild Projects="@(ProjectReference)" Targets="VSTest" Condition="'%(ProjectReference.Test)' != 'false'" BuildInParallel="$([MSBuild]::ValueOrDefault('%(ProjectReference.TestInParallel)',&#xD;&#xA; $([MSBuild]::ValueOrDefault('%(ProjectReference.BuildInParallel)',&#xD;&#xA; $([MSBuild]::ValueOrDefault('$(TestInParallel)', '$(BuildInParallel)'))&#xD;&#xA; ))&#xD;&#xA; ))" Properties="%(ProjectReference.SetConfiguration); %(ProjectReference.SetPlatform); %(ProjectReference.SetTargetFramework)" SkipNonexistentProjects="$(SkipNonexistentProjects)" SkipNonexistentTargets="$(SkipNonexistentTargets)" StopOnFirstFailure="$(StopOnFirstFailure)" ContinueOnError="$([MSBuild]::ValueOrDefault('$(TestContinueOnError)', '$(ContinueOnError)'))" />
19093 </Target>
19094 <Target Name="Pack" DependsOnTargets="$(PackDependsOn)" Condition=" '$(IsGraphBuild)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19095 <MSBuild Projects="@(ProjectReference)" Targets="Pack" Condition="'%(ProjectReference.Pack)' != 'false'" BuildInParallel="$([MSBuild]::ValueOrDefault('%(ProjectReference.PackInParallel)',&#xD;&#xA; $([MSBuild]::ValueOrDefault('%(ProjectReference.BuildInParallel)',&#xD;&#xA; $([MSBuild]::ValueOrDefault('$(PackInParallel)', '$(BuildInParallel)'))&#xD;&#xA; ))&#xD;&#xA; ))" SkipNonexistentProjects="$(SkipNonexistentProjects)" SkipNonexistentTargets="$(SkipNonexistentTargets)" StopOnFirstFailure="$(StopOnFirstFailure)" ContinueOnError="$([MSBuild]::ValueOrDefault('$(PackContinueOnError)', '$(ContinueOnError)'))" />
19096 </Target>
19097 <Target Name="Publish" DependsOnTargets="$(PublishDependsOn)" Condition=" '$(IsGraphBuild)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19098 <MSBuild Projects="@(ProjectReference)" Properties="$(TraversalPublishGlobalProperties)" Targets="Publish" Condition="'%(ProjectReference.Publish)' != 'false'" BuildInParallel="$([MSBuild]::ValueOrDefault('%(ProjectReference.PublishInParallel)',&#xD;&#xA; $([MSBuild]::ValueOrDefault('%(ProjectReference.BuildInParallel)',&#xD;&#xA; $([MSBuild]::ValueOrDefault('$(PublishInParallel)', '$(BuildInParallel)'))&#xD;&#xA; ))&#xD;&#xA; ))" SkipNonexistentProjects="$(SkipNonexistentProjects)" SkipNonexistentTargets="$(SkipNonexistentTargets)" StopOnFirstFailure="$(StopOnFirstFailure)" ContinueOnError="$([MSBuild]::ValueOrDefault('$(PublishContinueOnError)', '$(ContinueOnError)'))" />
19099 </Target>
19100 <Target Name="PublishContainer" DependsOnTargets="$(PublishContainerDependsOn)" Condition=" '$(IsGraphBuild)' != 'true' " Returns="@(CollectedBuildOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19101 <MSBuild Projects="@(ProjectReference)" Properties="%(ProjectReference.SetConfiguration); %(ProjectReference.SetPlatform); %(ProjectReference.SetTargetFramework)" Targets="PublishContainer" Condition="'%(ProjectReference.Publish)' != 'false'" BuildInParallel="$([MSBuild]::ValueOrDefault('%(ProjectReference.PublishInParallel)',&#xD;&#xA; $([MSBuild]::ValueOrDefault('%(ProjectReference.BuildInParallel)',&#xD;&#xA; $([MSBuild]::ValueOrDefault('$(PublishInParallel)', '$(BuildInParallel)'))&#xD;&#xA; ))&#xD;&#xA; ))" SkipNonexistentProjects="$(SkipNonexistentProjects)" SkipNonexistentTargets="$(SkipNonexistentTargets)" StopOnFirstFailure="$(StopOnFirstFailure)" ContinueOnError="$([MSBuild]::ValueOrDefault('$(PublishContinueOnError)', '$(ContinueOnError)'))">
19102 <Output TaskParameter="TargetOutputs" ItemName="CollectedBuildOutput" />
19103 </MSBuild>
19104 </Target>
19105 <Target Name="GetTargetPath" DependsOnTargets="$(GetTargetPathDependsOn)" Returns="@(CollectedBuildOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19106 <MSBuild Projects="@(ProjectReference)" Condition="'%(ProjectReference.Build)' != 'false'" Targets="GetTargetPath" BuildInParallel="$([MSBuild]::ValueOrDefault('%(ProjectReference.BuildInParallel)', '$(BuildInParallel)'))" SkipNonexistentProjects="$(SkipNonexistentProjects)" SkipNonexistentTargets="$(SkipNonexistentTargets)" StopOnFirstFailure="$(StopOnFirstFailure)" Properties="%(ProjectReference.SetConfiguration); %(ProjectReference.SetPlatform); %(ProjectReference.SetTargetFramework)" ContinueOnError="$(ContinueOnError)">
19107 <Output TaskParameter="TargetOutputs" ItemName="CollectedBuildOutput" />
19108 </MSBuild>
19109 </Target>
19110 <Target Name="GetProjectsToSkip" Returns="@(ProjectToSkip)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19111 <MSBuild Projects="@(ProjectReference)" BuildInParallel="$([MSBuild]::ValueOrDefault('%(ProjectReference.BuildInParallel)', '$(BuildInParallel)'))" Properties="%(ProjectReference.SetConfiguration); %(ProjectReference.SetPlatform); %(ProjectReference.SetTargetFramework)" SkipNonexistentProjects="$(SkipNonexistentProjects)" SkipNonexistentTargets="true" StopOnFirstFailure="$(StopOnFirstFailure)" Targets="ShouldSkipProject" ContinueOnError="$(ContinueOnError)">
19112 <Output TaskParameter="TargetOutputs" ItemName="ProjectToSkip" />
19113 </MSBuild>
19114 </Target>
19115 <Target Name="GetTargetPathWithTargetPlatformMoniker" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19116 <!--
19117 Traversal projects do not build anything and should not check for invalid configuration/platform.
19118 -->
19119 <Target Name="_CheckForInvalidConfigurationAndPlatform" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19120 <!-- For CPS/VS support. See https://github.com/dotnet/project-system/blob/master/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/DesignTimeTargets/Microsoft.Managed.DesignTime.targets#L60 -->
19121 <!--
19122============================================================================================================================================
19123 <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\Managed\Microsoft.Managed.DesignTime.targets" Condition="'$(DebuggerFlavor)' == '' And Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\Managed\Microsoft.Managed.DesignTime.targets')">
19124
19125C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Microsoft\VisualStudio\Managed\Microsoft.Managed.DesignTime.targets
19126============================================================================================================================================
19127-->
19128 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE.md file in the project root for more information. -->
19129 <!--
19130
19131 This file contains Visual Studio and designer-related properties and items for managed projects.
19132
19133-->
19134 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19135 <!-- Turn off capabilities from Microsoft.Common.CurrentVersions.targets and explicitly include the ones we want. The list below
19136 currently matches what is in common targets, but removes BuildWindowsDesktopTarget -->
19137 <DefineCommonItemSchemas>false</DefineCommonItemSchemas>
19138 <DefineCommonCapabilities>false</DefineCommonCapabilities>
19139 <DefineCommonReferenceSchemas>false</DefineCommonReferenceSchemas>
19140 <DefineCommonManagedCapabilities Condition=" '$(DefineCommonManagedCapabilities)' == '' ">true</DefineCommonManagedCapabilities>
19141 <DefineCommonManagedItemSchemas Condition=" '$(DefineCommonManagedItemSchemas)' == '' ">true</DefineCommonManagedItemSchemas>
19142 <DefineCommonManagedReferenceSchemas Condition=" '$(DefineCommonManagedReferenceSchemas)' == '' ">true</DefineCommonManagedReferenceSchemas>
19143 <!--This property sets the default output types supported by the project system.-->
19144 <SupportedOutputTypes Condition="'$(SupportedOutputTypes)' == ''">Exe;WinExe;Library</SupportedOutputTypes>
19145 <SuppressOutOfDateMessageOnBuild Condition="'$(SuppressOutOfDateMessageOnBuild)' == ''">true</SuppressOutOfDateMessageOnBuild>
19146 <!-- Tells CPS which target to run for the Package solution build type -->
19147 <PackageAction Condition="'$(PackageAction)' == ''">Pack</PackageAction>
19148 </PropertyGroup>
19149 <!-- Specify NuGet packages that are known to not work with Build Acceleration. -->
19150 <ItemGroup Condition="'$(EnableDefaultBuildAccelerationIncompatiblePackages)' != 'false'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19151 <!-- Disable Build Acceleration for VSIX projects -->
19152 <BuildAccelerationIncompatiblePackage Include="Microsoft.VSSDK.BuildTools" />
19153 <!-- Slow Cheetah doesn't support Build Acceleration -->
19154 <BuildAccelerationIncompatiblePackage Include="Microsoft.VisualStudio.SlowCheetah" />
19155 </ItemGroup>
19156 <PropertyGroup Condition="'$(AssemblyReferenceTabs)' == '' And '$(UsingMicrosoftNETSdk)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19157 <!-- You cannot choose individual framework assemblies in .NET Core/.NET Standard, and AssemblyFoldersEx
19158 is not supported, so completely opt out of the Assembly category in Reference Manager by default. -->
19159 <AssemblyReferenceTabs>0</AssemblyReferenceTabs>
19160 <!-- However, .NET Framework supports choosing individual framework assemblies, so opt into that tab -->
19161 <AssemblyReferenceTabs Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">TAB_ASSEMBLY_FRAMEWORK</AssemblyReferenceTabs>
19162 </PropertyGroup>
19163 <!--
19164 Rule files that don't need localization go in the neutral directory to save duplicating files into each language
19165 -->
19166 <PropertyGroup Condition="'$(ManagedXamlNeutralResourcesDirectory)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19167 <ManagedXamlNeutralResourcesDirectory>$(MSBuildThisFileDirectory)</ManagedXamlNeutralResourcesDirectory>
19168 </PropertyGroup>
19169 <!--
19170 Locate the appropriate localized xaml resources based on the language ID or name.
19171
19172 The logic here matches the resource manager sufficiently to handle the fixed set of
19173 possible VS languages and directories on disk.
19174
19175 We cannot respect the exact probe order of the resource manager as this has to evaluate statically
19176 and we have only LangName and LangID and no access to System.Globalization API.
19177 -->
19178 <PropertyGroup Condition="'$(ManagedXamlResourcesDirectory)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19179 <!-- 1. Probe for exact match against LangName. (e.g. pt-BR) -->
19180 <ManagedXamlResourcesDirectory>$(MSBuildThisFileDirectory)$(LangName)</ManagedXamlResourcesDirectory>
19181 <!-- 2. Handle special cases of languages which would not match above or below. -->
19182 <ManagedXamlResourcesDirectory Condition="!Exists('$(ManagedXamlResourcesDirectory)') and '$(LangID)' == '2052'">$(MSBuildThisFileDirectory)zh-Hans</ManagedXamlResourcesDirectory>
19183 <ManagedXamlResourcesDirectory Condition="!Exists('$(ManagedXamlResourcesDirectory)') and '$(LangID)' == '1028'">$(MSBuildThisFileDirectory)zh-Hant</ManagedXamlResourcesDirectory>
19184 <!-- 3. Probe for parent by taking portion the portion before the hyphen (e.g. fr-FR -> fr) -->
19185 <ManagedXamlResourcesDirectory Condition="!Exists('$(ManagedXamlResourcesDirectory)')">$(MSBuildThisFileDirectory)$(LangName.Split('-')[0])</ManagedXamlResourcesDirectory>
19186 <!-- 4. Fall back to neutral resources if all of the above fail -->
19187 <ManagedXamlResourcesDirectory Condition="!Exists('$(ManagedXamlResourcesDirectory)')">$(ManagedXamlNeutralResourcesDirectory)</ManagedXamlResourcesDirectory>
19188 </PropertyGroup>
19189 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19190 <ManagedXamlResourcesDirectory Condition="!HasTrailingSlash('$(ManagedXamlResourcesDirectory)')">$(ManagedXamlResourcesDirectory)\</ManagedXamlResourcesDirectory>
19191 <DebuggerFlavor Condition="'$(DebuggerFlavor)' == ''">ProjectDebugger</DebuggerFlavor>
19192 </PropertyGroup>
19193 <!-- Project Capabilities -->
19194 <!-- Capabilities shared between shared projects & binary-producing projects. -->
19195 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19196 <ProjectCapability Include=".NET" />
19197 </ItemGroup>
19198 <!-- Capabilities for binary producing projects -->
19199 <ItemGroup Condition="'$(DefineCommonManagedCapabilities)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19200 <ProjectCapability Include="UseFileGlobs" />
19201 <ProjectCapability Include="DynamicDependentFile" />
19202 <ProjectCapability Include="ConfigurableFileNesting" />
19203 <!-- DependenciesTree capability lights up a Dependencies tree node and its sub node providers-->
19204 <ProjectCapability Include="DependenciesTree" />
19205 <ProjectCapability Include="ProjectImportsTree" />
19206 <ProjectCapability Include="LaunchProfiles" />
19207 <ProjectCapability Include="NoGeneralDependentFileIcon" />
19208 <ProjectCapability Include="ProjectPropertyInterception" />
19209 <ProjectCapability Include="PackageReferences" Condition="'$(RestoreProjectStyle)' == 'PackageReference'" />
19210 <!--
19211 List of capabilities below is adding back common capabilities defined in imported targets.
19212 We disabled them with the property DefineCommonCapabilities=false to get rid of default
19213 References capability, but everything else we want back.
19214 -->
19215 <ProjectCapability Include="&#xD;&#xA; AssemblyReferences;&#xD;&#xA; ProjectReferences;&#xD;&#xA; WinRTReferences;&#xD;&#xA; OutputGroups;&#xD;&#xA; AllTargetOutputGroups;&#xD;&#xA; VisualStudioWellKnownOutputGroups;&#xD;&#xA; SingleFileGenerators;&#xD;&#xA; DeclaredSourceItems;&#xD;&#xA; UserSourceItems;&#xD;&#xA; SupportAvailableItemName;&#xD;&#xA; IntegratedConsoleDebugging;&#xD;&#xA; DisableBuiltInDebuggerServices;&#xD;&#xA; PersistDesignTimeDataOutOfProject;" />
19216 <!-- COM references are not supported in .NET Core before 3.0 -->
19217 <ProjectCapability Include="COMReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' Or ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0')" />
19218 <!-- Settings page capability -->
19219 <ProjectCapability Include="AppSettings" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' Or '$(UseWPF)' == 'true' Or '$(UseWindowsForms)' == 'true' " />
19220 <!-- Publish capability enables the Publish command for the Project -->
19221 <ProjectCapability Include="Publish" />
19222 <ProjectCapability Include="FolderPublish" />
19223 <!-- All Microsoft.NET.Sdk Exe projects, except WPF and WinForms exes, can be published to app service -->
19224 <ProjectCapability Include="AppServicePublish" Condition="'$(OutputType)' == 'Exe'" />
19225 <!-- Capabilities for WPF and WinForms -->
19226 <ProjectCapability Include="WPF" Condition="'$(UseWPF)' == 'true'" />
19227 <ProjectCapability Include="WindowsForms" Condition="'$(UseWindowsForms)' == 'true'" />
19228 <ProjectCapability Include="DataSourceWindow" Condition="('$(TargetFrameworkIdentifier)' == '.NETFramework' Or ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0')) And ('$(UseWindowsForms)' == 'true' Or '$(UseWPF)' == 'true')" />
19229 </ItemGroup>
19230 <!-- List of well known rule Contexts that determine which catalog the rule shows up in CPS:
19231 File - Rules that apply at a per-item level, or at the project level to apply defaults to project items.
19232 Project - Rules that apply only at the project level.
19233 PropertySheet - Rules that apply only to property sheets.
19234 ProjectSubscriptionService - Rules that are invisible except for purposes of programmatic subscribing to project data.
19235 Invisible - A special rule catalog for purposes of programmatic subscribing to project data.
19236 BrowseObject - Rules that describe properties that appear in the Properties tool window while an item is selected in Solution Explorer.
19237 ConfiguredBrowseObject - Rules that describe configured project properties. This context currently only supports the Xaml rule to define
19238 configuration related project level properties.-->
19239 <!-- Common Project System rules that override rules defined in msbuild. These are exact copy of the rules defined in msbuild. -->
19240 <ItemGroup Condition="'$(DefineCommonManagedItemSchemas)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19241 <!-- Files/Folders schema -->
19242 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ProjectItemsSchema.xaml">
19243 <Context>Project</Context>
19244 </PropertyPageSchema>
19245 <!-- Files/Folders -->
19246 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)Compile.xaml">
19247 <Context>File</Context>
19248 </PropertyPageSchema>
19249 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)Compile.BrowseObject.xaml">
19250 <Context>BrowseObject</Context>
19251 </PropertyPageSchema>
19252 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)Resource.BrowseObject.xaml">
19253 <Context>BrowseObject</Context>
19254 </PropertyPageSchema>
19255 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)Content.xaml">
19256 <Context>File</Context>
19257 </PropertyPageSchema>
19258 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)Content.BrowseObject.xaml">
19259 <Context>BrowseObject</Context>
19260 </PropertyPageSchema>
19261 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)EmbeddedResource.xaml">
19262 <Context>File</Context>
19263 </PropertyPageSchema>
19264 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)EmbeddedResource.BrowseObject.xaml">
19265 <Context>BrowseObject</Context>
19266 </PropertyPageSchema>
19267 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)Folder.xaml">
19268 <Context>File;BrowseObject</Context>
19269 </PropertyPageSchema>
19270 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)None.xaml">
19271 <Context>File</Context>
19272 </PropertyPageSchema>
19273 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)Resource.xaml">
19274 <Context>File</Context>
19275 </PropertyPageSchema>
19276 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)PackageVersion.xaml">
19277 <Context>File</Context>
19278 </PropertyPageSchema>
19279 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)None.BrowseObject.xaml">
19280 <Context>BrowseObject</Context>
19281 </PropertyPageSchema>
19282 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)DebuggerGeneral.xaml">
19283 <Context>Project</Context>
19284 </PropertyPageSchema>
19285 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ApplicationPropertyPage.xaml">
19286 <Context>Project</Context>
19287 </PropertyPageSchema>
19288 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)BuildPropertyPage.xaml">
19289 <Context>Project</Context>
19290 </PropertyPageSchema>
19291 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)CodeAnalysisPropertyPage.xaml">
19292 <Context>Project</Context>
19293 </PropertyPageSchema>
19294 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)ConfigurationGeneralPage.xaml">
19295 <Context>Project</Context>
19296 </PropertyPageSchema>
19297 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)DebugPropertyPage.xaml">
19298 <Context>Project</Context>
19299 </PropertyPageSchema>
19300 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)SettingsPropertyPage.xaml">
19301 <Context>Project</Context>
19302 </PropertyPageSchema>
19303 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResourcesPropertyPage.xaml">
19304 <Context>Project</Context>
19305 </PropertyPageSchema>
19306 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)PackagePropertyPage.xaml">
19307 <Context>Project</Context>
19308 </PropertyPageSchema>
19309 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ExecutableDebugPropertyPage.xaml">
19310 <Context>Project</Context>
19311 </PropertyPageSchema>
19312 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ProjectDebugPropertyPage.xaml">
19313 <Context>Project</Context>
19314 </PropertyPageSchema>
19315 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)GeneralBrowseObject.xaml">
19316 <Context>BrowseObject</Context>
19317 </PropertyPageSchema>
19318 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)GeneralConfiguredBrowseObject.xaml">
19319 <Context>ConfiguredBrowseObject</Context>
19320 </PropertyPageSchema>
19321 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)ProjectDebugger.xaml">
19322 <Context>Project</Context>
19323 </PropertyPageSchema>
19324 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)SdkSupportedTargetPlatformIdentifier.xaml">
19325 <Context>Project</Context>
19326 </PropertyPageSchema>
19327 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)SdkSupportedTargetPlatformVersion.xaml">
19328 <Context>Project</Context>
19329 </PropertyPageSchema>
19330 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)SupportedTargetFrameworkAlias.xaml">
19331 <Context>Project</Context>
19332 </PropertyPageSchema>
19333 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)SupportedNETCoreAppTargetFramework.xaml">
19334 <Context>Project</Context>
19335 </PropertyPageSchema>
19336 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)SupportedNETStandardTargetFramework.xaml">
19337 <Context>Project</Context>
19338 </PropertyPageSchema>
19339 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)SupportedNETFrameworkTargetFramework.xaml">
19340 <Context>Project</Context>
19341 </PropertyPageSchema>
19342 </ItemGroup>
19343 <ItemGroup Condition="'$(DefineCommonManagedReferenceSchemas)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19344 <!-- Assembly references -->
19345 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)AssemblyReference.xaml">
19346 <Context>Project;BrowseObject</Context>
19347 </PropertyPageSchema>
19348 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedAssemblyReference.xaml">
19349 <Context>ProjectSubscriptionService;BrowseObject</Context>
19350 </PropertyPageSchema>
19351 <!-- COM references -->
19352 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)COMReference.xaml">
19353 <Context>Project;BrowseObject</Context>
19354 </PropertyPageSchema>
19355 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedCOMReference.xaml">
19356 <Context>ProjectSubscriptionService;BrowseObject</Context>
19357 </PropertyPageSchema>
19358 <!-- Framework references -->
19359 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)FrameworkReference.xaml">
19360 <Context>Project;BrowseObject</Context>
19361 </PropertyPageSchema>
19362 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedFrameworkReference.xaml">
19363 <Context>ProjectSubscriptionService;BrowseObject</Context>
19364 </PropertyPageSchema>
19365 <!-- Project references -->
19366 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ProjectReference.xaml">
19367 <Context>Project;BrowseObject</Context>
19368 </PropertyPageSchema>
19369 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedProjectReference.xaml">
19370 <Context>ProjectSubscriptionService;BrowseObject</Context>
19371 </PropertyPageSchema>
19372 <!-- Sdk references -->
19373 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)SdkReference.xaml">
19374 <Context>Project;ProjectSubscriptionService;BrowseObject</Context>
19375 </PropertyPageSchema>
19376 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedSdkReference.xaml">
19377 <Context>ProjectSubscriptionService;BrowseObject</Context>
19378 </PropertyPageSchema>
19379 <!-- Package references -->
19380 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)PackageReference.xaml">
19381 <Context>ProjectSubscriptionService;BrowseObject</Context>
19382 </PropertyPageSchema>
19383 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedPackageReference.xaml">
19384 <Context>ProjectSubscriptionService;BrowseObject</Context>
19385 </PropertyPageSchema>
19386 <!-- Analyzer references -->
19387 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)AnalyzerReference.xaml">
19388 <Context>Project;ProjectSubscriptionService;BrowseObject</Context>
19389 </PropertyPageSchema>
19390 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedAnalyzerReference.xaml">
19391 <Context>ProjectSubscriptionService;BrowseObject</Context>
19392 </PropertyPageSchema>
19393 </ItemGroup>
19394 <!-- List of external files that trigger re-evaluation & design-time builds when they are added or removed, or edited -->
19395 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19396 <!-- Potential Editor config locations, we only want to trigger design-time builds on removal/addition and not edits -->
19397 <AdditionalDesignTimeBuildInput Include="@(PotentialEditorConfigFiles)" ContentSensitive="false" />
19398 </ItemGroup>
19399 <!-- Find all potential locations of "global.json" starting from the Solution directory and walking backwards -->
19400 <ItemGroup Condition="'$(UsingMicrosoftNETSdk)' == 'true' and '$(SolutionDir)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19401 <_GlobalJsonStartingDir Include="$(SolutionDir)" />
19402 <_PotentialContainingGlobalJsonDir Include="@(_GlobalJsonStartingDir-&gt;GetPathsOfAllDirectoriesAbove())" />
19403 <AdditionalDesignTimeBuildInput Include="@(_PotentialContainingGlobalJsonDir-&gt;Combine('global.json'))" ContentSensitive="true" />
19404 </ItemGroup>
19405 <!--
19406 EmbeddedFiles are source files to be embedded to the PDB.
19407 We need to set Visible to false in order to not display duplicate entries in project UI.
19408 -->
19409 <ItemDefinitionGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19410 <EmbeddedFiles>
19411 <Visible>false</Visible>
19412 </EmbeddedFiles>
19413 </ItemDefinitionGroup>
19414 <!-- Targets -->
19415 <!-- For a newly created project with no packages restored, design-time builds complain that there is no ResolvePackageDependenciesDesignTime
19416 target, that is available only after restoring the .NET Core SDK targets. This no-op target will satisfy the check and will get overriden
19417 once the actual targets are available after package restore-->
19418 <Target Name="ResolvePackageDependenciesDesignTime" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19419 <Target Name="CollectSDKReferencesDesignTime" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19420 <Target Name="CollectResolvedSDKReferencesDesignTime" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19421 <Target Name="ResolveFrameworkReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19422 <Target Name="ResolveProjectReferencesDesignTime2" Returns="@(_ProjectReferencesFromRAR2);@(_ProjectReferencesWithoutOutputAssembly)" DependsOnTargets="ResolveProjectReferences;ResolveAssemblyReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19423 <!-- This is similar to ResolveProjectReferencesDesignTime, except it also returns projects that do not get
19424 resolved (hence do not appear in ReferencePath) because ReferenceOutputAssembly is set to false. -->
19425 <ItemGroup>
19426 <!-- We need to do this here because we only want project references which have passed through RAR and have
19427 not been unresolved due to violating some multi-targeting rule which means we need to pull the project
19428 references out of the referencepath item because they will only exist there if they were correctly
19429 resolved. -->
19430 <_ProjectReferencesFromRAR2 Include="@(ReferencePath-&gt;WithMetadataValue('ReferenceSourceTarget', 'ProjectReference'))">
19431 <OriginalItemSpec>%(ReferencePath.ProjectReferenceOriginalItemSpec)</OriginalItemSpec>
19432 </_ProjectReferencesFromRAR2>
19433 <_ProjectReferencesWithoutOutputAssembly Include="@(ProjectReference-&gt;WithMetadataValue('ReferenceOutputAssembly', 'false'))">
19434 <OriginalItemSpec>%(ProjectReference.Identity)</OriginalItemSpec>
19435 </_ProjectReferencesWithoutOutputAssembly>
19436 </ItemGroup>
19437 </Target>
19438 <Target Name="ResolveFrameworkReferencesDesignTime" Returns="@(ResolvedFrameworkReference)" DependsOnTargets="ResolveFrameworkReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19439 <!-- This target is used to collect the PackageReferences in the project. This target can be overriden to add\remove packagereferences before they are
19440 sent to NuGet to be restored.-->
19441 <Target Name="CollectPackageReferences" Returns="@(PackageReference)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19442 <!-- This target is used to collect the NuGet audit supression items. It is defined by the .NET SDK starting in version 8.0.400, but we need this no-op
19443 implementation when using older SDKs that don't have it; otherwise our design-time builds will fail. The NuGet.targets file in the SDK is imported
19444 _after_ this file, and will override this implementation with the real one (when present).
19445 This can (and should) be removed when we no longer need to support SDKs older than 8.0.400. -->
19446 <Target Name="CollectNuGetAuditSuppressions" Returns="@(NuGetAuditSuppress)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19447 <!-- This target is used to collect the PrunePackageReference items. It is defined by the .NET SDK starting in version 9.0.200, but we need this no-op
19448 implementation when using older SDKs that don't have it; otherwise our design-time builds will fail. The NuGet.targets file in the SDK is imported
19449 _after_ this file, and will override this implementation with the real one (when present).
19450 This can (and should) be removed when we no longer need to support SDKs older than 9.0.200. -->
19451 <Target Name="CollectPrunePackageReferences" Returns="@(PrunePackageReference)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19452 <!-- Collect any VS setup component IDs that should be installed for this project to work correctly in VS. -->
19453 <Target Name="CollectSuggestedVisualStudioComponentIds" Returns="@(SuggestedVisualStudioComponentId)" DependsOnTargets="_CollectSuggestedWorkloadsFromSdk" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19454 <ItemGroup>
19455 <!-- VS setup component ID for ".NET Compiler Platform SDK". Sourced from https://dev.azure.com/devdiv/DevDiv/_git/VS?path=/src/SetupPackages/Group/Component/Microsoft.CodeAnalysis.SDK/component.swr -->
19456 <SuggestedVisualStudioComponentId Condition="'$(IsRoslynComponent)' == 'true'" Include="Microsoft.Component.CodeAnalysis.SDK" />
19457 </ItemGroup>
19458 <!-- Runtime pack for the current target framework version. -->
19459 <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
19460 <!--
19461 Mapping from .NET Core TargetFrameworkVersion to VS Setup component ID.
19462
19463 Having this data in design-time targets is suboptimal. It should really be coming from the SDK.
19464 We are tracking moving this in https://github.com/dotnet/project-system/issues/8186.
19465 SDK work tracked in https://github.com/dotnet/sdk/issues/25575.
19466
19467 The source of truth for the available VS Setup components is various <c>.swr</c> files, such as:
19468 https://dev.azure.com/devdiv/DevDiv/_git/VS?path=/src/SetupPackages/Group/Product/Shared/product.shared.swr
19469
19470 Note there are some mismatches in the below data, as VS doesn't ship installable components for all older
19471 versions of .NET Core.
19472 -->
19473 <SuggestedVisualStudioComponentId Condition="'$(TargetFrameworkVersion)' == 'v2.0'" Include="Microsoft.Net.Core.Component.SDK.2.1" />
19474 <!-- mismatch -->
19475 <SuggestedVisualStudioComponentId Condition="'$(TargetFrameworkVersion)' == 'v2.1'" Include="Microsoft.Net.Core.Component.SDK.2.1" />
19476 <SuggestedVisualStudioComponentId Condition="'$(TargetFrameworkVersion)' == 'v2.2'" Include="Microsoft.Net.Core.Component.SDK.2.1" />
19477 <!-- mismatch -->
19478 <SuggestedVisualStudioComponentId Condition="'$(TargetFrameworkVersion)' == 'v3.0'" Include="Microsoft.NetCore.Component.Runtime.3.1" />
19479 <!-- mismatch -->
19480 <SuggestedVisualStudioComponentId Condition="'$(TargetFrameworkVersion)' == 'v3.1'" Include="Microsoft.NetCore.Component.Runtime.3.1" />
19481 <SuggestedVisualStudioComponentId Condition="'$(TargetFrameworkVersion)' == 'v5.0'" Include="Microsoft.NetCore.Component.Runtime.5.0" />
19482 <SuggestedVisualStudioComponentId Condition="'$(TargetFrameworkVersion)' == 'v6.0'" Include="Microsoft.NetCore.Component.Runtime.6.0" />
19483 <SuggestedVisualStudioComponentId Condition="'$(TargetFrameworkVersion)' == 'v7.0'" Include="Microsoft.NetCore.Component.Runtime.7.0" />
19484 <SuggestedVisualStudioComponentId Condition="'$(TargetFrameworkVersion)' == 'v8.0'" Include="Microsoft.NetCore.Component.Runtime.8.0" />
19485 <SuggestedVisualStudioComponentId Condition="'$(TargetFrameworkVersion)' == 'v9.0'" Include="Microsoft.NetCore.Component.Runtime.9.0" />
19486 </ItemGroup>
19487 </Target>
19488 <Target Name="_CollectSuggestedWorkloadsFromSdk" DependsOnTargets="GetSuggestedWorkloads" Condition="'@(MissingWorkloadPack)' != '' And '$(UsingMicrosoftNETSdk)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19489 <ItemGroup>
19490 <!-- SuggestedWorkload has both ComponentIds and ComponentId metadata. Include both. -->
19491 <SuggestedVisualStudioComponentId Include="%(SuggestedWorkload.ComponentIds)" />
19492 <SuggestedVisualStudioComponentId Include="%(SuggestedWorkload.ComponentId)" />
19493 </ItemGroup>
19494 </Target>
19495 <!-- Validates that the correct properties have been set for design-time compiles. -->
19496 <Target Name="_CheckCompileDesignTimePrerequisite" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19497 <Error Condition="'$(SkipCompilerExecution)|$(ProvideCommandLineArgs)' != 'true|true'" Text="SkipCompilerExecution and ProvideCommandLineArgs should be set before calling the CompileDesignTime target" />
19498 </Target>
19499 <!-- This target collects all Analyzers in the project. -->
19500 <Target Name="CollectAnalyzersDesignTime" DependsOnTargets="CompileDesignTime" Returns="@(Analyzer)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19501 <!-- This target collects all the resolved references that are used to actually compile. -->
19502 <Target Name="CollectResolvedCompilationReferencesDesignTime" DependsOnTargets="CompileDesignTime" Returns="@(ReferencePathWithRefAssemblies)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19503 <PropertyGroup Condition="'$(CollectUpToDateCheckInputDesignTimeDependsOn)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19504 <CollectUpToDateCheckInputDesignTimeDependsOn>CompileDesignTime</CollectUpToDateCheckInputDesignTimeDependsOn>
19505 <!-- F# projects do not have the ResolveCodeAnalysisRuleSet target. -->
19506 <CollectUpToDateCheckInputDesignTimeDependsOn Condition="'$(Language)' == 'C#' or '$(Language)' == 'VB'">$(CollectUpToDateCheckInputDesignTimeDependsOn);ResolveCodeAnalysisRuleSet</CollectUpToDateCheckInputDesignTimeDependsOn>
19507 </PropertyGroup>
19508 <!-- This target collects all the extra inputs for the up to date check. -->
19509 <Target Name="CollectUpToDateCheckInputDesignTime" DependsOnTargets="$(CollectUpToDateCheckInputDesignTimeDependsOn)" Returns="@(UpToDateCheckInput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19510 <ItemGroup>
19511 <!-- app.manifest, if any -->
19512 <UpToDateCheckInput Condition=" '$(ApplicationManifest)' != '' " Include="$(ApplicationManifest)" />
19513 <!-- .ruleset file, if any -->
19514 <UpToDateCheckInput Condition=" '$(ResolvedCodeAnalysisRuleSet)' != '' " Include="$(ResolvedCodeAnalysisRuleSet)" />
19515 </ItemGroup>
19516 </Target>
19517 <PropertyGroup Condition="'$(CollectUpToDateCheckOutputDesignTimeDependsOn)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19518 <CollectUpToDateCheckOutputDesignTimeDependsOn>CompileDesignTime</CollectUpToDateCheckOutputDesignTimeDependsOn>
19519 </PropertyGroup>
19520 <!-- This target collects all the extra outputs for the up to date check. -->
19521 <Target Name="CollectUpToDateCheckOutputDesignTime" DependsOnTargets="$(CollectUpToDateCheckOutputDesignTimeDependsOn)" Returns="@(UpToDateCheckOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19522 <PropertyGroup Condition="'$(CollectUpToDateCheckBuiltDesignTimeDependsOn)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19523 <CollectUpToDateCheckBuiltDesignTimeDependsOn>CompileDesignTime</CollectUpToDateCheckBuiltDesignTimeDependsOn>
19524 </PropertyGroup>
19525 <!-- This target collects all the things built by the project for the up to date check. -->
19526 <!-- See CopyFileToOutputDirectory target -->
19527 <Target Name="CollectUpToDateCheckBuiltDesignTime" DependsOnTargets="$(CollectUpToDateCheckBuiltDesignTimeDependsOn)" Returns="@(UpToDateCheckBuilt)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19528 <ItemGroup>
19529 <!-- Assembly output, bin and obj -->
19530 <UpToDateCheckBuilt Condition="'$(CopyBuildOutputToOutputDirectory)' != 'false' and '$(SkipCopyBuildProduct)' != 'true'" Include="$(TargetPath)" />
19531 <UpToDateCheckBuilt Include="@(IntermediateAssembly)" />
19532 <!-- Documentation file, bin and obj -->
19533 <UpToDateCheckBuilt Condition="'$(_DocumentationFileProduced)'=='true'" Include="@(FinalDocFile)" />
19534 <UpToDateCheckBuilt Condition="'$(_DocumentationFileProduced)'=='true'" Include="@(DocFileItem)" />
19535 <!-- Symbols, bin and obj -->
19536 <UpToDateCheckBuilt Condition="'$(_DebugSymbolsProduced)'=='true'" Include="@(_DebugSymbolsIntermediatePath)" />
19537 <UpToDateCheckBuilt Condition="'$(_DebugSymbolsProduced)'=='true' and '$(SkipCopyingSymbolsToOutputDirectory)' != 'true' and '$(CopyOutputSymbolsToOutputDirectory)' != 'false'" Include="@(_DebugSymbolsOutputPath)" />
19538 <!-- app.config -->
19539 <!-- The property AppConfig, created in PrepareForBuild, is used instead of AppConfigWithTargetPath because GenerateSupportedRuntime
19540 rewrites AppConfigWithTargetPath to point to the intermediate filename. This is needed because Fast up-to-date needs to compare
19541 the timestamp of the source filename (AppConfig) with destination filename.
19542 https://github.com/dotnet/msbuild/blob/d2f9dbccd913c5612fd3a3cb78b2524fbcb023da/src/Tasks/Microsoft.Common.CurrentVersion.targets#L1152-L1165
19543 We skip this check if AppConfig is empty, which occurs for .NET Framework console apps. See https://github.com/dotnet/project-system/issues/6758.
19544 -->
19545 <UpToDateCheckBuilt Condition=" '@(AppConfigWithTargetPath)' != '' and '$(AppConfig)' != '' " Include="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')" Original="$(AppConfig)" />
19546 </ItemGroup>
19547 </Target>
19548 <!-- Collect packages that are incompatible with Build Acceleration. -->
19549 <PropertyGroup Condition="'$(CollectBuildAccelerationIncompatiblePackageDesignTimeDependsOn)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19550 <CollectBuildAccelerationIncompatiblePackageDesignTimeDependsOn />
19551 </PropertyGroup>
19552 <Target Name="CollectBuildAccelerationIncompatiblePackageDesignTime" DependsOnTargets="$(CollectBuildAccelerationIncompatiblePackageDesignTimeDependsOn)" Returns="@(BuildAccelerationIncompatiblePackage)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
19553 <!-- This target collects all the items this project contributes to output directories of referencing projects.
19554 Ideally, it excludes any transitive dependencies.
19555 -->
19556 <Target Name="CollectCopyToOutputDirectoryItemDesignTime" DependsOnTargets="PrepareResourceNames;ComputeIntermediateSatelliteAssemblies;ResolveAssemblyReferences;CompileDesignTime;_GetCopyToOutputDirectoryItemsFromThisProject" Returns="@(_CollectedCopyToOutputDirectoryItem)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19557 <ItemGroup>
19558 <_CollectedCopyToOutputDirectoryItem Include="@(_ThisProjectItemsToCopyToOutputDirectory)">
19559 <BuildAccelerationOnly>false</BuildAccelerationOnly>
19560 </_CollectedCopyToOutputDirectoryItem>
19561 <!-- Output assembly -->
19562 <_CollectedCopyToOutputDirectoryItem Include="$(TargetPath)">
19563 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
19564 <TargetPath>$([System.IO.Path]::GetFileName('$(TargetPath)'))</TargetPath>
19565 <BuildAccelerationOnly>true</BuildAccelerationOnly>
19566 </_CollectedCopyToOutputDirectoryItem>
19567 <!-- Debug symbols -->
19568 <_CollectedCopyToOutputDirectoryItem Include="@(_DebugSymbolsOutputPath->'%(FullPath)')" Condition="'$(_DebugSymbolsProduced)' == 'true' and '$(SkipCopyingSymbolsToOutputDirectory)' != 'true' and '$(CopyOutputSymbolsToOutputDirectory)' != 'false'">
19569 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
19570 <TargetPath>$([System.IO.Path]::GetFileName('%(Identity)'))</TargetPath>
19571 <BuildAccelerationOnly>true</BuildAccelerationOnly>
19572 </_CollectedCopyToOutputDirectoryItem>
19573 <!-- ReferenceCopyLocalPaths
19574
19575 These come from two different sources, hence projecting twice here.
19576 We filter out items that come from NuGet packages as there can be very many of them, and we exclude
19577 them in the project system anyway, so it's better to drop them here (at the source). These items are
19578 expected to be copied during an actual build, and need updating during subsequent incremental builds.
19579 -->
19580 <_CollectedCopyToOutputDirectoryItem Include="@(ReferenceCopyLocalPaths->'%(Identity)')" Condition="'%(ReferenceCopyLocalPaths.ReferenceSourceTarget)' != 'ProjectReference' AND '%(ReferenceCopyLocalPaths.DestinationSubPath)' != ''">
19581 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
19582 <TargetPath>%(ReferenceCopyLocalPaths.DestinationSubPath)</TargetPath>
19583 <BuildAccelerationOnly>true</BuildAccelerationOnly>
19584 </_CollectedCopyToOutputDirectoryItem>
19585 <_CollectedCopyToOutputDirectoryItem Include="@(ReferenceCopyLocalPaths->'%(Identity)')" Condition="'%(ReferenceCopyLocalPaths.ReferenceSourceTarget)' != 'ProjectReference' AND '%(ReferenceCopyLocalPaths.DestinationSubPath)' == ''">
19586 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
19587 <TargetPath>$([System.IO.Path]::GetFileName('%(Identity)'))</TargetPath>
19588 <BuildAccelerationOnly>true</BuildAccelerationOnly>
19589 </_CollectedCopyToOutputDirectoryItem>
19590 <!-- Documentation file -->
19591 <_CollectedCopyToOutputDirectoryItem Include="@(FinalDocFile->'%(FullPath)')" Condition="'$(_DocumentationFileProduced)' == 'true'">
19592 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
19593 <TargetPath>$([System.IO.Path]::GetFileName('%(Identity)'))</TargetPath>
19594 <BuildAccelerationOnly>true</BuildAccelerationOnly>
19595 </_CollectedCopyToOutputDirectoryItem>
19596 <!-- Satellite assemblies -->
19597 <_CollectedCopyToOutputDirectoryItem Include="@(IntermediateSatelliteAssembliesWithTargetPath->'$(TargetDir)%(Culture)\$(TargetName).resources.dll')" Condition="'@(IntermediateSatelliteAssembliesWithTargetPath)' != ''">
19598 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
19599 <TargetPath>%(IntermediateSatelliteAssembliesWithTargetPath.Culture)\$(TargetName).resources.dll</TargetPath>
19600 <BuildAccelerationOnly>true</BuildAccelerationOnly>
19601 </_CollectedCopyToOutputDirectoryItem>
19602 </ItemGroup>
19603 </Target>
19604 <!--
19605============================================================================================================================================
19606 </Import>
19607
19608C:\Users\Rob\.nuget\packages\microsoft.build.traversal\4.1.82\Sdk\Traversal.targets
19609============================================================================================================================================
19610-->
19611 <!--
19612============================================================================================================================================
19613 </Import>
19614
19615C:\Users\Rob\.nuget\packages\microsoft.build.traversal\4.1.82\Sdk\Sdk.targets
19616============================================================================================================================================
19617-->
19618 <Target Name="SkipProjects" DependsOnTargets="GetProjectsToSkip" Condition="'$(TraversalSkipUnsupportedProjects)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19619 <ItemGroup>
19620 <_NonExistentProjectToSkip Include="@(ProjectToSkip)" Condition="!Exists('%(ProjectToSkip.Identity)')" />
19621 <ProjectReference Remove="%(ProjectToSkip.OriginalItemSpec)" />
19622 </ItemGroup>
19623 <Warning Text="The ShouldSkipProject target returned a project '%(_NonExistentProjectToSkip.Identity)' that does not exist. Ensure that the ShouldSkipProject target only includes %24%28MSBuildProjectFullPath%29" Condition="@(_NonExistentProjectToSkip-&gt;Count()) &gt; 0" />
19624 <Message Text="Skipping project &quot;%(ProjectToSkip.Identity)&quot;. %(ProjectToSkip.Message)" Condition="@(ProjectToSkip-&gt;Count()) &gt; 0 And '$(MSBuildRestoreSessionId)' == ''" Importance="High" />
19625 </Target>
19626 <!--<Import Project="$(CustomAfterTraversalTargets)" Condition=" '$(CustomAfterTraversalTargets)' != '' And Exists('$(CustomAfterTraversalTargets)') " />-->
19627 <!--
19628============================================================================================================================================
19629 </Import>
19630
19631D:\src\wix\src\libs\libs_t.proj
19632============================================================================================================================================
19633-->
19634</Project> \ No newline at end of file
diff --git a/src/libs/wcautil/WixToolset.WcaUtil/build/WixToolset.WcaUtil.props b/src/libs/wcautil/WixToolset.WcaUtil/build/WixToolset.WcaUtil.props
index e0147b5d..1c34a0b4 100644
--- a/src/libs/wcautil/WixToolset.WcaUtil/build/WixToolset.WcaUtil.props
+++ b/src/libs/wcautil/WixToolset.WcaUtil/build/WixToolset.WcaUtil.props
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemDefinitionGroup> 5 <ItemDefinitionGroup>
6 <ClCompile> 6 <ClCompile>
7 <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 7 <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/libs/wcautil/WixToolset.WcaUtil/wcautil.vcxproj b/src/libs/wcautil/WixToolset.WcaUtil/wcautil.vcxproj
index 5aa8e572..7e6e70bf 100644
--- a/src/libs/wcautil/WixToolset.WcaUtil/wcautil.vcxproj
+++ b/src/libs/wcautil/WixToolset.WcaUtil/wcautil.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/libs/wcautil/wcautil.sln b/src/libs/wcautil/wcautil.sln
deleted file mode 100644
index 5682f1f7..00000000
--- a/src/libs/wcautil/wcautil.sln
+++ /dev/null
@@ -1,37 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.31005.135
5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wcautil", "src\wcautil\wcautil.vcxproj", "{5B3714B6-3A76-463E-8595-D48DA276C512}"
7EndProject
8Global
9 GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 Debug|ARM64 = Debug|ARM64
11 Debug|x64 = Debug|x64
12 Debug|x86 = Debug|x86
13 Release|ARM64 = Release|ARM64
14 Release|x64 = Release|x64
15 Release|x86 = Release|x86
16 EndGlobalSection
17 GlobalSection(ProjectConfigurationPlatforms) = postSolution
18 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|ARM64.ActiveCfg = Debug|ARM64
19 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|ARM64.Build.0 = Debug|ARM64
20 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|x64.ActiveCfg = Debug|x64
21 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|x64.Build.0 = Debug|x64
22 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|x86.ActiveCfg = Debug|Win32
23 {5B3714B6-3A76-463E-8595-D48DA276C512}.Debug|x86.Build.0 = Debug|Win32
24 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|ARM64.ActiveCfg = Release|ARM64
25 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|ARM64.Build.0 = Release|ARM64
26 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|x64.ActiveCfg = Release|x64
27 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|x64.Build.0 = Release|x64
28 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|x86.ActiveCfg = Release|Win32
29 {5B3714B6-3A76-463E-8595-D48DA276C512}.Release|x86.Build.0 = Release|Win32
30 EndGlobalSection
31 GlobalSection(SolutionProperties) = preSolution
32 HideSolutionNode = FALSE
33 EndGlobalSection
34 GlobalSection(ExtensibilityGlobals) = postSolution
35 SolutionGuid = {DD209744-C40E-4C34-8CB4-BC6B71F9A133}
36 EndGlobalSection
37EndGlobal
diff --git a/src/libs/wcautil/wcautil.slnx b/src/libs/wcautil/wcautil.slnx
new file mode 100644
index 00000000..fd8d2b16
--- /dev/null
+++ b/src/libs/wcautil/wcautil.slnx
@@ -0,0 +1,8 @@
1<Solution>
2 <Configurations>
3 <Platform Name="ARM64" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="WixToolset.WcaUtil/wcautil.vcxproj" Id="5b3714b6-3a76-463e-8595-d48da276c512" />
8</Solution>
diff --git a/src/setup/setup.cmd b/src/setup/setup.cmd
index 2b44b8db..3c05d41a 100644
--- a/src/setup/setup.cmd
+++ b/src/setup/setup.cmd
@@ -20,7 +20,7 @@
20:: Build 20:: Build
21msbuild -Restore MetadataTask\MetadataTask.csproj -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\setup_task.binlog || exit /b 21msbuild -Restore MetadataTask\MetadataTask.csproj -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\setup_task.binlog || exit /b
22 22
23msbuild -Restore setup.sln -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\setup_build.binlog || exit /b 23msbuild -Restore setup.slnx -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\setup_build.binlog || exit /b
24 24
25:: Publish 25:: Publish
26 26
diff --git a/src/setup/setup.sln b/src/setup/setup.sln
deleted file mode 100644
index 3f6b1b43..00000000
--- a/src/setup/setup.sln
+++ /dev/null
@@ -1,37 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.2.32630.192
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "ThmViewerPackage", "ThmViewerPackage\ThmViewerPackage.wixproj", "{F8C12838-DEC5-4CA5-97A8-DFE2247564C5}"
7EndProject
8Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "wix-cli", "wix-cli\wix-cli.wixproj", "{69C043AF-F9D4-427D-A954-D0362DF25E6E}"
9EndProject
10Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "WixAdditionalTools", "WixAdditionalTools\WixAdditionalTools.wixproj", "{59FF3AD3-339A-4048-9F0B-504EE74BC4AF}"
11EndProject
12Global
13 GlobalSection(SolutionConfigurationPlatforms) = preSolution
14 Debug|Any CPU = Debug|Any CPU
15 Release|Any CPU = Release|Any CPU
16 EndGlobalSection
17 GlobalSection(ProjectConfigurationPlatforms) = postSolution
18 {F8C12838-DEC5-4CA5-97A8-DFE2247564C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
19 {F8C12838-DEC5-4CA5-97A8-DFE2247564C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
20 {F8C12838-DEC5-4CA5-97A8-DFE2247564C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
21 {F8C12838-DEC5-4CA5-97A8-DFE2247564C5}.Release|Any CPU.Build.0 = Release|Any CPU
22 {69C043AF-F9D4-427D-A954-D0362DF25E6E}.Debug|Any CPU.ActiveCfg = Debug|x64
23 {69C043AF-F9D4-427D-A954-D0362DF25E6E}.Debug|Any CPU.Build.0 = Debug|x64
24 {69C043AF-F9D4-427D-A954-D0362DF25E6E}.Release|Any CPU.ActiveCfg = Release|x64
25 {69C043AF-F9D4-427D-A954-D0362DF25E6E}.Release|Any CPU.Build.0 = Release|x64
26 {59FF3AD3-339A-4048-9F0B-504EE74BC4AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
27 {59FF3AD3-339A-4048-9F0B-504EE74BC4AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
28 {59FF3AD3-339A-4048-9F0B-504EE74BC4AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
29 {59FF3AD3-339A-4048-9F0B-504EE74BC4AF}.Release|Any CPU.Build.0 = Release|Any CPU
30 EndGlobalSection
31 GlobalSection(SolutionProperties) = preSolution
32 HideSolutionNode = FALSE
33 EndGlobalSection
34 GlobalSection(ExtensibilityGlobals) = postSolution
35 SolutionGuid = {1E2BB345-987B-4108-8EB9-10D703F02EFC}
36 EndGlobalSection
37EndGlobal
diff --git a/src/setup/setup.slnx b/src/setup/setup.slnx
new file mode 100644
index 00000000..7f56128c
--- /dev/null
+++ b/src/setup/setup.slnx
@@ -0,0 +1,7 @@
1<Solution>
2 <Project Path="ThmViewerPackage/ThmViewerPackage.wixproj" Type="b7dd6f7e-def8-4e67-b5b7-07ef123db6f0" />
3 <Project Path="wix-cli/wix-cli.wixproj" Type="b7dd6f7e-def8-4e67-b5b7-07ef123db6f0">
4 <Platform Project="x64" />
5 </Project>
6 <Project Path="WixAdditionalTools/WixAdditionalTools.wixproj" Type="b7dd6f7e-def8-4e67-b5b7-07ef123db6f0" />
7</Solution>
diff --git a/src/test/burn/BurnE2ETests.sln b/src/test/burn/BurnE2ETests.sln
deleted file mode 100644
index 98cd3575..00000000
--- a/src/test/burn/BurnE2ETests.sln
+++ /dev/null
@@ -1,107 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.0.31919.166
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestBA", "TestBA\TestBA.csproj", "{04022D35-6D75-49D0-91D2-4208E09DBA6D}"
7EndProject
8Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestExe", "TestExe\TestExe.csproj", "{B038B342-BE42-4951-82A9-7789412CF37F}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixTestTools", "WixTestTools\WixTestTools.csproj", "{3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.WixBA", "WixToolset.WixBA\WixToolset.WixBA.csproj", "{7C27518B-84AD-4679-8EF4-29DF552CF1AC}"
13EndProject
14Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.BurnE2E", "WixToolsetTest.BurnE2E\WixToolsetTest.BurnE2E.csproj", "{FED9D707-E5C3-4867-87B0-FABDB5EB0823}"
15EndProject
16Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ForTestingUseOnly.wixext", "ForTestingUseOnlyExtension\ForTestingUseOnly.wixext.csproj", "{0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}"
17EndProject
18Global
19 GlobalSection(SolutionConfigurationPlatforms) = preSolution
20 Debug|Any CPU = Debug|Any CPU
21 Debug|x64 = Debug|x64
22 Debug|x86 = Debug|x86
23 Release|Any CPU = Release|Any CPU
24 Release|x64 = Release|x64
25 Release|x86 = Release|x86
26 EndGlobalSection
27 GlobalSection(ProjectConfigurationPlatforms) = postSolution
28 {04022D35-6D75-49D0-91D2-4208E09DBA6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
29 {04022D35-6D75-49D0-91D2-4208E09DBA6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
30 {04022D35-6D75-49D0-91D2-4208E09DBA6D}.Debug|x64.ActiveCfg = Debug|Any CPU
31 {04022D35-6D75-49D0-91D2-4208E09DBA6D}.Debug|x64.Build.0 = Debug|Any CPU
32 {04022D35-6D75-49D0-91D2-4208E09DBA6D}.Debug|x86.ActiveCfg = Debug|Any CPU
33 {04022D35-6D75-49D0-91D2-4208E09DBA6D}.Debug|x86.Build.0 = Debug|Any CPU
34 {04022D35-6D75-49D0-91D2-4208E09DBA6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
35 {04022D35-6D75-49D0-91D2-4208E09DBA6D}.Release|Any CPU.Build.0 = Release|Any CPU
36 {04022D35-6D75-49D0-91D2-4208E09DBA6D}.Release|x64.ActiveCfg = Release|Any CPU
37 {04022D35-6D75-49D0-91D2-4208E09DBA6D}.Release|x64.Build.0 = Release|Any CPU
38 {04022D35-6D75-49D0-91D2-4208E09DBA6D}.Release|x86.ActiveCfg = Release|Any CPU
39 {04022D35-6D75-49D0-91D2-4208E09DBA6D}.Release|x86.Build.0 = Release|Any CPU
40 {B038B342-BE42-4951-82A9-7789412CF37F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
41 {B038B342-BE42-4951-82A9-7789412CF37F}.Debug|Any CPU.Build.0 = Debug|Any CPU
42 {B038B342-BE42-4951-82A9-7789412CF37F}.Debug|x64.ActiveCfg = Debug|Any CPU
43 {B038B342-BE42-4951-82A9-7789412CF37F}.Debug|x64.Build.0 = Debug|Any CPU
44 {B038B342-BE42-4951-82A9-7789412CF37F}.Debug|x86.ActiveCfg = Debug|Any CPU
45 {B038B342-BE42-4951-82A9-7789412CF37F}.Debug|x86.Build.0 = Debug|Any CPU
46 {B038B342-BE42-4951-82A9-7789412CF37F}.Release|Any CPU.ActiveCfg = Release|Any CPU
47 {B038B342-BE42-4951-82A9-7789412CF37F}.Release|Any CPU.Build.0 = Release|Any CPU
48 {B038B342-BE42-4951-82A9-7789412CF37F}.Release|x64.ActiveCfg = Release|Any CPU
49 {B038B342-BE42-4951-82A9-7789412CF37F}.Release|x64.Build.0 = Release|Any CPU
50 {B038B342-BE42-4951-82A9-7789412CF37F}.Release|x86.ActiveCfg = Release|Any CPU
51 {B038B342-BE42-4951-82A9-7789412CF37F}.Release|x86.Build.0 = Release|Any CPU
52 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
53 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
54 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Debug|x64.ActiveCfg = Debug|Any CPU
55 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Debug|x64.Build.0 = Debug|Any CPU
56 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Debug|x86.ActiveCfg = Debug|Any CPU
57 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Debug|x86.Build.0 = Debug|Any CPU
58 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
59 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Release|Any CPU.Build.0 = Release|Any CPU
60 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Release|x64.ActiveCfg = Release|Any CPU
61 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Release|x64.Build.0 = Release|Any CPU
62 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Release|x86.ActiveCfg = Release|Any CPU
63 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Release|x86.Build.0 = Release|Any CPU
64 {7C27518B-84AD-4679-8EF4-29DF552CF1AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
65 {7C27518B-84AD-4679-8EF4-29DF552CF1AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
66 {7C27518B-84AD-4679-8EF4-29DF552CF1AC}.Debug|x64.ActiveCfg = Debug|Any CPU
67 {7C27518B-84AD-4679-8EF4-29DF552CF1AC}.Debug|x64.Build.0 = Debug|Any CPU
68 {7C27518B-84AD-4679-8EF4-29DF552CF1AC}.Debug|x86.ActiveCfg = Debug|Any CPU
69 {7C27518B-84AD-4679-8EF4-29DF552CF1AC}.Debug|x86.Build.0 = Debug|Any CPU
70 {7C27518B-84AD-4679-8EF4-29DF552CF1AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
71 {7C27518B-84AD-4679-8EF4-29DF552CF1AC}.Release|Any CPU.Build.0 = Release|Any CPU
72 {7C27518B-84AD-4679-8EF4-29DF552CF1AC}.Release|x64.ActiveCfg = Release|Any CPU
73 {7C27518B-84AD-4679-8EF4-29DF552CF1AC}.Release|x64.Build.0 = Release|Any CPU
74 {7C27518B-84AD-4679-8EF4-29DF552CF1AC}.Release|x86.ActiveCfg = Release|Any CPU
75 {7C27518B-84AD-4679-8EF4-29DF552CF1AC}.Release|x86.Build.0 = Release|Any CPU
76 {FED9D707-E5C3-4867-87B0-FABDB5EB0823}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
77 {FED9D707-E5C3-4867-87B0-FABDB5EB0823}.Debug|Any CPU.Build.0 = Debug|Any CPU
78 {FED9D707-E5C3-4867-87B0-FABDB5EB0823}.Debug|x64.ActiveCfg = Debug|Any CPU
79 {FED9D707-E5C3-4867-87B0-FABDB5EB0823}.Debug|x64.Build.0 = Debug|Any CPU
80 {FED9D707-E5C3-4867-87B0-FABDB5EB0823}.Debug|x86.ActiveCfg = Debug|Any CPU
81 {FED9D707-E5C3-4867-87B0-FABDB5EB0823}.Debug|x86.Build.0 = Debug|Any CPU
82 {FED9D707-E5C3-4867-87B0-FABDB5EB0823}.Release|Any CPU.ActiveCfg = Release|Any CPU
83 {FED9D707-E5C3-4867-87B0-FABDB5EB0823}.Release|Any CPU.Build.0 = Release|Any CPU
84 {FED9D707-E5C3-4867-87B0-FABDB5EB0823}.Release|x64.ActiveCfg = Release|Any CPU
85 {FED9D707-E5C3-4867-87B0-FABDB5EB0823}.Release|x64.Build.0 = Release|Any CPU
86 {FED9D707-E5C3-4867-87B0-FABDB5EB0823}.Release|x86.ActiveCfg = Release|Any CPU
87 {FED9D707-E5C3-4867-87B0-FABDB5EB0823}.Release|x86.Build.0 = Release|Any CPU
88 {0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
89 {0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}.Debug|Any CPU.Build.0 = Debug|Any CPU
90 {0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}.Debug|x64.ActiveCfg = Debug|Any CPU
91 {0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}.Debug|x64.Build.0 = Debug|Any CPU
92 {0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}.Debug|x86.ActiveCfg = Debug|Any CPU
93 {0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}.Debug|x86.Build.0 = Debug|Any CPU
94 {0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}.Release|Any CPU.ActiveCfg = Release|Any CPU
95 {0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}.Release|Any CPU.Build.0 = Release|Any CPU
96 {0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}.Release|x64.ActiveCfg = Release|Any CPU
97 {0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}.Release|x64.Build.0 = Release|Any CPU
98 {0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}.Release|x86.ActiveCfg = Release|Any CPU
99 {0037E6A3-45C6-4AB6-BC8C-1CB0C145E992}.Release|x86.Build.0 = Release|Any CPU
100 EndGlobalSection
101 GlobalSection(SolutionProperties) = preSolution
102 HideSolutionNode = FALSE
103 EndGlobalSection
104 GlobalSection(ExtensibilityGlobals) = postSolution
105 SolutionGuid = {74DE2EED-ECAA-4FDD-9792-9D3B0C0C1321}
106 EndGlobalSection
107EndGlobal
diff --git a/src/test/burn/BurnE2ETests.slnx b/src/test/burn/BurnE2ETests.slnx
new file mode 100644
index 00000000..4bd44779
--- /dev/null
+++ b/src/test/burn/BurnE2ETests.slnx
@@ -0,0 +1,13 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="ForTestingUseOnlyExtension/ForTestingUseOnly.wixext.csproj" />
8 <Project Path="TestBA/TestBA.csproj" />
9 <Project Path="TestExe/TestExe.csproj" />
10 <Project Path="WixTestTools/WixTestTools.csproj" />
11 <Project Path="WixToolset.WixBA/WixToolset.WixBA.csproj" />
12 <Project Path="WixToolsetTest.BurnE2E/WixToolsetTest.BurnE2E.csproj" />
13</Solution>
diff --git a/src/test/burn/TestData/WixIuiBaTests/DtfSamples.sln b/src/test/burn/TestData/WixIuiBaTests/DtfSamples.sln
deleted file mode 100644
index 1e6c2082..00000000
--- a/src/test/burn/TestData/WixIuiBaTests/DtfSamples.sln
+++ /dev/null
@@ -1,28 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.30114.105
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EmbeddedUI", "EmbeddedUI\EmbeddedUI.csproj", "{864B8C50-7895-4485-AC89-900D86FD8C0D}"
7EndProject
8Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ManagedCA", "ManagedCA\ManagedCA.csproj", "{8F53B9CC-6FBE-493D-9C9A-09B2AD578CE7}"
9EndProject
10Global
11 GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 Debug|Any CPU = Debug|Any CPU
13 Release|Any CPU = Release|Any CPU
14 EndGlobalSection
15 GlobalSection(SolutionProperties) = preSolution
16 HideSolutionNode = FALSE
17 EndGlobalSection
18 GlobalSection(ProjectConfigurationPlatforms) = postSolution
19 {864B8C50-7895-4485-AC89-900D86FD8C0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
20 {864B8C50-7895-4485-AC89-900D86FD8C0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
21 {864B8C50-7895-4485-AC89-900D86FD8C0D}.Release|Any CPU.ActiveCfg = Debug|Any CPU
22 {864B8C50-7895-4485-AC89-900D86FD8C0D}.Release|Any CPU.Build.0 = Debug|Any CPU
23 {8F53B9CC-6FBE-493D-9C9A-09B2AD578CE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
24 {8F53B9CC-6FBE-493D-9C9A-09B2AD578CE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
25 {8F53B9CC-6FBE-493D-9C9A-09B2AD578CE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
26 {8F53B9CC-6FBE-493D-9C9A-09B2AD578CE7}.Release|Any CPU.Build.0 = Release|Any CPU
27 EndGlobalSection
28EndGlobal
diff --git a/src/test/burn/TestData/WixIuiBaTests/DtfSamples.slnx b/src/test/burn/TestData/WixIuiBaTests/DtfSamples.slnx
new file mode 100644
index 00000000..be21997d
--- /dev/null
+++ b/src/test/burn/TestData/WixIuiBaTests/DtfSamples.slnx
@@ -0,0 +1,6 @@
1<Solution>
2 <Project Path="EmbeddedUI/EmbeddedUI.csproj">
3 <BuildType Project="Debug" />
4 </Project>
5 <Project Path="ManagedCA/ManagedCA.csproj" />
6</Solution>
diff --git a/src/test/msi/MsiE2ETests.sln b/src/test/msi/MsiE2ETests.sln
deleted file mode 100644
index c8ba93ec..00000000
--- a/src/test/msi/MsiE2ETests.sln
+++ /dev/null
@@ -1,51 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.0.31919.166
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixTestTools", "..\burn\WixTestTools\WixTestTools.csproj", "{3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}"
7EndProject
8Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.MsiE2E", "WixToolsetTest.MsiE2E\WixToolsetTest.MsiE2E.csproj", "{68E1A5F8-0F44-4B38-8876-C101A2A019F2}"
9EndProject
10Global
11 GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 Debug|Any CPU = Debug|Any CPU
13 Debug|x64 = Debug|x64
14 Debug|x86 = Debug|x86
15 Release|Any CPU = Release|Any CPU
16 Release|x64 = Release|x64
17 Release|x86 = Release|x86
18 EndGlobalSection
19 GlobalSection(ProjectConfigurationPlatforms) = postSolution
20 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
22 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Debug|x64.ActiveCfg = Debug|Any CPU
23 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Debug|x64.Build.0 = Debug|Any CPU
24 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Debug|x86.ActiveCfg = Debug|Any CPU
25 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Debug|x86.Build.0 = Debug|Any CPU
26 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
27 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Release|Any CPU.Build.0 = Release|Any CPU
28 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Release|x64.ActiveCfg = Release|Any CPU
29 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Release|x64.Build.0 = Release|Any CPU
30 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Release|x86.ActiveCfg = Release|Any CPU
31 {3D3B02F3-79B6-4BD5-AD49-2889DA3849A7}.Release|x86.Build.0 = Release|Any CPU
32 {68E1A5F8-0F44-4B38-8876-C101A2A019F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
33 {68E1A5F8-0F44-4B38-8876-C101A2A019F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
34 {68E1A5F8-0F44-4B38-8876-C101A2A019F2}.Debug|x64.ActiveCfg = Debug|Any CPU
35 {68E1A5F8-0F44-4B38-8876-C101A2A019F2}.Debug|x64.Build.0 = Debug|Any CPU
36 {68E1A5F8-0F44-4B38-8876-C101A2A019F2}.Debug|x86.ActiveCfg = Debug|Any CPU
37 {68E1A5F8-0F44-4B38-8876-C101A2A019F2}.Debug|x86.Build.0 = Debug|Any CPU
38 {68E1A5F8-0F44-4B38-8876-C101A2A019F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
39 {68E1A5F8-0F44-4B38-8876-C101A2A019F2}.Release|Any CPU.Build.0 = Release|Any CPU
40 {68E1A5F8-0F44-4B38-8876-C101A2A019F2}.Release|x64.ActiveCfg = Release|Any CPU
41 {68E1A5F8-0F44-4B38-8876-C101A2A019F2}.Release|x64.Build.0 = Release|Any CPU
42 {68E1A5F8-0F44-4B38-8876-C101A2A019F2}.Release|x86.ActiveCfg = Release|Any CPU
43 {68E1A5F8-0F44-4B38-8876-C101A2A019F2}.Release|x86.Build.0 = Release|Any CPU
44 EndGlobalSection
45 GlobalSection(SolutionProperties) = preSolution
46 HideSolutionNode = FALSE
47 EndGlobalSection
48 GlobalSection(ExtensibilityGlobals) = postSolution
49 SolutionGuid = {4C9978E3-8548-451E-8BF5-03AD1D0280C2}
50 EndGlobalSection
51EndGlobal
diff --git a/src/test/msi/MsiE2ETests.slnx b/src/test/msi/MsiE2ETests.slnx
new file mode 100644
index 00000000..c2cff885
--- /dev/null
+++ b/src/test/msi/MsiE2ETests.slnx
@@ -0,0 +1,9 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="../burn/WixTestTools/WixTestTools.csproj" />
8 <Project Path="WixToolsetTest.MsiE2E/WixToolsetTest.MsiE2E.csproj" />
9</Solution>
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/ComPlusComponents.sln b/src/test/msi/TestData/ComPlusExtensionTests/Components/ComPlusComponents.sln
deleted file mode 100644
index d25fea76..00000000
--- a/src/test/msi/TestData/ComPlusExtensionTests/Components/ComPlusComponents.sln
+++ /dev/null
@@ -1,79 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.11.35111.106
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestComponentNET3", "TestComponentNET3\TestComponentNET3.csproj", "{B4CD7ECE-7245-445B-9F04-D2952631554D}"
7EndProject
8Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestComponentNET4", "TestComponentNET4\TestComponentNET4.csproj", "{EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}"
9EndProject
10Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestComponentNative", "TestComponentNative\TestComponentNative.vcxproj", "{EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}"
11EndProject
12Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestComponentNET8", "TestComponentNET8\TestComponentNET8.csproj", "{EC2F6BAE-9840-4CA0-8B83-F38F635CF246}"
13EndProject
14Global
15 GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 Debug|Any CPU = Debug|Any CPU
17 Debug|x64 = Debug|x64
18 Debug|x86 = Debug|x86
19 Release|Any CPU = Release|Any CPU
20 Release|x64 = Release|x64
21 Release|x86 = Release|x86
22 EndGlobalSection
23 GlobalSection(ProjectConfigurationPlatforms) = postSolution
24 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
25 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Debug|Any CPU.Build.0 = Debug|Any CPU
26 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Debug|x64.ActiveCfg = Debug|Any CPU
27 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Debug|x64.Build.0 = Debug|Any CPU
28 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Debug|x86.ActiveCfg = Debug|Any CPU
29 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Debug|x86.Build.0 = Debug|Any CPU
30 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Release|Any CPU.ActiveCfg = Release|Any CPU
31 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Release|Any CPU.Build.0 = Release|Any CPU
32 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Release|x64.ActiveCfg = Release|Any CPU
33 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Release|x64.Build.0 = Release|Any CPU
34 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Release|x86.ActiveCfg = Release|Any CPU
35 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Release|x86.Build.0 = Release|Any CPU
36 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
37 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Debug|Any CPU.Build.0 = Debug|Any CPU
38 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Debug|x64.ActiveCfg = Debug|Any CPU
39 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Debug|x64.Build.0 = Debug|Any CPU
40 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Debug|x86.ActiveCfg = Debug|Any CPU
41 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Debug|x86.Build.0 = Debug|Any CPU
42 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Release|Any CPU.ActiveCfg = Release|Any CPU
43 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Release|Any CPU.Build.0 = Release|Any CPU
44 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Release|x64.ActiveCfg = Release|Any CPU
45 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Release|x64.Build.0 = Release|Any CPU
46 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Release|x86.ActiveCfg = Release|Any CPU
47 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Release|x86.Build.0 = Release|Any CPU
48 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Debug|Any CPU.ActiveCfg = Debug|x64
49 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Debug|Any CPU.Build.0 = Debug|x64
50 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Debug|x64.ActiveCfg = Debug|x64
51 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Debug|x64.Build.0 = Debug|x64
52 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Debug|x86.ActiveCfg = Debug|Win32
53 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Debug|x86.Build.0 = Debug|Win32
54 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Release|Any CPU.ActiveCfg = Release|x64
55 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Release|Any CPU.Build.0 = Release|x64
56 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Release|x64.ActiveCfg = Release|x64
57 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Release|x64.Build.0 = Release|x64
58 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Release|x86.ActiveCfg = Release|Win32
59 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Release|x86.Build.0 = Release|Win32
60 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
61 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Debug|Any CPU.Build.0 = Debug|Any CPU
62 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Debug|x64.ActiveCfg = Debug|Any CPU
63 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Debug|x64.Build.0 = Debug|Any CPU
64 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Debug|x86.ActiveCfg = Debug|Any CPU
65 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Debug|x86.Build.0 = Debug|Any CPU
66 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Release|Any CPU.ActiveCfg = Release|Any CPU
67 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Release|Any CPU.Build.0 = Release|Any CPU
68 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Release|x64.ActiveCfg = Release|Any CPU
69 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Release|x64.Build.0 = Release|Any CPU
70 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Release|x86.ActiveCfg = Release|Any CPU
71 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Release|x86.Build.0 = Release|Any CPU
72 EndGlobalSection
73 GlobalSection(SolutionProperties) = preSolution
74 HideSolutionNode = FALSE
75 EndGlobalSection
76 GlobalSection(ExtensibilityGlobals) = postSolution
77 SolutionGuid = {4C27BD28-1E2C-4414-8290-3C5C042DF148}
78 EndGlobalSection
79EndGlobal
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/ComPlusComponents.slnx b/src/test/msi/TestData/ComPlusExtensionTests/Components/ComPlusComponents.slnx
new file mode 100644
index 00000000..f29f1aa2
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/ComPlusComponents.slnx
@@ -0,0 +1,11 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="TestComponentNative/TestComponentNative.vcxproj" Id="eb199fa2-f9f7-4a2f-a4d3-6689f8a18952" />
8 <Project Path="TestComponentNET3/TestComponentNET3.csproj" Id="b4cd7ece-7245-445b-9f04-d2952631554d" />
9 <Project Path="TestComponentNET4/TestComponentNET4.csproj" Id="ea2afcce-677d-433e-8517-4cfbbd3ebfaa" />
10 <Project Path="TestComponentNET8/TestComponentNET8.csproj" />
11</Solution>
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.csproj b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.csproj
index b0c4aff9..a71fb079 100644
--- a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.csproj
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.csproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
3 <PropertyGroup> 3 <PropertyGroup>
4 <ProjectType>Local</ProjectType> 4 <ProjectType>Local</ProjectType>
5 <ProductVersion>7.0.9466</ProductVersion> 5 <ProductVersion>7.0.9466</ProductVersion>
@@ -94,4 +94,4 @@
94 <PostBuildEvent>call "$(DevEnvDir)..\Tools\VsDevCmd.bat" 94 <PostBuildEvent>call "$(DevEnvDir)..\Tools\VsDevCmd.bat"
95tlbexp.exe $(TargetDir)$(TargetFileName)</PostBuildEvent> 95tlbexp.exe $(TargetDir)$(TargetFileName)</PostBuildEvent>
96 </PropertyGroup> 96 </PropertyGroup>
97</Project> \ No newline at end of file 97</Project>
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.csproj b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.csproj
index c1398c24..5e5e2d75 100644
--- a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.csproj
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.csproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
3 <PropertyGroup> 3 <PropertyGroup>
4 <ProjectType>Local</ProjectType> 4 <ProjectType>Local</ProjectType>
5 <ProductVersion>7.0.9466</ProductVersion> 5 <ProductVersion>7.0.9466</ProductVersion>
@@ -94,4 +94,4 @@
94 <PostBuildEvent>call "$(DevEnvDir)..\Tools\VsDevCmd.bat" 94 <PostBuildEvent>call "$(DevEnvDir)..\Tools\VsDevCmd.bat"
95tlbexp.exe $(TargetDir)$(TargetFileName)</PostBuildEvent> 95tlbexp.exe $(TargetDir)$(TargetFileName)</PostBuildEvent>
96 </PropertyGroup> 96 </PropertyGroup>
97</Project> \ No newline at end of file 97</Project>
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj.filters b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj.filters
index a05a6a8f..7d4d96a9 100644
--- a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj.filters
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -79,4 +79,4 @@
79 <Filter>Source Files</Filter> 79 <Filter>Source Files</Filter>
80 </Midl> 80 </Midl>
81 </ItemGroup> 81 </ItemGroup>
82</Project> \ No newline at end of file 82</Project>
diff --git a/src/test/wix/TestData/CsprojClassLibraryNetFx/CsprojClassLibraryNetFx.csproj b/src/test/wix/TestData/CsprojClassLibraryNetFx/CsprojClassLibraryNetFx.csproj
index e776bc4b..8f88a463 100644
--- a/src/test/wix/TestData/CsprojClassLibraryNetFx/CsprojClassLibraryNetFx.csproj
+++ b/src/test/wix/TestData/CsprojClassLibraryNetFx/CsprojClassLibraryNetFx.csproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> 3 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4 <PropertyGroup> 4 <PropertyGroup>
5 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 5 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -32,18 +32,18 @@
32 </PropertyGroup> 32 </PropertyGroup>
33 <ItemGroup> 33 <ItemGroup>
34 <Reference Include="System"/> 34 <Reference Include="System"/>
35 35
36 <Reference Include="System.Core"/> 36 <Reference Include="System.Core"/>
37 <Reference Include="System.Xml.Linq"/> 37 <Reference Include="System.Xml.Linq"/>
38 <Reference Include="System.Data.DataSetExtensions"/> 38 <Reference Include="System.Data.DataSetExtensions"/>
39 39
40 40
41 <Reference Include="Microsoft.CSharp"/> 41 <Reference Include="Microsoft.CSharp"/>
42 42
43 <Reference Include="System.Data"/> 43 <Reference Include="System.Data"/>
44 44
45 <Reference Include="System.Net.Http"/> 45 <Reference Include="System.Net.Http"/>
46 46
47 <Reference Include="System.Xml"/> 47 <Reference Include="System.Xml"/>
48 </ItemGroup> 48 </ItemGroup>
49 <ItemGroup> 49 <ItemGroup>
diff --git a/src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.sln b/src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.sln
deleted file mode 100644
index ec9c83db..00000000
--- a/src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.sln
+++ /dev/null
@@ -1,25 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.31911.196
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CsprojConsoleMultiFramework", "CsprojConsoleMultiFramework.csproj", "{A87A6E98-EE6A-4688-8716-E2378AC7BB75}"
7EndProject
8Global
9 GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 Debug|Any CPU = Debug|Any CPU
11 Release|Any CPU = Release|Any CPU
12 EndGlobalSection
13 GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Release|Any CPU.Build.0 = Release|Any CPU
18 EndGlobalSection
19 GlobalSection(SolutionProperties) = preSolution
20 HideSolutionNode = FALSE
21 EndGlobalSection
22 GlobalSection(ExtensibilityGlobals) = postSolution
23 SolutionGuid = {9D5D5A46-18B1-4B8B-BC4B-DBD4EFC8215D}
24 EndGlobalSection
25EndGlobal
diff --git a/src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.slnx b/src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.slnx
new file mode 100644
index 00000000..1264db9c
--- /dev/null
+++ b/src/test/wix/TestData/CsprojConsoleMultiFramework/CsprojConsoleMultiFramework.slnx
@@ -0,0 +1,3 @@
1<Solution>
2 <Project Path="CsprojConsoleMultiFramework.csproj" />
3</Solution>
diff --git a/src/test/wix/TestData/CsprojConsoleNetCore/CsprojConsoleNetCore.sln b/src/test/wix/TestData/CsprojConsoleNetCore/CsprojConsoleNetCore.sln
deleted file mode 100644
index 47005cdc..00000000
--- a/src/test/wix/TestData/CsprojConsoleNetCore/CsprojConsoleNetCore.sln
+++ /dev/null
@@ -1,25 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.31911.196
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CsprojConsoleNetCore", "CsprojConsoleNetCore.csproj", "{A87A6E98-EE6A-4688-8716-E2378AC7BB75}"
7EndProject
8Global
9 GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 Debug|Any CPU = Debug|Any CPU
11 Release|Any CPU = Release|Any CPU
12 EndGlobalSection
13 GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 {A87A6E98-EE6A-4688-8716-E2378AC7BB75}.Release|Any CPU.Build.0 = Release|Any CPU
18 EndGlobalSection
19 GlobalSection(SolutionProperties) = preSolution
20 HideSolutionNode = FALSE
21 EndGlobalSection
22 GlobalSection(ExtensibilityGlobals) = postSolution
23 SolutionGuid = {9D5D5A46-18B1-4B8B-BC4B-DBD4EFC8215D}
24 EndGlobalSection
25EndGlobal
diff --git a/src/test/wix/TestData/CsprojConsoleNetCore/CsprojConsoleNetCore.slnx b/src/test/wix/TestData/CsprojConsoleNetCore/CsprojConsoleNetCore.slnx
new file mode 100644
index 00000000..93780d52
--- /dev/null
+++ b/src/test/wix/TestData/CsprojConsoleNetCore/CsprojConsoleNetCore.slnx
@@ -0,0 +1,3 @@
1<Solution>
2 <Project Path="CsprojConsoleNetCore.csproj" />
3</Solution>
diff --git a/src/test/wix/TestData/CsprojWebApplicationNetFx/CsprojWebApplicationNetFx.csproj b/src/test/wix/TestData/CsprojWebApplicationNetFx/CsprojWebApplicationNetFx.csproj
index 28322fe1..79c5fd72 100644
--- a/src/test/wix/TestData/CsprojWebApplicationNetFx/CsprojWebApplicationNetFx.csproj
+++ b/src/test/wix/TestData/CsprojWebApplicationNetFx/CsprojWebApplicationNetFx.csproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="Current">
3 <Import Project="..\..\..\..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\..\..\..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" /> 3 <Import Project="..\..\..\..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\..\..\..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
4 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> 4 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
5 <PropertyGroup> 5 <PropertyGroup>
@@ -216,4 +216,4 @@
216 </Target> 216 </Target>
217 <Target Name="AfterBuild"> 217 <Target Name="AfterBuild">
218 </Target> --> 218 </Target> -->
219</Project> \ No newline at end of file 219</Project>
diff --git a/src/test/wix/TestData/CsprojWindowsFormsNetFx/CsprojWindowsFormsNetFx.csproj b/src/test/wix/TestData/CsprojWindowsFormsNetFx/CsprojWindowsFormsNetFx.csproj
index 3b044194..82a9e503 100644
--- a/src/test/wix/TestData/CsprojWindowsFormsNetFx/CsprojWindowsFormsNetFx.csproj
+++ b/src/test/wix/TestData/CsprojWindowsFormsNetFx/CsprojWindowsFormsNetFx.csproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="Current">
3 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> 3 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4 <PropertyGroup> 4 <PropertyGroup>
5 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 5 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -62,6 +62,7 @@
62 <Compile Include="Properties\Resources.Designer.cs"> 62 <Compile Include="Properties\Resources.Designer.cs">
63 <AutoGen>True</AutoGen> 63 <AutoGen>True</AutoGen>
64 <DependentUpon>Resources.resx</DependentUpon> 64 <DependentUpon>Resources.resx</DependentUpon>
65 <DesignTime>True</DesignTime>
65 </Compile> 66 </Compile>
66 <None Include="Properties\Settings.settings"> 67 <None Include="Properties\Settings.settings">
67 <Generator>SettingsSingleFileGenerator</Generator> 68 <Generator>SettingsSingleFileGenerator</Generator>
@@ -83,4 +84,4 @@
83 </ProjectReference> 84 </ProjectReference>
84 </ItemGroup> 85 </ItemGroup>
85 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 86 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
86</Project> \ No newline at end of file 87</Project>
diff --git a/src/test/wix/TestData/CsprojWindowsFormsNetFx/Properties/Resources.Designer.cs b/src/test/wix/TestData/CsprojWindowsFormsNetFx/Properties/Resources.Designer.cs
index c450b36d..0ab4f967 100644
--- a/src/test/wix/TestData/CsprojWindowsFormsNetFx/Properties/Resources.Designer.cs
+++ b/src/test/wix/TestData/CsprojWindowsFormsNetFx/Properties/Resources.Designer.cs
@@ -8,9 +8,10 @@
8// </auto-generated> 8// </auto-generated>
9//------------------------------------------------------------------------------ 9//------------------------------------------------------------------------------
10 10
11 11namespace CsprojWindowsFormsNetFx.Properties {
12namespace CsprojWindowsFormsNetFx.Properties 12 using System;
13{ 13
14
14 /// <summary> 15 /// <summary>
15 /// A strongly-typed resource class, for looking up localized strings, etc. 16 /// A strongly-typed resource class, for looking up localized strings, etc.
16 /// </summary> 17 /// </summary>
@@ -18,51 +19,43 @@ namespace CsprojWindowsFormsNetFx.Properties
18 // class via a tool like ResGen or Visual Studio. 19 // class via a tool like ResGen or Visual Studio.
19 // To add or remove a member, edit your .ResX file then rerun ResGen 20 // To add or remove a member, edit your .ResX file then rerun ResGen
20 // with the /str option, or rebuild your VS project. 21 // with the /str option, or rebuild your VS project.
21 [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 22 [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
22 [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 23 [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
23 [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 24 [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
24 internal class Resources 25 internal class Resources {
25 { 26
26
27 private static global::System.Resources.ResourceManager resourceMan; 27 private static global::System.Resources.ResourceManager resourceMan;
28 28
29 private static global::System.Globalization.CultureInfo resourceCulture; 29 private static global::System.Globalization.CultureInfo resourceCulture;
30 30
31 [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 31 [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 internal Resources() 32 internal Resources() {
33 {
34 } 33 }
35 34
36 /// <summary> 35 /// <summary>
37 /// Returns the cached ResourceManager instance used by this class. 36 /// Returns the cached ResourceManager instance used by this class.
38 /// </summary> 37 /// </summary>
39 [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 38 [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
40 internal static global::System.Resources.ResourceManager ResourceManager 39 internal static global::System.Resources.ResourceManager ResourceManager {
41 { 40 get {
42 get 41 if (object.ReferenceEquals(resourceMan, null)) {
43 {
44 if ((resourceMan == null))
45 {
46 global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CsprojWindowsFormsNetFx.Properties.Resources", typeof(Resources).Assembly); 42 global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CsprojWindowsFormsNetFx.Properties.Resources", typeof(Resources).Assembly);
47 resourceMan = temp; 43 resourceMan = temp;
48 } 44 }
49 return resourceMan; 45 return resourceMan;
50 } 46 }
51 } 47 }
52 48
53 /// <summary> 49 /// <summary>
54 /// Overrides the current thread's CurrentUICulture property for all 50 /// Overrides the current thread's CurrentUICulture property for all
55 /// resource lookups using this strongly typed resource class. 51 /// resource lookups using this strongly typed resource class.
56 /// </summary> 52 /// </summary>
57 [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 53 [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
58 internal static global::System.Globalization.CultureInfo Culture 54 internal static global::System.Globalization.CultureInfo Culture {
59 { 55 get {
60 get
61 {
62 return resourceCulture; 56 return resourceCulture;
63 } 57 }
64 set 58 set {
65 {
66 resourceCulture = value; 59 resourceCulture = value;
67 } 60 }
68 } 61 }
diff --git a/src/test/wix/TestData/CsprojWindowsFormsNetFx/Properties/Settings.Designer.cs b/src/test/wix/TestData/CsprojWindowsFormsNetFx/Properties/Settings.Designer.cs
index 2ad6fcfd..4b0cf401 100644
--- a/src/test/wix/TestData/CsprojWindowsFormsNetFx/Properties/Settings.Designer.cs
+++ b/src/test/wix/TestData/CsprojWindowsFormsNetFx/Properties/Settings.Designer.cs
@@ -8,20 +8,17 @@
8// </auto-generated> 8// </auto-generated>
9//------------------------------------------------------------------------------ 9//------------------------------------------------------------------------------
10 10
11 11namespace CsprojWindowsFormsNetFx.Properties {
12namespace CsprojWindowsFormsNetFx.Properties 12
13{ 13
14 [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 14 [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 15 [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0")]
16 internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 16 internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 { 17
18
19 private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 18 private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
20 19
21 public static Settings Default 20 public static Settings Default {
22 { 21 get {
23 get
24 {
25 return defaultInstance; 22 return defaultInstance;
26 } 23 }
27 } 24 }
diff --git a/src/test/wix/TestData/TestProjects.sln b/src/test/wix/TestData/TestProjects.sln
deleted file mode 100644
index 5f2cf2c7..00000000
--- a/src/test/wix/TestData/TestProjects.sln
+++ /dev/null
@@ -1,191 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.0.31912.275
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CsprojClassLibraryNetCore", "CsprojClassLibraryNetCore\CsprojClassLibraryNetCore.csproj", "{0613F696-7DAD-41AE-ACD5-38949021C534}"
7EndProject
8Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CsprojClassLibraryNetFx", "CsprojClassLibraryNetFx\CsprojClassLibraryNetFx.csproj", "{984D615D-ADB1-49B4-AE0B-4496ED963881}"
9EndProject
10Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CsprojConsoleNetCore", "CsprojConsoleNetCore\CsprojConsoleNetCore.csproj", "{D7555F37-31DA-4678-8E0B-4BD0D392F136}"
11EndProject
12Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CsprojWebApplicationNetCore", "CsprojWebApplicationNetCore\CsprojWebApplicationNetCore.csproj", "{AE8FC882-54CC-45C6-9489-8C98CAE31268}"
13EndProject
14Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CsprojWebApplicationNetFx", "CsprojWebApplicationNetFx\CsprojWebApplicationNetFx.csproj", "{3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}"
15EndProject
16Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CsprojWindowsFormsNetFx", "CsprojWindowsFormsNetFx\CsprojWindowsFormsNetFx.csproj", "{3B5570AD-4191-4A66-A81D-8CBD14496340}"
17EndProject
18Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VcxprojConsoleApplication", "VcxprojConsoleApplication\VcxprojConsoleApplication.vcxproj", "{7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}"
19EndProject
20Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VcxprojDll", "VcxprojDll\VcxprojDll.vcxproj", "{2B70C248-1090-4D04-BDA0-BF0E48716E5B}"
21EndProject
22Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VcxprojStaticLib", "VcxprojStaticLib\VcxprojStaticLib.vcxproj", "{C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}"
23EndProject
24Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VcxprojWindowsApp", "VcxprojWindowsApp\VcxprojWindowsApp.vcxproj", "{8F2A12CD-6D3B-4648-81A9-2A852A63EA90}"
25EndProject
26Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CsprojClassLibraryMultiTarget", "CsprojClassLibraryMultiTarget\CsprojClassLibraryMultiTarget.csproj", "{B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}"
27EndProject
28Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CsprojWpfNetCore", "CsprojWpfNetCore\CsprojWpfNetCore.csproj", "{F467E3CF-2107-44B0-B45B-0FCA4A04613B}"
29EndProject
30Global
31 GlobalSection(SolutionConfigurationPlatforms) = preSolution
32 Debug|Any CPU = Debug|Any CPU
33 Debug|x64 = Debug|x64
34 Debug|x86 = Debug|x86
35 Release|Any CPU = Release|Any CPU
36 Release|x64 = Release|x64
37 Release|x86 = Release|x86
38 EndGlobalSection
39 GlobalSection(ProjectConfigurationPlatforms) = postSolution
40 {0613F696-7DAD-41AE-ACD5-38949021C534}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
41 {0613F696-7DAD-41AE-ACD5-38949021C534}.Debug|Any CPU.Build.0 = Debug|Any CPU
42 {0613F696-7DAD-41AE-ACD5-38949021C534}.Debug|x64.ActiveCfg = Debug|Any CPU
43 {0613F696-7DAD-41AE-ACD5-38949021C534}.Debug|x64.Build.0 = Debug|Any CPU
44 {0613F696-7DAD-41AE-ACD5-38949021C534}.Debug|x86.ActiveCfg = Debug|Any CPU
45 {0613F696-7DAD-41AE-ACD5-38949021C534}.Debug|x86.Build.0 = Debug|Any CPU
46 {0613F696-7DAD-41AE-ACD5-38949021C534}.Release|Any CPU.ActiveCfg = Release|Any CPU
47 {0613F696-7DAD-41AE-ACD5-38949021C534}.Release|Any CPU.Build.0 = Release|Any CPU
48 {0613F696-7DAD-41AE-ACD5-38949021C534}.Release|x64.ActiveCfg = Release|Any CPU
49 {0613F696-7DAD-41AE-ACD5-38949021C534}.Release|x64.Build.0 = Release|Any CPU
50 {0613F696-7DAD-41AE-ACD5-38949021C534}.Release|x86.ActiveCfg = Release|Any CPU
51 {0613F696-7DAD-41AE-ACD5-38949021C534}.Release|x86.Build.0 = Release|Any CPU
52 {984D615D-ADB1-49B4-AE0B-4496ED963881}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
53 {984D615D-ADB1-49B4-AE0B-4496ED963881}.Debug|Any CPU.Build.0 = Debug|Any CPU
54 {984D615D-ADB1-49B4-AE0B-4496ED963881}.Debug|x64.ActiveCfg = Debug|Any CPU
55 {984D615D-ADB1-49B4-AE0B-4496ED963881}.Debug|x64.Build.0 = Debug|Any CPU
56 {984D615D-ADB1-49B4-AE0B-4496ED963881}.Debug|x86.ActiveCfg = Debug|Any CPU
57 {984D615D-ADB1-49B4-AE0B-4496ED963881}.Debug|x86.Build.0 = Debug|Any CPU
58 {984D615D-ADB1-49B4-AE0B-4496ED963881}.Release|Any CPU.ActiveCfg = Release|Any CPU
59 {984D615D-ADB1-49B4-AE0B-4496ED963881}.Release|Any CPU.Build.0 = Release|Any CPU
60 {984D615D-ADB1-49B4-AE0B-4496ED963881}.Release|x64.ActiveCfg = Release|Any CPU
61 {984D615D-ADB1-49B4-AE0B-4496ED963881}.Release|x64.Build.0 = Release|Any CPU
62 {984D615D-ADB1-49B4-AE0B-4496ED963881}.Release|x86.ActiveCfg = Release|Any CPU
63 {984D615D-ADB1-49B4-AE0B-4496ED963881}.Release|x86.Build.0 = Release|Any CPU
64 {D7555F37-31DA-4678-8E0B-4BD0D392F136}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
65 {D7555F37-31DA-4678-8E0B-4BD0D392F136}.Debug|Any CPU.Build.0 = Debug|Any CPU
66 {D7555F37-31DA-4678-8E0B-4BD0D392F136}.Debug|x64.ActiveCfg = Debug|Any CPU
67 {D7555F37-31DA-4678-8E0B-4BD0D392F136}.Debug|x64.Build.0 = Debug|Any CPU
68 {D7555F37-31DA-4678-8E0B-4BD0D392F136}.Debug|x86.ActiveCfg = Debug|Any CPU
69 {D7555F37-31DA-4678-8E0B-4BD0D392F136}.Debug|x86.Build.0 = Debug|Any CPU
70 {D7555F37-31DA-4678-8E0B-4BD0D392F136}.Release|Any CPU.ActiveCfg = Release|Any CPU
71 {D7555F37-31DA-4678-8E0B-4BD0D392F136}.Release|Any CPU.Build.0 = Release|Any CPU
72 {D7555F37-31DA-4678-8E0B-4BD0D392F136}.Release|x64.ActiveCfg = Release|Any CPU
73 {D7555F37-31DA-4678-8E0B-4BD0D392F136}.Release|x64.Build.0 = Release|Any CPU
74 {D7555F37-31DA-4678-8E0B-4BD0D392F136}.Release|x86.ActiveCfg = Release|Any CPU
75 {D7555F37-31DA-4678-8E0B-4BD0D392F136}.Release|x86.Build.0 = Release|Any CPU
76 {AE8FC882-54CC-45C6-9489-8C98CAE31268}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
77 {AE8FC882-54CC-45C6-9489-8C98CAE31268}.Debug|Any CPU.Build.0 = Debug|Any CPU
78 {AE8FC882-54CC-45C6-9489-8C98CAE31268}.Debug|x64.ActiveCfg = Debug|Any CPU
79 {AE8FC882-54CC-45C6-9489-8C98CAE31268}.Debug|x64.Build.0 = Debug|Any CPU
80 {AE8FC882-54CC-45C6-9489-8C98CAE31268}.Debug|x86.ActiveCfg = Debug|Any CPU
81 {AE8FC882-54CC-45C6-9489-8C98CAE31268}.Debug|x86.Build.0 = Debug|Any CPU
82 {AE8FC882-54CC-45C6-9489-8C98CAE31268}.Release|Any CPU.ActiveCfg = Release|Any CPU
83 {AE8FC882-54CC-45C6-9489-8C98CAE31268}.Release|Any CPU.Build.0 = Release|Any CPU
84 {AE8FC882-54CC-45C6-9489-8C98CAE31268}.Release|x64.ActiveCfg = Release|Any CPU
85 {AE8FC882-54CC-45C6-9489-8C98CAE31268}.Release|x64.Build.0 = Release|Any CPU
86 {AE8FC882-54CC-45C6-9489-8C98CAE31268}.Release|x86.ActiveCfg = Release|Any CPU
87 {AE8FC882-54CC-45C6-9489-8C98CAE31268}.Release|x86.Build.0 = Release|Any CPU
88 {3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
89 {3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
90 {3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}.Debug|x64.ActiveCfg = Debug|Any CPU
91 {3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}.Debug|x64.Build.0 = Debug|Any CPU
92 {3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}.Debug|x86.ActiveCfg = Debug|Any CPU
93 {3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}.Debug|x86.Build.0 = Debug|Any CPU
94 {3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
95 {3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}.Release|Any CPU.Build.0 = Release|Any CPU
96 {3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}.Release|x64.ActiveCfg = Release|Any CPU
97 {3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}.Release|x64.Build.0 = Release|Any CPU
98 {3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}.Release|x86.ActiveCfg = Release|Any CPU
99 {3DDD967D-2E14-44A3-AFE1-1ED4C25033BC}.Release|x86.Build.0 = Release|Any CPU
100 {3B5570AD-4191-4A66-A81D-8CBD14496340}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
101 {3B5570AD-4191-4A66-A81D-8CBD14496340}.Debug|Any CPU.Build.0 = Debug|Any CPU
102 {3B5570AD-4191-4A66-A81D-8CBD14496340}.Debug|x64.ActiveCfg = Debug|Any CPU
103 {3B5570AD-4191-4A66-A81D-8CBD14496340}.Debug|x64.Build.0 = Debug|Any CPU
104 {3B5570AD-4191-4A66-A81D-8CBD14496340}.Debug|x86.ActiveCfg = Debug|Any CPU
105 {3B5570AD-4191-4A66-A81D-8CBD14496340}.Debug|x86.Build.0 = Debug|Any CPU
106 {3B5570AD-4191-4A66-A81D-8CBD14496340}.Release|Any CPU.ActiveCfg = Release|Any CPU
107 {3B5570AD-4191-4A66-A81D-8CBD14496340}.Release|Any CPU.Build.0 = Release|Any CPU
108 {3B5570AD-4191-4A66-A81D-8CBD14496340}.Release|x64.ActiveCfg = Release|Any CPU
109 {3B5570AD-4191-4A66-A81D-8CBD14496340}.Release|x64.Build.0 = Release|Any CPU
110 {3B5570AD-4191-4A66-A81D-8CBD14496340}.Release|x86.ActiveCfg = Release|Any CPU
111 {3B5570AD-4191-4A66-A81D-8CBD14496340}.Release|x86.Build.0 = Release|Any CPU
112 {7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}.Debug|Any CPU.ActiveCfg = Debug|x64
113 {7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}.Debug|Any CPU.Build.0 = Debug|x64
114 {7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}.Debug|x64.ActiveCfg = Debug|x64
115 {7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}.Debug|x64.Build.0 = Debug|x64
116 {7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}.Debug|x86.ActiveCfg = Debug|Win32
117 {7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}.Debug|x86.Build.0 = Debug|Win32
118 {7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}.Release|Any CPU.ActiveCfg = Release|x64
119 {7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}.Release|Any CPU.Build.0 = Release|x64
120 {7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}.Release|x64.ActiveCfg = Release|x64
121 {7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}.Release|x64.Build.0 = Release|x64
122 {7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}.Release|x86.ActiveCfg = Release|Win32
123 {7EDF70C5-DEC2-417D-82E3-F354BE59E3A7}.Release|x86.Build.0 = Release|Win32
124 {2B70C248-1090-4D04-BDA0-BF0E48716E5B}.Debug|Any CPU.ActiveCfg = Debug|x64
125 {2B70C248-1090-4D04-BDA0-BF0E48716E5B}.Debug|Any CPU.Build.0 = Debug|x64
126 {2B70C248-1090-4D04-BDA0-BF0E48716E5B}.Debug|x64.ActiveCfg = Debug|x64
127 {2B70C248-1090-4D04-BDA0-BF0E48716E5B}.Debug|x64.Build.0 = Debug|x64
128 {2B70C248-1090-4D04-BDA0-BF0E48716E5B}.Debug|x86.ActiveCfg = Debug|Win32
129 {2B70C248-1090-4D04-BDA0-BF0E48716E5B}.Debug|x86.Build.0 = Debug|Win32
130 {2B70C248-1090-4D04-BDA0-BF0E48716E5B}.Release|Any CPU.ActiveCfg = Release|x64
131 {2B70C248-1090-4D04-BDA0-BF0E48716E5B}.Release|Any CPU.Build.0 = Release|x64
132 {2B70C248-1090-4D04-BDA0-BF0E48716E5B}.Release|x64.ActiveCfg = Release|x64
133 {2B70C248-1090-4D04-BDA0-BF0E48716E5B}.Release|x64.Build.0 = Release|x64
134 {2B70C248-1090-4D04-BDA0-BF0E48716E5B}.Release|x86.ActiveCfg = Release|Win32
135 {2B70C248-1090-4D04-BDA0-BF0E48716E5B}.Release|x86.Build.0 = Release|Win32
136 {C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}.Debug|Any CPU.ActiveCfg = Debug|x64
137 {C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}.Debug|Any CPU.Build.0 = Debug|x64
138 {C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}.Debug|x64.ActiveCfg = Debug|x64
139 {C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}.Debug|x64.Build.0 = Debug|x64
140 {C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}.Debug|x86.ActiveCfg = Debug|Win32
141 {C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}.Debug|x86.Build.0 = Debug|Win32
142 {C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}.Release|Any CPU.ActiveCfg = Release|x64
143 {C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}.Release|Any CPU.Build.0 = Release|x64
144 {C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}.Release|x64.ActiveCfg = Release|x64
145 {C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}.Release|x64.Build.0 = Release|x64
146 {C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}.Release|x86.ActiveCfg = Release|Win32
147 {C4BBEB93-E40F-4F91-9A9D-DB9656DB04F0}.Release|x86.Build.0 = Release|Win32
148 {8F2A12CD-6D3B-4648-81A9-2A852A63EA90}.Debug|Any CPU.ActiveCfg = Debug|x64
149 {8F2A12CD-6D3B-4648-81A9-2A852A63EA90}.Debug|Any CPU.Build.0 = Debug|x64
150 {8F2A12CD-6D3B-4648-81A9-2A852A63EA90}.Debug|x64.ActiveCfg = Debug|x64
151 {8F2A12CD-6D3B-4648-81A9-2A852A63EA90}.Debug|x64.Build.0 = Debug|x64
152 {8F2A12CD-6D3B-4648-81A9-2A852A63EA90}.Debug|x86.ActiveCfg = Debug|Win32
153 {8F2A12CD-6D3B-4648-81A9-2A852A63EA90}.Debug|x86.Build.0 = Debug|Win32
154 {8F2A12CD-6D3B-4648-81A9-2A852A63EA90}.Release|Any CPU.ActiveCfg = Release|x64
155 {8F2A12CD-6D3B-4648-81A9-2A852A63EA90}.Release|Any CPU.Build.0 = Release|x64
156 {8F2A12CD-6D3B-4648-81A9-2A852A63EA90}.Release|x64.ActiveCfg = Release|x64
157 {8F2A12CD-6D3B-4648-81A9-2A852A63EA90}.Release|x64.Build.0 = Release|x64
158 {8F2A12CD-6D3B-4648-81A9-2A852A63EA90}.Release|x86.ActiveCfg = Release|Win32
159 {8F2A12CD-6D3B-4648-81A9-2A852A63EA90}.Release|x86.Build.0 = Release|Win32
160 {B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
161 {B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
162 {B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}.Debug|x64.ActiveCfg = Debug|Any CPU
163 {B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}.Debug|x64.Build.0 = Debug|Any CPU
164 {B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}.Debug|x86.ActiveCfg = Debug|Any CPU
165 {B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}.Debug|x86.Build.0 = Debug|Any CPU
166 {B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
167 {B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}.Release|Any CPU.Build.0 = Release|Any CPU
168 {B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}.Release|x64.ActiveCfg = Release|Any CPU
169 {B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}.Release|x64.Build.0 = Release|Any CPU
170 {B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}.Release|x86.ActiveCfg = Release|Any CPU
171 {B1F59F27-6AA6-4228-A3DF-B21B32AEEB7B}.Release|x86.Build.0 = Release|Any CPU
172 {F467E3CF-2107-44B0-B45B-0FCA4A04613B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
173 {F467E3CF-2107-44B0-B45B-0FCA4A04613B}.Debug|Any CPU.Build.0 = Debug|Any CPU
174 {F467E3CF-2107-44B0-B45B-0FCA4A04613B}.Debug|x64.ActiveCfg = Debug|Any CPU
175 {F467E3CF-2107-44B0-B45B-0FCA4A04613B}.Debug|x64.Build.0 = Debug|Any CPU
176 {F467E3CF-2107-44B0-B45B-0FCA4A04613B}.Debug|x86.ActiveCfg = Debug|Any CPU
177 {F467E3CF-2107-44B0-B45B-0FCA4A04613B}.Debug|x86.Build.0 = Debug|Any CPU
178 {F467E3CF-2107-44B0-B45B-0FCA4A04613B}.Release|Any CPU.ActiveCfg = Release|Any CPU
179 {F467E3CF-2107-44B0-B45B-0FCA4A04613B}.Release|Any CPU.Build.0 = Release|Any CPU
180 {F467E3CF-2107-44B0-B45B-0FCA4A04613B}.Release|x64.ActiveCfg = Release|Any CPU
181 {F467E3CF-2107-44B0-B45B-0FCA4A04613B}.Release|x64.Build.0 = Release|Any CPU
182 {F467E3CF-2107-44B0-B45B-0FCA4A04613B}.Release|x86.ActiveCfg = Release|Any CPU
183 {F467E3CF-2107-44B0-B45B-0FCA4A04613B}.Release|x86.Build.0 = Release|Any CPU
184 EndGlobalSection
185 GlobalSection(SolutionProperties) = preSolution
186 HideSolutionNode = FALSE
187 EndGlobalSection
188 GlobalSection(ExtensibilityGlobals) = postSolution
189 SolutionGuid = {690AEDD5-EBD0-4F2F-98AC-2D2821E1D228}
190 EndGlobalSection
191EndGlobal
diff --git a/src/test/wix/TestData/TestProjects.slnx b/src/test/wix/TestData/TestProjects.slnx
new file mode 100644
index 00000000..712bd148
--- /dev/null
+++ b/src/test/wix/TestData/TestProjects.slnx
@@ -0,0 +1,19 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x64" />
5 <Platform Name="x86" />
6 </Configurations>
7 <Project Path="CsprojClassLibraryMultiTarget/CsprojClassLibraryMultiTarget.csproj" />
8 <Project Path="CsprojClassLibraryNetCore/CsprojClassLibraryNetCore.csproj" />
9 <Project Path="CsprojClassLibraryNetFx/CsprojClassLibraryNetFx.csproj" Id="984d615d-adb1-49b4-ae0b-4496ed963881" />
10 <Project Path="CsprojConsoleNetCore/CsprojConsoleNetCore.csproj" />
11 <Project Path="CsprojWebApplicationNetCore/CsprojWebApplicationNetCore.csproj" />
12 <Project Path="CsprojWebApplicationNetFx/CsprojWebApplicationNetFx.csproj" Id="3ddd967d-2e14-44a3-afe1-1ed4c25033bc" />
13 <Project Path="CsprojWindowsFormsNetFx/CsprojWindowsFormsNetFx.csproj" Id="3b5570ad-4191-4a66-a81d-8cbd14496340" />
14 <Project Path="CsprojWpfNetCore/CsprojWpfNetCore.csproj" />
15 <Project Path="VcxprojConsoleApplication/VcxprojConsoleApplication.vcxproj" Id="7edf70c5-dec2-417d-82e3-f354be59e3a7" />
16 <Project Path="VcxprojDll/VcxprojDll.vcxproj" Id="2b70c248-1090-4d04-bda0-bf0e48716e5b" />
17 <Project Path="VcxprojStaticLib/VcxprojStaticLib.vcxproj" Id="c4bbeb93-e40f-4f91-9a9d-db9656db04f0" />
18 <Project Path="VcxprojWindowsApp/VcxprojWindowsApp.vcxproj" Id="8f2a12cd-6d3b-4648-81a9-2a852a63ea90" />
19</Solution>
diff --git a/src/test/wix/TestData/VcxprojConsoleApplication/VcxprojConsoleApplication.vcxproj.filters b/src/test/wix/TestData/VcxprojConsoleApplication/VcxprojConsoleApplication.vcxproj.filters
index 6fc74f46..f10a3bd6 100644
--- a/src/test/wix/TestData/VcxprojConsoleApplication/VcxprojConsoleApplication.vcxproj.filters
+++ b/src/test/wix/TestData/VcxprojConsoleApplication/VcxprojConsoleApplication.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -19,4 +19,4 @@
19 <Filter>Source Files</Filter> 19 <Filter>Source Files</Filter>
20 </ClCompile> 20 </ClCompile>
21 </ItemGroup> 21 </ItemGroup>
22</Project> \ No newline at end of file 22</Project>
diff --git a/src/test/wix/TestData/VcxprojDll/VcxprojDll.vcxproj.filters b/src/test/wix/TestData/VcxprojDll/VcxprojDll.vcxproj.filters
index 1e57c7b1..2266d2b6 100644
--- a/src/test/wix/TestData/VcxprojDll/VcxprojDll.vcxproj.filters
+++ b/src/test/wix/TestData/VcxprojDll/VcxprojDll.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -30,4 +30,4 @@
30 <Filter>Source Files</Filter> 30 <Filter>Source Files</Filter>
31 </ClCompile> 31 </ClCompile>
32 </ItemGroup> 32 </ItemGroup>
33</Project> \ No newline at end of file 33</Project>
diff --git a/src/test/wix/TestData/VcxprojStaticLib/VcxprojStaticLib.vcxproj.filters b/src/test/wix/TestData/VcxprojStaticLib/VcxprojStaticLib.vcxproj.filters
index dbc69054..8fc32a89 100644
--- a/src/test/wix/TestData/VcxprojStaticLib/VcxprojStaticLib.vcxproj.filters
+++ b/src/test/wix/TestData/VcxprojStaticLib/VcxprojStaticLib.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -30,4 +30,4 @@
30 <Filter>Source Files</Filter> 30 <Filter>Source Files</Filter>
31 </ClCompile> 31 </ClCompile>
32 </ItemGroup> 32 </ItemGroup>
33</Project> \ No newline at end of file 33</Project>
diff --git a/src/test/wix/TestData/VcxprojWindowsApp/VcxprojWindowsApp.vcxproj.filters b/src/test/wix/TestData/VcxprojWindowsApp/VcxprojWindowsApp.vcxproj.filters
index 6221dbea..187d5ae9 100644
--- a/src/test/wix/TestData/VcxprojWindowsApp/VcxprojWindowsApp.vcxproj.filters
+++ b/src/test/wix/TestData/VcxprojWindowsApp/VcxprojWindowsApp.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -46,4 +46,4 @@
46 <Filter>Resource Files</Filter> 46 <Filter>Resource Files</Filter>
47 </Image> 47 </Image>
48 </ItemGroup> 48 </ItemGroup>
49</Project> \ No newline at end of file 49</Project>
diff --git a/src/test/wix/TestData/WixprojPackageCsprojWpfNetCore/abc/Bad.wxs b/src/test/wix/TestData/WixprojPackageCsprojWpfNetCore/abc/Bad.wxs
new file mode 100644
index 00000000..06cb241c
--- /dev/null
+++ b/src/test/wix/TestData/WixprojPackageCsprojWpfNetCore/abc/Bad.wxs
@@ -0,0 +1,3 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Bad />
3</Wix>
diff --git a/src/test/wix/WixE2ETests.sln b/src/test/wix/WixE2ETests.sln
deleted file mode 100644
index 3e5a2d1d..00000000
--- a/src/test/wix/WixE2ETests.sln
+++ /dev/null
@@ -1,22 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.30114.105
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixE2E", "WixE2E\WixE2E.csproj", "{6575BF70-BF0F-4477-8A22-1B2D50FDE2BA}"
7EndProject
8Global
9 GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 Debug|Any CPU = Debug|Any CPU
11 Release|Any CPU = Release|Any CPU
12 EndGlobalSection
13 GlobalSection(SolutionProperties) = preSolution
14 HideSolutionNode = FALSE
15 EndGlobalSection
16 GlobalSection(ProjectConfigurationPlatforms) = postSolution
17 {6575BF70-BF0F-4477-8A22-1B2D50FDE2BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
18 {6575BF70-BF0F-4477-8A22-1B2D50FDE2BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
19 {6575BF70-BF0F-4477-8A22-1B2D50FDE2BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
20 {6575BF70-BF0F-4477-8A22-1B2D50FDE2BA}.Release|Any CPU.Build.0 = Release|Any CPU
21 EndGlobalSection
22EndGlobal
diff --git a/src/test/wix/WixE2ETests.slnx b/src/test/wix/WixE2ETests.slnx
new file mode 100644
index 00000000..7a1020fc
--- /dev/null
+++ b/src/test/wix/WixE2ETests.slnx
@@ -0,0 +1,3 @@
1<Solution>
2 <Project Path="WixE2E/WixE2E.csproj" />
3</Solution>
diff --git a/src/tools/Dtf/DDiff/DDiff.csproj b/src/tools/Dtf/DDiff/DDiff.csproj
index bf4d6521..5b9f8db2 100644
--- a/src/tools/Dtf/DDiff/DDiff.csproj
+++ b/src/tools/Dtf/DDiff/DDiff.csproj
@@ -2,7 +2,7 @@
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4 4
5<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 5<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <PropertyGroup> 6 <PropertyGroup>
7 <ProjectGuid>{1CDF4242-4C00-4744-BBCD-085128978FF3}</ProjectGuid> 7 <ProjectGuid>{1CDF4242-4C00-4744-BBCD-085128978FF3}</ProjectGuid>
8 <OutputType>Exe</OutputType> 8 <OutputType>Exe</OutputType>
diff --git a/src/tools/Dtf/Documents/Guide/dtfguide.helpproj b/src/tools/Dtf/Documents/Guide/dtfguide.helpproj
index 4df2765d..e14751d5 100644
--- a/src/tools/Dtf/Documents/Guide/dtfguide.helpproj
+++ b/src/tools/Dtf/Documents/Guide/dtfguide.helpproj
@@ -2,7 +2,7 @@
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4 4
5<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 5<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <PropertyGroup> 6 <PropertyGroup>
7 <ProjectGuid>{3CFD8620-B41C-470C-ABEF-9D38076A2A8D}</ProjectGuid> 7 <ProjectGuid>{3CFD8620-B41C-470C-ABEF-9D38076A2A8D}</ProjectGuid>
8 <TargetName>dtf</TargetName> 8 <TargetName>dtf</TargetName>
diff --git a/src/tools/Dtf/Documents/Reference/dtfref.shfbproj b/src/tools/Dtf/Documents/Reference/dtfref.shfbproj
index e45d2a07..8a4746f1 100644
--- a/src/tools/Dtf/Documents/Reference/dtfref.shfbproj
+++ b/src/tools/Dtf/Documents/Reference/dtfref.shfbproj
@@ -2,7 +2,7 @@
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4 4
5<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 5<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <PropertyGroup> 6 <PropertyGroup>
7 <ProjectGuid>{27C20359-3910-423D-8058-6403935B98C6}</ProjectGuid> 7 <ProjectGuid>{27C20359-3910-423D-8058-6403935B98C6}</ProjectGuid>
8 8
diff --git a/src/tools/Dtf/Inventory/Inventory.csproj b/src/tools/Dtf/Inventory/Inventory.csproj
index 57bae907..c211548f 100644
--- a/src/tools/Dtf/Inventory/Inventory.csproj
+++ b/src/tools/Dtf/Inventory/Inventory.csproj
@@ -2,7 +2,7 @@
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4 4
5<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 5<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <PropertyGroup> 6 <PropertyGroup>
7 <ProjectGuid>{51480F8E-B80F-42DC-91E7-3542C1F12F8C}</ProjectGuid> 7 <ProjectGuid>{51480F8E-B80F-42DC-91E7-3542C1F12F8C}</ProjectGuid>
8 <OutputType>WinExe</OutputType> 8 <OutputType>WinExe</OutputType>
diff --git a/src/tools/Dtf/WiFile/WiFile.csproj b/src/tools/Dtf/WiFile/WiFile.csproj
index c8d39235..65e4bf78 100644
--- a/src/tools/Dtf/WiFile/WiFile.csproj
+++ b/src/tools/Dtf/WiFile/WiFile.csproj
@@ -2,7 +2,7 @@
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4 4
5<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 5<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <PropertyGroup> 6 <PropertyGroup>
7 <ProjectGuid>{AE562F7F-EE33-41D6-A962-DA488FEFBD08}</ProjectGuid> 7 <ProjectGuid>{AE562F7F-EE33-41D6-A962-DA488FEFBD08}</ProjectGuid>
8 <OutputType>Exe</OutputType> 8 <OutputType>Exe</OutputType>
diff --git a/src/tools/Dtf/XPack/XPack.csproj b/src/tools/Dtf/XPack/XPack.csproj
index 3e76de2e..239a8ffe 100644
--- a/src/tools/Dtf/XPack/XPack.csproj
+++ b/src/tools/Dtf/XPack/XPack.csproj
@@ -2,7 +2,7 @@
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4 4
5<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 5<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <PropertyGroup> 6 <PropertyGroup>
7 <ProjectGuid>{03E55D95-DABE-4571-9CDA-92A44F92A465}</ProjectGuid> 7 <ProjectGuid>{03E55D95-DABE-4571-9CDA-92A44F92A465}</ProjectGuid>
8 <OutputType>Exe</OutputType> 8 <OutputType>Exe</OutputType>
diff --git a/src/tools/thmviewer/thmviewer.vcxproj b/src/tools/thmviewer/thmviewer.vcxproj
index 6326b4f6..527dbd10 100644
--- a/src/tools/thmviewer/thmviewer.vcxproj
+++ b/src/tools/thmviewer/thmviewer.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|Win32"> 6 <ProjectConfiguration Include="Debug|Win32">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>
diff --git a/src/tools/thmviewer/thmviewer.vcxproj.filters b/src/tools/thmviewer/thmviewer.vcxproj.filters
index 488d5510..ff48ae58 100644
--- a/src/tools/thmviewer/thmviewer.vcxproj.filters
+++ b/src/tools/thmviewer/thmviewer.vcxproj.filters
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup> 3 <ItemGroup>
4 <Filter Include="Source Files"> 4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
@@ -53,4 +53,4 @@
53 <ItemGroup> 53 <ItemGroup>
54 <Manifest Include="thmviewer.manifest" /> 54 <Manifest Include="thmviewer.manifest" />
55 </ItemGroup> 55 </ItemGroup>
56</Project> \ No newline at end of file 56</Project>
diff --git a/src/tools/tools.sln b/src/tools/tools.sln
deleted file mode 100644
index cd72ac22..00000000
--- a/src/tools/tools.sln
+++ /dev/null
@@ -1,44 +0,0 @@
1Microsoft Visual Studio Solution File, Format Version 12.00
2# Visual Studio Version 17
3VisualStudioVersion = 17.2.32616.157
4MinimumVisualStudioVersion = 15.0.26124.0
5Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thmviewer", "thmviewer\thmviewer.vcxproj", "{95228C13-97F5-484A-B4A2-ECF4618B0881}"
6EndProject
7Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Templates", "WixToolset.Templates\WixToolset.Templates.csproj", "{D1385232-CA10-4092-BAB5-4E5499FE144C}"
8EndProject
9Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{F7A815A5-37AE-4EC4-A6D6-B29565055668}"
10EndProject
11Global
12 GlobalSection(SolutionConfigurationPlatforms) = preSolution
13 Debug|Any CPU = Debug|Any CPU
14 Debug|x86 = Debug|x86
15 Release|Any CPU = Release|Any CPU
16 Release|x86 = Release|x86
17 EndGlobalSection
18 GlobalSection(ProjectConfigurationPlatforms) = postSolution
19 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Debug|Any CPU.ActiveCfg = Debug|Win32
20 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Debug|Any CPU.Build.0 = Debug|Win32
21 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Debug|x86.ActiveCfg = Debug|Win32
22 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Debug|x86.Build.0 = Debug|Win32
23 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Release|Any CPU.ActiveCfg = Release|Win32
24 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Release|Any CPU.Build.0 = Release|Win32
25 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Release|x86.ActiveCfg = Release|Win32
26 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Release|x86.Build.0 = Release|Win32
27 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
28 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Debug|Any CPU.Build.0 = Debug|Any CPU
29 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Debug|x86.ActiveCfg = Debug|Any CPU
30 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Debug|x86.Build.0 = Debug|Any CPU
31 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|Any CPU.ActiveCfg = Release|Any CPU
32 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|Any CPU.Build.0 = Release|Any CPU
33 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|x86.ActiveCfg = Release|Any CPU
34 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|x86.Build.0 = Release|Any CPU
35 EndGlobalSection
36 GlobalSection(SolutionProperties) = preSolution
37 HideSolutionNode = FALSE
38 EndGlobalSection
39 GlobalSection(NestedProjects) = preSolution
40 EndGlobalSection
41 GlobalSection(ExtensibilityGlobals) = postSolution
42 SolutionGuid = {537F1116-39FE-4AED-A9A2-35030E5750D5}
43 EndGlobalSection
44EndGlobal
diff --git a/src/tools/tools.slnx b/src/tools/tools.slnx
new file mode 100644
index 00000000..297f42d2
--- /dev/null
+++ b/src/tools/tools.slnx
@@ -0,0 +1,11 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="x86" />
5 </Configurations>
6 <Folder Name="/test/" />
7 <Project Path="thmviewer/thmviewer.vcxproj" Id="95228c13-97f5-484a-b4a2-ecf4618b0881">
8 <Platform Project="Win32" />
9 </Project>
10 <Project Path="WixToolset.Templates/WixToolset.Templates.csproj" />
11</Solution>
diff --git a/src/wix/test/WixToolsetTest.Converters.Symbolizer/TestData/Integration/test.wixproj b/src/wix/test/WixToolsetTest.Converters.Symbolizer/TestData/Integration/test.wixproj
index d7c4e625..456e2237 100644
--- a/src/wix/test/WixToolsetTest.Converters.Symbolizer/TestData/Integration/test.wixproj
+++ b/src/wix/test/WixToolsetTest.Converters.Symbolizer/TestData/Integration/test.wixproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <PropertyGroup> 3 <PropertyGroup>
4 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 4 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5 <Platform Condition=" '$(Platform)' == '' ">x86</Platform> 5 <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
@@ -44,4 +44,4 @@
44 <Target Name="AfterBuild"> 44 <Target Name="AfterBuild">
45 </Target> 45 </Target>
46 --> 46 -->
47</Project> \ No newline at end of file 47</Project>
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
index 25fd61d9..62581eb5 100644
--- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
+++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs
@@ -486,7 +486,7 @@ namespace WixToolsetTest.Sdk
486 { 486 {
487 fs.Initialize(sourceFolder); 487 fs.Initialize(sourceFolder);
488 var baseFolder = fs.BaseFolder; 488 var baseFolder = fs.BaseFolder;
489 var slnPath = Path.Combine(baseFolder, "MultiCulturalMsiPackage.sln"); 489 var slnPath = Path.Combine(baseFolder, "MultiCulturalMsiPackage.slnx");
490 var projectFolder = Path.Combine(baseFolder, "MsiPackage"); 490 var projectFolder = Path.Combine(baseFolder, "MsiPackage");
491 491
492 var result = MsbuildUtilities.BuildProject(buildSystem, slnPath, new[] 492 var result = MsbuildUtilities.BuildProject(buildSystem, slnPath, new[]
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj
index 8bd1cea3..5961c6af 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <Import Project="$(WixMSBuildProps)" /> 3 <Import Project="$(WixMSBuildProps)" />
4 4
5 <PropertyGroup> 5 <PropertyGroup>
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj
index 718ebfc2..4194af8d 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <Import Project="$(WixMSBuildProps)" /> 3 <Import Project="$(WixMSBuildProps)" />
4 4
5 <PropertyGroup> 5 <PropertyGroup>
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/MsiPackageWithIceError/MsiPackage/MsiPackage.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/MsiPackageWithIceError/MsiPackage/MsiPackage.wixproj
index ba2955fa..d0129a8c 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/MsiPackageWithIceError/MsiPackage/MsiPackage.wixproj
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/MsiPackageWithIceError/MsiPackage/MsiPackage.wixproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <Import Project="$(WixMSBuildProps)" /> 3 <Import Project="$(WixMSBuildProps)" />
4 <PropertyGroup> 4 <PropertyGroup>
5 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 5 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj
index 05688322..dc4d3c0e 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj
@@ -1,4 +1,4 @@
1<Project ToolsVersion="15.0" DefaultTargets="Build"> 1<Project DefaultTargets="Build">
2 <Import Project="$(WixMSBuildProps)" /> 2 <Import Project="$(WixMSBuildProps)" />
3 3
4 <PropertyGroup> 4 <PropertyGroup>
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.sln b/src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.sln
deleted file mode 100644
index 2c88704e..00000000
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.sln
+++ /dev/null
@@ -1,31 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio 15
4VisualStudioVersion = 15.0.26730.8
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "MsiPackage", "MsiPackage\MsiPackage.wixproj", "{7FB77005-C6E0-454F-8C2D-0A4A79C918BA}"
7EndProject
8Global
9 GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 Debug|x64 = Debug|x64
11 Debug|x86 = Debug|x86
12 Release|x64 = Release|x64
13 Release|x86 = Release|x86
14 EndGlobalSection
15 GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x64.ActiveCfg = Debug|x64
17 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x64.Build.0 = Debug|x64
18 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x86.ActiveCfg = Debug|x86
19 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x86.Build.0 = Debug|x86
20 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x64.ActiveCfg = Release|x64
21 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x64.Build.0 = Release|x64
22 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x86.ActiveCfg = Release|x86
23 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x86.Build.0 = Release|x86
24 EndGlobalSection
25 GlobalSection(SolutionProperties) = preSolution
26 HideSolutionNode = FALSE
27 EndGlobalSection
28 GlobalSection(ExtensibilityGlobals) = postSolution
29 SolutionGuid = {585B0599-4EB5-4AB6-BC66-819CC78B63D5}
30 EndGlobalSection
31EndGlobal
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.slnx b/src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.slnx
new file mode 100644
index 00000000..6f667d8b
--- /dev/null
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.slnx
@@ -0,0 +1,9 @@
1<Solution>
2 <Configurations>
3 <Platform Name="x64" />
4 <Platform Name="x86" />
5 </Configurations>
6 <Project Path="MsiPackage/MsiPackage.wixproj">
7 <Build />
8 </Project>
9</Solution>
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj
index fc239a83..cc32d914 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="15.0" DefaultTargets="Build"> 2<Project DefaultTargets="Build">
3 <Import Project="$(WixMSBuildProps)" /> 3 <Import Project="$(WixMSBuildProps)" />
4 <PropertyGroup> 4 <PropertyGroup>
5 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 5 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj
index 2d90cd19..10f54243 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <Import Project="$(WixMSBuildProps)" /> 3 <Import Project="$(WixMSBuildProps)" />
4 4
5 <PropertyGroup> 5 <PropertyGroup>
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleMsiPackage.sln b/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleMsiPackage.sln
deleted file mode 100644
index dd21489d..00000000
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleMsiPackage.sln
+++ /dev/null
@@ -1,39 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16
4VisualStudioVersion = 16.0.30011.22
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "MsiPackage", "MsiPackage\MsiPackage.wixproj", "{7FB77005-C6E0-454F-8C2D-0A4A79C918BA}"
7EndProject
8Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "SimpleBundle", "SimpleBundle\SimpleBundle.wixproj", "{6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}"
9EndProject
10Global
11 GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 Debug|x64 = Debug|x64
13 Debug|x86 = Debug|x86
14 Release|x64 = Release|x64
15 Release|x86 = Release|x86
16 EndGlobalSection
17 GlobalSection(ProjectConfigurationPlatforms) = postSolution
18 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x64.ActiveCfg = Debug|x64
19 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x64.Build.0 = Debug|x64
20 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x86.ActiveCfg = Debug|x86
21 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x86.Build.0 = Debug|x86
22 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x64.ActiveCfg = Release|x64
23 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x64.Build.0 = Release|x64
24 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x86.ActiveCfg = Release|x86
25 {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x86.Build.0 = Release|x86
26 {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Debug|x64.ActiveCfg = Debug|x86
27 {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Debug|x86.ActiveCfg = Debug|x86
28 {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Debug|x86.Build.0 = Debug|x86
29 {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Release|x64.ActiveCfg = Release|x86
30 {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Release|x86.ActiveCfg = Release|x86
31 {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Release|x86.Build.0 = Release|x86
32 EndGlobalSection
33 GlobalSection(SolutionProperties) = preSolution
34 HideSolutionNode = FALSE
35 EndGlobalSection
36 GlobalSection(ExtensibilityGlobals) = postSolution
37 SolutionGuid = {585B0599-4EB5-4AB6-BC66-819CC78B63D5}
38 EndGlobalSection
39EndGlobal
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleMsiPackage.slnx b/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleMsiPackage.slnx
new file mode 100644
index 00000000..84de8f9c
--- /dev/null
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleMsiPackage.slnx
@@ -0,0 +1,13 @@
1<Solution>
2 <Configurations>
3 <Platform Name="x64" />
4 <Platform Name="x86" />
5 </Configurations>
6 <Project Path="MsiPackage/MsiPackage.wixproj">
7 <Build />
8 </Project>
9 <Project Path="SimpleBundle/SimpleBundle.wixproj">
10 <Platform Project="x86" />
11 <Build Solution="*|x86" />
12 </Project>
13</Solution>
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/UncompressedBundle/UncompressedBundle.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/UncompressedBundle/UncompressedBundle.wixproj
index 2f1785b2..e8426c22 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/UncompressedBundle/UncompressedBundle.wixproj
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/UncompressedBundle/UncompressedBundle.wixproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <Import Project="$(WixMSBuildProps)" /> 3 <Import Project="$(WixMSBuildProps)" />
4 4
5 <PropertyGroup> 5 <PropertyGroup>
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/SingleCultureWithFallbackMsiPackage/SingleCultureWithFallbackMsiPackage.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/SingleCultureWithFallbackMsiPackage/SingleCultureWithFallbackMsiPackage.wixproj
index 1a923cbf..ff6e79d9 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/SingleCultureWithFallbackMsiPackage/SingleCultureWithFallbackMsiPackage.wixproj
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/SingleCultureWithFallbackMsiPackage/SingleCultureWithFallbackMsiPackage.wixproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="15.0" DefaultTargets="Build"> 2<Project DefaultTargets="Build">
3 <Import Project="$(WixMSBuildProps)" /> 3 <Import Project="$(WixMSBuildProps)" />
4 4
5 <PropertyGroup> 5 <PropertyGroup>
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/PackageIncludesWixlib.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/PackageIncludesWixlib.wixproj
index c53050cb..1e12e69b 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/PackageIncludesWixlib.wixproj
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/PackageIncludesWixlib.wixproj
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <Import Project="$(WixMSBuildProps)" /> 3 <Import Project="$(WixMSBuildProps)" />
4 4
5 <PropertyGroup> 5 <PropertyGroup>
diff --git a/src/wix/wix.cmd b/src/wix/wix.cmd
index 73e51c11..7977c129 100644
--- a/src/wix/wix.cmd
+++ b/src/wix/wix.cmd
@@ -20,13 +20,13 @@
20@echo Building wix %_C% 20@echo Building wix %_C%
21 21
22:: Restore 22:: Restore
23msbuild -t:Restore wix.sln -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\wix_restore.binlog || exit /b 23msbuild -t:Restore wix.slnx -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\wix_restore.binlog || exit /b
24 24
25 25
26:: Build 26:: Build
27msbuild wixnative\wixnative_t.proj -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\wixnative_build.binlog || exit /b 27msbuild wixnative\wixnative_t.proj -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\wixnative_build.binlog || exit /b
28 28
29msbuild wix.sln -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\wix_build.binlog || exit /b 29msbuild wix.slnx -p:Configuration=%_C% -tl -nologo -m -warnaserror -bl:%_L%\wix_build.binlog || exit /b
30 30
31msbuild publish_t.proj -p:Configuration=%_C% -tl -nologo -warnaserror -bl:%_L%\wix_publish.binlog || exit /b 31msbuild publish_t.proj -p:Configuration=%_C% -tl -nologo -warnaserror -bl:%_L%\wix_publish.binlog || exit /b
32 32
diff --git a/src/wix/wix.sln b/src/wix/wix.sln
deleted file mode 100644
index 7eec8e8a..00000000
--- a/src/wix/wix.sln
+++ /dev/null
@@ -1,451 +0,0 @@
1Microsoft Visual Studio Solution File, Format Version 12.00
2# Visual Studio Version 17
3VisualStudioVersion = 17.0.32112.339
4MinimumVisualStudioVersion = 15.0.26124.0
5Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Converters", "WixToolset.Converters\WixToolset.Converters.csproj", "{6FAF6385-6598-4B89-972B-C31AFCA14538}"
6EndProject
7Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Converters.Symbolizer", "WixToolset.Converters.Symbolizer\WixToolset.Converters.Symbolizer.csproj", "{F051BCAF-698C-41D5-8427-164537CE5C5C}"
8EndProject
9Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Converters", "test\WixToolsetTest.Converters\WixToolsetTest.Converters.csproj", "{485C5038-97E1-4729-A54D-848CC69569FD}"
10EndProject
11Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Converters.Symbolizer", "test\WixToolsetTest.Converters.Symbolizer\WixToolsetTest.Converters.Symbolizer.csproj", "{9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}"
12EndProject
13Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Core", "WixToolset.Core\WixToolset.Core.csproj", "{0B524850-5B9A-472B-85CC-D25920A1DFE1}"
14EndProject
15Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Core.WindowsInstaller", "WixToolset.Core.WindowsInstaller\WixToolset.Core.WindowsInstaller.csproj", "{5617F2A7-46A0-4D07-B9E0-E982D15641E4}"
16EndProject
17Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Core.Burn", "WixToolset.Core.Burn\WixToolset.Core.Burn.csproj", "{BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}"
18EndProject
19Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Core.ExtensionCache", "WixToolset.Core.ExtensionCache\WixToolset.Core.ExtensionCache.csproj", "{A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}"
20EndProject
21Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{1284331E-BC6C-426D-AAAF-140C0174F875}"
22EndProject
23Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Example.Extension", "test\Example.Extension\Example.Extension.csproj", "{C66C2503-C671-4230-8B48-1D93A8532A28}"
24EndProject
25Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.CoreIntegration", "test\WixToolsetTest.CoreIntegration\WixToolsetTest.CoreIntegration.csproj", "{E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}"
26EndProject
27Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixInternal.Core.TestPackage", "WixInternal.Core.TestPackage\WixInternal.Core.TestPackage.csproj", "{853716DB-C02C-41BD-91BC-79CDC0C17D10}"
28EndProject
29Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompileCoreTestExtensionWixlib", "test\CompileCoreTestExtensionWixlib\CompileCoreTestExtensionWixlib.csproj", "{23FC60D7-B101-42F8-9786-DB7A9CD964A2}"
30EndProject
31Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wixnative", "wixnative\wixnative.vcxproj", "{8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}"
32EndProject
33Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Core.Native", "WixToolset.Core.Native\WixToolset.Core.Native.csproj", "{81533C6A-E145-4EB5-9658-3ACA8A2A6323}"
34EndProject
35Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "wix", "wix\wix.csproj", "{C933FB6B-074C-4ED2-B961-7639A7877B3A}"
36EndProject
37Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.BuildTasks", "WixToolset.BuildTasks\WixToolset.BuildTasks.csproj", "{D04EE8DF-85E5-42E5-B7B4-D064818F32C5}"
38EndProject
39Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Sdk", "WixToolset.Sdk\WixToolset.Sdk.csproj", "{FD77501F-E720-4493-8750-5C639B3CD256}"
40EndProject
41Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Sdk", "test\WixToolsetTest.Sdk\WixToolsetTest.Sdk.csproj", "{C44BB95F-5020-4876-933C-B73A24C488FD}"
42EndProject
43Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Core.Native", "test\WixToolsetTest.Core.Native\WixToolsetTest.Core.Native.csproj", "{93645356-5D5F-45DE-AC7F-252D35E1ACE5}"
44EndProject
45Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.BuildTasks", "test\WixToolsetTest.BuildTasks\WixToolsetTest.BuildTasks.csproj", "{A05698E0-30D9-4B36-8F3B-585A99D67118}"
46EndProject
47Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "pack-wix", "pack-wix\pack-wix.csproj", "{CE489499-60E1-4883-B72A-CA8F95DBA073}"
48EndProject
49Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Core", "test\WixToolsetTest.Core\WixToolsetTest.Core.csproj", "{392817AE-4493-4BED-A7FD-2399379E1B1C}"
50EndProject
51Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixInternal.Core.MSTestPackage", "WixInternal.Core.MSTestPackage\WixInternal.Core.MSTestPackage.csproj", "{61003299-4D78-4291-862C-73806C62C3BD}"
52EndProject
53Global
54 GlobalSection(SolutionConfigurationPlatforms) = preSolution
55 Debug|Any CPU = Debug|Any CPU
56 Debug|ARM64 = Debug|ARM64
57 Debug|x64 = Debug|x64
58 Debug|x86 = Debug|x86
59 Release|Any CPU = Release|Any CPU
60 Release|ARM64 = Release|ARM64
61 Release|x64 = Release|x64
62 Release|x86 = Release|x86
63 EndGlobalSection
64 GlobalSection(ProjectConfigurationPlatforms) = postSolution
65 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
66 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Debug|Any CPU.Build.0 = Debug|Any CPU
67 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Debug|ARM64.ActiveCfg = Debug|Any CPU
68 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Debug|ARM64.Build.0 = Debug|Any CPU
69 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Debug|x64.ActiveCfg = Debug|Any CPU
70 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Debug|x64.Build.0 = Debug|Any CPU
71 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Debug|x86.ActiveCfg = Debug|Any CPU
72 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Debug|x86.Build.0 = Debug|Any CPU
73 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Release|Any CPU.ActiveCfg = Release|Any CPU
74 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Release|Any CPU.Build.0 = Release|Any CPU
75 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Release|ARM64.ActiveCfg = Release|Any CPU
76 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Release|ARM64.Build.0 = Release|Any CPU
77 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Release|x64.ActiveCfg = Release|Any CPU
78 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Release|x64.Build.0 = Release|Any CPU
79 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Release|x86.ActiveCfg = Release|Any CPU
80 {6FAF6385-6598-4B89-972B-C31AFCA14538}.Release|x86.Build.0 = Release|Any CPU
81 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
82 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Debug|Any CPU.Build.0 = Debug|Any CPU
83 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
84 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Debug|ARM64.Build.0 = Debug|Any CPU
85 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Debug|x64.ActiveCfg = Debug|Any CPU
86 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Debug|x64.Build.0 = Debug|Any CPU
87 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Debug|x86.ActiveCfg = Debug|Any CPU
88 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Debug|x86.Build.0 = Debug|Any CPU
89 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Release|Any CPU.ActiveCfg = Release|Any CPU
90 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Release|Any CPU.Build.0 = Release|Any CPU
91 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Release|ARM64.ActiveCfg = Release|Any CPU
92 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Release|ARM64.Build.0 = Release|Any CPU
93 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Release|x64.ActiveCfg = Release|Any CPU
94 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Release|x64.Build.0 = Release|Any CPU
95 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Release|x86.ActiveCfg = Release|Any CPU
96 {F051BCAF-698C-41D5-8427-164537CE5C5C}.Release|x86.Build.0 = Release|Any CPU
97 {485C5038-97E1-4729-A54D-848CC69569FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
98 {485C5038-97E1-4729-A54D-848CC69569FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
99 {485C5038-97E1-4729-A54D-848CC69569FD}.Debug|ARM64.ActiveCfg = Debug|Any CPU
100 {485C5038-97E1-4729-A54D-848CC69569FD}.Debug|ARM64.Build.0 = Debug|Any CPU
101 {485C5038-97E1-4729-A54D-848CC69569FD}.Debug|x64.ActiveCfg = Debug|Any CPU
102 {485C5038-97E1-4729-A54D-848CC69569FD}.Debug|x64.Build.0 = Debug|Any CPU
103 {485C5038-97E1-4729-A54D-848CC69569FD}.Debug|x86.ActiveCfg = Debug|Any CPU
104 {485C5038-97E1-4729-A54D-848CC69569FD}.Debug|x86.Build.0 = Debug|Any CPU
105 {485C5038-97E1-4729-A54D-848CC69569FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
106 {485C5038-97E1-4729-A54D-848CC69569FD}.Release|Any CPU.Build.0 = Release|Any CPU
107 {485C5038-97E1-4729-A54D-848CC69569FD}.Release|ARM64.ActiveCfg = Release|Any CPU
108 {485C5038-97E1-4729-A54D-848CC69569FD}.Release|ARM64.Build.0 = Release|Any CPU
109 {485C5038-97E1-4729-A54D-848CC69569FD}.Release|x64.ActiveCfg = Release|Any CPU
110 {485C5038-97E1-4729-A54D-848CC69569FD}.Release|x64.Build.0 = Release|Any CPU
111 {485C5038-97E1-4729-A54D-848CC69569FD}.Release|x86.ActiveCfg = Release|Any CPU
112 {485C5038-97E1-4729-A54D-848CC69569FD}.Release|x86.Build.0 = Release|Any CPU
113 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
114 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Debug|Any CPU.Build.0 = Debug|Any CPU
115 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
116 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Debug|ARM64.Build.0 = Debug|Any CPU
117 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Debug|x64.ActiveCfg = Debug|Any CPU
118 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Debug|x64.Build.0 = Debug|Any CPU
119 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Debug|x86.ActiveCfg = Debug|Any CPU
120 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Debug|x86.Build.0 = Debug|Any CPU
121 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Release|Any CPU.ActiveCfg = Release|Any CPU
122 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Release|Any CPU.Build.0 = Release|Any CPU
123 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Release|ARM64.ActiveCfg = Release|Any CPU
124 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Release|ARM64.Build.0 = Release|Any CPU
125 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Release|x64.ActiveCfg = Release|Any CPU
126 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Release|x64.Build.0 = Release|Any CPU
127 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Release|x86.ActiveCfg = Release|Any CPU
128 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C}.Release|x86.Build.0 = Release|Any CPU
129 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
130 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Debug|Any CPU.Build.0 = Debug|Any CPU
131 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Debug|ARM64.ActiveCfg = Debug|Any CPU
132 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Debug|ARM64.Build.0 = Debug|Any CPU
133 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Debug|x64.ActiveCfg = Debug|Any CPU
134 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Debug|x64.Build.0 = Debug|Any CPU
135 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Debug|x86.ActiveCfg = Debug|Any CPU
136 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Debug|x86.Build.0 = Debug|Any CPU
137 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Release|Any CPU.ActiveCfg = Release|Any CPU
138 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Release|Any CPU.Build.0 = Release|Any CPU
139 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Release|ARM64.ActiveCfg = Release|Any CPU
140 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Release|ARM64.Build.0 = Release|Any CPU
141 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Release|x64.ActiveCfg = Release|Any CPU
142 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Release|x64.Build.0 = Release|Any CPU
143 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Release|x86.ActiveCfg = Release|Any CPU
144 {0B524850-5B9A-472B-85CC-D25920A1DFE1}.Release|x86.Build.0 = Release|Any CPU
145 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
146 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
147 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Debug|ARM64.ActiveCfg = Debug|Any CPU
148 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Debug|ARM64.Build.0 = Debug|Any CPU
149 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Debug|x64.ActiveCfg = Debug|Any CPU
150 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Debug|x64.Build.0 = Debug|Any CPU
151 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Debug|x86.ActiveCfg = Debug|Any CPU
152 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Debug|x86.Build.0 = Debug|Any CPU
153 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
154 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Release|Any CPU.Build.0 = Release|Any CPU
155 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Release|ARM64.ActiveCfg = Release|Any CPU
156 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Release|ARM64.Build.0 = Release|Any CPU
157 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Release|x64.ActiveCfg = Release|Any CPU
158 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Release|x64.Build.0 = Release|Any CPU
159 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Release|x86.ActiveCfg = Release|Any CPU
160 {5617F2A7-46A0-4D07-B9E0-E982D15641E4}.Release|x86.Build.0 = Release|Any CPU
161 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
162 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
163 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Debug|ARM64.ActiveCfg = Debug|Any CPU
164 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Debug|ARM64.Build.0 = Debug|Any CPU
165 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Debug|x64.ActiveCfg = Debug|Any CPU
166 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Debug|x64.Build.0 = Debug|Any CPU
167 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Debug|x86.ActiveCfg = Debug|Any CPU
168 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Debug|x86.Build.0 = Debug|Any CPU
169 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
170 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Release|Any CPU.Build.0 = Release|Any CPU
171 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Release|ARM64.ActiveCfg = Release|Any CPU
172 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Release|ARM64.Build.0 = Release|Any CPU
173 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Release|x64.ActiveCfg = Release|Any CPU
174 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Release|x64.Build.0 = Release|Any CPU
175 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Release|x86.ActiveCfg = Release|Any CPU
176 {BC19D30D-C1B6-46DF-95B3-8EDF688E0FEC}.Release|x86.Build.0 = Release|Any CPU
177 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
178 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Debug|Any CPU.Build.0 = Debug|Any CPU
179 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
180 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Debug|ARM64.Build.0 = Debug|Any CPU
181 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Debug|x64.ActiveCfg = Debug|Any CPU
182 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Debug|x64.Build.0 = Debug|Any CPU
183 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Debug|x86.ActiveCfg = Debug|Any CPU
184 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Debug|x86.Build.0 = Debug|Any CPU
185 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Release|Any CPU.ActiveCfg = Release|Any CPU
186 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Release|Any CPU.Build.0 = Release|Any CPU
187 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Release|ARM64.ActiveCfg = Release|Any CPU
188 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Release|ARM64.Build.0 = Release|Any CPU
189 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Release|x64.ActiveCfg = Release|Any CPU
190 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Release|x64.Build.0 = Release|Any CPU
191 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Release|x86.ActiveCfg = Release|Any CPU
192 {A1F0DF11-87FB-4BBC-B53B-83F2CE66604A}.Release|x86.Build.0 = Release|Any CPU
193 {C66C2503-C671-4230-8B48-1D93A8532A28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
194 {C66C2503-C671-4230-8B48-1D93A8532A28}.Debug|Any CPU.Build.0 = Debug|Any CPU
195 {C66C2503-C671-4230-8B48-1D93A8532A28}.Debug|ARM64.ActiveCfg = Debug|Any CPU
196 {C66C2503-C671-4230-8B48-1D93A8532A28}.Debug|ARM64.Build.0 = Debug|Any CPU
197 {C66C2503-C671-4230-8B48-1D93A8532A28}.Debug|x64.ActiveCfg = Debug|Any CPU
198 {C66C2503-C671-4230-8B48-1D93A8532A28}.Debug|x64.Build.0 = Debug|Any CPU
199 {C66C2503-C671-4230-8B48-1D93A8532A28}.Debug|x86.ActiveCfg = Debug|Any CPU
200 {C66C2503-C671-4230-8B48-1D93A8532A28}.Debug|x86.Build.0 = Debug|Any CPU
201 {C66C2503-C671-4230-8B48-1D93A8532A28}.Release|Any CPU.ActiveCfg = Release|Any CPU
202 {C66C2503-C671-4230-8B48-1D93A8532A28}.Release|Any CPU.Build.0 = Release|Any CPU
203 {C66C2503-C671-4230-8B48-1D93A8532A28}.Release|ARM64.ActiveCfg = Release|Any CPU
204 {C66C2503-C671-4230-8B48-1D93A8532A28}.Release|ARM64.Build.0 = Release|Any CPU
205 {C66C2503-C671-4230-8B48-1D93A8532A28}.Release|x64.ActiveCfg = Release|Any CPU
206 {C66C2503-C671-4230-8B48-1D93A8532A28}.Release|x64.Build.0 = Release|Any CPU
207 {C66C2503-C671-4230-8B48-1D93A8532A28}.Release|x86.ActiveCfg = Release|Any CPU
208 {C66C2503-C671-4230-8B48-1D93A8532A28}.Release|x86.Build.0 = Release|Any CPU
209 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
210 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Debug|Any CPU.Build.0 = Debug|Any CPU
211 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Debug|ARM64.ActiveCfg = Debug|Any CPU
212 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Debug|ARM64.Build.0 = Debug|Any CPU
213 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Debug|x64.ActiveCfg = Debug|Any CPU
214 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Debug|x64.Build.0 = Debug|Any CPU
215 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Debug|x86.ActiveCfg = Debug|Any CPU
216 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Debug|x86.Build.0 = Debug|Any CPU
217 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Release|Any CPU.ActiveCfg = Release|Any CPU
218 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Release|Any CPU.Build.0 = Release|Any CPU
219 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Release|ARM64.ActiveCfg = Release|Any CPU
220 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Release|ARM64.Build.0 = Release|Any CPU
221 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Release|x64.ActiveCfg = Release|Any CPU
222 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Release|x64.Build.0 = Release|Any CPU
223 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Release|x86.ActiveCfg = Release|Any CPU
224 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B}.Release|x86.Build.0 = Release|Any CPU
225 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
226 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Debug|Any CPU.Build.0 = Debug|Any CPU
227 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Debug|ARM64.ActiveCfg = Debug|Any CPU
228 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Debug|ARM64.Build.0 = Debug|Any CPU
229 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Debug|x64.ActiveCfg = Debug|Any CPU
230 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Debug|x64.Build.0 = Debug|Any CPU
231 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Debug|x86.ActiveCfg = Debug|Any CPU
232 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Debug|x86.Build.0 = Debug|Any CPU
233 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Release|Any CPU.ActiveCfg = Release|Any CPU
234 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Release|Any CPU.Build.0 = Release|Any CPU
235 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Release|ARM64.ActiveCfg = Release|Any CPU
236 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Release|ARM64.Build.0 = Release|Any CPU
237 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Release|x64.ActiveCfg = Release|Any CPU
238 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Release|x64.Build.0 = Release|Any CPU
239 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Release|x86.ActiveCfg = Release|Any CPU
240 {853716DB-C02C-41BD-91BC-79CDC0C17D10}.Release|x86.Build.0 = Release|Any CPU
241 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
242 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
243 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Debug|ARM64.ActiveCfg = Debug|Any CPU
244 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Debug|ARM64.Build.0 = Debug|Any CPU
245 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Debug|x64.ActiveCfg = Debug|Any CPU
246 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Debug|x64.Build.0 = Debug|Any CPU
247 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Debug|x86.ActiveCfg = Debug|Any CPU
248 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Debug|x86.Build.0 = Debug|Any CPU
249 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
250 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Release|Any CPU.Build.0 = Release|Any CPU
251 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Release|ARM64.ActiveCfg = Release|Any CPU
252 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Release|ARM64.Build.0 = Release|Any CPU
253 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Release|x64.ActiveCfg = Release|Any CPU
254 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Release|x64.Build.0 = Release|Any CPU
255 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Release|x86.ActiveCfg = Release|Any CPU
256 {23FC60D7-B101-42F8-9786-DB7A9CD964A2}.Release|x86.Build.0 = Release|Any CPU
257 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Debug|Any CPU.ActiveCfg = Debug|x64
258 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Debug|Any CPU.Build.0 = Debug|x64
259 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Debug|ARM64.ActiveCfg = Debug|ARM64
260 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Debug|ARM64.Build.0 = Debug|ARM64
261 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Debug|x64.ActiveCfg = Debug|x64
262 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Debug|x64.Build.0 = Debug|x64
263 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Debug|x86.ActiveCfg = Debug|Win32
264 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Debug|x86.Build.0 = Debug|Win32
265 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Release|Any CPU.ActiveCfg = Release|Win32
266 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Release|Any CPU.Build.0 = Release|Win32
267 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Release|ARM64.ActiveCfg = Release|ARM64
268 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Release|ARM64.Build.0 = Release|ARM64
269 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Release|x64.ActiveCfg = Release|x64
270 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Release|x64.Build.0 = Release|x64
271 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Release|x86.ActiveCfg = Release|Win32
272 {8497EC72-B8D0-4272-A9D0-7E9D871CEFBF}.Release|x86.Build.0 = Release|Win32
273 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
274 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Debug|Any CPU.Build.0 = Debug|Any CPU
275 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Debug|ARM64.ActiveCfg = Debug|Any CPU
276 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Debug|ARM64.Build.0 = Debug|Any CPU
277 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Debug|x64.ActiveCfg = Debug|Any CPU
278 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Debug|x64.Build.0 = Debug|Any CPU
279 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Debug|x86.ActiveCfg = Debug|Any CPU
280 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Debug|x86.Build.0 = Debug|Any CPU
281 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|Any CPU.ActiveCfg = Release|Any CPU
282 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|Any CPU.Build.0 = Release|Any CPU
283 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|ARM64.ActiveCfg = Release|Any CPU
284 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|ARM64.Build.0 = Release|Any CPU
285 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|x64.ActiveCfg = Release|Any CPU
286 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|x64.Build.0 = Release|Any CPU
287 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|x86.ActiveCfg = Release|Any CPU
288 {81533C6A-E145-4EB5-9658-3ACA8A2A6323}.Release|x86.Build.0 = Release|Any CPU
289 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
290 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
291 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
292 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|ARM64.Build.0 = Debug|Any CPU
293 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|x64.ActiveCfg = Debug|Any CPU
294 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|x64.Build.0 = Debug|Any CPU
295 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|x86.ActiveCfg = Debug|Any CPU
296 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Debug|x86.Build.0 = Debug|Any CPU
297 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
298 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Release|Any CPU.Build.0 = Release|Any CPU
299 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Release|ARM64.ActiveCfg = Release|Any CPU
300 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Release|ARM64.Build.0 = Release|Any CPU
301 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Release|x64.ActiveCfg = Release|Any CPU
302 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Release|x64.Build.0 = Release|Any CPU
303 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Release|x86.ActiveCfg = Release|Any CPU
304 {C933FB6B-074C-4ED2-B961-7639A7877B3A}.Release|x86.Build.0 = Release|Any CPU
305 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
306 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
307 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Debug|ARM64.ActiveCfg = Debug|Any CPU
308 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Debug|ARM64.Build.0 = Debug|Any CPU
309 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Debug|x64.ActiveCfg = Debug|Any CPU
310 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Debug|x64.Build.0 = Debug|Any CPU
311 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Debug|x86.ActiveCfg = Debug|Any CPU
312 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Debug|x86.Build.0 = Debug|Any CPU
313 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
314 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Release|Any CPU.Build.0 = Release|Any CPU
315 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Release|ARM64.ActiveCfg = Release|Any CPU
316 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Release|ARM64.Build.0 = Release|Any CPU
317 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Release|x64.ActiveCfg = Release|Any CPU
318 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Release|x64.Build.0 = Release|Any CPU
319 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Release|x86.ActiveCfg = Release|Any CPU
320 {D04EE8DF-85E5-42E5-B7B4-D064818F32C5}.Release|x86.Build.0 = Release|Any CPU
321 {FD77501F-E720-4493-8750-5C639B3CD256}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
322 {FD77501F-E720-4493-8750-5C639B3CD256}.Debug|Any CPU.Build.0 = Debug|Any CPU
323 {FD77501F-E720-4493-8750-5C639B3CD256}.Debug|ARM64.ActiveCfg = Debug|Any CPU
324 {FD77501F-E720-4493-8750-5C639B3CD256}.Debug|ARM64.Build.0 = Debug|Any CPU
325 {FD77501F-E720-4493-8750-5C639B3CD256}.Debug|x64.ActiveCfg = Debug|Any CPU
326 {FD77501F-E720-4493-8750-5C639B3CD256}.Debug|x64.Build.0 = Debug|Any CPU
327 {FD77501F-E720-4493-8750-5C639B3CD256}.Debug|x86.ActiveCfg = Debug|Any CPU
328 {FD77501F-E720-4493-8750-5C639B3CD256}.Debug|x86.Build.0 = Debug|Any CPU
329 {FD77501F-E720-4493-8750-5C639B3CD256}.Release|Any CPU.ActiveCfg = Release|Any CPU
330 {FD77501F-E720-4493-8750-5C639B3CD256}.Release|Any CPU.Build.0 = Release|Any CPU
331 {FD77501F-E720-4493-8750-5C639B3CD256}.Release|ARM64.ActiveCfg = Release|Any CPU
332 {FD77501F-E720-4493-8750-5C639B3CD256}.Release|ARM64.Build.0 = Release|Any CPU
333 {FD77501F-E720-4493-8750-5C639B3CD256}.Release|x64.ActiveCfg = Release|Any CPU
334 {FD77501F-E720-4493-8750-5C639B3CD256}.Release|x64.Build.0 = Release|Any CPU
335 {FD77501F-E720-4493-8750-5C639B3CD256}.Release|x86.ActiveCfg = Release|Any CPU
336 {FD77501F-E720-4493-8750-5C639B3CD256}.Release|x86.Build.0 = Release|Any CPU
337 {C44BB95F-5020-4876-933C-B73A24C488FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
338 {C44BB95F-5020-4876-933C-B73A24C488FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
339 {C44BB95F-5020-4876-933C-B73A24C488FD}.Debug|ARM64.ActiveCfg = Debug|Any CPU
340 {C44BB95F-5020-4876-933C-B73A24C488FD}.Debug|ARM64.Build.0 = Debug|Any CPU
341 {C44BB95F-5020-4876-933C-B73A24C488FD}.Debug|x64.ActiveCfg = Debug|Any CPU
342 {C44BB95F-5020-4876-933C-B73A24C488FD}.Debug|x64.Build.0 = Debug|Any CPU
343 {C44BB95F-5020-4876-933C-B73A24C488FD}.Debug|x86.ActiveCfg = Debug|Any CPU
344 {C44BB95F-5020-4876-933C-B73A24C488FD}.Debug|x86.Build.0 = Debug|Any CPU
345 {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
346 {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|Any CPU.Build.0 = Release|Any CPU
347 {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|ARM64.ActiveCfg = Release|Any CPU
348 {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|ARM64.Build.0 = Release|Any CPU
349 {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|x64.ActiveCfg = Release|Any CPU
350 {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|x64.Build.0 = Release|Any CPU
351 {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|x86.ActiveCfg = Release|Any CPU
352 {C44BB95F-5020-4876-933C-B73A24C488FD}.Release|x86.Build.0 = Release|Any CPU
353 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
354 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
355 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|ARM64.ActiveCfg = Debug|Any CPU
356 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|ARM64.Build.0 = Debug|Any CPU
357 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|x64.ActiveCfg = Debug|Any CPU
358 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|x64.Build.0 = Debug|Any CPU
359 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|x86.ActiveCfg = Debug|Any CPU
360 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Debug|x86.Build.0 = Debug|Any CPU
361 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
362 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Release|Any CPU.Build.0 = Release|Any CPU
363 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Release|ARM64.ActiveCfg = Release|Any CPU
364 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Release|ARM64.Build.0 = Release|Any CPU
365 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Release|x64.ActiveCfg = Release|Any CPU
366 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Release|x64.Build.0 = Release|Any CPU
367 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Release|x86.ActiveCfg = Release|Any CPU
368 {93645356-5D5F-45DE-AC7F-252D35E1ACE5}.Release|x86.Build.0 = Release|Any CPU
369 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
370 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Debug|Any CPU.Build.0 = Debug|Any CPU
371 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Debug|ARM64.ActiveCfg = Debug|Any CPU
372 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Debug|ARM64.Build.0 = Debug|Any CPU
373 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Debug|x64.ActiveCfg = Debug|Any CPU
374 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Debug|x64.Build.0 = Debug|Any CPU
375 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Debug|x86.ActiveCfg = Debug|Any CPU
376 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Debug|x86.Build.0 = Debug|Any CPU
377 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Release|Any CPU.ActiveCfg = Release|Any CPU
378 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Release|Any CPU.Build.0 = Release|Any CPU
379 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Release|ARM64.ActiveCfg = Release|Any CPU
380 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Release|ARM64.Build.0 = Release|Any CPU
381 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Release|x64.ActiveCfg = Release|Any CPU
382 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Release|x64.Build.0 = Release|Any CPU
383 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Release|x86.ActiveCfg = Release|Any CPU
384 {A05698E0-30D9-4B36-8F3B-585A99D67118}.Release|x86.Build.0 = Release|Any CPU
385 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
386 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Debug|Any CPU.Build.0 = Debug|Any CPU
387 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Debug|ARM64.ActiveCfg = Debug|Any CPU
388 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Debug|ARM64.Build.0 = Debug|Any CPU
389 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Debug|x64.ActiveCfg = Debug|Any CPU
390 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Debug|x64.Build.0 = Debug|Any CPU
391 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Debug|x86.ActiveCfg = Debug|Any CPU
392 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Debug|x86.Build.0 = Debug|Any CPU
393 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Release|Any CPU.ActiveCfg = Release|Any CPU
394 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Release|Any CPU.Build.0 = Release|Any CPU
395 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Release|ARM64.ActiveCfg = Release|Any CPU
396 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Release|ARM64.Build.0 = Release|Any CPU
397 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Release|x64.ActiveCfg = Release|Any CPU
398 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Release|x64.Build.0 = Release|Any CPU
399 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Release|x86.ActiveCfg = Release|Any CPU
400 {CE489499-60E1-4883-B72A-CA8F95DBA073}.Release|x86.Build.0 = Release|Any CPU
401 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
402 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
403 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
404 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Debug|ARM64.Build.0 = Debug|Any CPU
405 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Debug|x64.ActiveCfg = Debug|Any CPU
406 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Debug|x64.Build.0 = Debug|Any CPU
407 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Debug|x86.ActiveCfg = Debug|Any CPU
408 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Debug|x86.Build.0 = Debug|Any CPU
409 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
410 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Release|Any CPU.Build.0 = Release|Any CPU
411 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Release|ARM64.ActiveCfg = Release|Any CPU
412 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Release|ARM64.Build.0 = Release|Any CPU
413 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Release|x64.ActiveCfg = Release|Any CPU
414 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Release|x64.Build.0 = Release|Any CPU
415 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Release|x86.ActiveCfg = Release|Any CPU
416 {392817AE-4493-4BED-A7FD-2399379E1B1C}.Release|x86.Build.0 = Release|Any CPU
417 {61003299-4D78-4291-862C-73806C62C3BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
418 {61003299-4D78-4291-862C-73806C62C3BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
419 {61003299-4D78-4291-862C-73806C62C3BD}.Debug|ARM64.ActiveCfg = Debug|Any CPU
420 {61003299-4D78-4291-862C-73806C62C3BD}.Debug|ARM64.Build.0 = Debug|Any CPU
421 {61003299-4D78-4291-862C-73806C62C3BD}.Debug|x64.ActiveCfg = Debug|Any CPU
422 {61003299-4D78-4291-862C-73806C62C3BD}.Debug|x64.Build.0 = Debug|Any CPU
423 {61003299-4D78-4291-862C-73806C62C3BD}.Debug|x86.ActiveCfg = Debug|Any CPU
424 {61003299-4D78-4291-862C-73806C62C3BD}.Debug|x86.Build.0 = Debug|Any CPU
425 {61003299-4D78-4291-862C-73806C62C3BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
426 {61003299-4D78-4291-862C-73806C62C3BD}.Release|Any CPU.Build.0 = Release|Any CPU
427 {61003299-4D78-4291-862C-73806C62C3BD}.Release|ARM64.ActiveCfg = Release|Any CPU
428 {61003299-4D78-4291-862C-73806C62C3BD}.Release|ARM64.Build.0 = Release|Any CPU
429 {61003299-4D78-4291-862C-73806C62C3BD}.Release|x64.ActiveCfg = Release|Any CPU
430 {61003299-4D78-4291-862C-73806C62C3BD}.Release|x64.Build.0 = Release|Any CPU
431 {61003299-4D78-4291-862C-73806C62C3BD}.Release|x86.ActiveCfg = Release|Any CPU
432 {61003299-4D78-4291-862C-73806C62C3BD}.Release|x86.Build.0 = Release|Any CPU
433 EndGlobalSection
434 GlobalSection(SolutionProperties) = preSolution
435 HideSolutionNode = FALSE
436 EndGlobalSection
437 GlobalSection(NestedProjects) = preSolution
438 {485C5038-97E1-4729-A54D-848CC69569FD} = {1284331E-BC6C-426D-AAAF-140C0174F875}
439 {9DB36DB1-24A1-47A7-9E57-D48A2E33C13C} = {1284331E-BC6C-426D-AAAF-140C0174F875}
440 {C66C2503-C671-4230-8B48-1D93A8532A28} = {1284331E-BC6C-426D-AAAF-140C0174F875}
441 {E8A08E86-1780-4ED4-8F63-AB2B52C1C16B} = {1284331E-BC6C-426D-AAAF-140C0174F875}
442 {23FC60D7-B101-42F8-9786-DB7A9CD964A2} = {1284331E-BC6C-426D-AAAF-140C0174F875}
443 {C44BB95F-5020-4876-933C-B73A24C488FD} = {1284331E-BC6C-426D-AAAF-140C0174F875}
444 {93645356-5D5F-45DE-AC7F-252D35E1ACE5} = {1284331E-BC6C-426D-AAAF-140C0174F875}
445 {A05698E0-30D9-4B36-8F3B-585A99D67118} = {1284331E-BC6C-426D-AAAF-140C0174F875}
446 {392817AE-4493-4BED-A7FD-2399379E1B1C} = {1284331E-BC6C-426D-AAAF-140C0174F875}
447 EndGlobalSection
448 GlobalSection(ExtensibilityGlobals) = postSolution
449 SolutionGuid = {BB8820D5-723D-426D-B4A0-4D221603C5FA}
450 EndGlobalSection
451EndGlobal
diff --git a/src/wix/wix.slnx b/src/wix/wix.slnx
new file mode 100644
index 00000000..7ebb41e6
--- /dev/null
+++ b/src/wix/wix.slnx
@@ -0,0 +1,35 @@
1<Solution>
2 <Configurations>
3 <Platform Name="Any CPU" />
4 <Platform Name="ARM64" />
5 <Platform Name="x64" />
6 <Platform Name="x86" />
7 </Configurations>
8 <Folder Name="/test/">
9 <Project Path="test/CompileCoreTestExtensionWixlib/CompileCoreTestExtensionWixlib.csproj" />
10 <Project Path="test/Example.Extension/Example.Extension.csproj" />
11 <Project Path="test/WixToolsetTest.BuildTasks/WixToolsetTest.BuildTasks.csproj" />
12 <Project Path="test/WixToolsetTest.Converters.Symbolizer/WixToolsetTest.Converters.Symbolizer.csproj" />
13 <Project Path="test/WixToolsetTest.Converters/WixToolsetTest.Converters.csproj" />
14 <Project Path="test/WixToolsetTest.Core.Native/WixToolsetTest.Core.Native.csproj" />
15 <Project Path="test/WixToolsetTest.Core/WixToolsetTest.Core.csproj" />
16 <Project Path="test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj" />
17 <Project Path="test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.csproj" />
18 </Folder>
19 <Project Path="pack-wix/pack-wix.csproj" />
20 <Project Path="wix/wix.csproj" />
21 <Project Path="WixInternal.Core.MSTestPackage/WixInternal.Core.MSTestPackage.csproj" />
22 <Project Path="WixInternal.Core.TestPackage/WixInternal.Core.TestPackage.csproj" />
23 <Project Path="wixnative/wixnative.vcxproj" Id="8497ec72-b8d0-4272-a9d0-7e9d871cefbf">
24 <Platform Solution="Release|Any CPU" Project="Win32" />
25 </Project>
26 <Project Path="WixToolset.BuildTasks/WixToolset.BuildTasks.csproj" />
27 <Project Path="WixToolset.Converters.Symbolizer/WixToolset.Converters.Symbolizer.csproj" />
28 <Project Path="WixToolset.Converters/WixToolset.Converters.csproj" />
29 <Project Path="WixToolset.Core.Burn/WixToolset.Core.Burn.csproj" />
30 <Project Path="WixToolset.Core.ExtensionCache/WixToolset.Core.ExtensionCache.csproj" />
31 <Project Path="WixToolset.Core.Native/WixToolset.Core.Native.csproj" />
32 <Project Path="WixToolset.Core.WindowsInstaller/WixToolset.Core.WindowsInstaller.csproj" />
33 <Project Path="WixToolset.Core/WixToolset.Core.csproj" />
34 <Project Path="WixToolset.Sdk/WixToolset.Sdk.csproj" />
35</Solution>
diff --git a/src/wix/wixnative/wixnative.vcxproj b/src/wix/wixnative/wixnative.vcxproj
index c4e05a62..7b5c6b79 100644
--- a/src/wix/wixnative/wixnative.vcxproj
+++ b/src/wix/wixnative/wixnative.vcxproj
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <ItemGroup Label="ProjectConfigurations"> 5 <ItemGroup Label="ProjectConfigurations">
6 <ProjectConfiguration Include="Debug|ARM64"> 6 <ProjectConfiguration Include="Debug|ARM64">
7 <Configuration>Debug</Configuration> 7 <Configuration>Debug</Configuration>