aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2022-01-19 09:48:40 -0800
committerRob Mensching <rob@firegiant.com>2022-02-03 05:41:33 -0800
commit8402bf3d91d2931fce3016f23d473e8d544e18e0 (patch)
treef2a3a64add1bf36d3ea45b747ace725a07036a2b /src/test
parent328d6df64373cf340628a09e52dd77ea338bc838 (diff)
downloadwix-8402bf3d91d2931fce3016f23d473e8d544e18e0.tar.gz
wix-8402bf3d91d2931fce3016f23d473e8d544e18e0.tar.bz2
wix-8402bf3d91d2931fce3016f23d473e8d544e18e0.zip
Remove helper files
Diffstat (limited to 'src/test')
-rw-r--r--src/test/wix/TestData/CsprojConsoleNetCore/out.xml16133
-rw-r--r--src/test/wix/TestData/WixprojLibraryVcxprojDll/go.cmd27
-rw-r--r--src/test/wix/TestData/WixprojModuleCsprojWinFormsNetFx/go.cmd36
-rw-r--r--src/test/wix/TestData/WixprojPackageCsprojWebApplicationNetCore/go.cmd23
-rw-r--r--src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/go.cmd44
5 files changed, 0 insertions, 16263 deletions
diff --git a/src/test/wix/TestData/CsprojConsoleNetCore/out.xml b/src/test/wix/TestData/CsprojConsoleNetCore/out.xml
deleted file mode 100644
index 115aa053..00000000
--- a/src/test/wix/TestData/CsprojConsoleNetCore/out.xml
+++ /dev/null
@@ -1,16133 +0,0 @@
1<!--
2============================================================================================================================================
3D:\src\wix4\src\test\wix\TestProjects\CsprojConsoleNetCore\CsprojConsoleNetCore.csproj
4============================================================================================================================================
5-->
6<Project DefaultTargets="Build">
7 <!--
8============================================================================================================================================
9 <Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk">
10 This import was added implicitly because the Project element's Sdk attribute specified "Microsoft.NET.Sdk".
11
12C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props
13============================================================================================================================================
14-->
15 <!--
16***********************************************************************************************
17Sdk.props
18
19WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
20 created a backup copy. Incorrect changes to this file will make it
21 impossible to load or build your projects from the command-line or the IDE.
22
23Copyright (c) .NET Foundation. All rights reserved.
24***********************************************************************************************
25-->
26 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
27 <!--
28 Indicate to other targets that Microsoft.NET.Sdk is being used.
29
30 This must be set here (as early as possible, before Microsoft.Common.props)
31 so that everything that follows can depend on it.
32
33 In particular, Directory.Build.props and nuget package props need to be able
34 to use this flag and they are imported by Microsoft.Common.props.
35 -->
36 <UsingMicrosoftNETSdk>true</UsingMicrosoftNETSdk>
37 <!--
38 Indicate whether the set of SDK defaults that makes SDK style project concise are being used.
39 For example: globbing, importing msbuild common targets.
40
41 Similar to the property above, it must be set here.
42 -->
43 <UsingNETSdkDefaults>true</UsingNETSdkDefaults>
44 </PropertyGroup>
45 <PropertyGroup Condition="'$(MSBuildProjectFullPath)' == '$(ProjectToOverrideProjectExtensionsPath)'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
46 <MSBuildProjectExtensionsPath>$(ProjectExtensionsPathForSpecifiedProject)</MSBuildProjectExtensionsPath>
47 </PropertyGroup>
48 <!--<Import Project="$(AlternateCommonProps)" Condition="'$(AlternateCommonProps)' != ''" />-->
49 <!--
50============================================================================================================================================
51 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="'$(AlternateCommonProps)' == ''">
52
53C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.props
54============================================================================================================================================
55-->
56 <!--
57***********************************************************************************************
58Microsoft.Common.props
59
60WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
61 created a backup copy. Incorrect changes to this file will make it
62 impossible to load or build your projects from the command-line or the IDE.
63
64Copyright (C) Microsoft Corporation. All rights reserved.
65***********************************************************************************************
66-->
67 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
68 <ImportByWildcardBeforeMicrosoftCommonProps Condition="'$(ImportByWildcardBeforeMicrosoftCommonProps)' == ''">true</ImportByWildcardBeforeMicrosoftCommonProps>
69 <ImportByWildcardAfterMicrosoftCommonProps Condition="'$(ImportByWildcardAfterMicrosoftCommonProps)' == ''">true</ImportByWildcardAfterMicrosoftCommonProps>
70 <ImportUserLocationsByWildcardBeforeMicrosoftCommonProps Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCommonProps)' == ''">true</ImportUserLocationsByWildcardBeforeMicrosoftCommonProps>
71 <ImportUserLocationsByWildcardAfterMicrosoftCommonProps Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCommonProps)' == ''">true</ImportUserLocationsByWildcardAfterMicrosoftCommonProps>
72 <ImportDirectoryBuildProps Condition="'$(ImportDirectoryBuildProps)' == ''">true</ImportDirectoryBuildProps>
73 </PropertyGroup>
74 <!--
75 Determine the path to the directory build props file if the user did not disable $(ImportDirectoryBuildProps) and
76 they did not already specify an absolute path to use via $(DirectoryBuildPropsPath)
77 -->
78 <PropertyGroup Condition="'$(ImportDirectoryBuildProps)' == 'true' and '$(DirectoryBuildPropsPath)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
79 <_DirectoryBuildPropsFile Condition="'$(_DirectoryBuildPropsFile)' == ''">Directory.Build.props</_DirectoryBuildPropsFile>
80 <_DirectoryBuildPropsBasePath Condition="'$(_DirectoryBuildPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), '$(_DirectoryBuildPropsFile)'))</_DirectoryBuildPropsBasePath>
81 <DirectoryBuildPropsPath Condition="'$(_DirectoryBuildPropsBasePath)' != '' and '$(_DirectoryBuildPropsFile)' != ''">$([System.IO.Path]::Combine('$(_DirectoryBuildPropsBasePath)', '$(_DirectoryBuildPropsFile)'))</DirectoryBuildPropsPath>
82 </PropertyGroup>
83 <!--
84============================================================================================================================================
85 <Import Project="$(DirectoryBuildPropsPath)" Condition="'$(ImportDirectoryBuildProps)' == 'true' and exists('$(DirectoryBuildPropsPath)')">
86
87D:\src\wix4\src\test\wix\TestProjects\Directory.Build.props
88============================================================================================================================================
89-->
90 <!-- 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. -->
91 <!--
92 This file prevents the import of WiX standard Directory.Build.props
93 from the root src directory
94 -->
95 <!--
96============================================================================================================================================
97 </Import>
98
99C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.props
100============================================================================================================================================
101-->
102 <!--
103 Prepare to import project extensions which usually come from packages. Package management systems will create a file at:
104 $(MSBuildProjectExtensionsPath)\$(MSBuildProjectFile).<SomethingUnique>.props
105
106 Each package management system should use a unique moniker to avoid collisions. It is a wild-card import so the package
107 management system can write out multiple files but the order of the import is alphabetic because MSBuild sorts the list.
108 -->
109 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
110 <!--
111 The declaration of $(BaseIntermediateOutputPath) had to be moved up from Microsoft.Common.CurrentVersion.targets
112 in order for the $(MSBuildProjectExtensionsPath) to use it as a default.
113 -->
114 <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">obj\</BaseIntermediateOutputPath>
115 <BaseIntermediateOutputPath Condition="!HasTrailingSlash('$(BaseIntermediateOutputPath)')">$(BaseIntermediateOutputPath)\</BaseIntermediateOutputPath>
116 <_InitialBaseIntermediateOutputPath>$(BaseIntermediateOutputPath)</_InitialBaseIntermediateOutputPath>
117 <MSBuildProjectExtensionsPath Condition="'$(MSBuildProjectExtensionsPath)' == '' ">$(BaseIntermediateOutputPath)</MSBuildProjectExtensionsPath>
118 <!--
119 Import paths that are relative default to be relative to the importing file. However, since MSBuildExtensionsPath
120 defaults to BaseIntermediateOutputPath we expect it to be relative to the project directory. So if the path is relative
121 it needs to be made absolute based on the project directory.
122 -->
123 <MSBuildProjectExtensionsPath Condition="'$([System.IO.Path]::IsPathRooted($(MSBuildProjectExtensionsPath)))' == 'false'">$([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', '$(MSBuildProjectExtensionsPath)'))</MSBuildProjectExtensionsPath>
124 <MSBuildProjectExtensionsPath Condition="!HasTrailingSlash('$(MSBuildProjectExtensionsPath)')">$(MSBuildProjectExtensionsPath)\</MSBuildProjectExtensionsPath>
125 <ImportProjectExtensionProps Condition="'$(ImportProjectExtensionProps)' == ''">true</ImportProjectExtensionProps>
126 <_InitialMSBuildProjectExtensionsPath Condition=" '$(ImportProjectExtensionProps)' == 'true' ">$(MSBuildProjectExtensionsPath)</_InitialMSBuildProjectExtensionsPath>
127 </PropertyGroup>
128 <!--<Import Project="$(MSBuildProjectExtensionsPath)$(MSBuildProjectFile).*.props" Condition="'$(ImportProjectExtensionProps)' == 'true' and exists('$(MSBuildProjectExtensionsPath)')" />-->
129 <!--
130 Import wildcard "ImportBefore" props files if we're actually in a 12.0+ project (rather than a project being
131 treated as 4.0)
132 -->
133 <!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' != ''">-->
134 <!--
135 Wildcard imports come from $(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props.d folder.
136 This is very similar to the same extension point used in Microsoft.Common.targets, which is located in
137 the $(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ directory. Unfortunately, there
138 is already a file named "Microsoft.Common.props" in this directory so we have to have a slightly different
139 directory name to hold extensions.
140 -->
141 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCommonProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore')" />-->
142 <!--
143============================================================================================================================================
144 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftCommonProps)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportBefore')">
145
146C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Imports\Microsoft.Common.props\ImportBefore\Microsoft.NuGet.ImportBefore.props
147============================================================================================================================================
148-->
149 <!--
150***********************************************************************************************
151Microsoft.NuGet.ImportBefore.props
152
153WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
154 created a backup copy. Incorrect changes to this file will make it
155 impossible to load or build your projects from the command-line or the IDE.
156
157Copyright (c) .NET Foundation. All rights reserved.
158***********************************************************************************************
159-->
160 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
161 <NuGetProps Condition="'$(NuGetProps)'==''">$(MSBuildExtensionsPath)\Microsoft\NuGet\$(VisualStudioVersion)\Microsoft.NuGet.props</NuGetProps>
162 </PropertyGroup>
163 <!--
164============================================================================================================================================
165 <Import Project="$(NuGetProps)" Condition="Exists('$(NuGetProps)') and '$(SkipImportNuGetProps)' != 'true'">
166
167C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\NuGet\16.0\Microsoft.NuGet.props
168============================================================================================================================================
169-->
170 <!--
171***********************************************************************************************
172Microsoft.NuGet.props
173
174WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
175 created a backup copy. Incorrect changes to this file will make it
176 impossible to load or build your projects from the command-line or the IDE.
177
178Copyright (c) .NET Foundation. All rights reserved.
179***********************************************************************************************
180-->
181 <!--<Import Project="$(MSBuildProjectDirectory)\$(MSBuildProjectName).nuget.props" Condition="Exists('$(MSBuildProjectDirectory)\$(MSBuildProjectName).nuget.props') AND '$(IncludeNuGetImports)' != 'false'" />-->
182 <!--
183============================================================================================================================================
184 </Import>
185
186C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Imports\Microsoft.Common.props\ImportBefore\Microsoft.NuGet.ImportBefore.props
187============================================================================================================================================
188-->
189 <!--
190============================================================================================================================================
191 </Import>
192
193C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.props
194============================================================================================================================================
195-->
196 <!--</ImportGroup>-->
197 <!--
198 In VS 2010 SP1 and VS 2012, both supported for asset compatibility, the MSBuild installed
199 as part of them did not enforce using the local ToolsVersion (4.0) in all cases, but instead
200 just used whatever ToolsVersion was in the project file if it existed on the machine, and
201 only forced 4.0 if that ToolsVersion did not exist.
202
203 Moving forward, we do want to enforce a single acting ToolsVersion per version of Visual Studio,
204 but in order to approximate this behavior on VS 2010 SP1 and VS 2012 as well, we've redirected
205 the targets: If we're building using 4.X MSBuild (which doesn't define the new reserved
206 property, MSBuildAssemblyVersion), we'll point right back at the 4.0 targets, which still exist
207 as part of the .NET Framework. Only if we're using the new MSBuild will we point to the current
208 targets.
209 -->
210 <PropertyGroup Condition="'$(MSBuildAssemblyVersion)' == '' and ('$(VisualStudioVersion)' != '' and '$(VisualStudioVersion)' &gt;= '12.0')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
211 <!--
212 Reset VisualStudioVersion if it's 12.0+: Should be 10.0 if VS 2010 is installed or 11.0 otherwise,
213 but since we don't have a good way of telling whether VS 2010 is installed, make it 11.0 if
214 VS 2012 is installed or 10.0 otherwise. The reset should be safe because if it was already
215 set to something (e.g. 11.0 in a VS 2012 command prompt) then MSBuild's internal
216 VisualStudioVersion-defaulting code should never come into the picture, so the only way it could
217 be 12.0+ when building a TV 12.0 project (because we're in this file) using MSBuild 4.5 (because
218 MSBuildAssemblyVersion hasn't been set) is if it's a TV 12.0 project on an empty command prompt.
219 -->
220 <VisualStudioVersion Condition="Exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.props')">11.0</VisualStudioVersion>
221 <VisualStudioVersion Condition="!Exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.props')">10.0</VisualStudioVersion>
222 </PropertyGroup>
223 <!-- If building using 4.X MSBuild, we want to act like this project is TV 4.0, so override
224 the custom extensibility target locations with the hard-coded 4.0 equivalent. -->
225 <PropertyGroup Condition="'$(MSBuildAssemblyVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
226 <CustomBeforeMicrosoftCommonProps Condition="'$(CustomBeforeMicrosoftCommonProps)'==''">$(MSBuildExtensionsPath)\v4.0\Custom.Before.$(MSBuildThisFile)</CustomBeforeMicrosoftCommonProps>
227 <CustomAfterMicrosoftCommonProps Condition="'$(CustomAfterMicrosoftCommonProps)'==''">$(MSBuildExtensionsPath)\v4.0\Custom.After.$(MSBuildThisFile)</CustomAfterMicrosoftCommonProps>
228 </PropertyGroup>
229 <!-- If building using 4.X MSBuild, we want to act like this project is TV 4.0, so import
230 Microsoft.Common.props from the 4.0 location, and make sure everything else in here is
231 set up such that if it's defaulted to something there, it won't be overridden here. -->
232 <!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.Common.props" Condition="'$(MSBuildAssemblyVersion)' == '' and Exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.props')" />-->
233 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
234 <CustomBeforeMicrosoftCommonProps Condition="'$(CustomBeforeMicrosoftCommonProps)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.Before.$(MSBuildThisFile)</CustomBeforeMicrosoftCommonProps>
235 <CustomAfterMicrosoftCommonProps Condition="'$(CustomAfterMicrosoftCommonProps)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.After.$(MSBuildThisFile)</CustomAfterMicrosoftCommonProps>
236 </PropertyGroup>
237 <!--
238 Only import the extension targets if we're actually in a 12.0 project here (rather than one we're attempting
239 to treat as 4.0) OR if the Dev11 Microsoft.Common.props don't exist. If it's a 12.0 project we're redirecting
240 to 4.0 and the Dev11 Microsoft.Common.props do exist, the extension targets will have been imported already
241 so there's no need to import them twice.
242 -->
243 <!--<Import Project="$(CustomBeforeMicrosoftCommonProps)" Condition="'$(CustomBeforeMicrosoftCommonProps)' != '' and Exists('$(CustomBeforeMicrosoftCommonProps)') and ('$(MSBuildAssemblyVersion)' != '' or !Exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.props'))" />-->
244 <!-- This is used to determine whether Microsoft.Common.targets needs to import
245 Microsoft.Common.props itself, or whether it has been imported previously,
246 e.g. by the project itself. -->
247 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
248 <MicrosoftCommonPropsHasBeenImported>true</MicrosoftCommonPropsHasBeenImported>
249 </PropertyGroup>
250 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
251 <Configuration Condition=" '$(Configuration)' == '' and '$(DefaultProjectConfiguration)' != '' ">$(DefaultProjectConfiguration)</Configuration>
252 <Platform Condition=" '$(Platform)' == '' and '$(DefaultProjectPlatform)' != '' ">$(DefaultProjectPlatform)</Platform>
253 </PropertyGroup>
254 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
255 <WMSJSProject Condition="'$(WMSJSProject)' == ''">WJProject</WMSJSProject>
256 <WMSJSProjectDirectory Condition="'$(WMSJSProjectDirectory)' == ''">JavaScript</WMSJSProjectDirectory>
257 </PropertyGroup>
258 <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualStudioVersion.v*.Common.props" Condition="'$(VisualStudioVersion)' == ''" />-->
259 <!--
260 Only import the extension targets if we're actually in a 12.0 project here (rather than one we're attempting
261 to treat as 4.0) OR if the Dev11 Microsoft.Common.props don't exist. If it's a 12.0 project we're redirecting
262 to 4.0 and the Dev11 Microsoft.Common.props do exist, the extension targets will have been imported already
263 so there's no need to import them twice.
264 -->
265 <!--<Import Project="$(CustomAfterMicrosoftCommonProps)" Condition="'$(CustomAfterMicrosoftCommonProps)' != '' and Exists('$(CustomAfterMicrosoftCommonProps)') and ('$(MSBuildAssemblyVersion)' != '' or !Exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.props'))" />-->
266 <!--
267 Import wildcard "ImportAfter" props files if we're actually in a 12.0+ project (rather than a project being
268 treated as 4.0)
269 -->
270 <!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' != ''">-->
271 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCommonProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportAfter')" />-->
272 <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonProps)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Imports\Microsoft.Common.props\ImportAfter')" />-->
273 <!--</ImportGroup>-->
274 <!--
275 Import NuGet.props file.
276 -->
277 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
278 <MSBuildUseVisualStudioDirectoryLayout Condition="'$(MSBuildUseVisualStudioDirectoryLayout)'==''">$([MSBuild]::IsRunningFromVisualStudio())</MSBuildUseVisualStudioDirectoryLayout>
279 <NuGetPropsFile Condition="'$(NuGetPropsFile)'=='' and '$(MSBuildUseVisualStudioDirectoryLayout)'=='true'">$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.props</NuGetPropsFile>
280 <NuGetPropsFile Condition="'$(NuGetPropsFile)'==''">$(MSBuildToolsPath)\NuGet.props</NuGetPropsFile>
281 </PropertyGroup>
282 <!--
283============================================================================================================================================
284 <Import Project="$(NuGetPropsFile)" Condition="Exists('$(NuGetPropsFile)')">
285
286C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.props
287============================================================================================================================================
288-->
289 <!--
290***********************************************************************************************
291NuGet.props
292
293WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
294 created a backup copy. Incorrect changes to this file will make it
295 impossible to load or build your projects from the command-line or the IDE.
296
297Copyright (c) .NET Foundation. All rights reserved.
298***********************************************************************************************
299-->
300 <!--
301 Import 'Directory.Packages.props' which will contain centralized packages for all the projects and solutions under
302 the directory in which the file is present. This is similar to 'Directory.Build.props/targets' logic which is present
303 in the common props/targets which serve a similar purpose.
304 -->
305 <PropertyGroup>
306 <ImportDirectoryPackagesProps Condition="'$(ImportDirectoryPackagesProps)' == ''">true</ImportDirectoryPackagesProps>
307 </PropertyGroup>
308 <!--
309 Determine the path to the 'Directory.Packages.props' file, if the user did not disable $(ImportDirectoryPackagesProps) and
310 they did not already specify an absolute path to use via $(DirectoryPackagesPropsPath)
311 -->
312 <PropertyGroup Condition="'$(ImportDirectoryPackagesProps)' == 'true' and '$(DirectoryPackagesPropsPath)' == ''">
313 <_DirectoryPackagesPropsFile Condition="'$(_DirectoryPackagesPropsFile)' == ''">Directory.Packages.props</_DirectoryPackagesPropsFile>
314 <_DirectoryPackagesPropsBasePath Condition="'$(_DirectoryPackagesPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', '$(_DirectoryPackagesPropsFile)'))</_DirectoryPackagesPropsBasePath>
315 <DirectoryPackagesPropsPath Condition="'$(_DirectoryPackagesPropsBasePath)' != '' and '$(_DirectoryPackagesPropsFile)' != ''">$([MSBuild]::NormalizePath('$(_DirectoryPackagesPropsBasePath)', '$(_DirectoryPackagesPropsFile)'))</DirectoryPackagesPropsPath>
316 </PropertyGroup>
317 <!--
318============================================================================================================================================
319 <Import Project="$(DirectoryPackagesPropsPath)" Condition="'$(ImportDirectoryPackagesProps)' == 'true' and '$(DirectoryPackagesPropsPath)' != '' and Exists('$(DirectoryPackagesPropsPath)')">
320
321D:\src\wix4\src\test\wix\TestProjects\Directory.Packages.props
322============================================================================================================================================
323-->
324 <!-- 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. -->
325 <!--
326 This file prevents the import of WiX standard Directory.Packages.props
327 from the root src directory
328 -->
329 <!--
330============================================================================================================================================
331 </Import>
332
333C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.props
334============================================================================================================================================
335-->
336 <PropertyGroup Condition="'$(ImportDirectoryPackagesProps)' == 'true' and '$(DirectoryPackagesPropsPath)' != '' and Exists('$(DirectoryPackagesPropsPath)')">
337 <CentralPackageVersionsFileImported>true</CentralPackageVersionsFileImported>
338 </PropertyGroup>
339 <!--
340============================================================================================================================================
341 </Import>
342
343C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.props
344============================================================================================================================================
345-->
346 <PropertyGroup Condition=" '$(MSBuildLogVerboseTaskParameters)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
347 <DisableLogTaskParameter_ConvertToAbsolutePath_Path>true</DisableLogTaskParameter_ConvertToAbsolutePath_Path>
348 <DisableLogTaskParameter_FindUnderPath_OutOfPath>true</DisableLogTaskParameter_FindUnderPath_OutOfPath>
349 <DisableLogTaskParameter_RemoveDuplicates_Inputs>true</DisableLogTaskParameter_RemoveDuplicates_Inputs>
350 <DisableLogTaskParameterItemMetadata_ConvertToAbsolutePath_AbsolutePaths>true</DisableLogTaskParameterItemMetadata_ConvertToAbsolutePath_AbsolutePaths>
351 <DisableLogTaskParameterItemMetadata_Copy_CopiedFiles>true</DisableLogTaskParameterItemMetadata_Copy_CopiedFiles>
352 <DisableLogTaskParameterItemMetadata_Copy_DestinationFiles>true</DisableLogTaskParameterItemMetadata_Copy_DestinationFiles>
353 <DisableLogTaskParameterItemMetadata_Copy_SourceFiles>true</DisableLogTaskParameterItemMetadata_Copy_SourceFiles>
354 <DisableLogTaskParameterItemMetadata_FindUnderPath_Files>true</DisableLogTaskParameterItemMetadata_FindUnderPath_Files>
355 <DisableLogTaskParameterItemMetadata_FindUnderPath_InPath>true</DisableLogTaskParameterItemMetadata_FindUnderPath_InPath>
356 <DisableLogTaskParameterItemMetadata_GenerateResource_FilesWritten>true</DisableLogTaskParameterItemMetadata_GenerateResource_FilesWritten>
357 <DisableLogTaskParameterItemMetadata_Hash_ItemsToHash>true</DisableLogTaskParameterItemMetadata_Hash_ItemsToHash>
358 <DisableLogTaskParameterItemMetadata_RemoveDuplicates_Filtered>true</DisableLogTaskParameterItemMetadata_RemoveDuplicates_Filtered>
359 <DisableLogTaskParameterItemMetadata_WriteLinesToFile_Lines>true</DisableLogTaskParameterItemMetadata_WriteLinesToFile_Lines>
360 </PropertyGroup>
361 <!--
362============================================================================================================================================
363 </Import>
364
365C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props
366============================================================================================================================================
367-->
368 <!--
369============================================================================================================================================
370 <Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.props">
371
372C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
373============================================================================================================================================
374-->
375 <!--
376***********************************************************************************************
377Microsoft.NET.Sdk.props
378
379WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
380 created a backup copy. Incorrect changes to this file will make it
381 impossible to load or build your projects from the command-line or the IDE.
382
383Copyright (c) .NET Foundation. All rights reserved.
384***********************************************************************************************
385-->
386 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
387 <!-- This property disables the conflict resolution logic from the Microsoft.Packaging.Tools package, which is superceded by the logic here in the SDK -->
388 <DisableHandlePackageFileConflicts>true</DisableHandlePackageFileConflicts>
389 </PropertyGroup>
390 <!-- Default configuration and platform to Debug|AnyCPU-->
391 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
392 <Configurations Condition=" '$(Configurations)' == '' ">Debug;Release</Configurations>
393 <Platforms Condition=" '$(Platforms)' == '' ">AnyCPU</Platforms>
394 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
395 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
396 </PropertyGroup>
397 <!-- User-facing configuration-agnostic defaults -->
398 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
399 <OutputType Condition=" '$(OutputType)' == '' ">Library</OutputType>
400 <FileAlignment Condition=" '$(FileAlignment)' == '' ">512</FileAlignment>
401 <ErrorReport Condition=" '$(ErrorReport)' == '' ">prompt</ErrorReport>
402 <AssemblyName Condition=" '$(AssemblyName)' == '' ">$(MSBuildProjectName)</AssemblyName>
403 <RootNamespace Condition=" '$(RootNamespace)' == '' ">$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
404 <Deterministic Condition=" '$(Deterministic)' == '' ">true</Deterministic>
405 </PropertyGroup>
406 <!-- User-facing configuration-specific defaults -->
407 <PropertyGroup Condition=" '$(Configuration)' == 'Debug' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
408 <DebugSymbols Condition=" '$(DebugSymbols)' == '' ">true</DebugSymbols>
409 <Optimize Condition=" '$(Optimize)' == '' ">false</Optimize>
410 </PropertyGroup>
411 <PropertyGroup Condition=" '$(Configuration)' == 'Release' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
412 <Optimize Condition=" '$(Optimize)' == '' ">true</Optimize>
413 </PropertyGroup>
414 <!-- User-facing platform-specific defaults -->
415 <!--
416 NOTE:
417
418 * We cannot compare against $(Platform) directly as that will give VS cause to instantiate extra
419 configurations, for each combination, which leads to performance problems and clutter in the sln
420 in the common AnyCPU-only case.
421
422 * We cannot just set $(PlatformTarget) to $(Platform) here because $(Platform) can be set to anything
423 at the solution level, but there are a fixed set valid $(PlatformTarget) values that can be passed
424 to the compiler. It is up to the user to explicitly set PlatformTarget to non-AnyCPU (if desired)
425 outside the 1:1 defaults below.
426 -->
427 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
428 <_PlatformWithoutConfigurationInference>$(Platform)</_PlatformWithoutConfigurationInference>
429 </PropertyGroup>
430 <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'x64' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
431 <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">x64</PlatformTarget>
432 </PropertyGroup>
433 <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'x86' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
434 <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">x86</PlatformTarget>
435 </PropertyGroup>
436 <PropertyGroup Condition=" '$(_PlatformWithoutConfigurationInference)' == 'ARM' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
437 <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">ARM</PlatformTarget>
438 </PropertyGroup>
439 <!-- Default settings for all projects built with this Sdk package -->
440 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
441 <DebugType Condition=" '$(DebugType)' == '' ">portable</DebugType>
442 <!-- This will turn off the base UWP-specific 'ResolveNuGetPackages' target -->
443 <ResolveNuGetPackages>false</ResolveNuGetPackages>
444 <!-- Skip import of Microsoft.NuGet.props and Microsoft.NuGet.targets -->
445 <SkipImportNuGetProps>true</SkipImportNuGetProps>
446 <SkipImportNuGetBuildTargets>true</SkipImportNuGetBuildTargets>
447 <!-- NuGet should always restore .NET SDK projects with "PackageReference" style restore. Setting this property will
448 cause the right thing to happen even if there aren't any PackageReference items in the project, such as when
449 a project targets .NET Framework and doesn't have any direct package dependencies. -->
450 <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
451 <!-- Exclude GAC, registry, output directory from search paths. -->
452 <AssemblySearchPaths Condition=" '$(AssemblySearchPaths)' == '' ">{CandidateAssemblyFiles};{HintPathFromItem};{TargetFrameworkDirectory};{RawFileName}</AssemblySearchPaths>
453 <DesignTimeAssemblySearchPaths Condition=" '$(DesignTimeAssemblySearchPaths)' == '' ">$(AssemblySearchPaths)</DesignTimeAssemblySearchPaths>
454 <AllowUnsafeBlocks Condition="'$(AllowUnsafeBlocks)'==''">false</AllowUnsafeBlocks>
455 <TreatWarningsAsErrors Condition="'$(TreatWarningsAsErrors)'==''">false</TreatWarningsAsErrors>
456 <Prefer32Bit Condition="'$(Prefer32Bit)'==''">false</Prefer32Bit>
457 <SignAssembly Condition="'$(SignAssembly)'==''">false</SignAssembly>
458 <DelaySign Condition="'$(DelaySign)'==''">false</DelaySign>
459 <GeneratePackageOnBuild Condition="'$(GeneratePackageOnBuild)'==''">false</GeneratePackageOnBuild>
460 <PackageRequireLicenseAcceptance Condition="'$(PackageRequireLicenseAcceptance)'==''">false</PackageRequireLicenseAcceptance>
461 <DebugSymbols Condition="'$(DebugSymbols)'==''">false</DebugSymbols>
462 <CheckForOverflowUnderflow Condition="'$(CheckForOverflowUnderflow)'==''">false</CheckForOverflowUnderflow>
463 <AutomaticallyUseReferenceAssemblyPackages Condition="'$(AutomaticallyUseReferenceAssemblyPackages)'==''">true</AutomaticallyUseReferenceAssemblyPackages>
464 <MicrosoftNETFrameworkReferenceAssembliesLatestPackageVersion>1.0.2</MicrosoftNETFrameworkReferenceAssembliesLatestPackageVersion>
465 <CopyConflictingTransitiveContent>false</CopyConflictingTransitiveContent>
466 <MSBuildCopyContentTransitively Condition="'$(MSBuildCopyContentTransitively)' == ''">true</MSBuildCopyContentTransitively>
467 <ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts Condition="'$(ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts)' == ''">true</ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts>
468 <!-- Uncomment this once https://github.com/Microsoft/visualfsharp/issues/3207 gets fixed -->
469 <!-- <WarningsAsErrors>$(WarningsAsErrors);NU1605</WarningsAsErrors> -->
470 </PropertyGroup>
471 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
472 <!-- Path to project that the .NET CLI will build in order to generate deps.json files for .NET CLI tools -->
473 <ToolDepsJsonGeneratorProject>$(MSBuildThisFileDirectory)GenerateDeps\GenerateDeps.proj</ToolDepsJsonGeneratorProject>
474 </PropertyGroup>
475 <!-- Default item includes (globs and implicit references) -->
476 <!--
477============================================================================================================================================
478 <Import Project="Microsoft.NET.Sdk.DefaultItems.props">
479
480C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.props
481============================================================================================================================================
482-->
483 <!--
484***********************************************************************************************
485Microsoft.NET.Sdk.DefaultItems.props
486
487WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
488 created a backup copy. Incorrect changes to this file will make it
489 impossible to load or build your projects from the command-line or the IDE.
490
491Copyright (c) .NET Foundation. All rights reserved.
492***********************************************************************************************
493-->
494 <PropertyGroup Condition="'$(NETCoreSdkBundledVersionsProps)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
495 <NETCoreSdkBundledVersionsProps>$(MSBuildThisFileDirectory)..\..\..\Microsoft.NETCoreSdk.BundledVersions.props</NETCoreSdkBundledVersionsProps>
496 </PropertyGroup>
497 <!--
498============================================================================================================================================
499 <Import Project="$(NETCoreSdkBundledVersionsProps)" Condition="Exists('$(NETCoreSdkBundledVersionsProps)')">
500
501C:\Program Files\dotnet\sdk\6.0.100\Microsoft.NETCoreSdk.BundledVersions.props
502============================================================================================================================================
503-->
504 <!--
505***********************************************************************************************
506Microsoft.NETCoreSdk.BundledVersions.props
507
508WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
509 created a backup copy. Incorrect changes to this file will make it
510 impossible to load or build your projects from the command-line or the IDE.
511
512Copyright (c) .NET Foundation. All rights reserved.
513***********************************************************************************************
514-->
515 <PropertyGroup>
516 <NetCoreRoot Condition="'$(NetCoreRoot)' == ''">$([MSBuild]::NormalizePath('$(MSBuildThisFileDirectory)..\..\'))</NetCoreRoot>
517 <NetCoreTargetingPackRoot Condition="'$(NetCoreTargetingPackRoot)' == ''">$([MSBuild]::EnsureTrailingSlash('$(NetCoreRoot)'))packs</NetCoreTargetingPackRoot>
518 <NETCoreAppMaximumVersion>6.0</NETCoreAppMaximumVersion>
519 <BundledNETCoreAppTargetFrameworkVersion>6.0</BundledNETCoreAppTargetFrameworkVersion>
520 <BundledNETCoreAppPackageVersion>6.0.0</BundledNETCoreAppPackageVersion>
521 <BundledNETStandardTargetFrameworkVersion>2.1</BundledNETStandardTargetFrameworkVersion>
522 <BundledNETStandardPackageVersion>2.1.0</BundledNETStandardPackageVersion>
523 <BundledNETCorePlatformsPackageVersion>6.0.0</BundledNETCorePlatformsPackageVersion>
524 <BundledRuntimeIdentifierGraphFile>$(MSBuildThisFileDirectory)RuntimeIdentifierGraph.json</BundledRuntimeIdentifierGraphFile>
525 <NETCoreSdkVersion>6.0.100</NETCoreSdkVersion>
526 <NETCoreSdkRuntimeIdentifier>win-x64</NETCoreSdkRuntimeIdentifier>
527 <NETCoreSdkPortableRuntimeIdentifier>win-x64</NETCoreSdkPortableRuntimeIdentifier>
528 <_NETCoreSdkIsPreview>false</_NETCoreSdkIsPreview>
529 </PropertyGroup>
530 <ItemGroup>
531 <ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="1.0" DefaultVersion="1.0.5" LatestVersion="1.0.16" />
532 <ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="1.1" DefaultVersion="1.1.2" LatestVersion="1.1.13" />
533 <ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="2.0" DefaultVersion="2.0.0" LatestVersion="2.0.9" />
534 <ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="2.1" DefaultVersion="2.1.0" LatestVersion="2.1.30" />
535 <ImplicitPackageReferenceVersion Include="Microsoft.NETCore.App" TargetFrameworkVersion="2.2" DefaultVersion="2.2.0" LatestVersion="2.2.8" />
536 <ImplicitPackageReferenceVersion Include="Microsoft.AspNetCore.App" TargetFrameworkVersion="2.1" DefaultVersion="2.1.1" LatestVersion="2.1.30" />
537 <ImplicitPackageReferenceVersion Include="Microsoft.AspNetCore.All" TargetFrameworkVersion="2.1" DefaultVersion="2.1.1" LatestVersion="2.1.30" />
538 <ImplicitPackageReferenceVersion Include="Microsoft.AspNetCore.App" TargetFrameworkVersion="2.2" DefaultVersion="2.2.0" LatestVersion="2.2.8" />
539 <ImplicitPackageReferenceVersion Include="Microsoft.AspNetCore.All" TargetFrameworkVersion="2.2" DefaultVersion="2.2.0" LatestVersion="2.2.8" />
540 <!-- .NET 6.0 -->
541 <KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="6.0.0" LatestRuntimeFrameworkVersion="6.0.0" TargetingPackName="Microsoft.NETCore.App.Ref" TargetingPackVersion="6.0.0" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;maccatalyst-x64;maccatalyst-arm64;linux-s390x" />
542 <KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="net6.0" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="6.0.0" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-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" />
543 <KnownCrossgen2Pack Include="Microsoft.NETCore.App.Crossgen2" TargetFramework="net6.0" Crossgen2PackNamePattern="Microsoft.NETCore.App.Crossgen2.**RID**" Crossgen2PackVersion="6.0.0" 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" />
544 <KnownRuntimePack Include="Microsoft.NETCore.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.NETCore.App" LatestRuntimeFrameworkVersion="6.0.0" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.Mono.**RID**" RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;maccatalyst-x64;maccatalyst-arm64;linux-s390x;browser-wasm;ios-arm64;ios-arm;iossimulator-arm64;iossimulator-x64;iossimulator-x86;tvos-arm64;tvossimulator-arm64;tvossimulator-x64;android-arm64;android-arm;android-x64;android-x86" RuntimePackLabels="Mono" />
545 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="6.0.0" LatestRuntimeFrameworkVersion="6.0.0" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="6.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" />
546 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="6.0.0" LatestRuntimeFrameworkVersion="6.0.0" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="6.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WPF" />
547 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="6.0.0" LatestRuntimeFrameworkVersion="6.0.0" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="6.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86;win-arm64" IsWindowsOnly="true" Profile="WindowsForms" />
548 <KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="6.0.0" LatestRuntimeFrameworkVersion="6.0.0" TargetingPackName="Microsoft.AspNetCore.App.Ref" TargetingPackVersion="6.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;osx-arm64;linux-s390x" />
549 <KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" TargetFramework="net6.0-windows10.0.17763.0" RuntimeFrameworkName="Microsoft.Windows.SDK.NET.Ref" DefaultRuntimeFrameworkVersion="10.0.17763.21" LatestRuntimeFrameworkVersion="10.0.17763.21" TargetingPackName="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.17763.21" RuntimePackAlwaysCopyLocal="true" RuntimePackNamePatterns="Microsoft.Windows.SDK.NET.Ref" RuntimePackRuntimeIdentifiers="any" IsWindowsOnly="true" />
550 <KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" TargetFramework="net6.0-windows10.0.18362.0" RuntimeFrameworkName="Microsoft.Windows.SDK.NET.Ref" DefaultRuntimeFrameworkVersion="10.0.18362.21" LatestRuntimeFrameworkVersion="10.0.18362.21" TargetingPackName="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.18362.21" RuntimePackAlwaysCopyLocal="true" RuntimePackNamePatterns="Microsoft.Windows.SDK.NET.Ref" RuntimePackRuntimeIdentifiers="any" IsWindowsOnly="true" />
551 <KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" TargetFramework="net6.0-windows10.0.19041.0" RuntimeFrameworkName="Microsoft.Windows.SDK.NET.Ref" DefaultRuntimeFrameworkVersion="10.0.19041.21" LatestRuntimeFrameworkVersion="10.0.19041.21" TargetingPackName="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.19041.21" RuntimePackAlwaysCopyLocal="true" RuntimePackNamePatterns="Microsoft.Windows.SDK.NET.Ref" RuntimePackRuntimeIdentifiers="any" IsWindowsOnly="true" />
552 <!-- .NET 5.0 -->
553 <KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.12" 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;rhel.6-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" />
554 <KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="net5.0" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="5.0.12" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm" />
555 <KnownCrossgen2Pack Include="Microsoft.NETCore.App.Crossgen2" TargetFramework="net5.0" Crossgen2PackNamePattern="Microsoft.NETCore.App.Crossgen2.**RID**" Crossgen2PackVersion="5.0.12" Crossgen2RuntimeIdentifiers="linux-musl-x64;linux-x64;win-x64" />
556 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.12" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" />
557 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.12" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WPF" />
558 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.12" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="5.0.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WindowsForms" />
559 <KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="net5.0" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="5.0.0" LatestRuntimeFrameworkVersion="5.0.12" 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" />
560 <KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" TargetFramework="net5.0-windows10.0.17763.0" RuntimeFrameworkName="Microsoft.Windows.SDK.NET.Ref" DefaultRuntimeFrameworkVersion="10.0.17763.21" LatestRuntimeFrameworkVersion="10.0.17763.21" TargetingPackName="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.17763.21" RuntimePackAlwaysCopyLocal="true" RuntimePackNamePatterns="Microsoft.Windows.SDK.NET.Ref" RuntimePackRuntimeIdentifiers="any" IsWindowsOnly="true" />
561 <KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" TargetFramework="net5.0-windows10.0.18362.0" RuntimeFrameworkName="Microsoft.Windows.SDK.NET.Ref" DefaultRuntimeFrameworkVersion="10.0.18362.21" LatestRuntimeFrameworkVersion="10.0.18362.21" TargetingPackName="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.18362.21" RuntimePackAlwaysCopyLocal="true" RuntimePackNamePatterns="Microsoft.Windows.SDK.NET.Ref" RuntimePackRuntimeIdentifiers="any" IsWindowsOnly="true" />
562 <KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" TargetFramework="net5.0-windows10.0.19041.0" RuntimeFrameworkName="Microsoft.Windows.SDK.NET.Ref" DefaultRuntimeFrameworkVersion="10.0.19041.21" LatestRuntimeFrameworkVersion="10.0.19041.21" TargetingPackName="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.19041.21" RuntimePackAlwaysCopyLocal="true" RuntimePackNamePatterns="Microsoft.Windows.SDK.NET.Ref" RuntimePackRuntimeIdentifiers="any" IsWindowsOnly="true" />
563 <!-- .NET Core 3.1 -->
564 <KnownFrameworkReference Include="Microsoft.NETCore.App" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.NETCore.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.21" 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;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" IsTrimmable="true" />
565 <KnownAppHostPack Include="Microsoft.NETCore.App" TargetFramework="netcoreapp3.1" AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**" AppHostPackVersion="3.1.21" AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" />
566 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.21" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.1.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" />
567 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.21" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.1.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WPF" />
568 <KnownFrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.WindowsDesktop.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.21" TargetingPackName="Microsoft.WindowsDesktop.App.Ref" TargetingPackVersion="3.1.0" RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**" RuntimePackRuntimeIdentifiers="win-x64;win-x86" IsWindowsOnly="true" Profile="WindowsForms" />
569 <KnownFrameworkReference Include="Microsoft.AspNetCore.App" TargetFramework="netcoreapp3.1" RuntimeFrameworkName="Microsoft.AspNetCore.App" DefaultRuntimeFrameworkVersion="3.1.0" LatestRuntimeFrameworkVersion="3.1.21" 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" />
570 <!-- .NET Core 3.0 -->
571 <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;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" IsTrimmable="true" />
572 <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;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" />
573 <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" />
574 <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" />
575 <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" />
576 <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" />
577 <KnownFrameworkReference Include="NETStandard.Library" TargetFramework="netstandard2.1" TargetingPackName="NETStandard.Library.Ref" TargetingPackVersion="2.1.0" />
578 <!-- Supported Windows versions -->
579 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.22000.0" WindowsSdkPackageVersion="10.0.22000.21" MinimumNETVersion="5.0" />
580 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.20348.0" WindowsSdkPackageVersion="10.0.20348.21" MinimumNETVersion="5.0" />
581 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.19041.0" WindowsSdkPackageVersion="10.0.19041.21" MinimumNETVersion="5.0" />
582 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.18362.0" WindowsSdkPackageVersion="10.0.18362.21" MinimumNETVersion="5.0" />
583 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.17763.0" WindowsSdkPackageVersion="10.0.17763.21" MinimumNETVersion="5.0" />
584 <WindowsSdkSupportedTargetPlatformVersion Include="8.0" />
585 <WindowsSdkSupportedTargetPlatformVersion Include="7.0" />
586 </ItemGroup>
587 <!--
588============================================================================================================================================
589 </Import>
590
591C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.props
592============================================================================================================================================
593-->
594 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
595 <!-- Set RuntimeIdentifier graph for NuGet (this needs to be after NETCoreSdkBundledVersionsProps is imported, as that's where
596 BundledRuntimeIdentifierGraphFile is set. -->
597 <RuntimeIdentifierGraphPath Condition="'$(RuntimeIdentifierGraphPath)' == ''">$(BundledRuntimeIdentifierGraphFile)</RuntimeIdentifierGraphPath>
598 </PropertyGroup>
599 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
600 <!-- Disable web SDK implicit package versions for ASP.NET packages, since the .NET SDK now handles that -->
601 <EnableWebSdkImplicitPackageVersions>false</EnableWebSdkImplicitPackageVersions>
602 </PropertyGroup>
603 <ItemGroup Condition=" '$(EnableDefaultItems)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
604 <Compile Include="**/*$(DefaultLanguageSourceExtension)" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" Condition=" '$(EnableDefaultCompileItems)' == 'true' " />
605 <EmbeddedResource Include="**/*.resx" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" Condition=" '$(EnableDefaultEmbeddedResourceItems)' == 'true' " />
606 </ItemGroup>
607 <ItemGroup Condition=" '$(EnableDefaultItems)' == 'true' And '$(EnableDefaultNoneItems)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
608 <None Include="**/*" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
609 <None Remove="**/*$(DefaultLanguageSourceExtension)" />
610 <None Remove="**/*.resx" />
611 </ItemGroup>
612 <!-- Automatically reference NETStandard.Library or Microsoft.NETCore.App package if targeting the corresponding target framework.
613 We can refer here in the .props file to properties set in the .targets files because items and their conditions are
614 evaluated in the second pass of evaluation, after all properties have been evaluated. -->
615 <ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(_TargetFrameworkVersionWithoutV)' &lt; '2.1'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
616 <PackageReference Include="NETStandard.Library" Version="$(NETStandardImplicitPackageVersion)" IsImplicitlyDefined="true" />
617 <!-- If targeting .NET Standard 2.0 or higher, then don't include a dependency on NETStandard.Library in the package produced by pack -->
618 <PackageReference Update="NETStandard.Library" Condition=" ('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &gt;= '2.0') " PrivateAssets="All" Publish="true" />
619 </ItemGroup>
620 <ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(_TargetFrameworkVersionWithoutV)' &gt;= '2.1'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
621 <FrameworkReference Include="NETStandard.Library" IsImplicitlyDefined="true" Pack="false" PrivateAssets="All" />
622 </ItemGroup>
623 <ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
624 <!-- Use implicit PackageReference for Microsoft.NETCore.App on versions prior to 3.0. For 3.0 or higher, use
625 an implicit FrameworkReference -->
626 <PackageReference Include="Microsoft.NETCore.App" IsImplicitlyDefined="true" Condition="('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &lt; '3.0')" />
627 <!-- For targeting .NET Core 2.0 or higher, don't include a dependency on Microsoft.NETCore.App in the package produced by pack.
628 Packing an DotnetCliTool should include the Microsoft.NETCore.App package dependency. -->
629 <PackageReference Update="Microsoft.NETCore.App" Condition="('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &gt;= '2.0') And ('$(PackageType)' != 'DotnetCliTool')" PrivateAssets="All" Publish="true" />
630 <FrameworkReference Include="Microsoft.NETCore.App" IsImplicitlyDefined="true" Pack="false" PrivateAssets="All" Condition="('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0')" />
631 <!-- Allow opt-in to Mono runtime pack for .NET 6.0 or higher -->
632 <FrameworkReference Update="Microsoft.NETCore.App" RuntimePackLabels="Mono" Condition="'$(UseMonoRuntime)' == 'true' And ('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &gt;= '6.0')" />
633 </ItemGroup>
634 <!--
635============================================================================================================================================
636 </Import>
637
638C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
639============================================================================================================================================
640-->
641 <!-- Put workload resolution behind a feature flag. It can be enabled either by setting the MSBuildEnableWorkloadResolver environment variable to true, or by
642 putting an EnableWorkloadResolver.sentinel file beside the MSBuild SDK resolver DLL -->
643 <PropertyGroup Condition="'$(MSBuildEnableWorkloadResolver)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
644 <__DisableWorkloadResolverSentinelPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildBinPath)\DisableWorkloadResolver.sentinel</__DisableWorkloadResolverSentinelPath>
645 <__DisableWorkloadResolverSentinelPath Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildBinPath)\SdkResolvers\Microsoft.DotNet.MSBuildSdkResolver\DisableWorkloadResolver.sentinel</__DisableWorkloadResolverSentinelPath>
646 <MSBuildEnableWorkloadResolver Condition="!Exists('$(__DisableWorkloadResolverSentinelPath)')">true</MSBuildEnableWorkloadResolver>
647 </PropertyGroup>
648 <!-- Import workload props -->
649 <!--
650============================================================================================================================================
651 <Import Project="Microsoft.NET.Sdk.ImportWorkloads.props" Condition="'$(MSBuildEnableWorkloadResolver)' == 'true'">
652
653C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.props
654============================================================================================================================================
655-->
656 <!--
657***********************************************************************************************
658Microsoft.NET.Sdk.ImportWorkloads.props
659
660WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
661 created a backup copy. Incorrect changes to this file will make it
662 impossible to load or build your projects from the command-line or the IDE.
663
664Copyright (c) .NET Foundation. All rights reserved.
665***********************************************************************************************
666-->
667 <!-- Import workload props -->
668 <!--<Import Project="AutoImport.props" Sdk="Microsoft.NET.SDK.WorkloadAutoImportPropsLocator" />-->
669 <!--
670============================================================================================================================================
671 </Import>
672
673C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
674============================================================================================================================================
675-->
676 <!-- List of supported .NET Core and .NET Standard TFMs -->
677 <!--
678============================================================================================================================================
679 <Import Project="Microsoft.NET.SupportedTargetFrameworks.props">
680
681C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.SupportedTargetFrameworks.props
682============================================================================================================================================
683-->
684 <!--
685***********************************************************************************************
686Microsoft.NET.SupportedTargetFrameworks.targets
687
688WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
689 created a backup copy. Incorrect changes to this file will make it
690 impossible to load or build your projects from the command-line or the IDE.
691
692Copyright (c) .NET Foundation. All rights reserved.
693***********************************************************************************************
694-->
695 <!-- This file contains a list of the TFMs that are supported by this SDK for .NET Core, .NET Standard, and .NET Framework.
696 This is used by VS to show the list of frameworks to which projects can be retargeted. -->
697 <!-- .NET Core App -->
698 <ItemGroup>
699 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.0" DisplayName=".NET Core 1.0" Alias="netcoreapp1.0" />
700 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.1" DisplayName=".NET Core 1.1" Alias="netcoreapp1.1" />
701 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.0" DisplayName=".NET Core 2.0" Alias="netcoreapp2.0" />
702 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.1" DisplayName=".NET Core 2.1" Alias="netcoreapp2.1" />
703 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.2" DisplayName=".NET Core 2.2" Alias="netcoreapp2.2" />
704 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v3.0" DisplayName=".NET Core 3.0" Alias="netcoreapp3.0" />
705 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v3.1" DisplayName=".NET Core 3.1" Alias="netcoreapp3.1" />
706 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v5.0" DisplayName=".NET 5.0" Alias="net5.0" />
707 <SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v6.0" DisplayName=".NET 6.0" Alias="net6.0" Condition="$([MSBuild]::VersionGreaterThanOrEquals($(MSBuildVersion), '17.0'))" />
708 </ItemGroup>
709 <!-- .NET Standard -->
710 <ItemGroup>
711 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.0" DisplayName=".NET Standard 1.0" Alias="netstandard1.0" />
712 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.1" DisplayName=".NET Standard 1.1" Alias="netstandard1.1" />
713 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.2" DisplayName=".NET Standard 1.2" Alias="netstandard1.2" />
714 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.3" DisplayName=".NET Standard 1.3" Alias="netstandard1.3" />
715 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.4" DisplayName=".NET Standard 1.4" Alias="netstandard1.4" />
716 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.5" DisplayName=".NET Standard 1.5" Alias="netstandard1.5" />
717 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v1.6" DisplayName=".NET Standard 1.6" Alias="netstandard1.6" />
718 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v2.0" DisplayName=".NET Standard 2.0" Alias="netstandard2.0" />
719 <SupportedNETStandardTargetFramework Include=".NETStandard,Version=v2.1" DisplayName=".NET Standard 2.1" Alias="netstandard2.1" />
720 </ItemGroup>
721 <!-- .NET Framework -->
722 <ItemGroup>
723 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v2.0" DisplayName=".NET Framework 2.0" Alias="net20" />
724 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v3.0" DisplayName=".NET Framework 3.0" Alias="net30" />
725 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v3.5" DisplayName=".NET Framework 3.5" Alias="net35" />
726 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.0" DisplayName=".NET Framework 4.0" Alias="net40" />
727 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.5" DisplayName=".NET Framework 4.5" Alias="net45" />
728 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.5.1" DisplayName=".NET Framework 4.5.1" Alias="net451" />
729 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.5.2" DisplayName=".NET Framework 4.5.2" Alias="net452" />
730 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.6" DisplayName=".NET Framework 4.6" Alias="net46" />
731 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.6.1" DisplayName=".NET Framework 4.6.1" Alias="net461" />
732 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.6.2" DisplayName=".NET Framework 4.6.2" Alias="net462" />
733 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.7" DisplayName=".NET Framework 4.7" Alias="net47" />
734 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.7.1" DisplayName=".NET Framework 4.7.1" Alias="net471" />
735 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.7.2" DisplayName=".NET Framework 4.7.2" Alias="net472" />
736 <SupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v4.8" DisplayName=".NET Framework 4.8" Alias="net48" />
737 </ItemGroup>
738 <!-- All supported target frameworks -->
739 <ItemGroup>
740 <SupportedTargetFramework Include="@(SupportedNETCoreAppTargetFramework);@(SupportedNETStandardTargetFramework);@(SupportedNETFrameworkTargetFramework)" />
741 </ItemGroup>
742 <!--
743============================================================================================================================================
744 </Import>
745
746C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
747============================================================================================================================================
748-->
749 <!-- List of supported target platforms -->
750 <!--
751============================================================================================================================================
752 <Import Project="Microsoft.NET.SupportedPlatforms.props">
753
754C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.SupportedPlatforms.props
755============================================================================================================================================
756-->
757 <!--
758***********************************************************************************************
759Microsoft.NET.SupportedPlatforms.props
760
761WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
762 created a backup copy. Incorrect changes to this file will make it
763 impossible to load or build your projects from the command-line or the IDE.
764
765Copyright (c) .NET Foundation. All rights reserved.
766***********************************************************************************************
767-->
768 <ItemGroup>
769 <!-- Platforms supported by this SDK for analyzer warnings. Spec: https://github.com/dotnet/designs/blob/main/accepted/2020/platform-exclusion/platform-exclusion.md -->
770 <SupportedPlatform Include="Linux" />
771 <SupportedPlatform Include="macOS" />
772 <SupportedPlatform Include="Windows" />
773 </ItemGroup>
774 <!--
775============================================================================================================================================
776 </Import>
777
778C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
779============================================================================================================================================
780-->
781 <!-- List of supported .NET windows target platform versions -->
782 <!--
783============================================================================================================================================
784 <Import Project="Microsoft.NET.WindowsSdkSupportedTargetPlatforms.props">
785
786C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.WindowsSdkSupportedTargetPlatforms.props
787============================================================================================================================================
788-->
789 <!--
790***********************************************************************************************
791Microsoft.NET.WindowsSdkSupportedTargetPlatforms.props
792
793WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
794 created a backup copy. Incorrect changes to this file will make it
795 impossible to load or build your projects from the command-line or the IDE.
796
797Copyright (c) .NET Foundation. All rights reserved.
798***********************************************************************************************
799-->
800 <!-- 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 -->
801 <!-- 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 -->
802 <ItemGroup Condition="'@(WindowsSdkSupportedTargetPlatformVersion)' == ''">
803 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.19041.0" WindowsSdkPackageVersion="10.0.19041.16" MinimumNETVersion="5.0" />
804 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.18362.0" WindowsSdkPackageVersion="10.0.18362.16" MinimumNETVersion="5.0" />
805 <WindowsSdkSupportedTargetPlatformVersion Include="10.0.17763.0" WindowsSdkPackageVersion="10.0.17763.16" MinimumNETVersion="5.0" />
806 <WindowsSdkSupportedTargetPlatformVersion Include="8.0" />
807 <WindowsSdkSupportedTargetPlatformVersion Include="7.0" />
808 </ItemGroup>
809 <ItemGroup>
810 <SdkSupportedTargetPlatformVersion Condition="'$(TargetPlatformIdentifier)' == 'Windows'" Include="@(WindowsSdkSupportedTargetPlatformVersion)" />
811 </ItemGroup>
812 <!--
813============================================================================================================================================
814 </Import>
815
816C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
817============================================================================================================================================
818-->
819 <!--
820============================================================================================================================================
821 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.CSharp.props" Condition="'$(MSBuildProjectExtension)' == '.csproj'">
822
823C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.CSharp.props
824============================================================================================================================================
825-->
826 <!--
827***********************************************************************************************
828Microsoft.NET.Sdk.CSharp.props
829
830WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
831 created a backup copy. Incorrect changes to this file will make it
832 impossible to load or build your projects from the command-line or the IDE.
833
834Copyright (c) .NET Foundation. All rights reserved.
835***********************************************************************************************
836-->
837 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
838 <WarningLevel Condition=" '$(WarningLevel)' == '' ">4</WarningLevel>
839 <NoWarn Condition=" '$(NoWarn)' == '' ">1701;1702</NoWarn>
840 <!-- Remove the line below once https://github.com/Microsoft/visualfsharp/issues/3207 gets fixed -->
841 <WarningsAsErrors>$(WarningsAsErrors);NU1605</WarningsAsErrors>
842 </PropertyGroup>
843 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
844 <DefineConstants Condition=" '$(DefineConstants)' != '' ">$(DefineConstants);</DefineConstants>
845 <DefineConstants>$(DefineConstants)TRACE</DefineConstants>
846 </PropertyGroup>
847 <!-- Implicit imports -->
848 <ItemGroup Condition="'$(ImplicitUsings)' == 'true' Or '$(ImplicitUsings)' == 'enable'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
849 <Using Include="System" />
850 <Using Include="System.Collections.Generic" />
851 <Using Include="System.IO" />
852 <Using Include="System.Linq" />
853 <Using Include="System.Net.Http" />
854 <Using Include="System.Threading" />
855 <Using Include="System.Threading.Tasks" />
856 </ItemGroup>
857 <!--
858============================================================================================================================================
859 </Import>
860
861C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
862============================================================================================================================================
863-->
864 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.VisualBasic.props" Condition="'$(MSBuildProjectExtension)' == '.vbproj'" />-->
865 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.FSharp.props" Condition="'$(MSBuildProjectExtension)' == '.fsproj'" />-->
866 <!--
867============================================================================================================================================
868 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ILLink.props">
869
870C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ILLink.props
871============================================================================================================================================
872-->
873 <!--
874***********************************************************************************************
875Microsoft.NET.ILLink.props
876
877WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
878 created a backup copy. Incorrect changes to this file will make it
879 impossible to load or build your projects from the command-line or the IDE.
880
881Copyright (c) .NET Foundation. All rights reserved.
882***********************************************************************************************
883-->
884 <!--
885============================================================================================================================================
886 <Import Project="Sdk.props" Sdk="Microsoft.NET.ILLink.Tasks">
887
888C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.ILLink.Tasks\Sdk\Sdk.props
889============================================================================================================================================
890-->
891 <!--
892***********************************************************************************************
893Sdk.props
894
895WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
896 created a backup copy. Incorrect changes to this file will make it
897 impossible to load or build your projects from the command-line or the IDE.
898
899Copyright (c) .NET Foundation. All rights reserved.
900***********************************************************************************************
901-->
902 <!-- Only import the build props if the ILLink.Tasks package isn't referenced via NuGet. -->
903 <!--
904============================================================================================================================================
905 <Import Project="$(MSBuildThisFileDirectory)..\build\Microsoft.NET.ILLink.Tasks.props" Condition="'$(UsingILLinkTasksSdk)' != 'true'">
906
907C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.ILLink.Tasks\build\Microsoft.NET.ILLink.Tasks.props
908============================================================================================================================================
909-->
910 <!--
911***********************************************************************************************
912Microsoft.NET.ILLink.Tasks.props
913
914WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
915 created a backup copy. Incorrect changes to this file will make it
916 impossible to load or build your projects from the command-line or the IDE.
917
918Copyright (c) .NET Foundation. All rights reserved.
919***********************************************************************************************
920-->
921 <PropertyGroup>
922 <UsingILLinkTasksSdk>true</UsingILLinkTasksSdk>
923 <ILLinkTasksAssembly Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\net6.0\ILLink.Tasks.dll</ILLinkTasksAssembly>
924 <ILLinkTasksAssembly Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\net472\ILLink.Tasks.dll</ILLinkTasksAssembly>
925 </PropertyGroup>
926 <!--
927============================================================================================================================================
928 </Import>
929
930C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.ILLink.Tasks\Sdk\Sdk.props
931============================================================================================================================================
932-->
933 <!--
934============================================================================================================================================
935 </Import>
936
937C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ILLink.props
938============================================================================================================================================
939-->
940 <!--
941============================================================================================================================================
942 </Import>
943
944C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
945============================================================================================================================================
946-->
947 <!--
948============================================================================================================================================
949 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Compatibility.props">
950
951C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Compatibility.props
952============================================================================================================================================
953-->
954 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
955 <PropertyGroup>
956 <DotNetCompatibilityAssembly Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\net472\Microsoft.DotNet.Compatibility.dll</DotNetCompatibilityAssembly>
957 <DotNetCompatibilityAssembly Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\net6.0\Microsoft.DotNet.Compatibility.dll</DotNetCompatibilityAssembly>
958 </PropertyGroup>
959 <!--
960============================================================================================================================================
961 </Import>
962
963C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
964============================================================================================================================================
965-->
966 <!--
967============================================================================================================================================
968 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackTool.props">
969
970C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.PackTool.props
971============================================================================================================================================
972-->
973 <!--
974***********************************************************************************************
975Microsoft.NET.PackTool.props
976
977WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
978 created a backup copy. Incorrect changes to this file will make it
979 impossible to load or build your projects from the command-line or the IDE.
980
981Copyright (c) .NET Foundation. All rights reserved.
982***********************************************************************************************
983-->
984 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
985 <TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);PackTool</TargetsForTfmSpecificContentInPackage>
986 </PropertyGroup>
987 <!--
988============================================================================================================================================
989 </Import>
990
991C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
992============================================================================================================================================
993-->
994 <!--
995============================================================================================================================================
996 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackProjectTool.props">
997
998C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.PackProjectTool.props
999============================================================================================================================================
1000-->
1001 <!--
1002***********************************************************************************************
1003Microsoft.NET.PackProjectTool.props
1004
1005WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1006 created a backup copy. Incorrect changes to this file will make it
1007 impossible to load or build your projects from the command-line or the IDE.
1008
1009Copyright (c) .NET Foundation. All rights reserved.
1010***********************************************************************************************
1011-->
1012 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1013 <TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);_PackProjectToolValidation</TargetsForTfmSpecificContentInPackage>
1014 </PropertyGroup>
1015 <!--
1016============================================================================================================================================
1017 </Import>
1018
1019C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1020============================================================================================================================================
1021-->
1022 <!--
1023============================================================================================================================================
1024 <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')">
1025
1026C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.props
1027============================================================================================================================================
1028-->
1029 <ItemGroup Condition=" '$(_EnableWindowsDesktopGlobbing)' == 'true' ">
1030 <ApplicationDefinition Include="App.xaml" Condition="'$(EnableDefaultApplicationDefinition)' != 'false' And Exists('$(MSBuildProjectDirectory)/App.xaml') And '$(MSBuildProjectExtension)' == '.csproj'">
1031 <Generator>MSBuild:Compile</Generator>
1032 <XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime>
1033 </ApplicationDefinition>
1034 <ApplicationDefinition Include="Application.xaml" Condition="'$(EnableDefaultApplicationDefinition)' != 'false' And Exists('$(MSBuildProjectDirectory)/Application.xaml') And '$(MSBuildProjectExtension)' == '.vbproj'">
1035 <Generator>MSBuild:Compile</Generator>
1036 <XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime>
1037 </ApplicationDefinition>
1038 <Page Include="**/*.xaml" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);@(ApplicationDefinition)" Condition="'$(EnableDefaultPageItems)' != 'false'">
1039 <Generator>MSBuild:Compile</Generator>
1040 <XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime>
1041 </Page>
1042 <!--
1043 See https://github.com/dotnet/wpf/issues/685
1044 Visual Studio would prefer that we remove **/*.xaml instead of
1045 being more precise.
1046
1047 <None Remove="@(Page)"
1048 Condition="'$(EnableDefaultPageItems)' != 'false'" />
1049 <None Remove="@(ApplicationDefinition)"
1050 Condition="'$(EnableDefaultApplicationDefinition)' != 'false'" />
1051 -->
1052 <None Remove="**/*.xaml" Condition="'$(EnableDefaultApplicationDefinition)' != 'false' And '$(EnableDefaultPageItems)' != 'false'" />
1053 </ItemGroup>
1054 <ItemGroup Condition=" '$(_EnableWindowsDesktopNetCoreFrameworkReferences)' == 'true' ">
1055 <FrameworkReference Include="Microsoft.WindowsDesktop.App" IsImplicitlyDefined="true" Condition="('$(UseWPF)' == 'true') And ('$(UseWindowsForms)' == 'true')" />
1056 <FrameworkReference Include="Microsoft.WindowsDesktop.App.WPF" IsImplicitlyDefined="true" Condition="('$(UseWPF)' == 'true') And ('$(UseWindowsForms)' != 'true')" />
1057 <FrameworkReference Include="Microsoft.WindowsDesktop.App.WindowsForms" IsImplicitlyDefined="true" Condition="('$(UseWPF)' != 'true') And ('$(UseWindowsForms)' == 'true')" />
1058 </ItemGroup>
1059 <!--
1060 Traditionally, Visual Studio has supplied these references for .NET Framework based
1061 WPF Projects:
1062
1063 .NET 3.x: PresentationCore, PresentationFramework, WindowsBase
1064 .NET 4.x: PresentationCore, PresentationFramework, WindowsBase, System.Xaml
1065
1066
1067 Microsoft.NET.WindowsDesktop.SDK will supply the following references to .NET Framework based
1068 WPF Projects:
1069
1070 .NET 3.x: PresentationCore, PresentationFramework, WindowsBase
1071
1072 .NET 4.0: PresentationCore, PresentationFramework, WindowsBase, System.Xaml,
1073 UIAutomationClient, UIAutomationClientSideProviders, UIAutomationProvider, UIAutomationTypes
1074
1075 .NET 4.5+: PresentationCore, PresentationFramework, WindowsBase, System.Xaml,
1076 UIAutomationClient, UIAutomationClientSideProviders, UIAutomationProvider, UIAutomationTypes
1077 System.Windows.Controls.Ribbon
1078 -->
1079 <ItemGroup Condition=" '$(_EnableWindowsDesktopNETFrameworkImplicitReference)' == 'true' ">
1080 <!--
1081 The following 3 _WpfCommonNetFxReference items normally require Condition="'$(_TargetFrameworkVersionValue)' >= '3.0'", since
1082 they are supported on .NET Framework 3.0 and above.
1083
1084 This condition is implicitly satisfied by '$(_TargetFrameworkVersionValue)' >= '$(_WindowsDesktopSdkTargetFrameworkVersionFloor)'
1085 in the outer ItemGroup
1086 -->
1087 <_WpfCommonNetFxReference Include="WindowsBase" />
1088 <_WpfCommonNetFxReference Include="PresentationCore" />
1089 <_WpfCommonNetFxReference Include="PresentationFramework" />
1090 <_WpfCommonNetFxReference Include="System.Xaml" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' &gt;= '4.0'">
1091 <RequiredTargetFramework>4.0</RequiredTargetFramework>
1092 </_WpfCommonNetFxReference>
1093 <_WpfCommonNetFxReference Include="UIAutomationClient" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' &gt;= '4.0'" />
1094 <_WpfCommonNetFxReference Include="UIAutomationClientSideProviders" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' &gt;= '4.0'" />
1095 <_WpfCommonNetFxReference Include="UIAutomationProvider" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' &gt;= '4.0'" />
1096 <_WpfCommonNetFxReference Include="UIAutomationTypes" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' &gt;= '4.0'" />
1097 <_WpfCommonNetFxReference Include="System.Windows.Controls.Ribbon" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' &gt;= '4.5'" />
1098 </ItemGroup>
1099 <ItemGroup Condition=" '$(_EnableWindowsDesktopNETFrameworkImplicitReference)' == 'true' ">
1100 <_SDKImplicitReference Include="@(_WpfCommonNetFxReference)" Condition="'$(UseWPF)' == 'true'" />
1101 <_SDKImplicitReference Include="System.Windows.Forms" Condition="('$(UseWindowsForms)' == 'true') " />
1102 <_SDKImplicitReference Include="WindowsFormsIntegration" Condition=" ('$(UseWindowsForms)' == 'true') And ('$(UseWPF)' == 'true') " />
1103 </ItemGroup>
1104 <!--
1105 Supported (and unsupported) TargetFrameworks
1106
1107 Visual Studio Project System determines the list of valid TargetFrameworks to show
1108 in the Project properties by querying SupportedTargetFramework values.
1109
1110 The Project System does not refer to this list at this time for .NET Framework TFM's.
1111 -->
1112 <!--
1113 When WindowsDesktop SDK is used without setting UseWPF or UseWindowsForms, it shows a (suppressible) warning and functions much
1114 like Microsoft.NET.Sdk
1115
1116 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
1117 Microsoft.NET.Sdk project (and show a suppressible build-time warning).
1118
1119 Detect these situations and skip updates to @(SupportedTargetFramework) etc.
1120 -->
1121 <ItemGroup Condition=" '$(_RemoveUnsupportedTargetFrameworksForWindowsDesktop)' == 'true' ">
1122 <!--
1123 Windows Forms and WPF are supported only on .NET Core 3.0+
1124 -->
1125 <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.0" />
1126 <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.1" />
1127 <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.0" />
1128 <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.1" />
1129 <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.2" />
1130 <!--
1131 Windows Forms and WPF are not supported an any .NET Standard targets
1132 -->
1133 <_UnsupportedNETStandardTargetFramework Include="@(SupportedNETStandardTargetFramework)" />
1134 <!--
1135 Windows Forms was supported since .NET Framework 1.0, and is currently supported on
1136 .NET Framework 2.0+.
1137
1138 WPF is supported on .NET Framework and WPF are supported on .NET Framework 3.0+
1139
1140 In practice, the WindowsDesktop SDK is only supported on .NET Framework 3.0+ - this is controlled
1141 by $(_WindowsDesktopSdkTargetFrameworkVersionFloor), defined as 3.0, which applies to both .NETFramework
1142 and .NETCore.
1143
1144 Here, we will encode .NET Framework 3.0 as the lowest supported version for both Windows Forms and WPF.
1145
1146 The SDK does not define versions < 2.0 in @(SupportedNETFrameworkTargetFramework) list, so none of those
1147 need to be excluded here - removing 2.0 would suffice.
1148 -->
1149 <_UnsupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v2.0" />
1150 <SupportedNETCoreAppTargetFramework Remove="@(_UnsupportedNETCoreAppTargetFramework)" />
1151 <SupportedNETStandardTargetFramework Remove="@(_UnsupportedNETStandardTargetFramework)" />
1152 <SupportedNETFrameworkTargetFramework Remove="@(_UnsupportedNETFrameworkTargetFramework)" />
1153 <SupportedTargetFramework Remove="@(_UnsupportedNETCoreAppTargetFramework);@(_UnsupportedNETStandardTargetFramework);@(_UnsupportedNETFrameworkTargetFramework)" />
1154 </ItemGroup>
1155 <!--
1156 Import Windows Forms props.
1157 These come via the Windows Forms transport package, that can be found under
1158 https://github.com/dotnet/winforms/tree/main/pkg/Microsoft.Private.Winforms/sdk
1159 -->
1160 <!--
1161============================================================================================================================================
1162 <Import Project="Microsoft.NET.Sdk.WindowsDesktop.WindowsForms.props">
1163
1164C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.WindowsForms.props
1165============================================================================================================================================
1166-->
1167 <!--
1168 This props file comes from dotnet/winforms. It gets ingested by dotnet/wpf and processed by
1169 packaging/Microsoft.NET.Sdk.WindowsDesktop project.
1170
1171 It is referenced via Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.props.
1172 -->
1173 <!--
1174 ============================================================
1175 GenerateImplicitNamespaceImports
1176 Generates implicit namespace imports source to intermediate directory for Windows Forms projects
1177 ============================================================
1178 -->
1179 <ItemGroup Condition="'$(UseWindowsForms)' == 'true' and ('$(ImplicitUsings)' == 'true' or '$(ImplicitUsings)' == 'enable')">
1180 <!--
1181 SDK defines the following global usings:
1182 * System
1183 * System.Collections.Generic
1184 * System.Linq
1185 * System.Threading.Tasks
1186 -->
1187 <Using Include="System.Drawing" />
1188 <Using Include="System.Windows.Forms" />
1189 </ItemGroup>
1190 <!-- Windows Forms source generator and analyzers -->
1191 <!--
1192============================================================================================================================================
1193 <Import Project="System.Windows.Forms.Analyzers.props">
1194
1195C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\System.Windows.Forms.Analyzers.props
1196============================================================================================================================================
1197-->
1198 <!--
1199 This props file comes from dotnet/winforms. It gets ingested by dotnet/wpf and processed by
1200 packaging/Microsoft.NET.Sdk.WindowsDesktop project.
1201
1202 It is referenced via Microsoft.NET.Sdk.WindowsDesktop.WindowsForms.props.
1203 -->
1204 <!-- Import for Windows Forms applications or when developing/testing locally -->
1205 <ItemGroup Condition="('$(UseWindowsForms)' == 'true') or ('$(ResolveWinFormsAnalyzersFromSdkRefPack)' == 'false')">
1206 <!-- Known Application properties -->
1207 <CompilerVisibleProperty Include="ApplicationManifest" />
1208 <CompilerVisibleProperty Include="StartupObject" />
1209 <!--
1210 Custom Application properties
1211 See for more details: https://github.com/dotnet/designs/blob/main/accepted/2021/winforms/streamline-application-bootstrap.md#msbuild-properties
1212 -->
1213 <CompilerVisibleProperty Include="ApplicationDefaultFont" />
1214 <CompilerVisibleProperty Include="ApplicationHighDpiMode" />
1215 <CompilerVisibleProperty Include="ApplicationUseCompatibleTextRendering" />
1216 <CompilerVisibleProperty Include="ApplicationVisualStyles" />
1217 <!-- If there is an app.manifest - let the generator explore it -->
1218 <AdditionalFiles Include="$(ApplicationManifest)" Condition="'$(ApplicationManifest)' != ''" />
1219 </ItemGroup>
1220 <!--
1221============================================================================================================================================
1222 </Import>
1223
1224C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.WindowsForms.props
1225============================================================================================================================================
1226-->
1227 <!--
1228============================================================================================================================================
1229 </Import>
1230
1231C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.props
1232============================================================================================================================================
1233-->
1234 <!--
1235============================================================================================================================================
1236 <Import Project="Microsoft.NET.Sdk.WindowsDesktop.WPF.props">
1237
1238C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.WPF.props
1239============================================================================================================================================
1240-->
1241 <!--
1242 Generates implicit global namespace imports file <projectname>.ImplicitGlobalNamespaceImports.cs.
1243 -->
1244 <ItemGroup Condition="'$(UseWPF)' == 'true' and ('$(ImplicitUsings)' == 'true' or '$(ImplicitUsings)' == 'enable')">
1245 <Using Remove="System.IO" />
1246 <Using Remove="System.Net.Http" />
1247 </ItemGroup>
1248 <!--
1249============================================================================================================================================
1250 </Import>
1251
1252C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.props
1253============================================================================================================================================
1254-->
1255 <!--
1256============================================================================================================================================
1257 </Import>
1258
1259C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1260============================================================================================================================================
1261-->
1262 <!--
1263============================================================================================================================================
1264 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Windows.props">
1265
1266C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Windows.props
1267============================================================================================================================================
1268-->
1269 <!--
1270***********************************************************************************************
1271Microsoft.NET.Windows.props
1272
1273WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1274 created a backup copy. Incorrect changes to this file will make it
1275 impossible to load or build your projects from the command-line or the IDE.
1276
1277Copyright (c) .NET Foundation. All rights reserved.
1278***********************************************************************************************
1279-->
1280 <ItemGroup Condition=" '$(IncludeWindowsSDKRefFrameworkReferences)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1281 <FrameworkReference Include="Microsoft.Windows.SDK.NET.Ref" IsImplicitlyDefined="true" Pack="false" PrivateAssets="All" />
1282 </ItemGroup>
1283 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1284 <MicrosoftNETWindowsWorkloadInstalled>true</MicrosoftNETWindowsWorkloadInstalled>
1285 <!--https://github.com/dotnet/sdk/issues/12403-->
1286 <_TargetFrameworkVersionValue>0.0</_TargetFrameworkVersionValue>
1287 <_WindowsDesktopSdkTargetFrameworkVersionFloor>3.0</_WindowsDesktopSdkTargetFrameworkVersionFloor>
1288 </PropertyGroup>
1289 <!--
1290============================================================================================================================================
1291 </Import>
1292
1293C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.props
1294============================================================================================================================================
1295-->
1296 <!--
1297============================================================================================================================================
1298 </Import>
1299
1300C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props
1301============================================================================================================================================
1302-->
1303 <!--
1304============================================================================================================================================
1305 </Import>
1306
1307D:\src\wix4\src\test\wix\TestProjects\CsprojConsoleNetCore\CsprojConsoleNetCore.csproj
1308============================================================================================================================================
1309-->
1310 <PropertyGroup>
1311 <OutputType>Exe</OutputType>
1312 <TargetFramework>netcoreapp3.1</TargetFramework>
1313 </PropertyGroup>
1314 <ItemGroup>
1315 <ProjectReference Include="..\CsprojClassLibraryNetCore\CsprojClassLibraryNetCore.csproj" />
1316 </ItemGroup>
1317 <!--
1318============================================================================================================================================
1319 <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk">
1320 This import was added implicitly because the Project element's Sdk attribute specified "Microsoft.NET.Sdk".
1321
1322C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
1323============================================================================================================================================
1324-->
1325 <!--
1326***********************************************************************************************
1327Sdk.targets
1328
1329WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1330 created a backup copy. Incorrect changes to this file will make it
1331 impossible to load or build your projects from the command-line or the IDE.
1332
1333Copyright (c) .NET Foundation. All rights reserved.
1334***********************************************************************************************
1335-->
1336 <!-- Using the same property as Microsoft.CSharp.targets and presumably Microsoft.VisualBasic.targets here -->
1337 <PropertyGroup Condition="'$(TargetFrameworks)' != '' and '$(TargetFramework)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1338 <IsCrossTargetingBuild>true</IsCrossTargetingBuild>
1339 </PropertyGroup>
1340 <!--<Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.BeforeCommonCrossTargeting.targets" Condition="'$(IsCrossTargetingBuild)' == 'true'" />-->
1341 <!--
1342============================================================================================================================================
1343 <Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.BeforeCommon.targets" Condition="'$(IsCrossTargetingBuild)' != 'true'">
1344
1345C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
1346============================================================================================================================================
1347-->
1348 <!--
1349***********************************************************************************************
1350Microsoft.NET.Sdk.BeforeCommon.targets
1351
1352WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1353 created a backup copy. Incorrect changes to this file will make it
1354 impossible to load or build your projects from the command-line or the IDE.
1355
1356Copyright (c) .NET Foundation. All rights reserved.
1357***********************************************************************************************
1358-->
1359 <!-- For projects that aren't using Microsoft.NET.Sdk, these props files won't have been imported yet.
1360 So import them here. -->
1361 <!--<ImportGroup Condition="'$(UsingNETSdkDefaults)' != 'true'">-->
1362 <!--<Import Project="Microsoft.NET.Sdk.DefaultItems.props" />-->
1363 <!--<Import Project="Microsoft.NET.SupportedTargetFrameworks.props" />-->
1364 <!--<Import Project="Microsoft.NET.SupportedPlatforms.props" />-->
1365 <!--<Import Project="Microsoft.NET.WindowsSdkSupportedTargetPlatforms.props" />-->
1366 <!--</ImportGroup>-->
1367 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1368 <_IsExecutable Condition="'$(OutputType)' == 'Exe' or '$(OutputType)'=='WinExe'">true</_IsExecutable>
1369 </PropertyGroup>
1370 <PropertyGroup Condition="'$(HasRuntimeOutput)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1371 <HasRuntimeOutput>$(_IsExecutable)</HasRuntimeOutput>
1372 <_UsingDefaultForHasRuntimeOutput>true</_UsingDefaultForHasRuntimeOutput>
1373 </PropertyGroup>
1374 <!--
1375============================================================================================================================================
1376 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DefaultAssemblyInfo.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'">
1377
1378C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DefaultAssemblyInfo.targets
1379============================================================================================================================================
1380-->
1381 <!--
1382***********************************************************************************************
1383Microsoft.NET.DefaultAssemblyInfo.targets
1384
1385WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1386 created a backup copy. Incorrect changes to this file will make it
1387 impossible to load or build your projects from the command-line or the IDE.
1388
1389Copyright (c) .NET Foundation. All rights reserved.
1390***********************************************************************************************
1391-->
1392 <PropertyGroup Condition=" '$(Version)' == '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1393 <VersionPrefix Condition=" '$(VersionPrefix)' == '' ">1.0.0</VersionPrefix>
1394 <Version Condition=" '$(VersionSuffix)' != '' ">$(VersionPrefix)-$(VersionSuffix)</Version>
1395 <Version Condition=" '$(Version)' == '' ">$(VersionPrefix)</Version>
1396 </PropertyGroup>
1397 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1398 <Authors Condition=" '$(Authors)'=='' ">$(AssemblyName)</Authors>
1399 <Company Condition=" '$(Company)'=='' ">$(Authors)</Company>
1400 <AssemblyTitle Condition=" '$(AssemblyTitle)' == '' ">$(AssemblyName)</AssemblyTitle>
1401 <Product Condition=" '$(Product)' == ''">$(AssemblyName)</Product>
1402 </PropertyGroup>
1403 <!--
1404============================================================================================================================================
1405 </Import>
1406
1407C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
1408============================================================================================================================================
1409-->
1410 <!-- Set default intermediate and output paths -->
1411 <!--
1412============================================================================================================================================
1413 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DefaultOutputPaths.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'">
1414
1415C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DefaultOutputPaths.targets
1416============================================================================================================================================
1417-->
1418 <!--
1419***********************************************************************************************
1420Microsoft.NET.DefaultOutputPaths.targets
1421
1422WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1423 created a backup copy. Incorrect changes to this file will make it
1424 impossible to load or build your projects from the command-line or the IDE.
1425
1426Copyright (c) .NET Foundation. All rights reserved.
1427***********************************************************************************************
1428-->
1429 <!--
1430 Apply the same default output paths as Microsoft.Common.targets now since we're running before them,
1431 but need to adjust them and/or make decisions in terms of them.
1432
1433 Also note that common targets only set a default OutputPath if neither configuration nor
1434 platform were set by the user. This was used to validate that a valid configuration is passed,
1435 assuming the convention maintained by VS that every Configuration|Platform combination had
1436 an explicit OutputPath. Since we now want to support leaner project files with less
1437 duplication and more automatic defaults, we always set a default OutputPath and can no
1438 longer depend on that convention for validation. Getting validation re-enabled with a
1439 different mechanism is tracked by https://github.com/dotnet/sdk/issues/350
1440 -->
1441 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1442 <Configuration Condition="'$(Configuration)'==''">Debug</Configuration>
1443 <Platform Condition="'$(Platform)'==''">AnyCPU</Platform>
1444 <PlatformName Condition="'$(PlatformName)' == ''">$(Platform)</PlatformName>
1445 <BaseOutputPath Condition="'$(BaseOutputPath)' == ''">bin\</BaseOutputPath>
1446 <BaseOutputPath Condition="!HasTrailingSlash('$(BaseOutputPath)')">$(BaseOutputPath)\</BaseOutputPath>
1447 <OutputPath Condition="'$(OutputPath)' == '' and '$(PlatformName)' == 'AnyCPU'">$(BaseOutputPath)$(Configuration)\</OutputPath>
1448 <OutputPath Condition="'$(OutputPath)' == '' and '$(PlatformName)' != 'AnyCPU'">$(BaseOutputPath)$(PlatformName)\$(Configuration)\</OutputPath>
1449 <OutputPath Condition="!HasTrailingSlash('$(OutputPath)')">$(OutputPath)\</OutputPath>
1450 <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">obj\</BaseIntermediateOutputPath>
1451 <BaseIntermediateOutputPath Condition="!HasTrailingSlash('$(BaseIntermediateOutputPath)')">$(BaseIntermediateOutputPath)\</BaseIntermediateOutputPath>
1452 <IntermediateOutputPath Condition=" $(IntermediateOutputPath) == '' and '$(PlatformName)' == 'AnyCPU' ">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
1453 <IntermediateOutputPath Condition=" $(IntermediateOutputPath) == '' and '$(PlatformName)' != 'AnyCPU' ">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath>
1454 <IntermediateOutputPath Condition="!HasTrailingSlash('$(IntermediateOutputPath)')">$(IntermediateOutputPath)\</IntermediateOutputPath>
1455 </PropertyGroup>
1456 <!-- Set the package output path (for nuget pack target) now, before the TargetFramework is appended -->
1457 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1458 <PackageOutputPath Condition="'$(PackageOutputPath)' == ''">$(OutputPath)</PackageOutputPath>
1459 </PropertyGroup>
1460 <!--
1461============================================================================================================================================
1462 </Import>
1463
1464C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
1465============================================================================================================================================
1466-->
1467 <!-- Before any additional SDK targets are imported, import the publish profile.
1468 This allows the publish profile to set properties like RuntimeIdentifier and them be
1469 respected by the SDK. -->
1470 <!--
1471============================================================================================================================================
1472 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.ImportPublishProfile.targets" Condition="'$(PublishProfileImported)' != 'true'">
1473
1474C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportPublishProfile.targets
1475============================================================================================================================================
1476-->
1477 <!--
1478***********************************************************************************************
1479Microsoft.NET.Sdk.ImportPublishProfile.targets
1480
1481WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1482 created a backup copy. Incorrect changes to this file will make it
1483 impossible to load or build your projects from the command-line or the IDE.
1484
1485Copyright (c) .NET Foundation. All rights reserved.
1486***********************************************************************************************
1487-->
1488 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1489 <!-- Default to having imported the publish profile so the Web SDK doesn't also attempt to do so. -->
1490 <PublishProfileImported>true</PublishProfileImported>
1491 <_PublishProfileDesignerFolder Condition="'$(AppDesignerFolder)' != ''">$(AppDesignerFolder)</_PublishProfileDesignerFolder>
1492 <_PublishProfileDesignerFolder Condition="'$(_PublishProfileDesignerFolder)' == ''">Properties</_PublishProfileDesignerFolder>
1493 <_PublishProfileRootFolder Condition="'$(_PublishProfileRootFolder)' == ''">$(MSBuildProjectDirectory)\$(_PublishProfileDesignerFolder)\PublishProfiles\</_PublishProfileRootFolder>
1494 <PublishProfileName Condition="'$(PublishProfileName)' == '' and '$(PublishProfile)' != ''">$([System.IO.Path]::GetFileNameWithoutExtension($(PublishProfile)))</PublishProfileName>
1495 <PublishProfileFullPath Condition="'$(PublishProfileFullPath)' == '' and '$(PublishProfileName)' != ''">$(_PublishProfileRootFolder)$(PublishProfileName).pubxml</PublishProfileFullPath>
1496 <WebPublishProfileFile Condition="'$(WebPublishProfileFile)' == '' and Exists('$(PublishProfileFullPath)')">$(PublishProfileFullPath)</WebPublishProfileFile>
1497 <!-- If the publish profile doesn't exist, mark as not imported.
1498 This allows the Web SDK to import some default profiles that come with the Web SDK.
1499 Publishing in Visual Studio sets `WebPublishProfileFile` as a global property.
1500 Therefore, check that `ProjectToOverrideProjectExtensionsPath` is equal to `MSBuildProjectFullPath`
1501 to limit the import to the project being published. -->
1502 <PublishProfileImported Condition="('$(ProjectToOverrideProjectExtensionsPath)' != '' and&#xD;&#xA; '$(ProjectToOverrideProjectExtensionsPath)' != '$(MSBuildProjectFullPath)') or&#xD;&#xA; '$(WebPublishProfileFile)' == '' or&#xD;&#xA; !Exists('$(WebPublishProfileFile)')">false</PublishProfileImported>
1503 </PropertyGroup>
1504 <!--<Import Project="$(WebPublishProfileFile)" Condition="'$(PublishProfileImported)' == 'true'" />-->
1505 <!--<Import Project="$(WebPublishProfileFile).user" Condition="'$(PublishProfileImported)' == 'true' and Exists('$(WebPublishProfileFile).user')" />-->
1506 <!--
1507============================================================================================================================================
1508 </Import>
1509
1510C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
1511============================================================================================================================================
1512-->
1513 <!--
1514 Expand TargetFramework to TargetFrameworkIdentifier and TargetFrameworkVersion,
1515 and adjust intermediate and output paths to include it.
1516 -->
1517 <!--
1518============================================================================================================================================
1519 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.TargetFrameworkInference.targets">
1520
1521C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.TargetFrameworkInference.targets
1522============================================================================================================================================
1523-->
1524 <!--
1525***********************************************************************************************
1526Microsoft.NET.TargetFrameworkInference.targets
1527
1528WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1529 created a backup copy. Incorrect changes to this file will make it
1530 impossible to load or build your projects from the command-line or the IDE.
1531
1532Copyright (c) .NET Foundation. All rights reserved.
1533***********************************************************************************************
1534-->
1535 <!--
1536 Note that this file is only included when $(TargetFramework) is set and so we do not need to check that here.
1537
1538 Common targets require that $(TargetFrameworkIdentifier) and $(TargetFrameworkVersion) are set by static evaluation
1539 before they are imported. In common cases (currently netstandard, netcoreapp, or net), we infer them from the short
1540 names given via TargetFramework to allow for terseness and lack of duplication in project files.
1541
1542 For other cases, the user must supply them manually.
1543
1544 For cases where inference is supported, the user need only specify the targets in TargetFrameworks, e.g:
1545 <PropertyGroup>
1546 <TargetFrameworks>net45;netstandard1.0</TargetFrameworks>
1547 </PropertyGroup>
1548
1549 For cases where inference is not supported, identifier, version and profile can be specified explicitly as follows:
1550 <PropertyGroup>
1551 <TargetFrameworks>portable-net451+win81;xyz1.0</TargetFrameworks>
1552 <PropertyGroup>
1553 <PropertyGroup Condition="'$(TargetFramework)' == 'portable-net451+win81'">
1554 <TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
1555 <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
1556 <TargetFrameworkProfile>Profile44</TargetFrameworkProfile>
1557 </PropertyGroup>
1558 <PropertyGroup Condition="'$(TargetFramework)' == 'xyz1.0'">
1559 <TargetFrameworkIdentifier>Xyz</TargetFrameworkVersion>
1560 <PropertyGroup>
1561
1562 Note in the xyz1.0 case, which is meant to demonstrate a framework we don't yet recognize, we can still
1563 infer the version of 1.0. The user can also override it as always we honor a TargetFrameworkIdentifier
1564 or TargetFrameworkVersion that is already set.
1565 -->
1566 <!-- Hook for importing custom target framework parsing -->
1567 <!--<Import Project="$(BeforeTargetFrameworkInferenceTargets)" Condition="$(BeforeTargetFrameworkInferenceTargets) != ''" />-->
1568 <!--
1569 Parse TargetFramework properties.
1570 -->
1571 <PropertyGroup Condition="'$(TargetFramework)' != '' and ('$(TargetFrameworkIdentifier)' == '' or '$(TargetFrameworkVersion)' == '')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1572 <TargetFrameworkIdentifier>$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)'))</TargetFrameworkIdentifier>
1573 <TargetFrameworkVersion>v$([MSBuild]::GetTargetFrameworkVersion('$(TargetFramework)', 2))</TargetFrameworkVersion>
1574 </PropertyGroup>
1575 <!--
1576 Parse TargetPlatform properties.
1577 -->
1578 <PropertyGroup Condition="'$(TargetFramework)' != '' and ('$(TargetPlatformIdentifier)' == '' or '$(TargetPlatformVersion)' == '')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1579 <TargetPlatformIdentifier Condition="'$(TargetPlatformIdentifier)' == ''">$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)'))</TargetPlatformIdentifier>
1580 <TargetPlatformVersion Condition="'$(TargetPlatformIdentifier)' == 'Windows'">$([MSBuild]::GetTargetPlatformVersion('$(TargetFramework)', 4))</TargetPlatformVersion>
1581 <TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == '' or ('$(TargetPlatformIdentifier)' == 'Windows' and !$([MSBuild]::VersionGreaterThanOrEquals($(TargetPlatformVersion), 10.0)))">$([MSBuild]::GetTargetPlatformVersion('$(TargetFramework)', 2))</TargetPlatformVersion>
1582 <TargetPlatformVersion Condition="$([MSBuild]::VersionEquals($(TargetPlatformVersion), 0.0))" />
1583 <!-- Normalize casing of windows to Windows -->
1584 <TargetPlatformIdentifier Condition="'$(TargetPlatformIdentifier)' == 'Windows'">Windows</TargetPlatformIdentifier>
1585 </PropertyGroup>
1586 <!--
1587 Trigger an error if we're unable to infer the framework identifier and version.
1588
1589 We have to evaluate this here and not in the target because by the time the target runs,
1590 Microsoft.Common.targets will have defaulted to .NETFramework,Version=v4.0
1591 -->
1592 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '' or '$(TargetFrameworkIdentifier)' == 'Unsupported' or '$(TargetFrameworkVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1593 <_UnsupportedTargetFrameworkError>true</_UnsupportedTargetFrameworkError>
1594 </PropertyGroup>
1595 <!--
1596 NOTE: We must not validate the TFM before restore target runs as it prevents adding additional TFM
1597 support from being provided by a nuget package such as MSBuild.Sdk.Extras.
1598
1599 We run before RunResolvePackageDependencies and GetReferenceAssemblyPaths so that design-time builds
1600 which do not currently invoke _CheckForInvalidConfigurationAndPlatform, will not trigger spurious
1601 errors that are only consequences of the root cause identified here.
1602 -->
1603 <Target Name="_CheckForUnsupportedTargetFramework" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;RunResolvePackageDependencies;GetFrameworkPaths;GetReferenceAssemblyPaths;Restore" Condition="'$(_UnsupportedTargetFrameworkError)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1604 <NETSdkError Condition="!$(TargetFramework.Contains(';'))" ResourceName="CannotInferTargetFrameworkIdentifierAndVersion" FormatArguments="$([MSBuild]::Escape('$(TargetFramework)'))" />
1605 <NETSdkError Condition="$(TargetFramework.Contains(';'))" ResourceName="TargetFrameworkWithSemicolon" FormatArguments="$([MSBuild]::Escape('$(TargetFramework)'))" />
1606 </Target>
1607 <!-- Skip this target for design time builds when there are missing workload packs.
1608 This will prevent design time builds from failing and therefore allow
1609 Visual Studio to collect the workloads from the GetSuggestedWorkloads target -->
1610 <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">
1611 <PropertyGroup>
1612 <TargetPlatformSupported Condition="'$(TargetPlatformIdentifier)' == 'Windows'">true</TargetPlatformSupported>
1613 </PropertyGroup>
1614 <NETSdkError Condition="'$(TargetPlatformSupported)' != 'true'" ResourceName="UnsupportedTargetPlatformIdentifier" FormatArguments="$(TargetPlatformIdentifier)" />
1615 </Target>
1616 <UsingTask TaskName="AllowEmptyTelemetry" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
1617 <Target Name="_CollectTargetFrameworkForTelemetry" AfterTargets="_CheckForUnsupportedTargetFramework" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1618 <AllowEmptyTelemetry EventName="targetframeworkeval" EventData="TargetFrameworkVersion=$([MSBuild]::Escape('$(TargetFrameworkMoniker)'));RuntimeIdentifier=$(RuntimeIdentifier);SelfContained=$(SelfContained);UseApphost=$(UseApphost);OutputType=$(OutputType)" />
1619 </Target>
1620 <!--
1621 Don't leave TargetFrameworkVersion empty if it still hasn't been determined. We will trigger the error above,
1622 but we need this to be a valid version so that our error message does not get pre-empted by failure to interpret
1623 version comparison expressions, which is currently unrecoverable in VS.
1624
1625 Also don't leave TargetFrameworkIdentifier unset as it will be defaulted to .NETFramework by common targets, which
1626 can cause restore (which we cannot block, see above) to silently succeed for empty TargetFramework.
1627 -->
1628 <PropertyGroup Condition="'$(TargetFrameworkVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1629 <TargetFrameworkVersion>v0.0</TargetFrameworkVersion>
1630 </PropertyGroup>
1631 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1632 <TargetFrameworkIdentifier>_</TargetFrameworkIdentifier>
1633 </PropertyGroup>
1634 <!--
1635 Trigger an error if targeting a higher version of .NET Core or .NET Standard than is supported by the current SDK.
1636 -->
1637 <Target Name="_CheckForUnsupportedNETCoreVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(NETCoreAppMaximumVersion)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1638 <NETSdkError Condition="'$(_TargetFrameworkVersionWithoutV)' &gt; '$(NETCoreAppMaximumVersion)'" ResourceName="UnsupportedTargetFrameworkVersion" FormatArguments=".NET;$(_TargetFrameworkVersionWithoutV);$(NETCoreAppMaximumVersion)" />
1639 </Target>
1640 <!--
1641 Trigger an error if C++ project targeting a lower version of .NET Core than 3.1.
1642 -->
1643 <Target Name="_CheckForUnsupportedCppNETCoreVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1644 <NETSdkError Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' &lt; '3.1' and ('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true')" ResourceName="CppRequiresTFMVersion31" />
1645 </Target>
1646 <!--C++/CLI has its own logic of determine TargetPlatformIdentifier and TargetPlatformVersion-->
1647 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) and ('$(Language)' != 'C++' or '$(_EnablePackageReferencesInVCProjects)' == 'true')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1648 <_EnableDefaultWindowsPlatform>false</_EnableDefaultWindowsPlatform>
1649 <UseOSWinMdReferences>false</UseOSWinMdReferences>
1650 </PropertyGroup>
1651 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(NETStandardMaximumVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1652 <NETStandardMaximumVersion>2.1</NETStandardMaximumVersion>
1653 </PropertyGroup>
1654 <Target Name="_CheckForUnsupportedNETStandardVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(NETStandardMaximumVersion)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1655 <NETSdkError Condition="'$(_TargetFrameworkVersionWithoutV)' &gt; '$(NETStandardMaximumVersion)'" ResourceName="UnsupportedTargetFrameworkVersion" FormatArguments=".NET Standard;$(_TargetFrameworkVersionWithoutV);$(NETStandardMaximumVersion)" />
1656 </Target>
1657 <Target Name="_CheckForUnsupportedTargetFrameworkAndFeatureCombination" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;Restore;CollectPackageReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1658 <NETSdkError Condition="'$(UsingNETSdkDefaults)' != 'true'" ResourceName="NETFrameworkWithoutUsingNETSdkDefaults" />
1659 </Target>
1660 <Target Name="_CheckForSupportedOSPlatformVersionHigherThanTargetPlatformVersion" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(TargetPlatformVersion)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1661 <NETSdkError Condition="'$(SupportedOSPlatformVersion)' != '' and $(TargetPlatformVersion) != '' and $([MSBuild]::VersionGreaterThan($(SupportedOSPlatformVersion), $(TargetPlatformVersion)))" ResourceName="CannotHaveSupportedOSPlatformVersionHigherThanTargetPlatformVersion" FormatArguments="$(SupportedOSPlatformVersion);$(TargetPlatformVersion)" />
1662 </Target>
1663 <!--C++/CLI targets rely on the patch version of the Windows SDK version as TargetPlatformVersion. Skip the normalization.-->
1664 <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">
1665 <ItemGroup>
1666 <_ValidTargetPlatformVersion Include="@(SdkSupportedTargetPlatformVersion)" Condition="'@(SdkSupportedTargetPlatformVersion)' != '' and $([MSBuild]::VersionEquals(%(Identity), $(TargetPlatformVersion)))" />
1667 </ItemGroup>
1668 <PropertyGroup>
1669 <TargetPlatformVersion Condition="'@(_ValidTargetPlatformVersion)' != '' and '@(_ValidTargetPlatformVersion-&gt;Count())' == '1' and '@(_ValidTargetPlatformVersion)' != '$(TargetPlatformVersion)'">@(_ValidTargetPlatformVersion)</TargetPlatformVersion>
1670 </PropertyGroup>
1671 </Target>
1672 <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">
1673 <PropertyGroup>
1674 <TargetPlatformVersionSupported Condition="'$(TargetPlatformVersionSupported)' == '' and '@(_ValidTargetPlatformVersion)' != ''">true</TargetPlatformVersionSupported>
1675 <_ValidTargetPlatformVersions Condition="'@(SdkSupportedTargetPlatformVersion)' != ''">@(SdkSupportedTargetPlatformVersion, '%0a')</_ValidTargetPlatformVersions>
1676 <_ValidTargetPlatformVersions Condition="'@(SdkSupportedTargetPlatformVersion)' == ''">None</_ValidTargetPlatformVersions>
1677 </PropertyGroup>
1678 <NetSdkError Condition="'$(TargetPlatformVersionSupported)' != 'true'" ResourceName="InvalidTargetPlatformVersion" FormatArguments="$(TargetPlatformVersion);$(TargetPlatformIdentifier);$(_ValidTargetPlatformVersions)" />
1679 </Target>
1680 <!-- Exclude files from OutputPath and IntermediateOutputPath from default item globs. Use the value
1681 of these properties before the TargetFramework is appended, so that if these values are specified
1682 in the project file, the specified value will be used for the exclude. -->
1683 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1684 <DefaultItemExcludes>$(DefaultItemExcludes);$(OutputPath)/**</DefaultItemExcludes>
1685 <DefaultItemExcludes>$(DefaultItemExcludes);$(IntermediateOutputPath)/**</DefaultItemExcludes>
1686 </PropertyGroup>
1687 <!-- Projects which don't use Microsoft.NET.Sdk will typically define the OutputPath directly (usually in a
1688 Configuration-specific PropertyGroup), so in that case we won't append to it by default. -->
1689 <PropertyGroup Condition="'$(UsingNETSdkDefaults)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1690 <AppendTargetFrameworkToOutputPath Condition="'$(AppendTargetFrameworkToOutputPath)' == ''">true</AppendTargetFrameworkToOutputPath>
1691 </PropertyGroup>
1692 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1693 <ProduceReferenceAssembly Condition="'$(ProduceReferenceAssembly)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) and ('$(ProduceOnlyReferenceAssembly)' != 'true')">true</ProduceReferenceAssembly>
1694 </PropertyGroup>
1695 <!--
1696 Append $(TargetFramework) directory to output and intermediate paths to prevent bin clashes between
1697 targets.
1698 -->
1699 <PropertyGroup Condition="'$(AppendTargetFrameworkToOutputPath)' == 'true' and '$(TargetFramework)' != '' and '$(_UnsupportedTargetFrameworkError)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1700 <IntermediateOutputPath>$(IntermediateOutputPath)$(TargetFramework.ToLowerInvariant())\</IntermediateOutputPath>
1701 <OutputPath>$(OutputPath)$(TargetFramework.ToLowerInvariant())\</OutputPath>
1702 </PropertyGroup>
1703 <!--
1704============================================================================================================================================
1705 </Import>
1706
1707C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
1708============================================================================================================================================
1709-->
1710 <!-- Related issue: https://github.com/dotnet/sdk/issues/12324-->
1711 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1712 <!-- Import winfx targets when we're targeting .NETFramework and not importing the newer WindowsDesktop targets via `UseWPF`. -->
1713 <ImportFrameworkWinFXTargets Condition="'$(ImportFrameworkWinFXTargets)' == '' and '$(UseWPF)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETFramework'">true</ImportFrameworkWinFXTargets>
1714 <!-- Otherwise, don't import. -->
1715 <ImportFrameworkWinFXTargets Condition="'$(ImportFrameworkWinFXTargets)' == ''">false</ImportFrameworkWinFXTargets>
1716 </PropertyGroup>
1717 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1718 <_TargetFrameworkVersionWithoutV>$(TargetFrameworkVersion.TrimStart('vV'))</_TargetFrameworkVersionWithoutV>
1719 </PropertyGroup>
1720 <!--
1721 Import targets from RazorSDK if referenced
1722 Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
1723 Sdks\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.BeforeCommon.targets
1724 -->
1725 <!--<Import Project="$(MSBuildThisFileDirectory)..\..\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.BeforeCommon.targets" Condition="'$(UsingMicrosoftNETSdkRazor)' == 'true'" />-->
1726 <!-- Import workload targets -->
1727 <!--
1728============================================================================================================================================
1729 <Import Project="Microsoft.NET.Sdk.ImportWorkloads.targets" Condition="'$(MSBuildEnableWorkloadResolver)' == 'true'">
1730
1731C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets
1732============================================================================================================================================
1733-->
1734 <!--
1735***********************************************************************************************
1736Microsoft.NET.Sdk.ImportWorkloads.targets
1737
1738WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
1739 created a backup copy. Incorrect changes to this file will make it
1740 impossible to load or build your projects from the command-line or the IDE.
1741
1742Copyright (c) .NET Foundation. All rights reserved.
1743***********************************************************************************************
1744-->
1745 <!-- Workload support -->
1746 <!-- Import workload manifests -->
1747 <!--
1748============================================================================================================================================
1749 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
1750
1751C:\Program Files\dotnet\sdk-manifests\6.0.100\microsoft.net.sdk.android\WorkloadManifest.targets
1752============================================================================================================================================
1753-->
1754 <!--<Import Project="Sdk.targets" Sdk="Microsoft.Android.Sdk" Condition=" '$(TargetPlatformIdentifier)' == 'android' " />-->
1755 <!--<Import Project="Sdk.targets" Sdk="Microsoft.Android.Sdk.BundleTool" Condition=" '$(TargetPlatformIdentifier)' == 'android' " />-->
1756 <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
1757 <SdkSupportedTargetPlatformIdentifier Include="android" DisplayName="Android" />
1758 </ItemGroup>
1759 <!--
1760============================================================================================================================================
1761 </Import>
1762============================================================================================================================================
1763-->
1764 <!--
1765============================================================================================================================================
1766 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
1767
1768C:\Program Files\dotnet\sdk-manifests\6.0.100\microsoft.net.sdk.ios\WorkloadManifest.targets
1769============================================================================================================================================
1770-->
1771 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Sdk" Condition="'$(TargetPlatformIdentifier)' == 'iOS'" />-->
1772 <!--<Import Project="Sdk.props" Sdk="Microsoft.iOS.Windows.Sdk" Condition=" '$(TargetPlatformIdentifier)' == 'iOS' and $([MSBuild]::IsOSPlatform('windows'))" />-->
1773 <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
1774 <SdkSupportedTargetPlatformIdentifier Include="ios" DisplayName="iOS" />
1775 </ItemGroup>
1776 <!--
1777============================================================================================================================================
1778 </Import>
1779============================================================================================================================================
1780-->
1781 <!--
1782============================================================================================================================================
1783 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
1784
1785C:\Program Files\dotnet\sdk-manifests\6.0.100\microsoft.net.sdk.maccatalyst\WorkloadManifest.targets
1786============================================================================================================================================
1787-->
1788 <!--<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk" Condition="'$(TargetPlatformIdentifier)' == 'MacCatalyst'" />-->
1789 <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
1790 <SdkSupportedTargetPlatformIdentifier Include="maccatalyst" DisplayName="Mac Catalyst" />
1791 </ItemGroup>
1792 <!--
1793============================================================================================================================================
1794 </Import>
1795============================================================================================================================================
1796-->
1797 <!--
1798============================================================================================================================================
1799 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
1800
1801C:\Program Files\dotnet\sdk-manifests\6.0.100\microsoft.net.sdk.macos\WorkloadManifest.targets
1802============================================================================================================================================
1803-->
1804 <!--<Import Project="Sdk.props" Sdk="Microsoft.macOS.Sdk" Condition="'$(TargetPlatformIdentifier)' == 'macOS'" />-->
1805 <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
1806 <SdkSupportedTargetPlatformIdentifier Include="macos" DisplayName="macOS" />
1807 </ItemGroup>
1808 <!--
1809============================================================================================================================================
1810 </Import>
1811============================================================================================================================================
1812-->
1813 <!--
1814============================================================================================================================================
1815 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
1816
1817C:\Program Files\dotnet\sdk-manifests\6.0.100\microsoft.net.sdk.maui\WorkloadManifest.targets
1818============================================================================================================================================
1819-->
1820 <ItemGroup Condition=" '$(UseMaui)' == 'true' or '$(UseMauiCore)' == 'true' ">
1821 <ProjectCapability Include="UseMauiCore" />
1822 <ProjectCapability Condition=" '$(UseMaui)' == 'true' " Include="UseMaui" />
1823 </ItemGroup>
1824 <!--<Import Project="Sdk.targets" Sdk="Microsoft.Maui.Sdk" Condition=" '$(UseMaui)' == 'true' or '$(UseMauiCore)' == 'true' or '$(UseMauiEssentials)' == 'true' or '$(UseMauiAssets)' == 'true' " />-->
1825 <!--
1826============================================================================================================================================
1827 </Import>
1828============================================================================================================================================
1829-->
1830 <!--
1831============================================================================================================================================
1832 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
1833
1834C:\Program Files\dotnet\sdk-manifests\6.0.100\microsoft.net.sdk.tvos\WorkloadManifest.targets
1835============================================================================================================================================
1836-->
1837 <!--<Import Project="Sdk.props" Sdk="Microsoft.tvOS.Sdk" Condition="'$(TargetPlatformIdentifier)' == 'tvOS'" />-->
1838 <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0')) ">
1839 <SdkSupportedTargetPlatformIdentifier Include="tvos" DisplayName="tvOS" />
1840 </ItemGroup>
1841 <!--
1842============================================================================================================================================
1843 </Import>
1844============================================================================================================================================
1845-->
1846 <!--
1847============================================================================================================================================
1848 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
1849
1850C:\Program Files\dotnet\sdk-manifests\6.0.100\microsoft.net.workload.emscripten\WorkloadManifest.targets
1851============================================================================================================================================
1852-->
1853 <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">
1854 <BrowserWorkloadDisabled Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and !$([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '6.0'))">true</BrowserWorkloadDisabled>
1855 </PropertyGroup>
1856 <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(BrowserWorkloadDisabled)' == 'true'">
1857 <_NativeBuildNeeded Condition="'$(RunAOTCompilation)' == 'true'">true</_NativeBuildNeeded>
1858 <WorkloadDisabledWithReason Condition="'$(_NativeBuildNeeded)' == 'true'">WebAssembly workloads (required for AOT) are only supported for projects targeting net6.0+</WorkloadDisabledWithReason>
1859 </PropertyGroup>
1860 <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(BrowserWorkloadDisabled)' != 'true'">
1861 <UsingBrowserRuntimeWorkload Condition="'$(RunAOTCompilation)' == 'true' or '$(UsingMicrosoftNETSdkBlazorWebAssembly)' != 'true'">true</UsingBrowserRuntimeWorkload>
1862 <UsingBrowserRuntimeWorkload Condition="'$(UsingBrowserRuntimeWorkload)' == ''">$(WasmNativeWorkload)</UsingBrowserRuntimeWorkload>
1863 </PropertyGroup>
1864 <PropertyGroup Condition="'$(BrowserWorkloadDisabled)' == 'true'">
1865 <UsingBrowserRuntimeWorkload>false</UsingBrowserRuntimeWorkload>
1866 <WasmNativeWorkload>false</WasmNativeWorkload>
1867 </PropertyGroup>
1868 <!--<ImportGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true'">-->
1869 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Python" Condition="!$([MSBuild]::IsOsPlatform('Linux'))" />-->
1870 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Node" />-->
1871 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.Emscripten.Sdk" />-->
1872 <!--</ImportGroup>-->
1873 <!--
1874============================================================================================================================================
1875 </Import>
1876============================================================================================================================================
1877-->
1878 <!--
1879============================================================================================================================================
1880 <Import Project="WorkloadManifest.targets" Sdk="Microsoft.NET.SDK.WorkloadManifestTargetsLocator">
1881
1882C:\Program Files\dotnet\sdk-manifests\6.0.100\microsoft.net.workload.mono.toolchain\WorkloadManifest.targets
1883============================================================================================================================================
1884-->
1885 <PropertyGroup>
1886 <RuntimePackInWorkloadVersion>6.0.0</RuntimePackInWorkloadVersion>
1887 <BrowserWorkloadDisabled Condition="'$(BrowserWorkloadDisabled)' == '' and&#xA; '$(RuntimeIdentifier)' == 'browser-wasm' and&#xA; '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and&#xA; !$([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '6.0'))">true</BrowserWorkloadDisabled>
1888 </PropertyGroup>
1889 <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' AND '$(UsingBrowserRuntimeWorkload)' == ''">
1890 <!-- $(WasmBuildNative)==true is needed to enable workloads, when using native references, without AOT -->
1891 <UsingBrowserRuntimeWorkload Condition="'$(RunAOTCompilation)' == 'true' or '$(WasmBuildNative)' == 'true' or '$(UsingMicrosoftNETSdkBlazorWebAssembly)' != 'true'">true</UsingBrowserRuntimeWorkload>
1892 <UsingBrowserRuntimeWorkload Condition="'$(UsingBrowserRuntimeWorkload)' == ''">$(WasmNativeWorkload)</UsingBrowserRuntimeWorkload>
1893 </PropertyGroup>
1894 <PropertyGroup Condition="'$(BrowserWorkloadDisabled)' == 'true'">
1895 <UsingBrowserRuntimeWorkload>false</UsingBrowserRuntimeWorkload>
1896 <WasmNativeWorkload>false</WasmNativeWorkload>
1897 </PropertyGroup>
1898 <PropertyGroup Condition="'$(UsingMicrosoftNETSdkBlazorWebAssembly)' == 'true' and '$(UsingBrowserRuntimeWorkload)' == 'true'">
1899 <WasmGenerateAppBundle>false</WasmGenerateAppBundle>
1900 <UsingBlazorAOTWorkloadManifest>true</UsingBlazorAOTWorkloadManifest>
1901 </PropertyGroup>
1902 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoAOTCompiler.Task" Condition="'$(RunAOTCompilation)' == 'true' and '$(BrowserWorkloadDisabled)' != 'true'" />-->
1903 <!--<ImportGroup Condition="'$(TargetPlatformIdentifier)' == 'android'">-->
1904 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" />-->
1905 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" />-->
1906 <!--</ImportGroup>-->
1907 <!--<ImportGroup Condition="'$(TargetPlatformIdentifier)' == 'android' and '$(RunAOTCompilation)' == 'true'">-->
1908 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.android-x86" />-->
1909 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.android-x64" />-->
1910 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.android-arm" />-->
1911 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.android-arm64" />-->
1912 <!--</ImportGroup>-->
1913 <!--<ImportGroup Condition="'$(TargetPlatformIdentifier)' == 'macOS'">-->
1914 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" />-->
1915 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" />-->
1916 <!--</ImportGroup>-->
1917 <!--
1918 <ImportGroup Condition="'$(TargetPlatformIdentifier)' == 'macOS' and $([MSBuild]::IsOSPlatform('osx'))">
1919 <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.osx-arm64" />
1920 <Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.osx-x64" />
1921 </ImportGroup>
1922 -->
1923 <!--<ImportGroup Condition="'$(TargetPlatformIdentifier)' == 'ios'">-->
1924 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" />-->
1925 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" />-->
1926 <!--</ImportGroup>-->
1927 <!--<ImportGroup Condition="'$(TargetPlatformIdentifier)' == 'ios' and $([MSBuild]::IsOSPlatform('osx'))">-->
1928 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.ios-arm" />-->
1929 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.ios-arm64" />-->
1930 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.iossimulator-arm64" />-->
1931 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.iossimulator-x64" />-->
1932 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.iossimulator-x86" />-->
1933 <!--</ImportGroup>-->
1934 <!--<ImportGroup Condition="'$(TargetPlatformIdentifier)' == 'maccatalyst'">-->
1935 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" />-->
1936 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" />-->
1937 <!--</ImportGroup>-->
1938 <!--<ImportGroup Condition="'$(TargetPlatformIdentifier)' == 'maccatalyst' and $([MSBuild]::IsOSPlatform('osx'))">-->
1939 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.maccatalyst-arm64" />-->
1940 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.maccatalyst-x64" />-->
1941 <!--</ImportGroup>-->
1942 <!--<ImportGroup Condition="'$(TargetPlatformIdentifier)' == 'tvos'">-->
1943 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" />-->
1944 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" />-->
1945 <!--</ImportGroup>-->
1946 <!--<ImportGroup Condition="'$(TargetPlatformIdentifier)' == 'tvos' and $([MSBuild]::IsOSPlatform('osx'))">-->
1947 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.tvos-arm64" />-->
1948 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.tvossimulator-arm64" />-->
1949 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.tvossimulator-x64" />-->
1950 <!--</ImportGroup>-->
1951 <!--<ImportGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true'">-->
1952 <!--<Import Project="Sdk.props" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" />-->
1953 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.WebAssembly.Sdk" />-->
1954 <!--<Import Project="Sdk.props" Sdk="Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm" />-->
1955 <!--<Import Project="Sdk.targets" Sdk="Microsoft.NET.Runtime.MonoTargets.Sdk" />-->
1956 <!--</ImportGroup>-->
1957 <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'android' or '$(TargetPlatformIdentifier)' == 'macOS' or '$(TargetPlatformIdentifier)' == 'ios' or '$(TargetPlatformIdentifier)' == 'maccatalyst' or '$(TargetPlatformIdentifier)' == 'tvos' or ('$(RuntimeIdentifier)' == 'browser-wasm' and '$(UsingBrowserRuntimeWorkload)' == 'true')">
1958 <_MonoWorkloadTargetsMobile>true</_MonoWorkloadTargetsMobile>
1959 <_MonoWorkloadRuntimePackPackageVersion>$(RuntimePackInWorkloadVersion)</_MonoWorkloadRuntimePackPackageVersion>
1960 </PropertyGroup>
1961 <ItemGroup Condition="'$(_MonoWorkloadTargetsMobile)' == 'true'">
1962 <MonoRuntimePackRids Include="&#xA; linux-x64;&#xA; win-x64;&#xA; osx-x64;&#xA; osx-arm64;&#xA; maccatalyst-x64;&#xA; maccatalyst-arm64;&#xA; browser-wasm;&#xA; ios-arm64;&#xA; ios-arm;&#xA; iossimulator-arm64;&#xA; iossimulator-x64;&#xA; iossimulator-x86;&#xA; tvos-arm64;&#xA; tvossimulator-arm64;&#xA; tvossimulator-x64;&#xA; android-arm64;&#xA; android-arm;&#xA; android-x64;&#xA; android-x86;&#xA; " />
1963 <KnownRuntimePack Remove="Microsoft.NETCore.App" />
1964 <KnownRuntimePack Include="Microsoft.NETCore.App" TargetFramework="net6.0" RuntimeFrameworkName="Microsoft.NETCore.App" LatestRuntimeFrameworkVersion="$(_MonoWorkloadRuntimePackPackageVersion)" RuntimePackNamePatterns="Microsoft.NETCore.App.Runtime.Mono.**RID**" RuntimePackRuntimeIdentifiers="@(MonoRuntimePackRids, '%3B')" RuntimePackLabels="Mono" />
1965 </ItemGroup>
1966 <!-- we can't condition sdk imports on the item @(NativeFileReference). Instead, explicitly check before the build
1967 and emit a warning -->
1968 <Target Name="_CheckBrowserWorkloadNeededButNotAvailable" Condition="'$(RuntimeIdentifier)' == 'browser-wasm' and '$(BrowserWorkloadDisabled)' != 'true' and '$(WasmNativeWorkload)' != 'true'" BeforeTargets="Build">
1969 <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)" />
1970 </Target>
1971 <Target Name="_ErrorDisabledWorkload" Condition="'$(BrowserWorkloadDisabled)' == 'true'" BeforeTargets="Build">
1972 <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." />
1973 <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+ ." />
1974 </Target>
1975 <!--
1976============================================================================================================================================
1977 </Import>
1978
1979C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets
1980============================================================================================================================================
1981-->
1982 <UsingTask TaskName="ShowMissingWorkloads" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
1983 <Target Name="GetSuggestedWorkloads" Returns="@(SuggestedWorkload)" Condition="@(MissingWorkloadPack) != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1984 <ShowMissingWorkloads MissingWorkloadPacks="@(MissingWorkloadPack)" NetCoreRoot="$(NetCoreRoot)" NETCoreSdkVersion="$(NETCoreSdkVersion)" GenerateErrorsForMissingWorkloads="false">
1985 <Output TaskParameter="SuggestedWorkloads" ItemName="SuggestedWorkload" />
1986 </ShowMissingWorkloads>
1987 </Target>
1988 <!-- Skip this target for design time builds when there are missing workload packs.
1989 This will prevent design time builds from failing and therefore allow
1990 Visual Studio to collect the workloads from the GetSuggestedWorkloads target -->
1991 <Target Name="_CheckForMissingWorkload" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;_CheckForUnsupportedTargetPlatformIdentifier" Condition="'@(MissingWorkloadPack)' != '' And '$(DesignTimeBuild)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1992 <ShowMissingWorkloads MissingWorkloadPacks="@(MissingWorkloadPack)" NetCoreRoot="$(NetCoreRoot)" NETCoreSdkVersion="$(NETCoreSdkVersion)" GenerateErrorsForMissingWorkloads="true" />
1993 </Target>
1994 <!-- This target is not part of the build. Only used by dotnet workload restore command. Global property "SkipResolvePackageAssets"
1995 need to be set to "true" to avoid requiring restore (which would likely fail if the required workloads aren't already installed).-->
1996 <Target Name="_GetRequiredWorkloads" DependsOnTargets="GetSuggestedWorkloads;PrepareProjectReferences" Returns="@(_ResolvedSuggestedWorkload)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
1997 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="_GetRequiredWorkloads" BuildInParallel="$(BuildInParallel)" Condition="'%(_MSBuildProjectReferenceExistent.BuildReference)' == 'true' and '@(_MSBuildProjectReferenceExistent)' != ''" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences);TargetFramework;TargetFrameworks">
1998 <Output TaskParameter="TargetOutputs" ItemName="SuggestedWorkloadFromReference" />
1999 </MSBuild>
2000 <ItemGroup>
2001 <_ResolvedSuggestedWorkload Include="@(SuggestedWorkload)" />
2002 <_ResolvedSuggestedWorkload Include="@(SuggestedWorkloadFromReference)" />
2003 </ItemGroup>
2004 </Target>
2005 <!--
2006============================================================================================================================================
2007 </Import>
2008
2009C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
2010============================================================================================================================================
2011-->
2012 <!--
2013 Use RuntimeIdentifier to determine PlatformTarget.
2014 Also, enforce that RuntimeIdentifier is always specified for .NETFramework executables.
2015 -->
2016 <!--
2017============================================================================================================================================
2018 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.RuntimeIdentifierInference.targets">
2019
2020C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets
2021============================================================================================================================================
2022-->
2023 <!--
2024***********************************************************************************************
2025Microsoft.NET.RuntimeIdentifierInference.targets
2026
2027WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2028 created a backup copy. Incorrect changes to this file will make it
2029 impossible to load or build your projects from the command-line or the IDE.
2030
2031Copyright (c) .NET Foundation. All rights reserved.
2032***********************************************************************************************
2033-->
2034 <!--
2035 .NET Framework cannot load native package dependencies dynamically
2036 based on the current architecture. We must have a RID to resolve
2037 and copy native dependencies to the output directory.
2038
2039 When building a .NET Framework exe on Windows and not given a RID,
2040 we'll pick either win7-x64 or win7-x86 (based on PlatformTarget)
2041 if we're not given an explicit RID. However, if after resolving
2042 NuGet assets we find no copy-local native dependencies, we will
2043 emit the binary as AnyCPU.
2044
2045 Note that we must set the RID here early (to be seen during NuGet
2046 restore) in order for the project.assets.json to include the
2047 native dependencies that will let us make the final call on
2048 AnyCPU or platform-specific.
2049
2050 This allows these common cases to work without requiring mention
2051 of RuntimeIdentifier in the user project PlatformTarget:
2052
2053 1. Building an AnyCPU .NET Framework application on any host OS
2054 with no native NuGet dependencies.
2055
2056 2. Building an x86 or x64 .NET Framework application on and for
2057 Windows with native NuGet dependencies that do not require
2058 greater than win7.
2059
2060 However, any other combination of host operating system, CPU
2061 architecture, and minimum Windows version will require some
2062 manual intervention in the project file to set up the right
2063 RID. (**)
2064
2065 (*) Building NET4x from non-Windows is still not fully supported:
2066 https://github.com/dotnet/sdk/issues/335) The point above is
2067 that this code would not have to change to make the first
2068 scenario work on non-Windows hosts.
2069
2070 (**) https://github.com/dotnet/sdk/issues/840 tracks improving
2071 the default RID selection here to make more non-AnyCPU scenarios
2072 work without user intervention. The current static evaluation
2073 requirement limits us.
2074 -->
2075 <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">
2076 <_UsingDefaultRuntimeIdentifier>true</_UsingDefaultRuntimeIdentifier>
2077 <RuntimeIdentifier Condition="'$(PlatformTarget)' == 'x64'">win7-x64</RuntimeIdentifier>
2078 <RuntimeIdentifier Condition="'$(PlatformTarget)' == 'x86' or '$(PlatformTarget)' == ''">win7-x86</RuntimeIdentifier>
2079 </PropertyGroup>
2080 <PropertyGroup Condition="'$(UseCurrentRuntimeIdentifier)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2081 <RuntimeIdentifier>$(NETCoreSdkRuntimeIdentifier)</RuntimeIdentifier>
2082 </PropertyGroup>
2083 <PropertyGroup Condition="'$(PlatformTarget)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2084 <_UsingDefaultPlatformTarget>true</_UsingDefaultPlatformTarget>
2085 </PropertyGroup>
2086 <!-- Determine PlatformTarget (if not already set) from runtime identifier. -->
2087 <Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2088 <When Condition="'$(PlatformTarget)' != '' or '$(RuntimeIdentifier)' == ''" />
2089 <When Condition="$(RuntimeIdentifier.EndsWith('-x86')) or $(RuntimeIdentifier.Contains('-x86-'))">
2090 <PropertyGroup>
2091 <PlatformTarget>x86</PlatformTarget>
2092 </PropertyGroup>
2093 </When>
2094 <When Condition="$(RuntimeIdentifier.EndsWith('-x64')) or $(RuntimeIdentifier.Contains('-x64-'))">
2095 <PropertyGroup>
2096 <PlatformTarget>x64</PlatformTarget>
2097 </PropertyGroup>
2098 </When>
2099 <When Condition="$(RuntimeIdentifier.EndsWith('-arm')) or $(RuntimeIdentifier.Contains('-arm-'))">
2100 <PropertyGroup>
2101 <PlatformTarget>arm</PlatformTarget>
2102 </PropertyGroup>
2103 </When>
2104 <When Condition="$(RuntimeIdentifier.EndsWith('-arm64')) or $(RuntimeIdentifier.Contains('-arm64-'))">
2105 <PropertyGroup>
2106 <PlatformTarget>arm64</PlatformTarget>
2107 </PropertyGroup>
2108 </When>
2109 <Otherwise>
2110 <PropertyGroup>
2111 <PlatformTarget>AnyCPU</PlatformTarget>
2112 </PropertyGroup>
2113 </Otherwise>
2114 </Choose>
2115 <!--
2116 SelfContained was not an option in .NET Core SDK 1.0.
2117 Default SelfContained based on the RuntimeIdentifier, so projects don't have to explicitly set SelfContained.
2118 This avoids a breaking change from 1.0 behavior.
2119 -->
2120 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2121 <SelfContained Condition="'$(SelfContained)' == '' and '$(RuntimeIdentifier)' != ''">true</SelfContained>
2122 <SelfContained Condition="'$(SelfContained)' == ''">false</SelfContained>
2123 <_RuntimeIdentifierUsesAppHost Condition="$(RuntimeIdentifier.StartsWith('ios')) or $(RuntimeIdentifier.StartsWith('tvos')) or $(RuntimeIdentifier.StartsWith('maccatalyst')) or $(RuntimeIdentifier.StartsWith('android')) or $(RuntimeIdentifier.StartsWith('browser'))">false</_RuntimeIdentifierUsesAppHost>
2124 <_RuntimeIdentifierUsesAppHost Condition="'$(_RuntimeIdentifierUsesAppHost)' == ''">true</_RuntimeIdentifierUsesAppHost>
2125 <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>
2126 <UseAppHost Condition="'$(UseAppHost)' == ''">false</UseAppHost>
2127 </PropertyGroup>
2128 <!-- Only use the default apphost if building without a RID and without a deps file path (used by GenerateDeps.proj for CLI tools). -->
2129 <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">
2130 <DefaultAppHostRuntimeIdentifier>$(NETCoreSdkRuntimeIdentifier)</DefaultAppHostRuntimeIdentifier>
2131 <DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and '$(PlatformTarget)' == 'x64'">win-x64</DefaultAppHostRuntimeIdentifier>
2132 <DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and '$(PlatformTarget)' == 'x86'">win-x86</DefaultAppHostRuntimeIdentifier>
2133 <DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and '$(PlatformTarget)' == 'ARM'">win-arm</DefaultAppHostRuntimeIdentifier>
2134 <DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and '$(PlatformTarget)' == 'ARM64'">win-arm64</DefaultAppHostRuntimeIdentifier>
2135 <!-- 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. -->
2136 <DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.EndsWith('arm64')) and&#xD;&#xA; $(DefaultAppHostRuntimeIdentifier.StartsWith('osx')) and&#xD;&#xA; $([MSBuild]::VersionLessThan('$(_TargetFrameworkVersionWithoutV)', '6.0'))">$(DefaultAppHostRuntimeIdentifier.Replace("arm64", "x64"))</DefaultAppHostRuntimeIdentifier>
2137 <!-- 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. -->
2138 <DefaultAppHostRuntimeIdentifier Condition="$(DefaultAppHostRuntimeIdentifier.EndsWith('arm64')) and&#xD;&#xA; $(DefaultAppHostRuntimeIdentifier.StartsWith('win')) and&#xD;&#xA; $([MSBuild]::VersionLessThan('$(_TargetFrameworkVersionWithoutV)', '5.0'))">$(DefaultAppHostRuntimeIdentifier.Replace("arm64", "x64"))</DefaultAppHostRuntimeIdentifier>
2139 </PropertyGroup>
2140 <Target Name="_CheckForUnsupportedAppHostUsage" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2141 <NETSdkError Condition="'$(SelfContained)' == 'true' and '$(RuntimeIdentifier)' == ''" ResourceName="CannotHaveSelfContainedWithoutRuntimeIdentifier" />
2142 <NETSdkError Condition="'$(SelfContained)' == 'true' and '$(UseAppHost)' != 'true' and '$(_RuntimeIdentifierUsesAppHost)' == 'true'" ResourceName="CannotUseSelfContainedWithoutAppHost" />
2143 <NETSdkError Condition="'$(SelfContained)' != 'true' and '$(UseAppHost)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' &lt; '2.1'" ResourceName="FrameworkDependentAppHostRequiresVersion21" />
2144 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' &lt; '3.0'" ResourceName="PublishSingleFileRequiresVersion30" />
2145 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' and $(RuntimeIdentifier.StartsWith('win7-'))" ResourceName="SingleFileWin7Incompatible" FormatArguments="$(RuntimeIdentifier)" />
2146 <!-- The TFM version checks for PublishReadyToRun PublishTrimmed only generate warnings in .Net core 3.1
2147 because we do not want the behavior to be a breaking change compared to version 3.0 -->
2148 <NETSdkWarning Condition="'$(PublishReadyToRun)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' &lt; '3.0'" ResourceName="PublishReadyToRunRequiresVersion30" />
2149 <NETSdkWarning Condition="'$(PublishTrimmed)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' &lt; '3.0'" ResourceName="PublishTrimmedRequiresVersion30" />
2150 <!-- Generate Trimming warnings for WinForms and Wpf applications-->
2151 <NetSdkError Condition="('$(UseWindowsForms)' == 'true') and ('$(PublishTrimmed)' == 'true') and ('$(_SuppressWinFormsTrimError)' != 'true')" ResourceName="TrimmingWindowsFormsIsNotSupported" />
2152 <NetSdkError Condition="('$(UseWpf)' == 'true') and ('$(PublishTrimmed)' == 'true') and ('$(_SuppressWpfTrimError)' != 'true')" ResourceName="TrimmingWpfIsNotSupported" />
2153 </Target>
2154 <Target Name="_CheckForUnsupportedHostingUsage" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2155 <NETSdkWarning Condition="'$(SelfContained)' == 'true' and '$(EnableComHosting)' == 'true'" ResourceName="NoSupportComSelfContained" />
2156 </Target>
2157 <Target Name="_CheckForMismatchingPlatform" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(RuntimeIdentifier)' != '' and '$(PlatformTarget)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2158 <NETSdkError Condition="'$(PlatformTarget)' != 'AnyCPU' and !$(RuntimeIdentifier.ToUpperInvariant().Contains($(PlatformTarget.ToUpperInvariant())))" ResourceName="CannotHaveRuntimeIdentifierPlatformMismatchPlatformTarget" FormatArguments="$(RuntimeIdentifier);$(PlatformTarget)" />
2159 </Target>
2160 <Target Name="_CheckForLanguageAndFeatureCombinationSupport" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;ProcessFrameworkReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2161 <NETSdkError Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true') and $(OutputType) != 'library' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" ResourceName="NoSupportCppNonDynamicLibraryDotnetCore" />
2162 <NETSdkError Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true') and $(EnableComHosting) == 'true'" ResourceName="NoSupportCppEnableComHosting" />
2163 <NETSdkError Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true') and $(SelfContained) == 'true'" ResourceName="NoSupportCppSelfContained" />
2164 </Target>
2165 <Target Name="_CheckForNETCoreSdkIsPreview" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition=" '$(_NETCoreSdkIsPreview)' == 'true' AND '$(SuppressNETCoreSdkPreviewMessage)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2166 <ShowPreviewMessage />
2167 </Target>
2168 <!-- Projects which don't use Microsoft.NET.Sdk will typically define the OutputPath directly (usually in a
2169 Configuration-specific PropertyGroup), so in that case we won't append to it by default. -->
2170 <PropertyGroup Condition="'$(UsingNETSdkDefaults)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2171 <!-- Projects can opt out of having the RID appended to the output path by setting this to false. -->
2172 <AppendRuntimeIdentifierToOutputPath Condition="'$(AppendRuntimeIdentifierToOutputPath)' == ''">true</AppendRuntimeIdentifierToOutputPath>
2173 </PropertyGroup>
2174 <!--
2175 Append $(RuntimeIdentifier) directory to output and intermediate paths to prevent bin clashes between
2176 targets.
2177
2178 But do not append the implicit default runtime identifier for .NET Framework apps as that would
2179 append a RID the user never mentioned in the path and do so even in the AnyCPU case.
2180 -->
2181 <PropertyGroup Condition="'$(AppendRuntimeIdentifierToOutputPath)' == 'true' and '$(RuntimeIdentifier)' != '' and '$(_UsingDefaultRuntimeIdentifier)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2182 <IntermediateOutputPath>$(IntermediateOutputPath)$(RuntimeIdentifier)\</IntermediateOutputPath>
2183 <OutputPath>$(OutputPath)$(RuntimeIdentifier)\</OutputPath>
2184 </PropertyGroup>
2185 <UsingTask TaskName="Microsoft.NET.Build.Tasks.GetDefaultPlatformTargetForNetFramework" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
2186 <!--
2187 Switch our default .NETFramework CPU architecture choice back to AnyCPU before
2188 compiling the exe if no copy-local native dependencies were resolved from NuGet
2189 -->
2190 <Target Name="AdjustDefaultPlatformTargetForNetFrameworkExeWithNoNativeCopyLocalItems" AfterTargets="ResolvePackageAssets" BeforeTargets="CoreCompile" Condition="'$(_UsingDefaultPlatformTarget)' == 'true' and&#xD;&#xA; '$(_UsingDefaultRuntimeIdentifier)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2191 <GetDefaultPlatformTargetForNetFramework PackageDependencies="@(PackageDependencies)" NativeCopyLocalItems="@(NativeCopyLocalItems)">
2192 <Output TaskParameter="DefaultPlatformTarget" PropertyName="PlatformTarget" />
2193 </GetDefaultPlatformTargetForNetFramework>
2194 </Target>
2195 <!--
2196============================================================================================================================================
2197 </Import>
2198
2199C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
2200============================================================================================================================================
2201-->
2202 <!-- Checks for EOL frameworks -->
2203 <!--
2204============================================================================================================================================
2205 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.EolTargetFrameworks.targets">
2206
2207C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets
2208============================================================================================================================================
2209-->
2210 <!--
2211***********************************************************************************************
2212Microsoft.NET.EolTargetFrameworks.targets
2213
2214WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2215 created a backup copy. Incorrect changes to this file will make it
2216 impossible to load or build your projects from the command-line or the IDE.
2217
2218Copyright (c) .NET Foundation. All rights reserved.
2219***********************************************************************************************
2220-->
2221 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2222 <!-- Default the check to true, but allow developers to turn the warning off. -->
2223 <CheckEolTargetFramework Condition="'$(CheckEolTargetFramework)' == ''">true</CheckEolTargetFramework>
2224 </PropertyGroup>
2225 <!--
2226 .NET Core framework versions that are currently considered to be end-of-life (EOL). These versions will not be targeted to
2227 receive servicing updates and security fixes.
2228 -->
2229 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2230 <_EolNetCoreTargetFrameworkVersions Include="1.0;1.1;2.0;2.1;2.2;3.0" />
2231 </ItemGroup>
2232 <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">
2233 <NETSdkWarning ResourceName="TargetFrameworkIsEol" FormatArguments="$(TargetFramework.ToLowerInvariant());https://aka.ms/dotnet-core-support" />
2234 </Target>
2235 <!--
2236============================================================================================================================================
2237 </Import>
2238
2239C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
2240============================================================================================================================================
2241-->
2242 <!-- Check if the Target Framework is coreclr based -->
2243 <PropertyGroup Condition="'$(_IsNETCoreOrNETStandard)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2244 <_IsNETCoreOrNETStandard Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">true</_IsNETCoreOrNETStandard>
2245 <_IsNETCoreOrNETStandard Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard'">true</_IsNETCoreOrNETStandard>
2246 </PropertyGroup>
2247 <!-- Unification / automatic binding redirect logic -->
2248 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2249 <DesignTimeAutoUnify Condition="'$(DesignTimeAutoUnify)' == ''">true</DesignTimeAutoUnify>
2250 <AutoUnifyAssemblyReferences Condition="'$(AutoUnifyAssemblyReferences)' == '' and $(OutputType) == 'Library'">true</AutoUnifyAssemblyReferences>
2251 <AutoUnifyAssemblyReferences Condition="'$(AutoUnifyAssemblyReferences)' == '' and '$(_IsNETCoreOrNETStandard)' == 'true'">true</AutoUnifyAssemblyReferences>
2252 </PropertyGroup>
2253 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2254 <AutoGenerateBindingRedirects Condition="'$(AutoGenerateBindingRedirects)' == ''">true</AutoGenerateBindingRedirects>
2255 </PropertyGroup>
2256 <!-- Default settings for .NET Core and .NET Standard build logic -->
2257 <PropertyGroup Condition="'$(_IsNETCoreOrNETStandard)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2258 <GenerateDependencyFile Condition=" '$(GenerateDependencyFile)' == '' ">true</GenerateDependencyFile>
2259 <!-- Assembly and file versions of runtime assets should be written to the deps.json by default, to support
2260 runtime minor version roll-forward: https://github.com/dotnet/core-setup/issues/3546 -->
2261 <IncludeFileVersionsInDependencyFile Condition="'$(IncludeFileVersionsInDependencyFile)' == ''">true</IncludeFileVersionsInDependencyFile>
2262 <!-- Force .dll extension for .NETCoreApp and .NETStandard projects even if output type is exe. -->
2263 <TargetExt Condition="'$(TargetExt)' == ''">.dll</TargetExt>
2264 <!-- Disable the use of FrameworkPathOverride in Microsoft.Common.CurrentVersion.targets which can slow down evaluation. FrameworkPathOverride
2265 is not needed for NETStandard or NETCore since references come from NuGet packages-->
2266 <EnableFrameworkPathOverride Condition="'$(EnableFrameworkPathOverride)' == ''">false</EnableFrameworkPathOverride>
2267 </PropertyGroup>
2268 <!-- Regardless of platform, enable dependency file generation if PreserveCompilationContext is set. -->
2269 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2270 <GenerateDependencyFile Condition="'$(GenerateDependencyFile)' == ''">$(PreserveCompilationContext)</GenerateDependencyFile>
2271 </PropertyGroup>
2272 <!-- Set PublishDir here, before Microsoft.Common.targets, to avoid a competing default there. -->
2273 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2274 <PublishDirName Condition="'$(PublishDirName)' == ''">publish</PublishDirName>
2275 <!-- ensure the PublishDir is RID specific-->
2276 <PublishDir Condition="'$(PublishDir)' == '' and&#xD;&#xA; '$(AppendRuntimeIdentifierToOutputPath)' != 'true' and&#xD;&#xA; '$(RuntimeIdentifier)' != '' and&#xD;&#xA; '$(_UsingDefaultRuntimeIdentifier)' != 'true'">$(OutputPath)$(RuntimeIdentifier)\$(PublishDirName)\</PublishDir>
2277 <PublishDir Condition="'$(PublishDir)' == ''">$(OutputPath)$(PublishDirName)\</PublishDir>
2278 </PropertyGroup>
2279 <!--
2280 Sets RestoreAdditionalProjectSources or RestoreAdditionalProjectFallbackFolders to the SDK Offline Cache based
2281 on the TargetFramework.
2282 -->
2283 <!--
2284============================================================================================================================================
2285 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.NuGetOfflineCache.targets">
2286
2287C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.NuGetOfflineCache.targets
2288============================================================================================================================================
2289-->
2290 <!--
2291***********************************************************************************************
2292Microsoft.NET.NuGetOfflineCache.targets
2293
2294WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2295 created a backup copy. Incorrect changes to this file will make it
2296 impossible to load or build your projects from the command-line or the IDE.
2297
2298Copyright (c) .NET Foundation. All rights reserved.
2299***********************************************************************************************
2300-->
2301 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2302 <_NugetFallbackFolder>$(MSBuildThisFileDirectory)..\..\..\..\NuGetFallbackFolder</_NugetFallbackFolder>
2303 <_IsNETCore1x Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' &lt; '2.0' ">true</_IsNETCore1x>
2304 <_WorkloadLibraryPacksFolder Condition="'$(_WorkloadLibraryPacksFolder)' == ''">$([MSBuild]::EnsureTrailingSlash('$(NetCoreRoot)'))library-packs</_WorkloadLibraryPacksFolder>
2305 </PropertyGroup>
2306 <PropertyGroup Condition=" '$(DisableImplicitNuGetFallbackFolder)' != 'true' and Exists($(_NugetFallbackFolder)) " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2307 <RestoreAdditionalProjectSources Condition=" '$(_IsNETCore1x)' == 'true' and '$(DisableImplicit1xNuGetFallbackFolder)' != 'true' ">$(RestoreAdditionalProjectSources);$(_NugetFallbackFolder)</RestoreAdditionalProjectSources>
2308 <RestoreAdditionalProjectFallbackFoldersExcludes Condition=" '$(_IsNETCore1x)' == 'true' ">$(RestoreAdditionalProjectFallbackFoldersExcludes);$(_NugetFallbackFolder)</RestoreAdditionalProjectFallbackFoldersExcludes>
2309 <RestoreAdditionalProjectFallbackFolders Condition=" '$(_IsNETCore1x)' != 'true' ">$(RestoreAdditionalProjectFallbackFolders);$(_NugetFallbackFolder)</RestoreAdditionalProjectFallbackFolders>
2310 </PropertyGroup>
2311 <PropertyGroup Condition=" '$(DisableImplicitLibraryPacksFolder)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2312 <RestoreAdditionalProjectSources Condition="Exists('$(_WorkloadLibraryPacksFolder)')">$(RestoreAdditionalProjectSources);$(_WorkloadLibraryPacksFolder)</RestoreAdditionalProjectSources>
2313 </PropertyGroup>
2314 <!--
2315============================================================================================================================================
2316 </Import>
2317
2318C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.BeforeCommon.targets
2319============================================================================================================================================
2320-->
2321 <ItemGroup Condition=" '$(DisableImplicitFrameworkReferences)' != 'true' and '$(TargetFrameworkIdentifier)' == '.NETFramework'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2322 <_SDKImplicitReference Include="System" />
2323 <_SDKImplicitReference Include="System.Data" />
2324 <_SDKImplicitReference Include="System.Drawing" />
2325 <_SDKImplicitReference Include="System.Xml" />
2326 <!-- When doing greater than/less than comparisons between strings, MSBuild will try to parse the strings as Version objects and compare them as
2327 such if the parse succeeds. -->
2328 <!-- Framework assemblies introduced in .NET 3.5 -->
2329 <_SDKImplicitReference Include="System.Core" Condition=" '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.5' " />
2330 <_SDKImplicitReference Include="System.Runtime.Serialization" Condition=" '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.5' " />
2331 <_SDKImplicitReference Include="System.Xml.Linq" Condition=" '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.5' " />
2332 <!-- Framework assemblies introduced in .NET 4.0 -->
2333 <_SDKImplicitReference Include="System.Numerics" Condition=" '$(_TargetFrameworkVersionWithoutV)' &gt;= '4.0' " />
2334 <!-- Framework assemblies introduced in .NET 4.5 -->
2335 <_SDKImplicitReference Include="System.IO.Compression.FileSystem" Condition=" '$(_TargetFrameworkVersionWithoutV)' &gt;= '4.5' " />
2336 <!-- Don't automatically reference System.IO.Compression or System.Net.Http to help avoid hitting https://github.com/Microsoft/msbuild/issues/1329. -->
2337 <!--<Reference Include="System.IO.Compression" Condition=" '$(_TargetFrameworkVersionWithoutV)' >= '4.5' "/>
2338 <_SDKImplicitReference Include="System.Net.Http" Condition=" '$(_TargetFrameworkVersionWithoutV)' >= '4.5' "/>-->
2339 <_SDKImplicitReference Update="@(_SDKImplicitReference)" Pack="false" IsImplicitlyDefined="true" />
2340 <!-- 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
2341 NuGet package, you can just add the Reference to your project file. -->
2342 <_SDKImplicitReference Remove="@(Reference)" />
2343 <!-- Add the implicit references to @(Reference) -->
2344 <Reference Include="@(_SDKImplicitReference)" />
2345 </ItemGroup>
2346 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2347 <!-- Prevent System.Core reference from being added separately (see Microsoft.NETFramework.CurrentVersion.props) -->
2348 <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
2349 </PropertyGroup>
2350 <PropertyGroup Condition="'$(DisableImplicitAssetTargetFallback)' != 'true' and '$(_IsNETCoreOrNETStandard)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '2.0'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2351 <AssetTargetFallback>$(AssetTargetFallback);net461;net462;net47;net471;net472;net48</AssetTargetFallback>
2352 </PropertyGroup>
2353 <!-- Add conditional compilation symbols for the target framework (for example NET461, NETSTANDARD2_0, NETCOREAPP1_0) -->
2354 <PropertyGroup Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' and '$(TargetFrameworkIdentifier)' != '.NETPortable' and '$(TargetFrameworkIdentifier)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2355 <_FrameworkIdentifierForImplicitDefine>$(TargetFrameworkIdentifier.Replace('.', '').ToUpperInvariant())</_FrameworkIdentifierForImplicitDefine>
2356 <_FrameworkIdentifierForImplicitDefine Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0)) ">NET</_FrameworkIdentifierForImplicitDefine>
2357 <VersionlessImplicitFrameworkDefine>$(_FrameworkIdentifierForImplicitDefine)</VersionlessImplicitFrameworkDefine>
2358 <_FrameworkIdentifierForImplicitDefine Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework'">NET</_FrameworkIdentifierForImplicitDefine>
2359 <_FrameworkVersionForImplicitDefine>$(TargetFrameworkVersion.TrimStart('vV'))</_FrameworkVersionForImplicitDefine>
2360 <_FrameworkVersionForImplicitDefine>$(_FrameworkVersionForImplicitDefine.Replace('.', '_'))</_FrameworkVersionForImplicitDefine>
2361 <_FrameworkVersionForImplicitDefine Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework'">$(_FrameworkVersionForImplicitDefine.Replace('_', ''))</_FrameworkVersionForImplicitDefine>
2362 <ImplicitFrameworkDefine>$(_FrameworkIdentifierForImplicitDefine)$(_FrameworkVersionForImplicitDefine)</ImplicitFrameworkDefine>
2363 <BackwardsCompatFrameworkDefine Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0))">$(TargetFrameworkIdentifier.Replace('.', '').ToUpperInvariant())</BackwardsCompatFrameworkDefine>
2364 </PropertyGroup>
2365 <!-- Add conditional compilation symbols for the target platform (for example ANDROID, IOS, WINDOWS) -->
2366 <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">
2367 <PropertyGroup>
2368 <_PlatformIdentifierForImplicitDefine>$(TargetPlatformIdentifier.ToUpperInvariant())</_PlatformIdentifierForImplicitDefine>
2369 <_PlatformVersionForImplicitDefine>$(TargetPlatformVersion.Replace('.', '_'))</_PlatformVersionForImplicitDefine>
2370 </PropertyGroup>
2371 <ItemGroup>
2372 <_ImplicitDefineConstant Include="$(_PlatformIdentifierForImplicitDefine)" />
2373 <_ImplicitDefineConstant Include="$(_PlatformIdentifierForImplicitDefine)$(_PlatformVersionForImplicitDefine)" />
2374 </ItemGroup>
2375 </Target>
2376 <!-- Add OR_GREATER compilation symbols for target frameworks with .NET Framework, .NET Standard, .NET Core, and .NET -->
2377 <Target Name="GenerateNETCompatibleDefineConstants" Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' and ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' or '$(TargetFrameworkIdentifier)' == '.NETFramework' or '$(TargetFrameworkIdentifier)' == '.NETStandard')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2378 <ItemGroup>
2379 <_SupportedFrameworkVersions Include="@(SupportedNETCoreAppTargetFramework-&gt;'%(Identity)'-&gt;TrimStart('.NETCoreApp,Version=v'))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' " />
2380 <_SupportedFrameworkVersions Include="@(SupportedNETFrameworkTargetFramework-&gt;'%(Identity)'-&gt;TrimStart('.NETFramework,Version=v'))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' " />
2381 <_SupportedFrameworkVersions Include="@(SupportedNETStandardTargetFramework-&gt;'%(Identity)'-&gt;TrimStart('.NETStandard,Version=v'))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETStandard' " />
2382 <_CompatibleFrameworkVersions Include="@(_SupportedFrameworkVersions)" Condition=" $([MSBuild]::VersionLessThanOrEquals(%(Identity), $(TargetFrameworkVersion))) " />
2383 <_FormattedCompatibleFrameworkVersions Include="@(_CompatibleFrameworkVersions)" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' or '$(TargetFrameworkIdentifier)' == '.NETStandard' " />
2384 <_FormattedCompatibleFrameworkVersions Include="@(_CompatibleFrameworkVersions-&gt;'%(Identity)'-&gt;Replace('.', ''))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' " />
2385 <_ImplicitDefineConstant Include="@(_FormattedCompatibleFrameworkVersions-&gt;'$(_FrameworkIdentifierForImplicitDefine)%(Identity)_OR_GREATER'-&gt;Replace('.', '_'))" Condition=" '$(TargetFrameworkIdentifier)' != '.NETCoreApp' or $([MSBuild]::VersionGreaterThanOrEquals(%(_FormattedCompatibleFrameworkVersions.Identity), 5.0)) " />
2386 <_ImplicitDefineConstant Include="@(_FormattedCompatibleFrameworkVersions-&gt;'NETCOREAPP%(Identity)_OR_GREATER'-&gt;Replace('.', '_'))" Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionLessThan(%(_FormattedCompatibleFrameworkVersions.Identity), 5.0)) " />
2387 </ItemGroup>
2388 </Target>
2389 <!-- Add OR_GREATER compilation symbols for target platforms. -->
2390 <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">
2391 <ItemGroup>
2392 <_SupportedPlatformCompatibleVersions Include="@(SdkSupportedTargetPlatformVersion)" Condition=" %(Identity) != '' and $([MSBuild]::VersionLessThanOrEquals(%(Identity), $(TargetPlatformVersion))) " />
2393 <_ImplicitDefineConstant Include="@(_SupportedPlatformCompatibleVersions-&gt;'$(TargetPlatformIdentifier.ToUpper())%(Identity)_OR_GREATER'-&gt;Replace('.', '_'))" />
2394 </ItemGroup>
2395 </Target>
2396 <!-- Add implicitly defined preprocessor symbols to DefineConstants -->
2397 <Target Name="AddImplicitDefineConstants" Condition=" '$(DisableImplicitFrameworkDefines)' != 'true' " DependsOnTargets="GenerateTargetPlatformDefineConstants;GenerateNETCompatibleDefineConstants;GeneratePlatformCompatibleDefineConstants" BeforeTargets="CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2398 <PropertyGroup>
2399 <DefineConstants Condition=" '@(_ImplicitDefineConstant)' != '' ">$(DefineConstants);@(_ImplicitDefineConstant)</DefineConstants>
2400 <FinalDefineConstants Condition=" '@(_ImplicitDefineConstant)' != '' and '$(Language)' == 'VB' ">$(FinalDefineConstants),@(_ImplicitDefineConstant->'%(Identity)=-1', ',')</FinalDefineConstants>
2401 </PropertyGroup>
2402 </Target>
2403 <!-- Handle XML documentation file settings -->
2404 <PropertyGroup Condition="'$(GenerateDocumentationFile)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2405 <GenerateDocumentationFile Condition="'$(DocumentationFile)' == ''">false</GenerateDocumentationFile>
2406 <GenerateDocumentationFile Condition="'$(DocumentationFile)' != ''">true</GenerateDocumentationFile>
2407 </PropertyGroup>
2408 <PropertyGroup Condition="'$(GenerateDocumentationFile)' == 'true' and '$(DocumentationFile)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2409 <DocumentationFile Condition="'$(MSBuildProjectExtension)' == '.vbproj'">$(AssemblyName).xml</DocumentationFile>
2410 <DocumentationFile Condition="'$(MSBuildProjectExtension)' != '.vbproj'">$(IntermediateOutputPath)$(AssemblyName).xml</DocumentationFile>
2411 </PropertyGroup>
2412 <PropertyGroup Condition="'$(GenerateDocumentationFile)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2413 <DocumentationFile />
2414 </PropertyGroup>
2415 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2416 <PublishDocumentationFiles Condition="'$(PublishDocumentationFiles)' == ''">true</PublishDocumentationFiles>
2417 <PublishDocumentationFile Condition="'$(PublishDocumentationFile)' == '' and '$(PublishDocumentationFiles)' == 'true'">true</PublishDocumentationFile>
2418 <PublishReferencesDocumentationFiles Condition="'$(PublishReferencesDocumentationFiles)' == '' and '$(PublishDocumentationFiles)' == 'true'">true</PublishReferencesDocumentationFiles>
2419 </PropertyGroup>
2420 <!-- 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 -->
2421 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2422 <ProjectCapability Include="GenerateDocumentationFile" />
2423 </ItemGroup>
2424 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2425 <IsNetCoreAppTargetingLatestTFM Condition="'$(IsNetCoreAppTargetingLatestTFM)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' == '$(NETCoreAppMaximumVersion)'">true</IsNetCoreAppTargetingLatestTFM>
2426 </PropertyGroup>
2427 <!--
2428============================================================================================================================================
2429 </Import>
2430
2431C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
2432============================================================================================================================================
2433-->
2434 <PropertyGroup Condition="'$(LanguageTargets)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2435 <LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(MSBuildToolsPath)\Microsoft.CSharp.targets</LanguageTargets>
2436 <LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.vbproj'">$(MSBuildToolsPath)\Microsoft.VisualBasic.targets</LanguageTargets>
2437 <LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.fsproj'">$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.FSharpTargetsShim.targets</LanguageTargets>
2438 <!-- If LanguageTargets isn't otherwise set, then just import the common targets. This should allow the restore target to run,
2439 which could bring in NuGet packages that set the LanguageTargets to something else. This means support for different
2440 languages could either be supplied via an SDK or via a NuGet package. -->
2441 <LanguageTargets Condition="'$(LanguageTargets)' == ''">$(MSBuildToolsPath)\Microsoft.Common.targets</LanguageTargets>
2442 </PropertyGroup>
2443 <!-- REMARK: Dont remove/rename, the LanguageTargets property is used by F# to hook inside the project's sdk
2444 using Sdk attribute (from .NET Core Sdk 1.0.0-preview4) -->
2445 <!--
2446============================================================================================================================================
2447 <Import Project="$(LanguageTargets)">
2448
2449C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.CSharp.targets
2450============================================================================================================================================
2451-->
2452 <!--
2453***********************************************************************************************
2454Microsoft.CSharp.targets
2455
2456WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2457 created a backup copy. Incorrect changes to this file will make it
2458 impossible to load or build your projects from the command-line or the IDE.
2459
2460This file defines the steps in the standard build process specific for C# .NET projects.
2461For example, it contains the step that actually calls the C# compiler. The remainder
2462of the build process is defined in Microsoft.Common.targets, which is imported by
2463this file.
2464
2465Copyright (C) Microsoft Corporation. All rights reserved.
2466***********************************************************************************************
2467-->
2468 <!--
2469 In VS 2010 SP1 and VS 2012, both supported for asset compatibility, the MSBuild installed
2470 as part of them did not enforce using the local ToolsVersion (4.0) in all cases, but instead
2471 just used whatever ToolsVersion was in the project file if it existed on the machine, and
2472 only forced 4.0 if that ToolsVersion did not exist.
2473
2474 Moving forward, we do want to enforce a single acting ToolsVersion per version of Visual Studio,
2475 but in order to approximate this behavior on VS 2010 SP1 and VS 2012 as well, we've redirected
2476 the targets: If we're building using 4.X MSBuild (which doesn't define the new reserved
2477 property, MSBuildAssemblyVersion), we'll point right back at the 4.0 targets, which still exist
2478 as part of the .NET Framework. Only if we're using the new MSBuild will we point to the current
2479 targets.
2480 -->
2481 <Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2482 <When Condition="'$(MSBuildAssemblyVersion)' == ''">
2483 <PropertyGroup>
2484 <CSharpTargetsPath>$(MSBuildFrameworkToolsPath)\Microsoft.CSharp.targets</CSharpTargetsPath>
2485 <!-- Same condition as in .NET 4.5 C# targets so that we can override the behavior where it defaults to
2486 MSBuildToolsPath, which would be incorrect in this case -->
2487 <CscToolPath Condition="'$(CscToolPath)' == '' and '$(BuildingInsideVisualStudio)' != 'true'">$(MsBuildFrameworkToolsPath)</CscToolPath>
2488 </PropertyGroup>
2489 </When>
2490 <When Condition="'$(IsCrossTargetingBuild)' == 'true'">
2491 <PropertyGroup>
2492 <CSharpTargetsPath>$(MSBuildToolsPath)\Microsoft.CSharp.CrossTargeting.targets</CSharpTargetsPath>
2493 </PropertyGroup>
2494 </When>
2495 <Otherwise>
2496 <PropertyGroup>
2497 <CSharpTargetsPath>$(MSBuildToolsPath)\Microsoft.CSharp.CurrentVersion.targets</CSharpTargetsPath>
2498 </PropertyGroup>
2499 </Otherwise>
2500 </Choose>
2501 <PropertyGroup Condition="'$(MSBuildAssemblyVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2502 <!--
2503 Overrides for the Microsoft.Common.targets extension targets. Used to make sure that only the imports we specify
2504 (hard-coded to 4.0 locations) are used, not the 12.0 locations that would be used by default. Defined here because
2505 Microsoft.CSharp.targets imports Microsoft.Common.targets from the current directory rather than using MSBuildToolsPath,
2506 so defining these in Microsoft.Common.targets alone would not suffice for C# projects.
2507
2508 NOTE: This logic is duplicated in Microsoft.VisualBasic.targets (VB has the same problem) and in Microsoft.Common.targets
2509 (for anyone who DOES import it directly), so for any changes to this logic in this file, please also edit the other two.
2510 -->
2511 <ImportByWildcardBefore40MicrosoftCommonTargets Condition="'$(ImportByWildcardBefore40MicrosoftCommonTargets)' == ''">$(ImportByWildcardBeforeMicrosoftCommonTargets)</ImportByWildcardBefore40MicrosoftCommonTargets>
2512 <ImportByWildcardBefore40MicrosoftCommonTargets Condition="'$(ImportByWildcardBefore40MicrosoftCommonTargets)' == ''">true</ImportByWildcardBefore40MicrosoftCommonTargets>
2513 <ImportByWildcardAfter40MicrosoftCommonTargets Condition="'$(ImportByWildcardAfter40MicrosoftCommonTargets)' == ''">$(ImportByWildcardAfterMicrosoftCommonTargets)</ImportByWildcardAfter40MicrosoftCommonTargets>
2514 <ImportByWildcardAfter40MicrosoftCommonTargets Condition="'$(ImportByWildcardAfter40MicrosoftCommonTargets)' == ''">true</ImportByWildcardAfter40MicrosoftCommonTargets>
2515 <ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets)' == ''">$(ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets)</ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets>
2516 <ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets)' == ''">true</ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets>
2517 <ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets)' == ''">$(ImportUserLocationsByWildcardAfterMicrosoftCommonTargets)</ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets>
2518 <ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets)' == ''">true</ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets>
2519 <ImportByWildcardBeforeMicrosoftCommonTargets>false</ImportByWildcardBeforeMicrosoftCommonTargets>
2520 <ImportByWildcardAfterMicrosoftCommonTargets>false</ImportByWildcardAfterMicrosoftCommonTargets>
2521 <ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets>false</ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets>
2522 <ImportUserLocationsByWildcardAfterMicrosoftCommonTargets>false</ImportUserLocationsByWildcardAfterMicrosoftCommonTargets>
2523 <CustomBeforeMicrosoftCommonTargets Condition="'$(CustomBeforeMicrosoftCommonTargets)' == ''">$(MSBuildExtensionsPath)\v4.0\Custom.Before.Microsoft.Common.targets</CustomBeforeMicrosoftCommonTargets>
2524 <CustomAfterMicrosoftCommonTargets Condition="'$(CustomAfterMicrosoftCommonTargets)' == ''">$(MSBuildExtensionsPath)\v4.0\Custom.After.Microsoft.Common.targets</CustomAfterMicrosoftCommonTargets>
2525 <!-- Overrides for the Microsoft.CSharp.targets extension targets -->
2526 <ImportByWildcardBefore40MicrosoftCSharpTargets Condition="'$(ImportByWildcardBefore40MicrosoftCSharpTargets)' == ''">$(ImportByWildcardBeforeMicrosoftCSharpTargets)</ImportByWildcardBefore40MicrosoftCSharpTargets>
2527 <ImportByWildcardBefore40MicrosoftCSharpTargets Condition="'$(ImportByWildcardBefore40MicrosoftCSharpTargets)' == ''">true</ImportByWildcardBefore40MicrosoftCSharpTargets>
2528 <ImportByWildcardAfter40MicrosoftCSharpTargets Condition="'$(ImportByWildcardAfter40MicrosoftCSharpTargets)' == ''">$(ImportByWildcardAfterMicrosoftCSharpTargets)</ImportByWildcardAfter40MicrosoftCSharpTargets>
2529 <ImportByWildcardAfter40MicrosoftCSharpTargets Condition="'$(ImportByWildcardAfter40MicrosoftCSharpTargets)' == ''">true</ImportByWildcardAfter40MicrosoftCSharpTargets>
2530 <ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets)' == ''">$(ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets)</ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets>
2531 <ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets)' == ''">true</ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets>
2532 <ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets)' == ''">$(ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets)</ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets>
2533 <ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets)' == ''">true</ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets>
2534 <ImportByWildcardBeforeMicrosoftCSharpTargets>false</ImportByWildcardBeforeMicrosoftCSharpTargets>
2535 <ImportByWildcardAfterMicrosoftCSharpTargets>false</ImportByWildcardAfterMicrosoftCSharpTargets>
2536 <ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets>false</ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets>
2537 <ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets>false</ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets>
2538 <CustomBeforeMicrosoftCSharpTargets Condition="'$(CustomBeforeMicrosoftCSharpTargets)' == ''">$(MSBuildExtensionsPath)\v4.0\Custom.Before.Microsoft.CSharp.targets</CustomBeforeMicrosoftCSharpTargets>
2539 <CustomAfterMicrosoftCSharpTargets Condition="'$(CustomAfterMicrosoftCSharpTargets)' == ''">$(MSBuildExtensionsPath)\v4.0\Custom.After.Microsoft.CSharp.targets</CustomAfterMicrosoftCSharpTargets>
2540 </PropertyGroup>
2541 <PropertyGroup Condition="'$(MSBuildAssemblyVersion)' == '' and ('$(TargetFrameworkIdentifier)' == '.NETFramework' or '$(TargetFrameworkIdentifier)' == 'Silverlight' or ('$(TargetFrameworkIdentifier)' == '' and ('$(TargetRuntime)' == 'Managed' or '$(TargetRuntime)' == '')))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2542 <!--
2543 Overrides for the Microsoft.NETFramework.props extension targets. Used to make sure that only the imports we specify
2544 (hard-coded to 4.0 locations) are used, not the 12.0 locations that would be used by default. Required because
2545 Microsoft.Common.targets imports it from the current directory, so we don't get a chance to redirect these in its
2546 own redirection targets.
2547
2548 NOTE: This logic is duplicated in Microsoft.VisualBasic.targets and in Microsoft.Common.targets because VB and C#
2549 import Microsoft.Common.targets from the current directory and thus don't get the benefit of these redirections either,
2550 so for any changes to this logic in this file, please also edit the other two.
2551 -->
2552 <ImportByWildcardBefore40MicrosoftNetFrameworkProps Condition="'$(ImportByWildcardBefore40MicrosoftNetFrameworkProps)' == ''">$(ImportByWildcardBeforeMicrosoftNetFrameworkProps)</ImportByWildcardBefore40MicrosoftNetFrameworkProps>
2553 <ImportByWildcardBefore40MicrosoftNetFrameworkProps Condition="'$(ImportByWildcardBefore40MicrosoftNetFrameworkProps)' == ''">true</ImportByWildcardBefore40MicrosoftNetFrameworkProps>
2554 <ImportByWildcardAfter40MicrosoftNetFrameworkProps Condition="'$(ImportByWildcardAfter40MicrosoftNetFrameworkProps)' == ''">$(ImportByWildcardAfterMicrosoftNetFrameworkProps)</ImportByWildcardAfter40MicrosoftNetFrameworkProps>
2555 <ImportByWildcardAfter40MicrosoftNetFrameworkProps Condition="'$(ImportByWildcardAfter40MicrosoftNetFrameworkProps)' == ''">true</ImportByWildcardAfter40MicrosoftNetFrameworkProps>
2556 <ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps)' == ''">$(ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps)</ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps>
2557 <ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps)' == ''">true</ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps>
2558 <ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps)' == ''">$(ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps)</ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps>
2559 <ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps)' == ''">true</ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps>
2560 <ImportByWildcardBeforeMicrosoftNetFrameworkProps>false</ImportByWildcardBeforeMicrosoftNetFrameworkProps>
2561 <ImportByWildcardAfterMicrosoftNetFrameworkProps>false</ImportByWildcardAfterMicrosoftNetFrameworkProps>
2562 <ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps>false</ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps>
2563 <ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps>false</ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps>
2564 </PropertyGroup>
2565 <!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">-->
2566 <!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.CSharp.targets\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCSharpTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.CSharp.targets\ImportBefore')" />-->
2567 <!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.CSharp.targets\ImportBefore\*" Condition="'$(ImportByWildcardBefore40MicrosoftCSharpTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.CSharp.targets\ImportBefore')" />-->
2568 <!--</ImportGroup>-->
2569 <!-- Really should be imported right before Microsoft.Common.targets, but because Microsoft.CSharp.targets imports
2570 Microsoft.Common.targets from the current directory rather than using MSBuildToolsPath (which would redirect to our
2571 targets), we're stuck doing it this way instead. -->
2572 <!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">-->
2573 <!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.Common.targets\ImportBefore')" />-->
2574 <!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportByWildcardBefore40MicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.targets\ImportBefore')" />-->
2575 <!--</ImportGroup>-->
2576 <!-- Really should be imported right before Microsoft.NETFramework.props, but because Microsoft.CSharp.targets imports
2577 Microsoft.Common.targets from the current directory rather than using MSBuildToolsPath (which would redirect to our
2578 targets), and Microsoft.Common.targets does likewise with Microsoft.NETFramework.props, we're stuck doing it this
2579 way instead. -->
2580 <!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">-->
2581 <!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportBefore')" />-->
2582 <!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportBefore\*" Condition="'$(ImportByWildcardBefore40MicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportBefore')" />-->
2583 <!--</ImportGroup>-->
2584 <!--
2585============================================================================================================================================
2586 <Import Project="$(MSBuildToolsPath)\Microsoft.Managed.Before.targets">
2587
2588C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Managed.Before.targets
2589============================================================================================================================================
2590-->
2591 <!--
2592***********************************************************************************************
2593WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2594 created a backup copy. Incorrect changes to this file will make it
2595 impossible to load or build your projects from the command-line or the IDE.
2596
2597This file defines common build logic for all managed languaged: C#, VisualBasic, F#
2598It is imported before the common targets have been imported.
2599
2600Copyright (C) Microsoft Corporation. All rights reserved.
2601***********************************************************************************************
2602-->
2603 <!--
2604 We are doing a cross-targeting build if there is a non-empty list of target frameworks specified
2605 and there is no current target framework being built individually. In that case, a multitargeting
2606 project file like Microsoft.<language>.CrossTargeting.targets gets imported.
2607 -->
2608 <PropertyGroup Condition="'$(TargetFrameworks)' != '' and '$(TargetFramework)' == ''">
2609 <IsCrossTargetingBuild>true</IsCrossTargetingBuild>
2610 </PropertyGroup>
2611 <!--
2612============================================================================================================================================
2613 </Import>
2614
2615C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.CSharp.targets
2616============================================================================================================================================
2617-->
2618 <!--
2619============================================================================================================================================
2620 <Import Project="$(CSharpTargetsPath)">
2621
2622C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.CSharp.CurrentVersion.targets
2623============================================================================================================================================
2624-->
2625 <!--
2626***********************************************************************************************
2627Microsoft.CSharp.CurrentVersion.targets
2628
2629WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
2630 created a backup copy. Incorrect changes to this file will make it
2631 impossible to load or build your projects from the command-line or the IDE.
2632
2633This file defines the steps in the standard build process specific for C# .NET projects.
2634For example, it contains the step that actually calls the C# compiler. The remainder
2635of the build process is defined in Microsoft.Common.targets, which is imported by
2636this file.
2637
2638Copyright (C) Microsoft Corporation. All rights reserved.
2639***********************************************************************************************
2640-->
2641 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2642 <ImportByWildcardBeforeMicrosoftCSharpTargets Condition="'$(ImportByWildcardBeforeMicrosoftCSharpTargets)' == ''">true</ImportByWildcardBeforeMicrosoftCSharpTargets>
2643 <ImportByWildcardAfterMicrosoftCSharpTargets Condition="'$(ImportByWildcardAfterMicrosoftCSharpTargets)' == ''">true</ImportByWildcardAfterMicrosoftCSharpTargets>
2644 <ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets)' == ''">true</ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets>
2645 <ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets)' == ''">true</ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets>
2646 </PropertyGroup>
2647 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.CSharp.targets\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCSharpTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.CSharp.targets\ImportBefore')" />-->
2648 <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.CSharp.targets\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftCSharpTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.CSharp.targets\ImportBefore')" />-->
2649 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2650 <CustomBeforeMicrosoftCSharpTargets Condition="'$(CustomBeforeMicrosoftCSharpTargets)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.Before.Microsoft.CSharp.targets</CustomBeforeMicrosoftCSharpTargets>
2651 <CustomAfterMicrosoftCSharpTargets Condition="'$(CustomAfterMicrosoftCSharpTargets)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.After.Microsoft.CSharp.targets</CustomAfterMicrosoftCSharpTargets>
2652 </PropertyGroup>
2653 <!--<Import Project="$(CustomBeforeMicrosoftCSharpTargets)" Condition="'$(CustomBeforeMicrosoftCSharpTargets)' != '' and Exists('$(CustomBeforeMicrosoftCSharpTargets)')" />-->
2654 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2655 <DefaultLanguageSourceExtension>.cs</DefaultLanguageSourceExtension>
2656 <Language>C#</Language>
2657 <TargetRuntime>Managed</TargetRuntime>
2658 <AlwaysUseNumericalSuffixInItemNames>true</AlwaysUseNumericalSuffixInItemNames>
2659 <DefineCommonItemSchemas Condition=" '$(DefineCommonItemSchemas)' == '' ">true</DefineCommonItemSchemas>
2660 <DefineCommonReferenceSchemas Condition=" '$(DefineCommonReferenceSchemas)' == '' ">true</DefineCommonReferenceSchemas>
2661 <DefineCommonCapabilities Condition=" '$(DefineCommonCapabilities)' == '' ">true</DefineCommonCapabilities>
2662 <SynthesizeLinkMetadata Condition=" '$(SynthesizeLinkMetadata)' == '' and '$(HasSharedItems)' == 'true' ">true</SynthesizeLinkMetadata>
2663 <DefaultProjectTypeGuid Condition=" '$(DefaultProjectTypeGuid)' == '' ">{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</DefaultProjectTypeGuid>
2664 <AppDesignerFolder Condition="'$(AppDesignerFolder)' == ''">Properties</AppDesignerFolder>
2665 </PropertyGroup>
2666 <ItemGroup Condition=" '$(DefineCSharpItemSchemas)' != 'false' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2667 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)CSharp.ProjectItemsSchema.xaml;" />
2668 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)CSharp.xaml;">
2669 <Context>File</Context>
2670 </PropertyPageSchema>
2671 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)CSharp.BrowseObject.xaml;">
2672 <Context>BrowseObject</Context>
2673 </PropertyPageSchema>
2674 <ProjectCapability Include="CSharp;Managed" />
2675 </ItemGroup>
2676 <ItemGroup Condition=" '$(DefineCommonCapabilities)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2677 <ProjectCapability Include="ReferencesFolder;LanguageService" />
2678 </ItemGroup>
2679 <!--
2680 The CreateManifestResourceNames target create the manifest resource names from the .RESX
2681 files.
2682
2683 [IN]
2684 @(EmbeddedResource) - The list of EmbeddedResource items that have been pre-processed to add metadata about resource type
2685 Expected Metadata "Type" can either be "Resx" or "Non-Resx"
2686
2687 [OUT]
2688 @(EmbeddedResource) - EmbeddedResource items with metadata
2689
2690 For C# applications the transformation is like:
2691
2692 Resources1.resx => RootNamespace.Resources1 => Build into main assembly
2693 SubFolder\Resources1.resx => RootNamespace.SubFolder.Resources1 => Build into main assembly
2694 Resources1.fr.resx => RootNamespace.Resources1.fr => Build into satellite assembly
2695 Resources1.notaculture.resx => RootNamespace.Resources1.notaculture => Build into main assembly
2696
2697 For other project systems, this transformation may be different.
2698 -->
2699 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2700 <CreateManifestResourceNamesDependsOn />
2701 </PropertyGroup>
2702 <Target Name="CreateManifestResourceNames" Condition="'@(EmbeddedResource)' != ''" DependsOnTargets="$(CreateManifestResourceNamesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2703 <ItemGroup>
2704 <_Temporary Remove="@(_Temporary)" />
2705 </ItemGroup>
2706 <!-- Create manifest names for culture and non-culture Resx files, and for non-culture Non-Resx resources -->
2707 <CreateCSharpManifestResourceName ResourceFiles="@(EmbeddedResource)" RootNamespace="$(RootNamespace)" UseDependentUponConvention="$(EmbeddedResourceUseDependentUponConvention)" Condition="'%(EmbeddedResource.ManifestResourceName)' == '' and ('%(EmbeddedResource.WithCulture)' == 'false' or '%(EmbeddedResource.Type)' == 'Resx')">
2708 <Output TaskParameter="ResourceFilesWithManifestResourceNames" ItemName="_Temporary" />
2709 </CreateCSharpManifestResourceName>
2710 <!-- Create manifest names for all culture non-resx resources -->
2711 <CreateCSharpManifestResourceName ResourceFiles="@(EmbeddedResource)" RootNamespace="$(RootNamespace)" PrependCultureAsDirectory="false" UseDependentUponConvention="$(EmbeddedResourceUseDependentUponConvention)" Condition="'%(EmbeddedResource.ManifestResourceName)' == '' and '%(EmbeddedResource.WithCulture)' == 'true' and '%(EmbeddedResource.Type)' == 'Non-Resx'">
2712 <Output TaskParameter="ResourceFilesWithManifestResourceNames" ItemName="_Temporary" />
2713 </CreateCSharpManifestResourceName>
2714 <ItemGroup>
2715 <EmbeddedResource Remove="@(EmbeddedResource)" Condition="'%(EmbeddedResource.ManifestResourceName)' == ''" />
2716 <EmbeddedResource Include="@(_Temporary)" />
2717 <_Temporary Remove="@(_Temporary)" />
2718 </ItemGroup>
2719 </Target>
2720 <Target Name="ResolveCodeAnalysisRuleSet" Condition="'$(CodeAnalysisRuleSet)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2721 <ResolveCodeAnalysisRuleSet CodeAnalysisRuleSet="$(CodeAnalysisRuleSet)" CodeAnalysisRuleSetDirectories="$(CodeAnalysisRuleSetDirectories)" MSBuildProjectDirectory="$(MSBuildProjectDirectory)">
2722 <Output TaskParameter="ResolvedCodeAnalysisRuleSet" PropertyName="ResolvedCodeAnalysisRuleSet" />
2723 </ResolveCodeAnalysisRuleSet>
2724 </Target>
2725 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2726 <!-- Activate CPS projects to track folder names in namespace. -->
2727 <ProjectCapability Include="RelativePathDerivedDefaultNamespace" />
2728 </ItemGroup>
2729 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2730 <!-- Provide a facility to override UseHostCompilerIfAvailable-->
2731 <UseHostCompilerIfAvailable Condition=" '$(UseHostCompilerIfAvailable)' == ''">true</UseHostCompilerIfAvailable>
2732 </PropertyGroup>
2733 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2734 <DocFileItem Include="$(DocumentationFile)" Condition="'$(DocumentationFile)'!=''" />
2735 </ItemGroup>
2736 <ItemGroup Condition="'$(_DebugSymbolsProduced)' == 'true' and '$(PdbFile)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2737 <_DebugSymbolsIntermediatePathTemporary Include="$(PdbFile)" />
2738 <!-- Add any missing .pdb extension, as the compiler does -->
2739 <_DebugSymbolsIntermediatePath Include="@(_DebugSymbolsIntermediatePathTemporary->'%(RootDir)%(Directory)%(Filename).pdb')" />
2740 </ItemGroup>
2741 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2742 <CoreCompileDependsOn>$(CoreCompileDependsOn);_ComputeNonExistentFileProperty;ResolveCodeAnalysisRuleSet</CoreCompileDependsOn>
2743 <ExportWinMDFile Condition="'$(ExportWinMDFile)' == '' and '$(OutputType)' == 'WinMDObj'">true</ExportWinMDFile>
2744 </PropertyGroup>
2745 <!--
2746 The XamlPreCompile target must remain identical to
2747 the CoreCompile target in Microsoft.CSharp.Core.targets.
2748 Any updates to one must be made to the other.
2749-->
2750 <Target Name="XamlPreCompile" Inputs="$(MSBuildAllProjects);&#xD;&#xA; @(Compile);&#xD;&#xA; @(_CoreCompileResourceInputs);&#xD;&#xA; $(ApplicationIcon);&#xD;&#xA; $(AssemblyOriginatorKeyFile);&#xD;&#xA; @(ReferencePath);&#xD;&#xA; @(CompiledLicenseFile);&#xD;&#xA; @(LinkResource);&#xD;&#xA; @(EmbeddedDocumentation);&#xD;&#xA; $(Win32Resource);&#xD;&#xA; $(Win32Manifest);&#xD;&#xA; @(CustomAdditionalCompileInputs);&#xD;&#xA; @(Page);&#xD;&#xA; @(ApplicationDefinition);&#xD;&#xA; $(ResolvedCodeAnalysisRuleSet)" Outputs="@(DocFileItem);&#xD;&#xA; @(XamlIntermediateAssembly);&#xD;&#xA; @(_DebugSymbolsIntermediatePath);&#xD;&#xA; $(NonExistentFile);&#xD;&#xA; @(CustomAdditionalCompileOutputs)" Condition="'@(Page)' != '' Or '@(ApplicationDefinition)' != ''" Returns="" DependsOnTargets="$(CoreCompileDependsOn);GenerateMSBuildEditorConfigFile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2751 <!-- These two compiler warnings are raised when a reference is bound to a different version
2752 than specified in the assembly reference version number. MSBuild raises the same warning in this case,
2753 so the compiler warning would be redundant. -->
2754 <PropertyGroup Condition="('$(TargetFrameworkVersion)' != 'v1.0') and ('$(TargetFrameworkVersion)' != 'v1.1')">
2755 <NoWarn>$(NoWarn);1701;1702</NoWarn>
2756 </PropertyGroup>
2757 <PropertyGroup>
2758 <!-- To match historical behavior, when inside VS11+ disable the warning from csc.exe indicating that no sources were passed in-->
2759 <NoWarn Condition=" '$(BuildingInsideVisualStudio)' == 'true' and '$(VisualStudioVersion)' != '' and '$(VisualStudioVersion)' &gt; '10.0' ">$(NoWarn);2008</NoWarn>
2760 </PropertyGroup>
2761 <ItemGroup Condition="'$(TargetingClr2Framework)'=='true'">
2762 <ReferencePath>
2763 <EmbedInteropTypes />
2764 </ReferencePath>
2765 </ItemGroup>
2766 <PropertyGroup>
2767 <!-- If the user has specified AppConfigForCompiler, we'll use it. If they have not, but they set UseAppConfigForCompiler,
2768 then we'll use AppConfig -->
2769 <AppConfigForCompiler Condition="'$(AppConfigForCompiler)' == '' and '$(UseAppConfigForCompiler)' == 'true'">$(AppConfig)</AppConfigForCompiler>
2770 <!-- If we are targeting winmdobj we want to specifically the pdbFile property since we do not want it to collide with the output of winmdexp-->
2771 <PdbFile Condition="'$(PdbFile)' == '' and '$(OutputType)' == 'winmdobj' and '$(_DebugSymbolsProduced)' == 'true'">$(IntermediateOutputPath)$(TargetName).compile.pdb</PdbFile>
2772 </PropertyGroup>
2773 <!-- Prefer32Bit was introduced in .NET 4.5. Set it to false if we are targeting 4.0 -->
2774 <PropertyGroup Condition="('$(TargetFrameworkVersion)' == 'v4.0')">
2775 <Prefer32Bit>false</Prefer32Bit>
2776 </PropertyGroup>
2777 <ItemGroup Condition="('$(AdditionalFileItemNames)' != '')">
2778 <AdditionalFileItems Include="$(AdditionalFileItemNames)" />
2779 <AdditionalFiles Include="@(%(AdditionalFileItems.Identity))" />
2780 </ItemGroup>
2781 <PropertyGroup Condition="'$(UseSharedCompilation)' == ''">
2782 <UseSharedCompilation>true</UseSharedCompilation>
2783 </PropertyGroup>
2784 <!-- Condition is to filter out the _CoreCompileResourceInputs so that it doesn't pass in culture resources to the compiler -->
2785 <Csc Condition=" '%(_CoreCompileResourceInputs.WithCulture)' != 'true' " AdditionalLibPaths="$(AdditionalLibPaths)" AddModules="@(AddModules)" AdditionalFiles="@(AdditionalFiles)" AllowUnsafeBlocks="$(AllowUnsafeBlocks)" AnalyzerConfigFiles="@(EditorConfigFiles)" Analyzers="@(Analyzer)" ApplicationConfiguration="$(AppConfigForCompiler)" BaseAddress="$(BaseAddress)" CheckForOverflowUnderflow="$(CheckForOverflowUnderflow)" CodeAnalysisRuleSet="$(ResolvedCodeAnalysisRuleSet)" CodePage="$(CodePage)" DebugType="$(DebugType)" DefineConstants="$(DefineConstants)" DelaySign="$(DelaySign)" DisabledWarnings="$(NoWarn)" DocumentationFile="@(DocFileItem)" EmitDebugInformation="$(DebugSymbols)" EnvironmentVariables="$(CscEnvironment)" ErrorEndLocation="$(ErrorEndLocation)" ErrorLog="$(ErrorLog)" ErrorReport="$(ErrorReport)" FileAlignment="$(FileAlignment)" GenerateFullPaths="$(GenerateFullPaths)" HighEntropyVA="$(HighEntropyVA)" KeyContainer="$(KeyContainerName)" KeyFile="$(KeyOriginatorFile)" LangVersion="$(LangVersion)" LinkResources="@(LinkResource)" MainEntryPoint="$(StartupObject)" ModuleAssemblyName="$(ModuleAssemblyName)" NoConfig="true" NoLogo="$(NoLogo)" NoStandardLib="$(NoCompilerStandardLib)" NoWin32Manifest="$(NoWin32Manifest)" Nullable="$(Nullable)" Optimize="$(Optimize)" OutputAssembly="@(XamlIntermediateAssembly)" PdbFile="$(PdbFile)" Platform="$(PlatformTarget)" Prefer32Bit="$(Prefer32Bit)" PreferredUILang="$(PreferredUILang)" References="@(ReferencePath)" ReportAnalyzer="$(ReportAnalyzer)" Resources="@(_CoreCompileResourceInputs);@(CompiledLicenseFile)" ResponseFiles="$(CompilerResponseFile)" SkipAnalyzers="$(_SkipAnalyzers)" Sources="@(Compile)" SubsystemVersion="$(SubsystemVersion)" TargetType="$(OutputType)" ToolExe="$(CscToolExe)" ToolPath="$(CscToolPath)" TreatWarningsAsErrors="$(TreatWarningsAsErrors)" UseHostCompilerIfAvailable="$(UseHostCompilerIfAvailable)" UseSharedCompilation="$(UseSharedCompilation)" Utf8Output="$(Utf8Output)" VsSessionGuid="$(VsSessionGuid)" WarningLevel="$(WarningLevel)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" Win32Icon="$(ApplicationIcon)" Win32Manifest="$(Win32Manifest)" Win32Resource="$(Win32Resource)" />
2786 <!-- Only Applicable to the regular CoreCompile:
2787 <ItemGroup>
2788 <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />
2789 </ItemGroup>
2790
2791 <CallTarget Targets="$(TargetsTriggeredByCompilation)" Condition="'$(TargetsTriggeredByCompilation)' != ''"/>
2792-->
2793 <OnError Condition="'$(OnXamlPreCompileErrorTarget)' != ''" ExecuteTargets="$(OnXamlPreCompileErrorTarget)" />
2794 </Target>
2795 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2796 <!-- Design-time builds require a newer version than 1.0 to succeed, so override back to inbox in that case -->
2797 <CSharpCoreTargetsPath Condition="'$(CSharpCoreTargetsPath)' == '' or ('$(DesignTimeBuild)' == 'true' and $(CSharpCoreTargetsPath.Contains('Microsoft.Net.Compilers.1.0.0')))">$(RoslynTargetsPath)\Microsoft.CSharp.Core.targets</CSharpCoreTargetsPath>
2798 </PropertyGroup>
2799 <!--
2800============================================================================================================================================
2801 <Import Project="$(CSharpCoreTargetsPath)">
2802
2803C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Roslyn\Microsoft.CSharp.Core.targets
2804============================================================================================================================================
2805-->
2806 <!-- 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 file in the project root for more information. -->
2807 <!--
2808============================================================================================================================================
2809 <Import Project="Microsoft.Managed.Core.targets">
2810
2811C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Roslyn\Microsoft.Managed.Core.targets
2812============================================================================================================================================
2813-->
2814 <!-- 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 file in the project root for more information. -->
2815 <!--
2816 Common targets for managed compilers.
2817 -->
2818 <UsingTask TaskName="Microsoft.CodeAnalysis.BuildTasks.MapSourceRoots" AssemblyFile="$(MSBuildThisFileDirectory)Microsoft.Build.Tasks.CodeAnalysis.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
2819 <Target Name="ShimReferencePathsWhenCommonTargetsDoesNotUnderstandReferenceAssemblies" BeforeTargets="CoreCompile" Condition="'@(ReferencePathWithRefAssemblies)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2820 <!--
2821 FindReferenceAssembliesForReferences target in Common targets populate this item
2822 since dev15.3. The compiler targets may be used (via NuGet package) on earlier MSBuilds.
2823 If the ReferencePathWithRefAssemblies item is not populated, just use ReferencePaths
2824 (implementation assemblies) as they are.
2825
2826 Since XAML inner build runs CoreCompile directly (instead of Compile target),
2827 it also doesn't invoke FindReferenceAssembliesForReferences listed in CompileDependsOn.
2828 In that case we also populate ReferencePathWithRefAssemblies with implementation assemblies.
2829 -->
2830 <ItemGroup>
2831 <ReferencePathWithRefAssemblies Include="@(ReferencePath)" />
2832 </ItemGroup>
2833 </Target>
2834 <Target Name="_BeforeVBCSCoreCompile" DependsOnTargets="ShimReferencePathsWhenCommonTargetsDoesNotUnderstandReferenceAssemblies" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2835 <ItemGroup Condition="'$(TargetingClr2Framework)' == 'true'">
2836 <ReferencePathWithRefAssemblies>
2837 <EmbedInteropTypes />
2838 </ReferencePathWithRefAssemblies>
2839 </ItemGroup>
2840 <!-- Prefer32Bit was introduced in .NET 4.5. Set it to false if we are targeting 4.0 -->
2841 <PropertyGroup Condition="('$(TargetFrameworkVersion)' == 'v4.0')">
2842 <Prefer32Bit>false</Prefer32Bit>
2843 </PropertyGroup>
2844 <!-- TODO: Remove this ItemGroup once it has been moved to "_GenerateCompileInputs" target in Microsoft.Common.CurrentVersion.targets.
2845 https://github.com/dotnet/roslyn/issues/12223 -->
2846 <ItemGroup Condition="('$(AdditionalFileItemNames)' != '')">
2847 <AdditionalFileItems Include="$(AdditionalFileItemNames)" />
2848 <AdditionalFiles Include="@(%(AdditionalFileItems.Identity))" />
2849 </ItemGroup>
2850 <PropertyGroup Condition="'$(UseSharedCompilation)' == ''">
2851 <UseSharedCompilation>true</UseSharedCompilation>
2852 </PropertyGroup>
2853 </Target>
2854 <Target Name="_ComputeSkipAnalyzers" BeforeTargets="CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2855 <!-- First, force clear non-user facing property '_SkipAnalyzers'. -->
2856 <PropertyGroup>
2857 <_SkipAnalyzers />
2858 </PropertyGroup>
2859 <!--
2860 Then, determine if '_SkipAnalyzers' needs to be 'true' based on user facing property 'RunAnalyzers'.
2861 If 'RunAnalyzers' is not set, then fallback to user facing property 'RunAnalyzersDuringBuild'.
2862 Latter property allows users to disable analyzers only for non-design time builds.
2863 Design time builds are background builds inside Visual Studio,
2864 see details here: https://github.com/dotnet/project-system/blob/main/docs/design-time-builds.md.
2865 Setting 'RunAnalyzersDuringBuild' to false, without setting 'RunAnalyzers', allows users to
2866 continue running analyzers in the background in Visual Studio while typing (i.e. intellisense),
2867 while disabling analyzer execution on explicitly invoked non-design time builds.
2868 -->
2869 <PropertyGroup Condition="'$(RunAnalyzers)' == 'false' or&#xD;&#xA; ('$(RunAnalyzers)' == '' and '$(RunAnalyzersDuringBuild)' == 'false')">
2870 <_SkipAnalyzers>true</_SkipAnalyzers>
2871 </PropertyGroup>
2872 </Target>
2873 <!--
2874 ========================
2875 .editorconfig Support
2876 ========================
2877
2878 -->
2879 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2880 <_AllDirectoriesAbove Include="@(Compile-&gt;GetPathsOfAllDirectoriesAbove())" Condition="'$(DiscoverEditorConfigFiles)' != 'false' or '$(DiscoverGlobalAnalyzerConfigFiles)' != 'false'" />
2881 <!-- Work around a GetPathsOfAllDirectoriesAbove() bug where it can return multiple equivalent paths when the
2882 compilation includes linked files with relative paths - https://github.com/microsoft/msbuild/issues/4392 -->
2883 <PotentialEditorConfigFiles Include="@(_AllDirectoriesAbove-&gt;'%(FullPath)'-&gt;Distinct()-&gt;Combine('.editorconfig'))" Condition="'$(DiscoverEditorConfigFiles)' != 'false'" />
2884 <EditorConfigFiles Include="@(PotentialEditorConfigFiles-&gt;Exists())" Condition="'$(DiscoverEditorConfigFiles)' != 'false'" />
2885 <GlobalAnalyzerConfigFiles Include="@(_AllDirectoriesAbove-&gt;'%(FullPath)'-&gt;Distinct()-&gt;Combine('.globalconfig'))" Condition="'$(DiscoverGlobalAnalyzerConfigFiles)' != 'false'" />
2886 <EditorConfigFiles Include="@(GlobalAnalyzerConfigFiles-&gt;Exists())" Condition="'$(DiscoverGlobalAnalyzerConfigFiles)' != 'false'" />
2887 </ItemGroup>
2888 <!--
2889 ========================
2890 Property/metadata global .editorconfig Support
2891 ========================
2892
2893 Generates a global editor config that contains the evaluation of requested MSBuild properties and item metadata
2894
2895 Requested properties/items are requested via item groups like:
2896
2897 <CompilerVisibleProperty Include="PropertyNameToEval" />
2898 <CompilerVisibleItemMetadata Include="ItemType" MetadataName="MetadataToRetrieve" />
2899 -->
2900 <UsingTask TaskName="Microsoft.CodeAnalysis.BuildTasks.GenerateMSBuildEditorConfig" AssemblyFile="$(MSBuildThisFileDirectory)Microsoft.Build.Tasks.CodeAnalysis.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
2901 <Target Name="GenerateMSBuildEditorConfigFile" BeforeTargets="BeforeCompile;CoreCompile" DependsOnTargets="PrepareForBuild;GenerateMSBuildEditorConfigFileShouldRun;GenerateMSBuildEditorConfigFileCore" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
2902 <Target Name="GenerateMSBuildEditorConfigFileShouldRun" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2903 <PropertyGroup>
2904 <GeneratedMSBuildEditorConfigFile Condition="'$(GeneratedMSBuildEditorConfigFile)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).GeneratedMSBuildEditorConfig.editorconfig</GeneratedMSBuildEditorConfigFile>
2905 <GenerateMSBuildEditorConfigFile Condition="'$(GenerateMSBuildEditorConfigFile)' == ''">true</GenerateMSBuildEditorConfigFile>
2906 <_GeneratedEditorConfigHasItems Condition="'@(CompilerVisibleItemMetadata-&gt;Count())' != '0'">true</_GeneratedEditorConfigHasItems>
2907 <_GeneratedEditorConfigShouldRun Condition="'$(GenerateMSBuildEditorConfigFile)' == 'true' and ('$(_GeneratedEditorConfigHasItems)' == 'true' or '@(CompilerVisibleProperty-&gt;Count())' != '0')">true</_GeneratedEditorConfigShouldRun>
2908 </PropertyGroup>
2909 </Target>
2910 <Target Name="GenerateMSBuildEditorConfigFileCore" Condition="'$(_GeneratedEditorConfigShouldRun)' == 'true'" Outputs="$(GeneratedMSBuildEditorConfigFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2911 <ItemGroup>
2912 <!-- Collect requested properties, and eval their value -->
2913 <_GeneratedEditorConfigProperty Include="@(CompilerVisibleProperty)">
2914 <Value>$(%(CompilerVisibleProperty.Identity))</Value>
2915 </_GeneratedEditorConfigProperty>
2916 <!-- Collect the requested items and remember which metadata is wanted -->
2917 <_GeneratedEditorConfigMetadata Include="@(%(CompilerVisibleItemMetadata.Identity))" Condition="'$(_GeneratedEditorConfigHasItems)' == 'true'">
2918 <ItemType>%(Identity)</ItemType>
2919 <MetadataName>%(CompilerVisibleItemMetadata.MetadataName)</MetadataName>
2920 </_GeneratedEditorConfigMetadata>
2921 <!-- Record that we'll write a file, and add it to the analyzerconfig inputs -->
2922 <FileWrites Include="$(GeneratedMSBuildEditorConfigFile)" />
2923 <EditorConfigFiles Include="$(GeneratedMSBuildEditorConfigFile)" />
2924 </ItemGroup>
2925 <!-- Transform the collected properties and items into an editor config file -->
2926 <GenerateMSBuildEditorConfig PropertyItems="@(_GeneratedEditorConfigProperty)" MetadataItems="@(_GeneratedEditorConfigMetadata)">
2927 <Output TaskParameter="ConfigFileContents" PropertyName="_GeneratedEditorConfigFileContent" />
2928 </GenerateMSBuildEditorConfig>
2929 <!-- Write the output to the generated file, if it's changed -->
2930 <WriteLinesToFile Lines="$(_GeneratedEditorConfigFileContent)" File="$(GeneratedMSBuildEditorConfigFile)" Overwrite="True" WriteOnlyWhenDifferent="True" />
2931 </Target>
2932 <!--
2933 ========================
2934 DeterministicSourcePaths
2935 ========================
2936
2937 Unless specified otherwise enable deterministic source root (PathMap) when building deterministically on CI server, but not for local builds.
2938 In order for the debugger to find source files when debugging a locally built binary the PDB must contain original, unmapped local paths.
2939 -->
2940 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2941 <DeterministicSourcePaths Condition="'$(DeterministicSourcePaths)' == '' and '$(Deterministic)' == 'true' and '$(ContinuousIntegrationBuild)' == 'true'">true</DeterministicSourcePaths>
2942 </PropertyGroup>
2943 <!--
2944 ==========
2945 SourceRoot
2946 ==========
2947
2948 All source files of the project are expected to be located under one of the directories specified by SourceRoot item group.
2949 This target collects all SourceRoots from various sources.
2950
2951 This target calculates final local path for each SourceRoot and sets SourceRoot.MappedPath metadata accordingly.
2952 The final path is a path with deterministic prefix when DeterministicSourcePaths is true, and the original path otherwise.
2953 In addition, the target validates and deduplicates the SourceRoot items.
2954
2955 InitializeSourceControlInformation is an msbuild target that ensures the SourceRoot items are populated from source control.
2956 The target is available only if SourceControlInformationFeatureSupported is true.
2957
2958 A consumer of SourceRoot.MappedPath metadata, such as Source Link generator, shall depend on this target.
2959 -->
2960 <Target Name="InitializeSourceRootMappedPaths" DependsOnTargets="_InitializeSourceRootMappedPathsFromSourceControl" Returns="@(SourceRoot)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2961 <ItemGroup Condition="'@(_MappedSourceRoot)' != ''">
2962 <_MappedSourceRoot Remove="@(_MappedSourceRoot)" />
2963 </ItemGroup>
2964 <Microsoft.CodeAnalysis.BuildTasks.MapSourceRoots SourceRoots="@(SourceRoot)" Deterministic="$(DeterministicSourcePaths)">
2965 <Output TaskParameter="MappedSourceRoots" ItemName="_MappedSourceRoot" />
2966 </Microsoft.CodeAnalysis.BuildTasks.MapSourceRoots>
2967 <ItemGroup>
2968 <SourceRoot Remove="@(SourceRoot)" />
2969 <SourceRoot Include="@(_MappedSourceRoot)" />
2970 </ItemGroup>
2971 </Target>
2972 <!--
2973 Declare that target InitializeSourceRootMappedPaths that populates MappedPaths metadata on SourceRoot items is available.
2974 -->
2975 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2976 <SourceRootMappedPathsFeatureSupported>true</SourceRootMappedPathsFeatureSupported>
2977 </PropertyGroup>
2978 <!--
2979 If InitializeSourceControlInformation target isn't supported, we just continue without invoking that synchronization target.
2980 We'll proceed with SourceRoot (and other source control properties) provided by the user (or blank).
2981 -->
2982 <Target Name="_InitializeSourceRootMappedPathsFromSourceControl" DependsOnTargets="InitializeSourceControlInformation" Condition="'$(SourceControlInformationFeatureSupported)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
2983 <!--
2984 =======
2985 PathMap
2986 =======
2987
2988 If DeterministicSourcePaths is true sets PathMap based on SourceRoot.MappedPaths.
2989
2990 This target requires SourceRoot to be initialized in order to calculate the PathMap.
2991 If SourceRoot doesn't contain any top-level roots an error is reported.
2992 -->
2993 <Target Name="_SetPathMapFromSourceRoots" DependsOnTargets="InitializeSourceRootMappedPaths" BeforeTargets="CoreCompile" Condition="'$(DeterministicSourcePaths)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2994 <ItemGroup>
2995 <_TopLevelSourceRoot Include="@(SourceRoot)" Condition="'%(SourceRoot.NestedRoot)' == ''">
2996 <EscapedKey>$([MSBuild]::ValueOrDefault('%(Identity)', '').Replace(',', ',,').Replace('=', '=='))</EscapedKey>
2997 <EscapedValue>$([MSBuild]::ValueOrDefault('%(MappedPath)', '').Replace(',', ',,').Replace('=', '=='))</EscapedValue>
2998 </_TopLevelSourceRoot>
2999 </ItemGroup>
3000 <PropertyGroup Condition="'@(_TopLevelSourceRoot)' != ''">
3001 <!--
3002 Prepend the SourceRoot.MappedPath values to PathMap, if it already has a value.
3003 For each emitted source path the compiler applies the first mapping that matches the path.
3004 PathMap values set previously will thus only be applied if the mapping provided by
3005 SourceRoot.MappedPath doesn't match. Since SourceRoot.MappedPath is also used by SourceLink
3006 preferring it over manually set PathMap ensures that PathMap is consistent with SourceLink.
3007 -->
3008 <PathMap>@(_TopLevelSourceRoot->'%(EscapedKey)=%(EscapedValue)', ','),$(PathMap)</PathMap>
3009 </PropertyGroup>
3010 </Target>
3011 <!--
3012 =======
3013 CopyAdditionalFiles
3014 =======
3015
3016 If a user requests that any @(AdditionalFiles) items are copied to the output directory
3017 we add them to the @(None) group to ensure they will be copied.
3018 -->
3019 <Target Name="CopyAdditionalFiles" BeforeTargets="AssignTargetPaths" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3020 <ItemGroup>
3021 <None Include="@(AdditionalFiles)" Condition="'%(AdditionalFiles.CopyToOutputDirectory)' != ''" />
3022 </ItemGroup>
3023 </Target>
3024 <!--
3025 ========================
3026 CompilerGeneratedFilesOutputPath
3027 ========================
3028
3029 Controls output of generated files.
3030
3031 CompilerGeneratedFilesOutputPath controls the location the files will be output to.
3032 The compiler will not emit any generated files when the path is empty, and defaults to a /generated directory in $(IntermediateOutputPath) if $(IntermediateOutputPath) has a value.
3033 EmitCompilerGeneratedFiles allows the user to control if anything is emitted by clearing the property when not true.
3034 When EmitCompilerGeneratedFiles is true, we ensure that CompilerGeneatedFilesOutputPath has a value and issue a warning if not.
3035 We will create CompilerGeneratedFilesOutputPath if it does not exist.
3036 -->
3037 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3038 <EmitCompilerGeneratedFiles Condition="'$(EmitCompilerGeneratedFiles)' == ''">false</EmitCompilerGeneratedFiles>
3039 <CompilerGeneratedFilesOutputPath Condition="'$(EmitCompilerGeneratedFiles)' != 'true'" />
3040 <CompilerGeneratedFilesOutputPath Condition="'$(EmitCompilerGeneratedFiles)' == 'true' and '$(CompilerGeneratedFilesOutputPath)' == '' and '$(IntermediateOutputPath)' != ''">$(IntermediateOutputPath)/generated</CompilerGeneratedFilesOutputPath>
3041 </PropertyGroup>
3042 <Target Name="CreateCompilerGeneratedFilesOutputPath" BeforeTargets="CoreCompile" Condition="'$(EmitCompilerGeneratedFiles)' == 'true' and !('$(DesignTimeBuild)' == 'true' OR '$(BuildingProject)' != 'true')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3043 <Warning Condition="'$(CompilerGeneratedFilesOutputPath)' == ''" Text="EmitCompilerGeneratedFiles was true, but no CompilerGeneratedFilesOutputPath was provided. CompilerGeneratedFilesOutputPath must be set in order to emit generated files." />
3044 <MakeDir Condition="'$(CompilerGeneratedFilesOutputPath)' != ''" Directories="$(CompilerGeneratedFilesOutputPath)" />
3045 </Target>
3046 <!--
3047 ========================
3048 Component Debugger Support
3049 ========================
3050
3051 Add the specified VS capability if a user indicates this project supports component debugging
3052 -->
3053 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3054 <ProjectCapability Include="RoslynComponent" Condition="'$(IsRoslynComponent)' == 'true'" />
3055 </ItemGroup>
3056 <!--
3057============================================================================================================================================
3058 </Import>
3059
3060C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Roslyn\Microsoft.CSharp.Core.targets
3061============================================================================================================================================
3062-->
3063 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3064 <!-- .NETCoreApp < 3.0, .NETStandard < 2.1, or any other target framework -->
3065 <_MaxSupportedLangVersion Condition="('$(TargetFrameworkIdentifier)' != '.NETCoreApp' OR '$(_TargetFrameworkVersionWithoutV)' &lt; '3.0') AND&#xD;&#xA; ('$(TargetFrameworkIdentifier)' != '.NETStandard' OR '$(_TargetFrameworkVersionWithoutV)' &lt; '2.1')">7.3</_MaxSupportedLangVersion>
3066 <!-- .NETCoreApp < 5.0, .NETStandard == 2.1 -->
3067 <_MaxSupportedLangVersion Condition="(('$(TargetFrameworkIdentifier)' == '.NETCoreApp' AND '$(_TargetFrameworkVersionWithoutV)' &lt; '5.0') OR&#xD;&#xA; ('$(TargetFrameworkIdentifier)' == '.NETStandard' AND '$(_TargetFrameworkVersionWithoutV)' == '2.1')) AND&#xD;&#xA; '$(_MaxSupportedLangVersion)' == ''">8.0</_MaxSupportedLangVersion>
3068 <!-- .NETCoreApp == 5.0 -->
3069 <_MaxSupportedLangVersion Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' AND '$(_TargetFrameworkVersionWithoutV)' == '5.0' AND&#xD;&#xA; '$(_MaxSupportedLangVersion)' == ''">9.0</_MaxSupportedLangVersion>
3070 <MaxSupportedLangVersion>$(_MaxSupportedLangVersion)</MaxSupportedLangVersion>
3071 <LangVersion Condition="'$(LangVersion)' == '' AND '$(_MaxSupportedLangVersion)' != ''">$(_MaxSupportedLangVersion)</LangVersion>
3072 </PropertyGroup>
3073 <Target Name="CoreCompile" Inputs="$(MSBuildAllProjects);&#xD;&#xA; @(Compile);&#xD;&#xA; @(_CoreCompileResourceInputs);&#xD;&#xA; $(ApplicationIcon);&#xD;&#xA; $(AssemblyOriginatorKeyFile);&#xD;&#xA; @(ReferencePathWithRefAssemblies);&#xD;&#xA; @(CompiledLicenseFile);&#xD;&#xA; @(LinkResource);&#xD;&#xA; @(EmbeddedDocumentation);&#xD;&#xA; $(Win32Resource);&#xD;&#xA; $(Win32Manifest);&#xD;&#xA; @(CustomAdditionalCompileInputs);&#xD;&#xA; $(ResolvedCodeAnalysisRuleSet);&#xD;&#xA; @(AdditionalFiles);&#xD;&#xA; @(EmbeddedFiles);&#xD;&#xA; @(EditorConfigFiles)" Outputs="@(DocFileItem);&#xD;&#xA; @(IntermediateAssembly);&#xD;&#xA; @(IntermediateRefAssembly);&#xD;&#xA; @(_DebugSymbolsIntermediatePath);&#xD;&#xA; $(NonExistentFile);&#xD;&#xA; @(CustomAdditionalCompileOutputs)" Returns="@(CscCommandLineArgs)" DependsOnTargets="$(CoreCompileDependsOn);_BeforeVBCSCoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3074 <!-- These two compiler warnings are raised when a reference is bound to a different version
3075 than specified in the assembly reference version number. MSBuild raises the same warning in this case,
3076 so the compiler warning would be redundant. -->
3077 <PropertyGroup Condition="('$(TargetFrameworkVersion)' != 'v1.0') and ('$(TargetFrameworkVersion)' != 'v1.1')">
3078 <NoWarn>$(NoWarn);1701;1702</NoWarn>
3079 </PropertyGroup>
3080 <PropertyGroup>
3081 <!-- To match historical behavior, when inside VS11+ disable the warning from csc.exe indicating that no sources were passed in-->
3082 <NoWarn Condition="'$(BuildingInsideVisualStudio)' == 'true' AND '$(VisualStudioVersion)' != '' AND '$(VisualStudioVersion)' &gt; '10.0'">$(NoWarn);2008</NoWarn>
3083 </PropertyGroup>
3084 <PropertyGroup>
3085 <!-- If the user has specified AppConfigForCompiler, we'll use it. If they have not, but they set UseAppConfigForCompiler,
3086 then we'll use AppConfig -->
3087 <AppConfigForCompiler Condition="'$(AppConfigForCompiler)' == '' AND '$(UseAppConfigForCompiler)' == 'true'">$(AppConfig)</AppConfigForCompiler>
3088 <!-- If we are targeting winmdobj we want to specifically the pdbFile property since we do not want it to collide with the output of winmdexp-->
3089 <PdbFile Condition="'$(PdbFile)' == '' AND '$(OutputType)' == 'winmdobj' AND '$(_DebugSymbolsProduced)' == 'true'">$(IntermediateOutputPath)$(TargetName).compile.pdb</PdbFile>
3090 </PropertyGroup>
3091 <!-- Condition is to filter out the _CoreCompileResourceInputs so that it doesn't pass in culture resources to the compiler -->
3092 <Csc Condition="'%(_CoreCompileResourceInputs.WithCulture)' != 'true'" AdditionalLibPaths="$(AdditionalLibPaths)" AddModules="@(AddModules)" AdditionalFiles="@(AdditionalFiles)" AllowUnsafeBlocks="$(AllowUnsafeBlocks)" AnalyzerConfigFiles="@(EditorConfigFiles)" Analyzers="@(Analyzer)" ApplicationConfiguration="$(AppConfigForCompiler)" BaseAddress="$(BaseAddress)" CheckForOverflowUnderflow="$(CheckForOverflowUnderflow)" ChecksumAlgorithm="$(ChecksumAlgorithm)" CodeAnalysisRuleSet="$(ResolvedCodeAnalysisRuleSet)" CodePage="$(CodePage)" DebugType="$(DebugType)" DefineConstants="$(DefineConstants)" DelaySign="$(DelaySign)" DisabledWarnings="$(NoWarn)" DisableSdkPath="$(DisableSdkPath)" DocumentationFile="@(DocFileItem)" EmbedAllSources="$(EmbedAllSources)" EmbeddedFiles="@(EmbeddedFiles)" EmitDebugInformation="$(DebugSymbols)" EnvironmentVariables="$(CscEnvironment)" ErrorEndLocation="$(ErrorEndLocation)" ErrorLog="$(ErrorLog)" ErrorReport="$(ErrorReport)" Features="$(Features)" FileAlignment="$(FileAlignment)" GeneratedFilesOutputPath="$(CompilerGeneratedFilesOutputPath)" GenerateFullPaths="$(GenerateFullPaths)" HighEntropyVA="$(HighEntropyVA)" Instrument="$(Instrument)" KeyContainer="$(KeyContainerName)" KeyFile="$(KeyOriginatorFile)" LangVersion="$(LangVersion)" LinkResources="@(LinkResource)" MainEntryPoint="$(StartupObject)" ModuleAssemblyName="$(ModuleAssemblyName)" NoConfig="true" NoLogo="$(NoLogo)" NoStandardLib="$(NoCompilerStandardLib)" NoWin32Manifest="$(NoWin32Manifest)" Nullable="$(Nullable)" Optimize="$(Optimize)" Deterministic="$(Deterministic)" PublicSign="$(PublicSign)" OutputAssembly="@(IntermediateAssembly)" OutputRefAssembly="@(IntermediateRefAssembly)" PdbFile="$(PdbFile)" Platform="$(PlatformTarget)" Prefer32Bit="$(Prefer32Bit)" PreferredUILang="$(PreferredUILang)" ProvideCommandLineArgs="$(ProvideCommandLineArgs)" References="@(ReferencePathWithRefAssemblies)" RefOnly="$(ProduceOnlyReferenceAssembly)" ReportAnalyzer="$(ReportAnalyzer)" Resources="@(_CoreCompileResourceInputs);@(CompiledLicenseFile)" ResponseFiles="$(CompilerResponseFile)" RuntimeMetadataVersion="$(RuntimeMetadataVersion)" SharedCompilationId="$(SharedCompilationId)" SkipAnalyzers="$(_SkipAnalyzers)" SkipCompilerExecution="$(SkipCompilerExecution)" Sources="@(Compile)" SubsystemVersion="$(SubsystemVersion)" TargetType="$(OutputType)" ToolExe="$(CscToolExe)" ToolPath="$(CscToolPath)" TreatWarningsAsErrors="$(TreatWarningsAsErrors)" UseHostCompilerIfAvailable="$(UseHostCompilerIfAvailable)" UseSharedCompilation="$(UseSharedCompilation)" Utf8Output="$(Utf8Output)" VsSessionGuid="$(VsSessionGuid)" WarningLevel="$(WarningLevel)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" Win32Icon="$(ApplicationIcon)" Win32Manifest="$(Win32Manifest)" Win32Resource="$(Win32Resource)" PathMap="$(PathMap)" SourceLink="$(SourceLink)">
3093 <Output TaskParameter="CommandLineArgs" ItemName="CscCommandLineArgs" />
3094 </Csc>
3095 <ItemGroup>
3096 <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />
3097 </ItemGroup>
3098 <CallTarget Targets="$(TargetsTriggeredByCompilation)" Condition="'$(TargetsTriggeredByCompilation)' != ''" />
3099 </Target>
3100 <!--
3101============================================================================================================================================
3102 </Import>
3103
3104C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.CSharp.CurrentVersion.targets
3105============================================================================================================================================
3106-->
3107 <!-- Import design time targets for Roslyn Project System. These are only available if Visual Studio is installed. -->
3108 <!-- Import design time targets before the common targets, which import targets from Nuget. -->
3109 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3110 <CSharpDesignTimeTargetsPath Condition="'$(CSharpDesignTimeTargetsPath)'==''">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\Managed\Microsoft.CSharp.DesignTime.targets</CSharpDesignTimeTargetsPath>
3111 </PropertyGroup>
3112 <!--
3113============================================================================================================================================
3114 <Import Project="$(CSharpDesignTimeTargetsPath)" Condition="'$(CSharpDesignTimeTargetsPath)' != '' and Exists('$(CSharpDesignTimeTargetsPath)')">
3115
3116C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\Managed\Microsoft.CSharp.DesignTime.targets
3117============================================================================================================================================
3118-->
3119 <!--
3120
3121 This file contains Visual Studio and designer-related properties and items for C# projects.
3122
3123-->
3124 <!--
3125============================================================================================================================================
3126 <Import Project="Microsoft.Managed.DesignTime.targets">
3127
3128C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\Managed\Microsoft.Managed.DesignTime.targets
3129============================================================================================================================================
3130-->
3131 <!--
3132
3133 This file contains Visual Studio and designer-related properties and items for managed projects.
3134
3135-->
3136 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3137 <!-- Turn off capabilities from Microsoft.Common.CurrentVersions.targets and explicitly include the ones we want. The list below
3138 currently matches what is in common targets, but removes BuildWindowsDesktopTarget -->
3139 <DefineCommonItemSchemas>false</DefineCommonItemSchemas>
3140 <DefineCommonCapabilities>false</DefineCommonCapabilities>
3141 <DefineCommonReferenceSchemas>false</DefineCommonReferenceSchemas>
3142 <DefineCommonManagedCapabilities Condition=" '$(DefineCommonManagedCapabilities)' == '' ">true</DefineCommonManagedCapabilities>
3143 <DefineCommonManagedItemSchemas Condition=" '$(DefineCommonManagedItemSchemas)' == '' ">true</DefineCommonManagedItemSchemas>
3144 <DefineCommonManagedReferenceSchemas Condition=" '$(DefineCommonManagedReferenceSchemas)' == '' ">true</DefineCommonManagedReferenceSchemas>
3145 <!--This property sets the default output types supported by the project system.-->
3146 <SupportedOutputTypes Condition="'$(SupportedOutputTypes)' == ''">Exe;WinExe;Library</SupportedOutputTypes>
3147 <SuppressOutOfDateMessageOnBuild Condition="'$(SuppressOutOfDateMessageOnBuild)' == ''">true</SuppressOutOfDateMessageOnBuild>
3148 <!-- Tells CPS which target to run for the Package solution build type -->
3149 <PackageAction Condition="'$(PackageAction)' == ''">Pack</PackageAction>
3150 </PropertyGroup>
3151 <PropertyGroup Condition="'$(AssemblyReferenceTabs)' == '' And '$(UsingMicrosoftNETSdk)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3152 <!-- You cannot choose individual framework assemblies in .NET Core/.NET Standard, and AssemblyFoldersEx
3153 is not supported, so completely opt out of the Assembly category in Reference Manager by default. -->
3154 <AssemblyReferenceTabs>0</AssemblyReferenceTabs>
3155 <!-- However, .NET Framework supports choosing individual framework assemblies, so opt into that tab -->
3156 <AssemblyReferenceTabs Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">TAB_ASSEMBLY_FRAMEWORK</AssemblyReferenceTabs>
3157 </PropertyGroup>
3158 <!--
3159 Rule files that don't need localization go in the neutral directory to save duplicating files into each language
3160 -->
3161 <PropertyGroup Condition="'$(ManagedXamlNeutralResourcesDirectory)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3162 <ManagedXamlNeutralResourcesDirectory>$(MSBuildThisFileDirectory)</ManagedXamlNeutralResourcesDirectory>
3163 </PropertyGroup>
3164 <!--
3165 Locate the approriate localized xaml resources based on the language ID or name.
3166
3167 The logic here matches the resource manager sufficiently to handle the fixed set of
3168 possible VS languages and directories on disk.
3169
3170 We cannot respect the exact probe order of the resource manager as this has to evaluate statically
3171 and we have only LangName and LangID and no access to System.Globalization API.
3172 -->
3173 <PropertyGroup Condition="'$(ManagedXamlResourcesDirectory)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3174 <!-- 1. Probe for exact match against LangName. (e.g. pt-BR) -->
3175 <ManagedXamlResourcesDirectory>$(MSBuildThisFileDirectory)$(LangName)</ManagedXamlResourcesDirectory>
3176 <!-- 2. Handle special cases of languages which would not match above or below. -->
3177 <ManagedXamlResourcesDirectory Condition="!Exists('$(ManagedXamlResourcesDirectory)') and '$(LangID)' == '2052'">$(MSBuildThisFileDirectory)zh-Hans</ManagedXamlResourcesDirectory>
3178 <ManagedXamlResourcesDirectory Condition="!Exists('$(ManagedXamlResourcesDirectory)') and '$(LangID)' == '1028'">$(MSBuildThisFileDirectory)zh-Hant</ManagedXamlResourcesDirectory>
3179 <!-- 3. Probe for parent by taking portion the portion before the hyphen (e.g. fr-FR -> fr) -->
3180 <ManagedXamlResourcesDirectory Condition="!Exists('$(ManagedXamlResourcesDirectory)')">$(MSBuildThisFileDirectory)$(LangName.Split('-')[0])</ManagedXamlResourcesDirectory>
3181 <!-- 4. Fall back to neutral resources if all of the above fail -->
3182 <ManagedXamlResourcesDirectory Condition="!Exists('$(ManagedXamlResourcesDirectory)')">$(ManagedXamlNeutralResourcesDirectory)</ManagedXamlResourcesDirectory>
3183 </PropertyGroup>
3184 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3185 <ManagedXamlResourcesDirectory Condition="!HasTrailingSlash('$(ManagedXamlResourcesDirectory)')">$(ManagedXamlResourcesDirectory)\</ManagedXamlResourcesDirectory>
3186 <DebuggerFlavor Condition="'$(DebuggerFlavor)' == ''">ProjectDebugger</DebuggerFlavor>
3187 </PropertyGroup>
3188 <!-- Project Capabilities -->
3189 <!-- Capabilities shared between shared projects & binary-producing projects. -->
3190 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3191 <ProjectCapability Include=".NET" />
3192 </ItemGroup>
3193 <!-- Capabilities for binary producing projects -->
3194 <ItemGroup Condition="'$(DefineCommonManagedCapabilities)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3195 <ProjectCapability Include="UseFileGlobs" />
3196 <ProjectCapability Include="DynamicDependentFile" />
3197 <ProjectCapability Include="ConfigurableFileNesting" />
3198 <!-- DependenciesTree capability lights up a Dependencies tree node and its sub node providers-->
3199 <ProjectCapability Include="DependenciesTree" />
3200 <ProjectCapability Include="ProjectImportsTree" />
3201 <ProjectCapability Include="LaunchProfiles" />
3202 <ProjectCapability Include="NoGeneralDependentFileIcon" />
3203 <ProjectCapability Include="PackageReferences" Condition="'$(RestoreProjectStyle)' == 'PackageReference'" />
3204 <!--
3205 List of capabilities below is adding back common capabilities defined in imported targets.
3206 We disabled them with the property DefineCommonCapabilities=false to get rid of default
3207 References capability, but everything else we want back.
3208 -->
3209 <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;" />
3210 <!-- COM references are not supported in .NET Core before 3.0 -->
3211 <ProjectCapability Include="COMReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' Or ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0')" />
3212 <!-- Settings page capability -->
3213 <ProjectCapability Include="AppSettings" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' Or '$(UseWPF)' == 'true' Or '$(UseWindowsForms)' == 'true' " />
3214 <!-- Publish capability enables the Publish command for the Project -->
3215 <ProjectCapability Include="Publish" />
3216 <ProjectCapability Include="FolderPublish" />
3217 <!-- All Microsoft.NET.Sdk Exe projects, except WPF and WinForms exes, can be published to app service -->
3218 <ProjectCapability Include="AppServicePublish" Condition="'$(OutputType)' == 'Exe'" />
3219 <!-- Capabilities for WPF and WinForms -->
3220 <ProjectCapability Include="WPF" Condition="'$(UseWPF)' == 'true'" />
3221 <ProjectCapability Include="WindowsForms" Condition="'$(UseWindowsForms)' == 'true'" />
3222 <ProjectCapability Include="DataSourceWindow" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' Or ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0')" />
3223 </ItemGroup>
3224 <!-- Common Project System rules that override rules defined in msbuild. These are exact copy of the rules defined in msbuild. -->
3225 <ItemGroup Condition="'$(DefineCommonManagedItemSchemas)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3226 <!-- Files/Folders schema -->
3227 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ProjectItemsSchema.xaml">
3228 <Context>Project</Context>
3229 </PropertyPageSchema>
3230 <!-- Files/Folders -->
3231 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)Compile.xaml;">
3232 <Context>File</Context>
3233 </PropertyPageSchema>
3234 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)Compile.BrowseObject.xaml;">
3235 <Context>BrowseObject</Context>
3236 </PropertyPageSchema>
3237 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)Content.xaml">
3238 <Context>File</Context>
3239 </PropertyPageSchema>
3240 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)Content.BrowseObject.xaml">
3241 <Context>BrowseObject</Context>
3242 </PropertyPageSchema>
3243 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)EmbeddedResource.xaml">
3244 <Context>File</Context>
3245 </PropertyPageSchema>
3246 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)EmbeddedResource.BrowseObject.xaml">
3247 <Context>BrowseObject</Context>
3248 </PropertyPageSchema>
3249 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)Folder.xaml">
3250 <Context>File;BrowseObject</Context>
3251 </PropertyPageSchema>
3252 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)None.xaml">
3253 <Context>File</Context>
3254 </PropertyPageSchema>
3255 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)None.BrowseObject.xaml">
3256 <Context>BrowseObject</Context>
3257 </PropertyPageSchema>
3258 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)DebuggerGeneral.xaml">
3259 <Context>Project</Context>
3260 </PropertyPageSchema>
3261 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ApplicationPropertyPage.xaml">
3262 <Context>Project</Context>
3263 </PropertyPageSchema>
3264 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)BuildPropertyPage.xaml">
3265 <Context>Project</Context>
3266 </PropertyPageSchema>
3267 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)DebugPropertyPage.xaml">
3268 <Context>Project</Context>
3269 </PropertyPageSchema>
3270 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)PackagePropertyPage.xaml">
3271 <Context>Project</Context>
3272 </PropertyPageSchema>
3273 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ExecutableDebugPropertyPage.xaml">
3274 <Context>Project</Context>
3275 </PropertyPageSchema>
3276 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ProjectDebugPropertyPage.xaml">
3277 <Context>Project</Context>
3278 </PropertyPageSchema>
3279 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)GeneralBrowseObject.xaml">
3280 <Context>BrowseObject</Context>
3281 </PropertyPageSchema>
3282 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)GeneralConfiguredBrowseObject.xaml">
3283 <Context>ConfiguredBrowseObject</Context>
3284 </PropertyPageSchema>
3285 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)ProjectDebugger.xaml">
3286 <Context>Project</Context>
3287 </PropertyPageSchema>
3288 </ItemGroup>
3289 <ItemGroup Condition="'$(DefineCommonManagedReferenceSchemas)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3290 <!-- Assembly references -->
3291 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)AssemblyReference.xaml">
3292 <Context>Project;BrowseObject</Context>
3293 </PropertyPageSchema>
3294 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedAssemblyReference.xaml">
3295 <Context>ProjectSubscriptionService;BrowseObject</Context>
3296 </PropertyPageSchema>
3297 <!-- COM references -->
3298 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)COMReference.xaml">
3299 <Context>Project;BrowseObject</Context>
3300 </PropertyPageSchema>
3301 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedCOMReference.xaml">
3302 <Context>ProjectSubscriptionService;BrowseObject</Context>
3303 </PropertyPageSchema>
3304 <!-- Framework references -->
3305 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)FrameworkReference.xaml">
3306 <Context>Project;BrowseObject</Context>
3307 </PropertyPageSchema>
3308 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedFrameworkReference.xaml">
3309 <Context>ProjectSubscriptionService;BrowseObject</Context>
3310 </PropertyPageSchema>
3311 <!-- Project references -->
3312 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ProjectReference.xaml">
3313 <Context>Project;BrowseObject</Context>
3314 </PropertyPageSchema>
3315 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedProjectReference.xaml">
3316 <Context>ProjectSubscriptionService;BrowseObject</Context>
3317 </PropertyPageSchema>
3318 <!-- Sdk references -->
3319 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)SdkReference.xaml">
3320 <Context>Project;ProjectSubscriptionService;BrowseObject</Context>
3321 </PropertyPageSchema>
3322 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedSdkReference.xaml">
3323 <Context>ProjectSubscriptionService;BrowseObject</Context>
3324 </PropertyPageSchema>
3325 <!-- Package references -->
3326 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)PackageReference.xaml">
3327 <Context>ProjectSubscriptionService;BrowseObject</Context>
3328 </PropertyPageSchema>
3329 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedPackageReference.xaml">
3330 <Context>ProjectSubscriptionService;BrowseObject</Context>
3331 </PropertyPageSchema>
3332 <!-- Analyzer references -->
3333 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)AnalyzerReference.xaml">
3334 <Context>Project;ProjectSubscriptionService;BrowseObject</Context>
3335 </PropertyPageSchema>
3336 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ResolvedAnalyzerReference.xaml">
3337 <Context>ProjectSubscriptionService;BrowseObject</Context>
3338 </PropertyPageSchema>
3339 </ItemGroup>
3340 <!-- List of external files that trigger re-evaluation & design-time builds when they are added or removed, or edited -->
3341 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3342 <!-- Potential Editor config locations, we only want to trigger design-time builds on removal/addition and not edits -->
3343 <AdditionalDesignTimeBuildInput Include="@(PotentialEditorConfigFiles)" ContentSensitive="false" />
3344 </ItemGroup>
3345 <!-- Find all potential locations of "global.json" starting from the Solution directory and walking backwards -->
3346 <ItemGroup Condition="'$(UsingMicrosoftNETSdk)' == 'true' and '$(SolutionDir)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3347 <_GlobalJsonStartingDir Include="$(SolutionDir)" />
3348 <_PotentialContainingGlobalJsonDir Include="@(_GlobalJsonStartingDir-&gt;GetPathsOfAllDirectoriesAbove())" />
3349 <AdditionalDesignTimeBuildInput Include="@(_PotentialContainingGlobalJsonDir-&gt;Combine('global.json'))" ContentSensitive="true" />
3350 </ItemGroup>
3351 <!--
3352 EmbeddedFiles are source files to be embedded to the PDB.
3353 We need to set Visible to false in order to not display duplicate entries in project UI.
3354 -->
3355 <ItemDefinitionGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3356 <EmbeddedFiles>
3357 <Visible>false</Visible>
3358 </EmbeddedFiles>
3359 </ItemDefinitionGroup>
3360 <!-- Targets -->
3361 <!-- For a newly created project with no packages restored, Design time build complains that there is no ResolvePackageDependenciesDesignTime
3362 target, that is available only after restoring the .Net Core SDK targets. This No-op target will satisfy the check and will get overriden
3363 once the actual targets are available after package restore-->
3364 <Target Name="ResolvePackageDependenciesDesignTime" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3365 <Target Name="CollectSDKReferencesDesignTime" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3366 <Target Name="CollectResolvedSDKReferencesDesignTime" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3367 <Target Name="ResolveFrameworkReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3368 <Target Name="ResolveProjectReferencesDesignTime2" Returns="@(_ProjectReferencesFromRAR2);@(_ProjectReferencesWithoutOutputAssembly)" DependsOnTargets="ResolveProjectReferences;ResolveAssemblyReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3369 <!-- This is similar to ResolveProjectReferencesDesignTime, except it also returns projects that do not get
3370 resolved (hence do not appear in ReferencePath) because ReferenceOutputAssembly is set to false. -->
3371 <ItemGroup>
3372 <!-- We need to do this here because we only want project references which have passed through RAR and have
3373 not been unresolved due to violating some multi-targeting rule which means we need to pull the project
3374 references out of the referencepath item because they will only exist there if they were correctly
3375 resolved. -->
3376 <_ProjectReferencesFromRAR2 Include="@(ReferencePath-&gt;WithMetadataValue('ReferenceSourceTarget', 'ProjectReference'))">
3377 <OriginalItemSpec>%(ReferencePath.ProjectReferenceOriginalItemSpec)</OriginalItemSpec>
3378 </_ProjectReferencesFromRAR2>
3379 <_ProjectReferencesWithoutOutputAssembly Include="@(ProjectReference-&gt;WithMetadataValue('ReferenceOutputAssembly', 'false'))">
3380 <OriginalItemSpec>%(ProjectReference.Identity)</OriginalItemSpec>
3381 </_ProjectReferencesWithoutOutputAssembly>
3382 </ItemGroup>
3383 </Target>
3384 <Target Name="ResolveFrameworkReferencesDesignTime" Returns="@(ResolvedFrameworkReference)" DependsOnTargets="ResolveFrameworkReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3385 <!-- This target is used to collect the PackageReferences in the project. This target can be overriden to add\remove packagereferences before they are
3386 sent to NuGet to be restored.-->
3387 <Target Name="CollectPackageReferences" Returns="@(PackageReference)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3388 <!-- Validates that the correct properties have been set for design-time compiles -->
3389 <Target Name="_CheckCompileDesignTimePrerequisite" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3390 <Error Condition="'$(SkipCompilerExecution)|$(ProvideCommandLineArgs)' != 'true|true'" Text="SkipCompilerExecution and ProvideCommandLineArgs should be set before calling the CompileDesignTime target" />
3391 </Target>
3392 <!-- This target collects all Analyzers in the project. -->
3393 <Target Name="CollectAnalyzersDesignTime" DependsOnTargets="CompileDesignTime" Returns="@(Analyzer)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3394 <!-- This target collects all the resolved references that are used to actually compile. -->
3395 <Target Name="CollectResolvedCompilationReferencesDesignTime" DependsOnTargets="CompileDesignTime" Returns="@(ReferencePathWithRefAssemblies)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3396 <!-- This target collects all the extra inputs for the up to date check. -->
3397 <Target Name="CollectUpToDateCheckInputDesignTime" DependsOnTargets="CompileDesignTime" Returns="@(UpToDateCheckInput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3398 <!-- This target collects all the extra outputs for the up to date check. -->
3399 <Target Name="CollectUpToDateCheckOutputDesignTime" DependsOnTargets="CompileDesignTime" Returns="@(UpToDateCheckOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
3400 <!-- This target collects all the things built by the project for the up to date check. -->
3401 <!-- See CopyFileToOutputDirectory target -->
3402 <Target Name="CollectUpToDateCheckBuiltDesignTime" DependsOnTargets="CompileDesignTime" Returns="@(UpToDateCheckBuilt)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3403 <ItemGroup>
3404 <!-- Assembly output, bin and obj -->
3405 <UpToDateCheckBuilt Condition="'$(CopyBuildOutputToOutputDirectory)' != 'false' and '$(SkipCopyBuildProduct)' != 'true'" Include="$(TargetPath)" />
3406 <UpToDateCheckBuilt Include="@(IntermediateAssembly)" />
3407 <!-- Documentation file, bin and obj -->
3408 <UpToDateCheckBuilt Condition="'$(_DocumentationFileProduced)'=='true'" Include="@(FinalDocFile)" />
3409 <UpToDateCheckBuilt Condition="'$(_DocumentationFileProduced)'=='true'" Include="@(DocFileItem)" />
3410 <!-- Symbols, bin and obj -->
3411 <UpToDateCheckBuilt Condition="'$(_DebugSymbolsProduced)'=='true'" Include="@(_DebugSymbolsIntermediatePath)" />
3412 <UpToDateCheckBuilt Condition="'$(_DebugSymbolsProduced)'=='true' and '$(SkipCopyingSymbolsToOutputDirectory)' != 'true' and '$(CopyOutputSymbolsToOutputDirectory)' != 'false'" Include="@(_DebugSymbolsOutputPath)" />
3413 <!-- app.config -->
3414 <!-- The property AppConfig, created in PrepareForBuild, is used instead of AppConfigWithTargetPath because GenerateSupportedRuntime
3415 rewrites AppConfigWithTargetPath to point to the intermediate filename. This is needed because Fast up-to-date needs to compare
3416 the timestamp of the source filename (AppConfig) with destination filename.
3417 https://github.com/microsoft/msbuild/blob/64c8e4a18e7cf7f064fbad304ea7ed877cdaa0a1/src/Tasks/Microsoft.Common.CurrentVersion.targets#L1109-L1122 -->
3418 <UpToDateCheckBuilt Condition=" '@(AppConfigWithTargetPath)' != '' " Include="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')" Original="$(AppConfig)" />
3419 </ItemGroup>
3420 </Target>
3421 <!--
3422============================================================================================================================================
3423 </Import>
3424
3425C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\Managed\Microsoft.CSharp.DesignTime.targets
3426============================================================================================================================================
3427-->
3428 <!-- Properties -->
3429 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3430 <AppDesignerFolder Condition="'$(AppDesignerFolder)' == ''">Properties</AppDesignerFolder>
3431 <AppDesignerFolderContentsVisibleOnlyInShowAllFiles Condition="'$(AppDesignerFolderContentsVisibleOnlyInShowAllFiles)' == ''">false</AppDesignerFolderContentsVisibleOnlyInShowAllFiles>
3432 <LanguageServiceName Condition="'$(LanguageServiceName)' == ''">C#</LanguageServiceName>
3433 <LanguageServiceId Condition="'$(LanguageServiceId)'==''">{694DD9B6-B865-4C5B-AD85-86356E9C88DC}</LanguageServiceId>
3434 <TemplateLanguage Condition="'$(TemplateLanguage)' == ''">CSharp</TemplateLanguage>
3435 <AddItemTemplatesGuid Condition="'$(AddItemTemplatesGuid)' == ''">{FAE04EC0-301F-11d3-BF4B-00C04F79EFBC}</AddItemTemplatesGuid>
3436 <CmdUIContextGuid Condition="'$(CmdUIContextGuid)' == ''">{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}</CmdUIContextGuid>
3437 <GeneratorsTypeGuid Condition="'$(GeneratorsTypeGuid)' == ''">{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}</GeneratorsTypeGuid>
3438 <DesignerFunctionVisibility Condition="'$(DesignerFunctionVisibility)' == ''">Private</DesignerFunctionVisibility>
3439 <DesignerVariableNaming Condition="'$(DesignerVariableNaming)' == ''">Camel</DesignerVariableNaming>
3440 <DesignerHiddenCodeGeneration Condition="'$(DesignerHiddenCodeGeneration)' == ''">Declarations</DesignerHiddenCodeGeneration>
3441 <!-- Turn off rules and capabilities that are defined in MSBuild so that we can import our own below -->
3442 <DefineCSharpItemSchemas>false</DefineCSharpItemSchemas>
3443 </PropertyGroup>
3444 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3445 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)ProjectItemsSchema.CSharp.xaml;" />
3446 <ProjectCapability Include="&#xD;&#xA; CSharp;&#xD;&#xA; Managed;&#xD;&#xA; ClassDesigner;&#xD;&#xA; SharedProjectReferences;" />
3447 </ItemGroup>
3448 <ItemGroup Condition="'$(DefineCommonManagedItemSchemas)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3449 <PropertyPageSchema Include="$(ManagedXamlNeutralResourcesDirectory)EditorConfigFiles.xaml">
3450 <Context>File</Context>
3451 </PropertyPageSchema>
3452 <PropertyPageSchema Include="$(ManagedXamlResourcesDirectory)EditorConfigFiles.BrowseObject.xaml">
3453 <Context>BrowseObject</Context>
3454 </PropertyPageSchema>
3455 </ItemGroup>
3456 <!-- Targets -->
3457 <!-- Returns Csc command-line arguments for the language service -->
3458 <Target Name="CompileDesignTime" Returns="@(_CompilerCommandLineArgs)" DependsOnTargets="_CheckCompileDesignTimePrerequisite;Compile" Condition="'$(IsCrossTargetingBuild)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3459 <ItemGroup>
3460 <_CompilerCommandLineArgs Include="@(CscCommandLineArgs)" />
3461 </ItemGroup>
3462 </Target>
3463 <!--
3464============================================================================================================================================
3465 </Import>
3466
3467C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.CSharp.CurrentVersion.targets
3468============================================================================================================================================
3469-->
3470 <!--
3471============================================================================================================================================
3472 <Import Project="Microsoft.Common.targets">
3473
3474C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.targets
3475============================================================================================================================================
3476-->
3477 <!--
3478***********************************************************************************************
3479Microsoft.Common.targets
3480
3481WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
3482 created a backup copy. Incorrect changes to this file will make it
3483 impossible to load or build your projects from the command-line or the IDE.
3484
3485This file defines the steps in the standard build process for .NET projects. It
3486contains all the steps that are common among the different .NET languages, such as
3487Visual Basic, and Visual C#.
3488
3489Copyright (C) Microsoft Corporation. All rights reserved.
3490***********************************************************************************************
3491-->
3492 <!--
3493 In VS 2010 SP1 and VS 2012, both supported for asset compatibility, the MSBuild installed
3494 as part of them did not enforce using the local ToolsVersion (4.0) in all cases, but instead
3495 just used whatever ToolsVersion was in the project file if it existed on the machine, and
3496 only forced 4.0 if that ToolsVersion did not exist.
3497
3498 Moving forward, we do want to enforce a single acting ToolsVersion per version of Visual Studio,
3499 but in order to approximate this behavior on VS 2010 SP1 and VS 2012 as well, we've redirected
3500 the targets: If we're building using 4.X MSBuild (which doesn't define the new reserved
3501 property, MSBuildAssemblyVersion), we'll point right back at the 4.0 targets, which still exist
3502 as part of the .NET Framework. Only if we're using the new MSBuild will we point to the current
3503 targets.
3504 -->
3505 <Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3506 <When Condition="'$(MSBuildAssemblyVersion)' == ''">
3507 <PropertyGroup>
3508 <CommonTargetsPath>$(MSBuildFrameworkToolsPath)\Microsoft.Common.targets</CommonTargetsPath>
3509 </PropertyGroup>
3510 </When>
3511 <Otherwise>
3512 <PropertyGroup>
3513 <CommonTargetsPath>$(MSBuildToolsPath)\Microsoft.Common.CurrentVersion.targets</CommonTargetsPath>
3514 </PropertyGroup>
3515 </Otherwise>
3516 </Choose>
3517 <PropertyGroup Condition="'$(MSBuildAssemblyVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3518 <!--
3519 Overrides for the Microsoft.Common.targets extension targets. Used to make sure that only the imports we specify
3520 (hard-coded to 4.0 locations) are used, not the 12.0 locations that would be used by default.
3521
3522 NOTE: This logic is duplicated in Microsoft.VisualBasic.targets and in Microsoft.CSharp.targets because those two files
3523 import Microsoft.Common.targets from the current directory and thus don't get the benefit of the redirections, so for
3524 any changes to this logic in this file, please also edit the other two.
3525 -->
3526 <ImportByWildcardBefore40MicrosoftCommonTargets Condition="'$(ImportByWildcardBefore40MicrosoftCommonTargets)' == ''">$(ImportByWildcardBeforeMicrosoftCommonTargets)</ImportByWildcardBefore40MicrosoftCommonTargets>
3527 <ImportByWildcardBefore40MicrosoftCommonTargets Condition="'$(ImportByWildcardBefore40MicrosoftCommonTargets)' == ''">true</ImportByWildcardBefore40MicrosoftCommonTargets>
3528 <ImportByWildcardAfter40MicrosoftCommonTargets Condition="'$(ImportByWildcardAfter40MicrosoftCommonTargets)' == ''">$(ImportByWildcardAfterMicrosoftCommonTargets)</ImportByWildcardAfter40MicrosoftCommonTargets>
3529 <ImportByWildcardAfter40MicrosoftCommonTargets Condition="'$(ImportByWildcardAfter40MicrosoftCommonTargets)' == ''">true</ImportByWildcardAfter40MicrosoftCommonTargets>
3530 <ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets)' == ''">$(ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets)</ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets>
3531 <ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets)' == ''">true</ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets>
3532 <ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets)' == ''">$(ImportUserLocationsByWildcardAfterMicrosoftCommonTargets)</ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets>
3533 <ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets)' == ''">true</ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets>
3534 <ImportByWildcardBeforeMicrosoftCommonTargets>false</ImportByWildcardBeforeMicrosoftCommonTargets>
3535 <ImportByWildcardAfterMicrosoftCommonTargets>false</ImportByWildcardAfterMicrosoftCommonTargets>
3536 <ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets>false</ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets>
3537 <ImportUserLocationsByWildcardAfterMicrosoftCommonTargets>false</ImportUserLocationsByWildcardAfterMicrosoftCommonTargets>
3538 <CustomBeforeMicrosoftCommonTargets Condition="'$(CustomBeforeMicrosoftCommonTargets)' == ''">$(MSBuildExtensionsPath)\v4.0\Custom.Before.Microsoft.Common.targets</CustomBeforeMicrosoftCommonTargets>
3539 <CustomAfterMicrosoftCommonTargets Condition="'$(CustomAfterMicrosoftCommonTargets)' == ''">$(MSBuildExtensionsPath)\v4.0\Custom.After.Microsoft.Common.targets</CustomAfterMicrosoftCommonTargets>
3540 </PropertyGroup>
3541 <PropertyGroup Condition="'$(MSBuildAssemblyVersion)' == '' and ('$(TargetFrameworkIdentifier)' == '.NETFramework' or '$(TargetFrameworkIdentifier)' == 'Silverlight' or ('$(TargetFrameworkIdentifier)' == '' and ('$(TargetRuntime)' == 'Managed' or '$(TargetRuntime)' == '')))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3542 <!--
3543 Overrides for the Microsoft.NETFramework.props extension targets. Used to make sure that only the imports we specify
3544 (hard-coded to 4.0 locations) are used, not the 12.0 locations that would be used by default. Required because
3545 Microsoft.Common.targets imports it from the current directory, so we don't get a chance to redirect these in its
3546 own redirection targets.
3547
3548 NOTE: This logic is duplicated in Microsoft.VisualBasic.targets and in Microsoft.CSharp.targets because those two files
3549 import Microsoft.Common.targets from the current directory and thus don't get the benefit of these redirections either,
3550 so for any changes to this logic in this file, please also edit the other two.
3551 -->
3552 <ImportByWildcardBefore40MicrosoftNetFrameworkProps Condition="'$(ImportByWildcardBefore40MicrosoftNetFrameworkProps)' == ''">$(ImportByWildcardBeforeMicrosoftNetFrameworkProps)</ImportByWildcardBefore40MicrosoftNetFrameworkProps>
3553 <ImportByWildcardBefore40MicrosoftNetFrameworkProps Condition="'$(ImportByWildcardBefore40MicrosoftNetFrameworkProps)' == ''">true</ImportByWildcardBefore40MicrosoftNetFrameworkProps>
3554 <ImportByWildcardAfter40MicrosoftNetFrameworkProps Condition="'$(ImportByWildcardAfter40MicrosoftNetFrameworkProps)' == ''">$(ImportByWildcardAfterMicrosoftNetFrameworkProps)</ImportByWildcardAfter40MicrosoftNetFrameworkProps>
3555 <ImportByWildcardAfter40MicrosoftNetFrameworkProps Condition="'$(ImportByWildcardAfter40MicrosoftNetFrameworkProps)' == ''">true</ImportByWildcardAfter40MicrosoftNetFrameworkProps>
3556 <ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps)' == ''">$(ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps)</ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps>
3557 <ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps)' == ''">true</ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps>
3558 <ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps)' == ''">$(ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps)</ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps>
3559 <ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps)' == ''">true</ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps>
3560 <ImportByWildcardBeforeMicrosoftNetFrameworkProps>false</ImportByWildcardBeforeMicrosoftNetFrameworkProps>
3561 <ImportByWildcardAfterMicrosoftNetFrameworkProps>false</ImportByWildcardAfterMicrosoftNetFrameworkProps>
3562 <ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps>false</ImportUserLocationsByWildcardBeforeMicrosoftNetFrameworkProps>
3563 <ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps>false</ImportUserLocationsByWildcardAfterMicrosoftNetFrameworkProps>
3564 </PropertyGroup>
3565 <!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">-->
3566 <!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftCommonTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.Common.targets\ImportBefore')" />-->
3567 <!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportByWildcardBefore40MicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.targets\ImportBefore')" />-->
3568 <!--</ImportGroup>-->
3569 <!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">-->
3570 <!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBefore40MicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportBefore')" />-->
3571 <!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportBefore\*" Condition="'$(ImportByWildcardBefore40MicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportBefore')" />-->
3572 <!--</ImportGroup>-->
3573 <!--
3574============================================================================================================================================
3575 <Import Project="$(CommonTargetsPath)">
3576
3577C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
3578============================================================================================================================================
3579-->
3580 <!--
3581***********************************************************************************************
3582Microsoft.Common.CurrentVersion.targets
3583
3584WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
3585 created a backup copy. Incorrect changes to this file will make it
3586 impossible to load or build your projects from the command-line or the IDE.
3587
3588This file defines the steps in the standard build process for .NET projects. It
3589contains all the steps that are common among the different .NET languages, such as
3590Visual Basic, and Visual C#.
3591
3592Copyright (C) Microsoft Corporation. All rights reserved.
3593***********************************************************************************************
3594-->
3595 <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="'$(MicrosoftCommonPropsHasBeenImported)' != 'true' and Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />-->
3596 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3597 <ImportByWildcardBeforeMicrosoftCommonTargets Condition="'$(ImportByWildcardBeforeMicrosoftCommonTargets)' == ''">true</ImportByWildcardBeforeMicrosoftCommonTargets>
3598 <ImportByWildcardAfterMicrosoftCommonTargets Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == ''">true</ImportByWildcardAfterMicrosoftCommonTargets>
3599 <ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets)' == ''">true</ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets>
3600 <ImportUserLocationsByWildcardAfterMicrosoftCommonTargets Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCommonTargets)' == ''">true</ImportUserLocationsByWildcardAfterMicrosoftCommonTargets>
3601 </PropertyGroup>
3602 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore')" />-->
3603 <!--
3604============================================================================================================================================
3605 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore')">
3606
3607C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportBefore\Microsoft.Cpp.VCLibs120Universal.targets
3608============================================================================================================================================
3609-->
3610 <!--
3611***********************************************************************************************
3612Microsoft.cpp.VCLibs120Universal.targets
3613
3614WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
3615 created a backup copy. Incorrect changes to this file will make it
3616 impossible to load or build your projects from the command-line or the IDE.
3617
3618Copyright (C) Microsoft Corporation. All rights reserved.
3619***********************************************************************************************
3620-->
3621 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3622 <_GenerateAppxManifestDependsOn>$(_GenerateAppxManifestDependsOn);_FixVCLibs120References</_GenerateAppxManifestDependsOn>
3623 </PropertyGroup>
3624 <Target Name="_FixVCLibs120References" Condition="'$(AppxPackage)' == 'true' and '$(TargetPlatformIdentifier)' == 'UAP'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3625 <!-- Check if VC libs 120 reference is found, If found remove it-->
3626 <ItemGroup>
3627 <VCLibs120Ref Include="'%(PackagingOutputs.SDKName)'" Condition="'%(PackagingOutputs.SDKName)' == 'Microsoft.VCLibs, Version=12.0'" />
3628 </ItemGroup>
3629 <ItemGroup Condition="'@(VCLibs120Ref)' != ''">
3630 <PackagingOutputs Remove="@(PackagingOutputs)" Condition="'%(PackagingOutputs.SDKName)' == 'Microsoft.VCLibs, Version=12.0'" />
3631 </ItemGroup>
3632 <!-- Get the resolved SDK reference item for Microsoft.VCLibs.120, Version=14.0 and add that to the packaging output -->
3633 <GetInstalledSDKLocations SDKDirectoryRoots="$(SDKReferenceDirectoryRoot)" SDKExtensionDirectoryRoots="$(SDKExtensionDirectoryRoot)" SDKRegistryRoot="$(SDKReferenceRegistryRoot)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" Condition="'@(InstalledSDKLocations)' == '' and '@(VCLibs120Ref)' != ''">
3634 <Output TaskParameter="InstalledSDKs" ItemName="InstalledSDKLocations" />
3635 </GetInstalledSDKLocations>
3636 <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)' != ''">
3637 <Output TaskParameter="ResolvedSDKReferences" ItemName="VCLibs12UniversalReference" />
3638 </ResolveSDKReference>
3639 <ItemGroup Condition="'@(VCLibs120Ref)' != '' and '@(VCLibs12UniversalReference)' != '' ">
3640 <PackagingOutputs Include="@(VCLibs12UniversalReference)">
3641 <OutputGroup>GetResolvedSDKReferences</OutputGroup>
3642 </PackagingOutputs>
3643 </ItemGroup>
3644 </Target>
3645 <!-- This target adds reference to the Microsoft.UniversalCRT.Debug Extension SDK for UWP apps that :
3646 reference the Microsoft.VCLibs.14.00.Debug framework package
3647 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. -->
3648 <Target Name="_AddVCLibs140UniversalCrtDebugReference" AfterTargets="GetPackagingOutputs" Condition="'$(DisableImplicitUCRTReference)' == '' and '$(AppxPackage)' == 'true' and '$(TargetPlatformIdentifier)' == 'UAP'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3649 <!-- ******************************************************************************
3650 This item group queries the application project for the following traits:
3651 a. Microsoft.VCLibs, Version=14.0, Configuration=Debug is referenced by the project or its referenced projects
3652 b. This project or its referenced projects already reference Microsoft.UniversalCRT.Debug, Version=<Any>
3653 ******************************************************************************* -->
3654 <ItemGroup>
3655 <VCLibs140UCRTRef Include="'%(PackagingOutputs.SDKName)'" Condition="'%(PackagingOutputs.SDKName)' == 'Microsoft.VCLibs, Version=14.0' and ('%(PackagingOutputs.TargetedSDKConfiguration)' == 'Debug' or '$(Configuration)'=='Debug')" />
3656 <HasUCRTRef Include="'%(PackagingOutputs.SDKName)'" Condition="$([System.String]::new('%(PackagingOutputs.SDKName)').StartsWith('Microsoft.UniversalCRT.Debug, Version='))" />
3657 </ItemGroup>
3658 <!-- Add UCRT Debug reference if one is not already specified and the project (or referenced projects) have a reference to VCLibs140 framework package -->
3659 <PropertyGroup>
3660 <AddUCRTRef Condition="'@(HasUCRTRef)'=='' and '@(VCLibs140UCRTRef)'!=''">true</AddUCRTRef>
3661 </PropertyGroup>
3662 <!-- Get the resolved SDK reference item for Microsoft.UniversalCRT.Debug, Version=<TPV> and add that to the packaging output -->
3663 <GetInstalledSDKLocations SDKDirectoryRoots="$(SDKReferenceDirectoryRoot)" SDKExtensionDirectoryRoots="$(SDKExtensionDirectoryRoot)" SDKRegistryRoot="$(SDKReferenceRegistryRoot)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" Condition="'@(InstalledSDKLocations)' == '' and '$(AddUCRTRef)'=='true'">
3664 <Output TaskParameter="InstalledSDKs" ItemName="InstalledSDKLocations" />
3665 </GetInstalledSDKLocations>
3666 <!-- 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
3667 ESDK for given TPV value -->
3668 <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)">
3669 <Output TaskParameter="ResolvedSDKReferences" ItemName="UniversalCrtDebugReference" />
3670 </ResolveSDKReference>
3671 <!-- Add the resolved ucrtbased.dll to the packaging output -->
3672 <ItemGroup>
3673 <PackagingOutputs Condition="'$(AddUCRTRef)' == 'true'" Include="@(UniversalCrtDebugReference->'%(Identity)\redist\Debug\%(TargetedSDKArchitecture)\ucrtbased.dll')">
3674 <OutputGroup>SDKRedistOutputGroup</OutputGroup>
3675 <ProjectName>$(MSBuildProjectName)</ProjectName>
3676 <TargetPath>ucrtbased.dll</TargetPath>
3677 </PackagingOutputs>
3678 </ItemGroup>
3679 </Target>
3680 <!--
3681============================================================================================================================================
3682 </Import>
3683============================================================================================================================================
3684-->
3685 <!--
3686============================================================================================================================================
3687 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore')">
3688
3689C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportBefore\Microsoft.Net.CoreRuntime.ImportBefore.targets
3690============================================================================================================================================
3691-->
3692 <!--
3693***********************************************************************************************
3694Microsoft.Net.CoreRuntime.ImportBefore.targets
3695
3696WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
3697 created a backup copy. Incorrect changes to this file will make it
3698 impossible to load or build your projects from the command-line or the IDE.
3699
3700Copyright (C) Microsoft Corporation. All rights reserved.
3701***********************************************************************************************
3702-->
3703 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3704 <NetfxCoreRuntimeSettingsTargets Condition="'$(NetfxCoreRuntimeSettingsTargets)'==''">$(ProgramFiles)\MSBuild\15.0\.Net\CoreRuntime\Microsoft.Net.CoreRuntime.Settings.targets</NetfxCoreRuntimeSettingsTargets>
3705 </PropertyGroup>
3706 <!--<Import Project="$(NetfxCoreRuntimeSettingsTargets)" Condition="'$(TargetPlatformIdentifier)' == 'UAP' and '$(AppxPackage)' == 'true' and exists('$(NetfxCoreRuntimeSettingsTargets)')" />-->
3707 <!--
3708============================================================================================================================================
3709 </Import>
3710============================================================================================================================================
3711-->
3712 <!--
3713============================================================================================================================================
3714 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportBefore')">
3715
3716C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportBefore\Microsoft.NetNative.ImportBefore.targets
3717============================================================================================================================================
3718-->
3719 <!--
3720***********************************************************************************************
3721Microsoft.NetNative.ImportBefore.targets
3722
3723WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
3724 created a backup copy. Incorrect changes to this file will make it
3725 impossible to load or build your projects from the command-line or the IDE.
3726
3727Copyright (C) Microsoft Corporation. All rights reserved.
3728***********************************************************************************************
3729-->
3730 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3731 <_ProjectNPlatformSupported Condition="'$(TargetPlatformIdentifier)' == 'UAP'">true</_ProjectNPlatformSupported>
3732 <_ProjectNProjectSupported Condition="'$(AppxPackage)' == 'true'">true</_ProjectNProjectSupported>
3733 <!-- Denotes that Microsoft .Net Native is supported by this kind of project so corresponding UI elements should be visible -->
3734 <CanUseProjectN Condition="'$(_ProjectNPlatformSupported)' == 'true' and '$(_ProjectNProjectSupported)' == 'true'">true</CanUseProjectN>
3735 <UseDotNetNativeToolchain Condition="'$(UseDotNetNativeToolchain)' == ''">$(UseProjectNToolchain)</UseDotNetNativeToolchain>
3736 <ProjectNProfileEnabled Condition="'$(CanUseProjectN)'=='true'">true</ProjectNProfileEnabled>
3737 <ProjectNSettingsTargets Condition="'$(ProjectNSettingsTargets)'==''">$(ProgramFiles)\MSBuild\15.0\.Net\.NetNative\15.0.24211\Microsoft.NetNative.Settings.targets</ProjectNSettingsTargets>
3738 </PropertyGroup>
3739 <!--<Import Project="$(ProjectNSettingsTargets)" Condition="'$(ProjectNProfileEnabled)' == 'true' and exists('$(ProjectNSettingsTargets)')" />-->
3740 <!--
3741============================================================================================================================================
3742 </Import>
3743
3744C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
3745============================================================================================================================================
3746-->
3747 <!--<Import Project="$(MSBuildProjectFullPath).user" Condition="Exists('$(MSBuildProjectFullPath).user')" />-->
3748 <!-- VS10 without SP1 and without VS11 will not have VisualStudioVersion set, so do that here -->
3749 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3750 <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
3751 </PropertyGroup>
3752 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3753 <CustomBeforeMicrosoftCommonTargets Condition="'$(CustomBeforeMicrosoftCommonTargets)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.Before.Microsoft.Common.targets</CustomBeforeMicrosoftCommonTargets>
3754 <CustomAfterMicrosoftCommonTargets Condition="'$(CustomAfterMicrosoftCommonTargets)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.After.Microsoft.Common.targets</CustomAfterMicrosoftCommonTargets>
3755 <ReportingServicesTargets Condition="'$(ReportingServicesTargets)'==''">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\ReportingServices\Microsoft.ReportingServices.targets</ReportingServicesTargets>
3756 </PropertyGroup>
3757 <!--<Import Project="$(CustomBeforeMicrosoftCommonTargets)" Condition="'$(CustomBeforeMicrosoftCommonTargets)' != '' and Exists('$(CustomBeforeMicrosoftCommonTargets)')" />-->
3758 <!-- By default, we are creating a managed app because .NET 2.0 projects did not have this property. -->
3759 <PropertyGroup Condition="'$(TargetRuntime)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3760 <TargetRuntime>Managed</TargetRuntime>
3761 </PropertyGroup>
3762 <!-- Because .NET 2.0 apps did not set TargetFrameworkIdentifier, we need to set it for them here by default. If
3763 the runtime is set to Managed, we also need to set these. Otherwise they should be blank (for instance Javascript or
3764 Native apps) because they do not target a .NET Framework. -->
3765 <PropertyGroup Condition="'$(TargetRuntime)' == 'Managed'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3766 <TargetFrameworkIdentifier Condition="'$(TargetFrameworkIdentifier)' == ''">.NETFramework</TargetFrameworkIdentifier>
3767 <TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v4.0</TargetFrameworkVersion>
3768 </PropertyGroup>
3769 <!-- AvailablePlatforms is the list of platform targets available. -->
3770 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3771 <AvailablePlatforms Condition="'$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == ''">Any CPU,x86,x64,Itanium</AvailablePlatforms>
3772 <AvailablePlatforms Condition="'$(VisualStudioVersion)' != '' and '$(VisualStudioVersion)' &gt; '10.0'">Any CPU,x86,x64</AvailablePlatforms>
3773 </PropertyGroup>
3774 <!-- Import depends on if it is .NETCore. Imports for .NETFramework is a superset of that for .NETCore-->
3775 <!--<Import Project="Microsoft.NETFramework.props" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' or '$(TargetFrameworkIdentifier)' == 'Silverlight'" />-->
3776 <!--
3777============================================================================================================================================
3778 <Import Project="Microsoft.NET.props" Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' or '$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
3779
3780C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.NET.props
3781============================================================================================================================================
3782-->
3783 <!--
3784***********************************************************************************************
3785Microsoft.NET.props
3786
3787WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
3788 created a backup copy. Incorrect changes to this file will make it
3789 impossible to load or build your projects from the command-line or the IDE.
3790
3791This file contains .NET-specific properties, and items. This file is imported for .NET Core, .NET Standard, and .NET Framework projects.
3792these two files are used to encapsulate the multi-targeting and framework specific build process.
3793
3794Copyright (C) Microsoft Corporation. All rights reserved.
3795***********************************************************************************************
3796-->
3797 <!--
3798 ============================================================
3799 GetToolPaths
3800 Get the paths for the .NET Framework and .NET Core tools and sdk tools directories.
3801 This does not need to be a target since all of the values are availiable at project evaluation time.
3802 ============================================================
3803 -->
3804 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3805 <TargetFrameworkSDKToolsDirectory Condition=" '$(TargetFrameworkSDKToolsDirectory)' == '' ">$(SDK40ToolsPath)</TargetFrameworkSDKToolsDirectory>
3806 </PropertyGroup>
3807 <!--
3808 ============================================================
3809 SetHighEntropyVA
3810 Set HighEntropyVA according to the TargetFramework
3811 ============================================================
3812 -->
3813 <PropertyGroup Condition="('$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(TargetingClr2Framework)' != 'true' and '$(TargetFrameworkVersion)' != 'v4.0') or '$(TargetFrameworkIdentifier)' == '.NETCoreApp' or '$(TargetFrameworkIdentifier)' == '.NETStandard'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3814 <HighEntropyVA Condition="'$(HighEntropyVA)' == ''">true</HighEntropyVA>
3815 </PropertyGroup>
3816 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3817 <HighEntropyVA Condition="'$(HighEntropyVA)' == ''">false</HighEntropyVA>
3818 </PropertyGroup>
3819 <!--
3820============================================================================================================================================
3821 </Import>
3822
3823C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
3824============================================================================================================================================
3825-->
3826 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3827 <!-- Generates full paths for the 'File' property in errors, warnings and messages in many targets -->
3828 <GenerateFullPaths Condition="'$(GenerateFullPaths)' == ''">true</GenerateFullPaths>
3829 <!-- Yield optimization properties -->
3830 <YieldDuringToolExecution Condition="'$(YieldDuringToolExecution)' == ''">true</YieldDuringToolExecution>
3831 </PropertyGroup>
3832 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' != '' and '$(TargetFrameworkVersion)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3833 <TargetFrameworkMoniker Condition="'$(TargetFrameworkMoniker)' == '' and '$([System.String]::IsNullOrWhitespace($(TargetFrameworkProfile)))' != 'true'">$(TargetFrameworkIdentifier),Version=$(TargetFrameworkVersion),Profile=$(TargetFrameworkProfile)</TargetFrameworkMoniker>
3834 <TargetFrameworkMoniker Condition="'$(TargetFrameworkMoniker)' == ''">$(TargetFrameworkIdentifier),Version=$(TargetFrameworkVersion)</TargetFrameworkMoniker>
3835 <!-- 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. -->
3836 <FrameworkPathOverride Condition="'$(EnableFrameworkPathOverride)' != 'false' And '$(FrameworkPathOverride)' == '' And Exists('$(TargetFrameworkRootPath)$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)')">$(TargetFrameworkRootPath)$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)</FrameworkPathOverride>
3837 <!-- 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
3838 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
3839 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).-->
3840 <FrameworkPathOverride Condition="'$(EnableFrameworkPathOverride)' != 'false' And '$(FrameworkPathOverride)' == ''">$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPathToStandardLibraries($(TargetFrameworkIdentifier), $(TargetFrameworkVersion), $(TargetFrameworkProfile), $(PlatformTarget), $(TargetFrameworkRootPath), $(TargetFrameworkFallbackSearchPaths)))</FrameworkPathOverride>
3841 <FrameworkPathOverride Condition="'$(EnableFrameworkPathOverride)' != 'false' And !Exists('$(FrameworkPathOverride)\mscorlib.dll')">$(MSBuildFrameworkToolsPath)</FrameworkPathOverride>
3842 </PropertyGroup>
3843 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3844 <TargetPlatformIdentifier Condition="'$(TargetPlatformIdentifier)' == '' and '$(_EnableDefaultWindowsPlatform)' != 'false'">Windows</TargetPlatformIdentifier>
3845 <TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == '' and '$(_EnableDefaultWindowsPlatform)' != 'false'">7.0</TargetPlatformVersion>
3846 <TargetPlatformSdkPath Condition="'$(TargetPlatformSdkPath)' == '' and '$(TargetPlatformSdkRootOverride)' != ''">$(TargetPlatformSdkRootOverride)\</TargetPlatformSdkPath>
3847 <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>
3848 <TargetPlatformSdkPath Condition="'$(TargetPlatformSdkPath)' == ''">$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformSDKLocation($(TargetPlatformIdentifier), $(TargetPlatformVersion)))</TargetPlatformSdkPath>
3849 <TargetPlatformSdkMetadataLocation Condition="'$(TargetPlatformSdkMetadataLocation)' == '' and Exists('$(TargetPlatformSdkPath)')">$(TargetPlatformSdkPath)Windows Metadata</TargetPlatformSdkMetadataLocation>
3850 <TargetPlatformSdkMetadataLocation Condition="Exists('$(TargetPlatformSdkPath)') and ('$(TargetPlatformSdkMetadataLocation)' == '' or !Exists('$(TargetPlatformSdkMetadataLocation)'))">$(TargetPlatformSdkPath)References\CommonConfiguration\Neutral</TargetPlatformSdkMetadataLocation>
3851 <TargetPlatformWinMDLocation Condition="'$(TargetPlatformWinMDLocation)' == '' and Exists('$(TargetPlatformSdkMetadataLocation)')">$(TargetPlatformSdkMetadataLocation)</TargetPlatformWinMDLocation>
3852 <UseOSWinMdReferences Condition="'$(UseOSWinMdReferences)' == '' and ('$(TargetPlatformWinMDLocation)' == '' and '$(TargetPlatformIdentifier)' == 'Windows' and '$(TargetPlatformVersion)' &gt; '7.0')">true</UseOSWinMdReferences>
3853 <TargetPlatformWinMDLocation Condition="'$(UseOsWinMdReferences)' == 'true'">$(WinDir)\System32\WinMetadata</TargetPlatformWinMDLocation>
3854 <TargetPlatformMoniker Condition="'$(TargetPlatformMoniker)' == '' and '$(TargetPlatformIdentifier)' != '' and '$(TargetPlatformVersion)' != ''">$(TargetPlatformIdentifier),Version=$(TargetPlatformVersion)</TargetPlatformMoniker>
3855 <TargetPlatformDisplayName Condition="'$(TargetPlatformDisplayName)' == ''">$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformSDKDisplayName($(TargetPlatformIdentifier), $(TargetPlatformVersion)))</TargetPlatformDisplayName>
3856 </PropertyGroup>
3857 <!--
3858 Several properties must be set in the main project file, before using this .TARGETS file.
3859 However, if the properties are not set, we pick some defaults.
3860
3861 OutDir:
3862 Indicates the final output location for the project or solution. When building a solution,
3863 OutDir can be used to gather multiple project outputs in one location. In addition,
3864 OutDir is included in AssemblySearchPaths used for resolving references.
3865
3866 BaseOutputPath:
3867 This is the top level folder where all configuration specific output folders will be created.
3868 Default value is bin\
3869
3870 OutputPath:
3871 This is the full Output Path, and is derived from BaseOutputPath, if none specified
3872 (eg. bin\Debug). If this property is overridden, then setting BaseOutputPath has no effect.
3873
3874 For Legacy projects using only Common targets, this property is usually specified in the project file
3875 and is used to initialize OutDir. Some SDKs including the .NET SDK derive this automatically.
3876 OutDir and OutputPath are distinguished for legacy reasons, and OutDir should be used if at all possible.
3877
3878 BaseIntermediateOutputPath:
3879 This is the top level folder where all configuration specific intermediate output folders will be created.
3880 Default value is obj\
3881
3882 IntermediateOutputPath:
3883 This is the full intermediate Output Path, and is derived from BaseIntermediateOutputPath, if none specified
3884 (eg. obj\Debug). If this property is overridden, then setting BaseIntermediateOutputPath has no effect.
3885
3886 Ensure any and all path property has a trailing slash, so it can be concatenated.
3887 -->
3888 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3889 <!-- Example, AnyCPU -->
3890 <_OriginalPlatform>$(Platform)</_OriginalPlatform>
3891 <!-- Example, Debug -->
3892 <_OriginalConfiguration>$(Configuration)</_OriginalConfiguration>
3893 <!-- Check whether OutputPath was specified for valid Configuration/Platform combination -->
3894 <_OutputPathWasMissing Condition="'$(_OriginalPlatform)' != '' and '$(_OriginalConfiguration)' != '' and '$(OutputPath)' == ''">true</_OutputPathWasMissing>
3895 <!-- Check whether BaseOutputPath was specified -->
3896 <BaseOutputPathWasSpecified Condition="'$(BaseOutputPath)' != ''">true</BaseOutputPathWasSpecified>
3897 </PropertyGroup>
3898 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3899 <Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>
3900 <PlatformName Condition="'$(PlatformName)' == ''">$(Platform)</PlatformName>
3901 <Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
3902 <ConfigurationName Condition="'$(ConfigurationName)' == ''">$(Configuration)</ConfigurationName>
3903 <BaseOutputPath Condition="'$(BaseOutputPath)' == ''">bin\</BaseOutputPath>
3904 <BaseOutputPath Condition="!HasTrailingSlash('$(BaseOutputPath)')">$(BaseOutputPath)\</BaseOutputPath>
3905 <OutputPath Condition="'$(OutputPath)' == '' and '$(PlatformName)' == 'AnyCPU'">$(BaseOutputPath)$(Configuration)\</OutputPath>
3906 <OutputPath Condition="'$(OutputPath)' == '' and '$(PlatformName)' != 'AnyCPU'">$(BaseOutputPath)$(PlatformName)\$(Configuration)\</OutputPath>
3907 <OutputPath Condition="!HasTrailingSlash('$(OutputPath)')">$(OutputPath)\</OutputPath>
3908 <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">obj\</BaseIntermediateOutputPath>
3909 <BaseIntermediateOutputPath Condition="!HasTrailingSlash('$(BaseIntermediateOutputPath)')">$(BaseIntermediateOutputPath)\</BaseIntermediateOutputPath>
3910 <IntermediateOutputPath Condition="'$(IntermediateOutputPath)' == '' and '$(PlatformName)' == 'AnyCPU'">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
3911 <IntermediateOutputPath Condition="'$(IntermediateOutputPath)' == '' and '$(PlatformName)' != 'AnyCPU'">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath>
3912 <IntermediateOutputPath Condition="!HasTrailingSlash('$(IntermediateOutputPath)')">$(IntermediateOutputPath)\</IntermediateOutputPath>
3913 </PropertyGroup>
3914 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3915 <!-- Determine OutputType property from the legacy TargetType property -->
3916 <OutputType Condition=" '$(TargetType)' != ''">$(TargetType)</OutputType>
3917 <OutputType Condition=" '$(TargetType)' == 'Container' or '$(TargetType)' == 'DocumentContainer' ">library</OutputType>
3918 <OutputType Condition=" '$(OutputType)' == '' ">exe</OutputType>
3919 <DebugSymbols Condition=" '$(ConfigurationName)' == 'Debug' and '$(DebugSymbols)' == '' and '$(DebugType)'==''">true</DebugSymbols>
3920 <!-- Whether or not a .pdb file is produced. -->
3921 <_DebugSymbolsProduced>false</_DebugSymbolsProduced>
3922 <_DebugSymbolsProduced Condition="'$(DebugSymbols)'=='true'">true</_DebugSymbolsProduced>
3923 <_DebugSymbolsProduced Condition="'$(DebugType)'=='none'">false</_DebugSymbolsProduced>
3924 <_DebugSymbolsProduced Condition="'$(DebugType)'=='pdbonly'">true</_DebugSymbolsProduced>
3925 <_DebugSymbolsProduced Condition="'$(DebugType)'=='full'">true</_DebugSymbolsProduced>
3926 <_DebugSymbolsProduced Condition="'$(DebugType)'=='portable'">true</_DebugSymbolsProduced>
3927 <_DebugSymbolsProduced Condition="'$(DebugType)'=='embedded'">false</_DebugSymbolsProduced>
3928 <_DebugSymbolsProduced Condition="'$(ProduceOnlyReferenceAssembly)'=='true'">false</_DebugSymbolsProduced>
3929 <!-- Whether or not a .xml file is produced. -->
3930 <_DocumentationFileProduced>true</_DocumentationFileProduced>
3931 <_DocumentationFileProduced Condition="'$(DocumentationFile)'==''">false</_DocumentationFileProduced>
3932 <!-- Whether or not a reference assembly is produced. -->
3933 <ProduceReferenceAssembly Condition="'$(ProduceReferenceAssembly)' == ''">false</ProduceReferenceAssembly>
3934 </PropertyGroup>
3935 <!--
3936 For Legacy projects that define properties per Configuration/Platform combination, the validity of an
3937 invalid combination is determined by the non-empty value of the 'OutputPath' property specified under
3938 the IDE generated Configuration/Platform specific 'PropertyGroup' section.
3939
3940 If 'BaseOutputPath' is specified, we can skip the validation, since, we assume the 'OutputPath' property
3941 will be derived (e.g.: from the 'BaseOutputPath' property).
3942 -->
3943 <PropertyGroup Condition="'$(BaseOutputPathWasSpecified)' != 'true' and '$(_OutputPathWasMissing)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3944 <!--
3945 When 'OutputPath' is missing or empty (along with non-existent 'BaseOutputPath') at this point means,
3946 we're in legacy mode and we shall assume the current Configuration/Platform combination as invalid.
3947 Whether this is considered an error or a warning depends on the value of $(SkipInvalidConfigurations).
3948 -->
3949 <_InvalidConfigurationError Condition=" '$(SkipInvalidConfigurations)' != 'true' ">true</_InvalidConfigurationError>
3950 <_InvalidConfigurationWarning Condition=" '$(SkipInvalidConfigurations)' == 'true' ">true</_InvalidConfigurationWarning>
3951 </PropertyGroup>
3952 <!--
3953 IDE Macros available from both integrated builds and from command line builds.
3954 The following properties are 'macros' that are available via IDE for
3955 pre and post build steps.
3956 -->
3957 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3958 <TargetExt Condition="'$(TargetExt)' == '' and '$(OutputType)'=='exe'">.exe</TargetExt>
3959 <TargetExt Condition="'$(TargetExt)' == '' and '$(OutputType)'=='winexe'">.exe</TargetExt>
3960 <TargetExt Condition="'$(TargetExt)' == '' and '$(OutputType)'=='appcontainerexe'">.exe</TargetExt>
3961 <TargetExt Condition="'$(TargetExt)' == '' and '$(OutputType)'=='library'">.dll</TargetExt>
3962 <TargetExt Condition="'$(TargetExt)' == '' and '$(OutputType)'=='module'">.netmodule</TargetExt>
3963 <TargetExt Condition="'$(TargetExt)' == '' and '$(OutputType)'=='winmdobj'">.winmdobj</TargetExt>
3964 </PropertyGroup>
3965 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3966 <!-- Required for enabling Team Build for packaging app package-generating projects -->
3967 <OutDirWasSpecified Condition=" '$(OutDir)'!='' and '$(OutDirWasSpecified)'=='' ">true</OutDirWasSpecified>
3968 <OutDir Condition=" '$(OutDir)' == '' ">$(OutputPath)</OutDir>
3969 <!-- Example, bin\Debug\ -->
3970 <!-- Ensure OutDir has a trailing slash, so it can be concatenated -->
3971 <OutDir Condition="'$(OutDir)' != '' and !HasTrailingSlash('$(OutDir)')">$(OutDir)\</OutDir>
3972 <ProjectName Condition=" '$(ProjectName)' == '' ">$(MSBuildProjectName)</ProjectName>
3973 <!-- Example, MyProject -->
3974 <!-- For projects that generate app packages or ones that want a per-project output directory, update OutDir to include the project name -->
3975 <OutDir Condition="'$(OutDir)' != '' and '$(OutDirWasSpecified)' == 'true' and (('$(WindowsAppContainer)' == 'true' and '$(GenerateProjectSpecificOutputFolder)' != 'false') or '$(GenerateProjectSpecificOutputFolder)' == 'true')">$(OutDir)$(ProjectName)\</OutDir>
3976 <AssemblyName Condition=" '$(AssemblyName)'=='' ">$(MSBuildProjectName)</AssemblyName>
3977 <TargetName Condition="'$(TargetName)' == '' and '$(OutputType)' == 'winmdobj' and '$(RootNamespace)' != ''">$(RootNamespace)</TargetName>
3978 <TargetName Condition=" '$(TargetName)' == '' ">$(AssemblyName)</TargetName>
3979 <!-- Example, MyAssembly -->
3980 <ProjectFileName Condition=" '$(ProjectFileName)' == '' ">$(MSBuildProjectFile)</ProjectFileName>
3981 <!-- Example, MyProject.csproj -->
3982 <ProjectExt Condition=" '$(ProjectExt)' == '' ">$(MSBuildProjectExtension)</ProjectExt>
3983 <!-- Example, .csproj -->
3984 <WinMDExpOutputWindowsMetadataFilename Condition="'$(WinMDExpOutputWindowsMetadataFilename)' == '' and '$(OutputType)' == 'winmdobj'">$(TargetName).winmd</WinMDExpOutputWindowsMetadataFilename>
3985 <TargetFileName Condition=" '$(TargetFileName)' == '' and '$(OutputType)' == 'winmdobj'">$(WinMDExpOutputWindowsMetadataFilename)</TargetFileName>
3986 <TargetFileName Condition=" '$(TargetFileName)' == '' ">$(TargetName)$(TargetExt)</TargetFileName>
3987 <!-- Example, MyAssembly.dll -->
3988 </PropertyGroup>
3989 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3990 <!--
3991 The PublishableProject property is used when invoking the publish target on a solution that
3992 contains multiple projects. The property determines which projects should be published, and
3993 which projects should be skipped in the publish target. By default any "Windows Application"
3994 or "Console Application" project type is publishable. However, a project that would otherwise
3995 be published can be skipped by defining the PublishableProject property in the project itself.
3996 -->
3997 <_DeploymentPublishableProjectDefault Condition="'$(OutputType)'=='winexe' or '$(OutputType)'=='exe' or '$(OutputType)'=='appcontainerexe'">true</_DeploymentPublishableProjectDefault>
3998 <PublishableProject Condition="'$(PublishableProject)'==''">$(_DeploymentPublishableProjectDefault)</PublishableProject>
3999 <_DeploymentTargetApplicationManifestFileName Condition="'$(OutputType)'=='library'">Native.$(AssemblyName).manifest</_DeploymentTargetApplicationManifestFileName>
4000 <!-- Example, Native.MyAssembly.manifest -->
4001 <_DeploymentTargetApplicationManifestFileName Condition="'$(OutputType)'=='winexe'">$(TargetFileName).manifest</_DeploymentTargetApplicationManifestFileName>
4002 <!-- Example, MyAssembly.exe.manifest -->
4003 <_DeploymentTargetApplicationManifestFileName Condition="'$(OutputType)'=='exe'">$(TargetFileName).manifest</_DeploymentTargetApplicationManifestFileName>
4004 <!-- Example, MyAssembly.exe.manifest -->
4005 <_DeploymentTargetApplicationManifestFileName Condition="'$(OutputType)'=='appcontainerexe'">$(TargetFileName).manifest</_DeploymentTargetApplicationManifestFileName>
4006 <!-- Example, MyAssembly.exe.manifest -->
4007 <TargetDeployManifestFileName Condition="'$(TargetDeployManifestFileName)' == '' and '$(HostInBrowser)' != 'true'">$(AssemblyName).application</TargetDeployManifestFileName>
4008 <!-- Example, MyAssembly.application -->
4009 <TargetDeployManifestFileName Condition="'$(TargetDeployManifestFileName)' == '' and '$(HostInBrowser)' == 'true'">$(AssemblyName).xbap</TargetDeployManifestFileName>
4010 <!-- Example, MyAssembly.xbap -->
4011 <GenerateClickOnceManifests Condition="'$(OutputType)'=='winexe' or '$(OutputType)'=='exe' or '$(OutputType)'=='appcontainerexe'">$(GenerateManifests)</GenerateClickOnceManifests>
4012 <_DeploymentApplicationManifestIdentity Condition="'$(OutputType)'=='library'">Native.$(AssemblyName)</_DeploymentApplicationManifestIdentity>
4013 <_DeploymentApplicationManifestIdentity Condition="'$(OutputType)'=='winexe'">$(AssemblyName).exe</_DeploymentApplicationManifestIdentity>
4014 <_DeploymentApplicationManifestIdentity Condition="'$(OutputType)'=='exe'">$(AssemblyName).exe</_DeploymentApplicationManifestIdentity>
4015 <_DeploymentApplicationManifestIdentity Condition="'$(OutputType)'=='appcontainerexe'">$(AssemblyName).exe</_DeploymentApplicationManifestIdentity>
4016 <_DeploymentDeployManifestIdentity Condition="'$(HostInBrowser)' != 'true'">$(AssemblyName).application</_DeploymentDeployManifestIdentity>
4017 <_DeploymentDeployManifestIdentity Condition="'$(HostInBrowser)' == 'true'">$(AssemblyName).xbap</_DeploymentDeployManifestIdentity>
4018 <_DeploymentFileMappingExtension Condition="'$(MapFileExtensions)'=='true'">.deploy</_DeploymentFileMappingExtension>
4019 <_DeploymentFileMappingExtension Condition="'$(MapFileExtensions)'!='true'" />
4020 <_DeploymentBuiltUpdateInterval Condition="'$(UpdatePeriodically)'=='true'">$(UpdateInterval)</_DeploymentBuiltUpdateInterval>
4021 <_DeploymentBuiltUpdateIntervalUnits Condition="'$(UpdatePeriodically)'=='true'">$(UpdateIntervalUnits)</_DeploymentBuiltUpdateIntervalUnits>
4022 <_DeploymentBuiltUpdateInterval Condition="'$(UpdatePeriodically)'!='true'">0</_DeploymentBuiltUpdateInterval>
4023 <_DeploymentBuiltUpdateIntervalUnits Condition="'$(UpdatePeriodically)'!='true'">Days</_DeploymentBuiltUpdateIntervalUnits>
4024 <_DeploymentBuiltMinimumRequiredVersion Condition="'$(UpdateRequired)'=='true' and '$(Install)'=='true'">$(MinimumRequiredVersion)</_DeploymentBuiltMinimumRequiredVersion>
4025 <_DeploymentLauncherBased Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">true</_DeploymentLauncherBased>
4026 <MaxTargetPath Condition="'$(MaxTargetPath)'==''">100</MaxTargetPath>
4027 </PropertyGroup>
4028 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4029 <!--
4030 By default, GenerateApplicationManifest puts all satellite assemblies to the manifest
4031 record by default by setting TargetCulture to *.
4032 -->
4033 <TargetCulture Condition="'$(TargetCulture)'==''">*</TargetCulture>
4034 <FallbackCulture Condition="'$(UICulture)'!='' and '$(FallbackCulture)'==''">$(UICulture)</FallbackCulture>
4035 </PropertyGroup>
4036 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4037 <!-- Not used any more-->
4038 <_OutputPathItem Include="$(OutDir)" />
4039 <_UnmanagedRegistrationCache Include="$(BaseIntermediateOutputPath)$(MSBuildProjectFile).UnmanagedRegistration.cache" />
4040 <_ResolveComReferenceCache Include="$(IntermediateOutputPath)$(MSBuildProjectFile).ResolveComReference.cache" />
4041 </ItemGroup>
4042 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4043 <!-- Example, C:\MyProjects\MyProject\bin\Debug\ -->
4044 <!--
4045 Condition intentionally omitted on this one, because it causes problems
4046 when we pick up the value of an environment variable named TargetDir
4047 -->
4048 <TargetDir Condition="'$(OutDir)' != ''">$([MSBuild]::Escape($([System.IO.Path]::GetFullPath(`$([System.IO.Path]::Combine(`$(MSBuildProjectDirectory)`, `$(OutDir)`))`))))</TargetDir>
4049 <!-- Example, C:\MyProjects\MyProject\bin\Debug\MyAssembly.dll -->
4050 <TargetPath Condition=" '$(TargetPath)' == '' ">$(TargetDir)$(TargetFileName)</TargetPath>
4051 <TargetRefPath Condition=" '$(TargetRefPath)' == '' and '$(ProduceReferenceAssembly)' == 'true' ">$([MSBuild]::NormalizePath($(TargetDir), 'ref', $(TargetFileName)))</TargetRefPath>
4052 <!-- Example, C:\MyProjects\MyProject\ -->
4053 <ProjectDir Condition=" '$(ProjectDir)' == '' ">$([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))</ProjectDir>
4054 <!-- Example, C:\MyProjects\MyProject\MyProject.csproj -->
4055 <ProjectPath Condition=" '$(ProjectPath)' == '' ">$(ProjectDir)$(ProjectFileName)</ProjectPath>
4056 </PropertyGroup>
4057 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4058 <!-- This is not used here but remains for backwards compatibility -->
4059 <AppConfigFileDestination Include="$(OutDir)$(TargetFileName).config" />
4060 </ItemGroup>
4061 <!--
4062 IDE Macros available only from integrated builds.
4063 The following properties are 'macros' that are available via IDE for
4064 pre and post build steps. However, they are not defined when directly building
4065 a project from the command line, only when building a solution.
4066 -->
4067 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4068 <DevEnvDir Condition="'$(DevEnvDir)'==''">*Undefined*</DevEnvDir>
4069 <SolutionName Condition="'$(SolutionName)'==''">*Undefined*</SolutionName>
4070 <!-- Example, MySolution -->
4071 <SolutionFileName Condition="'$(SolutionFileName)'==''">*Undefined*</SolutionFileName>
4072 <!-- Example, MySolution.sln -->
4073 <SolutionPath Condition="'$(SolutionPath)'==''">*Undefined*</SolutionPath>
4074 <!-- Example, f:\MySolutions\MySolution\MySolution.sln -->
4075 <SolutionDir Condition="'$(SolutionDir)'==''">*Undefined*</SolutionDir>
4076 <!-- Example, f:\MySolutions\MySolution\ -->
4077 <SolutionExt Condition="'$(SolutionExt)'==''">*Undefined*</SolutionExt>
4078 <!-- Example, .sln -->
4079 </PropertyGroup>
4080 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4081 <GenerateBindingRedirectsOutputType Condition="'$(OutputType)'=='exe' or '$(OutputType)'=='winexe'">true</GenerateBindingRedirectsOutputType>
4082 <!-- 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. -->
4083 <AutoGenerateBindingRedirects Condition="'$(AutoGenerateBindingRedirects)' == '' and '$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(TargetFrameworkVersion.TrimStart(vV))' &gt;= '4.7.2'">true</AutoGenerateBindingRedirects>
4084 </PropertyGroup>
4085 <PropertyGroup Condition="'$(AutoUnifyAssemblyReferences)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4086 <AutoUnifyAssemblyReferences>true</AutoUnifyAssemblyReferences>
4087 <AutoUnifyAssemblyReferences Condition="'$(GenerateBindingRedirectsOutputType)' == 'true' and '$(AutoGenerateBindingRedirects)' != 'true'">false</AutoUnifyAssemblyReferences>
4088 </PropertyGroup>
4089 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4090 <CleanFile Condition="'$(CleanFile)'==''">$(MSBuildProjectFile).FileListAbsolute.txt</CleanFile>
4091 <!-- During DesignTime Builds, skip project reference build as Design time is only queueing information.-->
4092 <BuildProjectReferences Condition="'$(BuildProjectReferences)' == '' and '$(DesignTimeBuild)' == 'true'">false</BuildProjectReferences>
4093 <!-- By default we will build (and if applicable, clean) all project references. But this can be used to disable that-->
4094 <BuildProjectReferences Condition="'$(BuildProjectReferences)' == ''">true</BuildProjectReferences>
4095 <BuildInParallel Condition="'$(BuildInParallel)' == ''">true</BuildInParallel>
4096 <_ResolveReferenceDependencies Condition="'$(_ResolveReferenceDependencies)' == ''">false</_ResolveReferenceDependencies>
4097 <_GetChildProjectCopyToOutputDirectoryItems Condition="'$(_GetChildProjectCopyToOutputDirectoryItems)' == ''">true</_GetChildProjectCopyToOutputDirectoryItems>
4098 <OverwriteReadOnlyFiles Condition="'$(OverwriteReadOnlyFiles)' == ''">false</OverwriteReadOnlyFiles>
4099 <ComReferenceNoClassMembers Condition="'$(ComReferenceNoClassMembers)' == ''">false</ComReferenceNoClassMembers>
4100 </PropertyGroup>
4101 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4102 <_GenerateBindingRedirectsIntermediateAppConfig>$(IntermediateOutputPath)$(TargetFileName).config</_GenerateBindingRedirectsIntermediateAppConfig>
4103 </PropertyGroup>
4104 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4105 <IntermediateAssembly Include="$(IntermediateOutputPath)$(TargetName)$(TargetExt)" />
4106 <FinalDocFile Include="@(DocFileItem->'$(OutDir)%(Filename)%(Extension)')" />
4107 <CopyUpToDateMarker Include="$([MSBuild]::NormalizePath('$(MSBuildProjectDirectory)', '$(IntermediateOutputPath)', '$(MSBuildProjectFile).CopyComplete'))" />
4108 </ItemGroup>
4109 <ItemGroup Condition="'$(ProduceReferenceAssembly)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4110 <IntermediateRefAssembly Include="$(IntermediateOutputPath)ref\$(TargetName)$(TargetExt)" Condition="'@(IntermediateRefAssembly)' == ''" />
4111 <CreateDirectory Include="@(IntermediateRefAssembly->'%(RootDir)%(Directory)')" />
4112 <CreateDirectory Include="$(OutDir)ref" />
4113 </ItemGroup>
4114 <ItemGroup Condition="'$(_DebugSymbolsProduced)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4115 <_DebugSymbolsIntermediatePath Include="$(IntermediateOutputPath)$(TargetName).compile.pdb" Condition="'$(OutputType)' == 'winmdobj' and '@(_DebugSymbolsIntermediatePath)' == ''" />
4116 <_DebugSymbolsIntermediatePath Include="$(IntermediateOutputPath)$(TargetName).pdb" Condition="'$(OutputType)' != 'winmdobj' and '@(_DebugSymbolsIntermediatePath)' == ''" />
4117 <_DebugSymbolsOutputPath Include="@(_DebugSymbolsIntermediatePath->'$(OutDir)%(Filename)%(Extension)')" />
4118 </ItemGroup>
4119 <PropertyGroup Condition="'$(_DebugSymbolsProduced)' == 'true' and '$(OutputType)' == 'winmdobj'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4120 <WinMDExpOutputPdb Condition="'$(WinMDExpOutputPdb)' == ''">$(IntermediateOutputPath)$(TargetName).pdb</WinMDExpOutputPdb>
4121 <_WinMDDebugSymbolsOutputPath>$([System.IO.Path]::Combine('$(OutDir)', $([System.IO.Path]::GetFileName('$(WinMDExpOutputPdb)'))))</_WinMDDebugSymbolsOutputPath>
4122 </PropertyGroup>
4123 <PropertyGroup Condition="'$(OutputType)' == 'winmdobj' and '$(DocumentationFile)'!=''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4124 <WinMDOutputDocumentationFile Condition="'$(WinMDOutputDocumentationFile)' == ''">$(IntermediateOutputPath)$(TargetName).xml</WinMDOutputDocumentationFile>
4125 <_WinMDDocFileOutputPath>$([System.IO.Path]::Combine('$(OutDir)', $([System.IO.Path]::GetFileName('$(WinMDOutputDocumentationFile)'))))</_WinMDDocFileOutputPath>
4126 </PropertyGroup>
4127 <PropertyGroup Condition="'$(WinMDExpOutputWindowsMetadataFilename)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4128 <_IntermediateWindowsMetadataPath>$(IntermediateOutputPath)$(WinMDExpOutputWindowsMetadataFilename)</_IntermediateWindowsMetadataPath>
4129 <_WindowsMetadataOutputPath>$(OutDir)$(WinMDExpOutputWindowsMetadataFilename)</_WindowsMetadataOutputPath>
4130 </PropertyGroup>
4131 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4132 <!-- Create an item for entry point of the ClickOnce application (Example: WindowsApplication1.exe) -->
4133 <_DeploymentManifestEntryPoint Include="@(IntermediateAssembly)">
4134 <TargetPath>$(TargetFileName)</TargetPath>
4135 </_DeploymentManifestEntryPoint>
4136 <!-- Create an item for the application icon if one exists in the project (Example: app.ico) -->
4137 <!-- NOTE: The item Include and the Exists function are operating relative to the PROJECT (.csproj, .vbproj etc.) directory in this case -->
4138 <_DeploymentManifestIconFile Include="$(ApplicationIcon)" Condition="Exists('$(ApplicationIcon)')">
4139 <TargetPath>$(ApplicationIcon)</TargetPath>
4140 </_DeploymentManifestIconFile>
4141 <!-- Create an item for the output application manifest (Example: WindowsApplication1.exe.manifeset) -->
4142 <ApplicationManifest Include="$(IntermediateOutputPath)$(_DeploymentTargetApplicationManifestFileName)">
4143 <TargetPath>$(_DeploymentTargetApplicationManifestFileName)</TargetPath>
4144 </ApplicationManifest>
4145 <!-- Create an item for the final application manifest (Example: WindowsApplication1.exe.manifeset)
4146 This item represents the final output application manifest used for project-to-project
4147 references and for copying to the publish output location. -->
4148 <_ApplicationManifestFinal Include="$(OutDir)$(_DeploymentTargetApplicationManifestFileName)">
4149 <TargetPath>$(_DeploymentTargetApplicationManifestFileName)</TargetPath>
4150 </_ApplicationManifestFinal>
4151 <!-- Create an item for the output deploy manifest (Example: WindowsApplication1.application) -->
4152 <DeployManifest Include="$(IntermediateOutputPath)$(TargetDeployManifestFileName)">
4153 <TargetPath>$(TargetDeployManifestFileName)</TargetPath>
4154 </DeployManifest>
4155 <!-- Create an item for the intermediate trust info file -->
4156 <_DeploymentIntermediateTrustInfoFile Include="$(IntermediateOutputPath)$(TargetName).TrustInfo.xml" Condition="'$(TargetZone)'!=''" />
4157 </ItemGroup>
4158 <!--
4159 Determine the <deploymentProvider> (_DeploymentUrl) for the ClickOnce deployment manifest.
4160 Prefer the UpdateUrl, falling back to InstallUrl or PublishUrl if not specified.
4161 If the UpdateUrl is specified then _DeploymentUrl is always set to the UpdateUrl.
4162 Otherwise, only set the _DeploymentUrl if it's an installed app and updates are enabled.
4163 -->
4164 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4165 <_DeploymentUrl Condition="'$(_DeploymentUrl)'==''">$(UpdateUrl)</_DeploymentUrl>
4166 <_DeploymentUrl Condition="'$(_DeploymentUrl)'==''">$(InstallUrl)</_DeploymentUrl>
4167 <_DeploymentUrl Condition="'$(_DeploymentUrl)'==''">$(PublishUrl)</_DeploymentUrl>
4168 <_DeploymentUrl Condition="!('$(UpdateUrl)'=='') and '$(Install)'=='false'" />
4169 <_DeploymentUrl Condition="'$(_DeploymentUrl)'!=''">$(_DeploymentUrl)$(TargetDeployManifestFileName)</_DeploymentUrl>
4170 <!--
4171 Need to explicitly blank out the _DeploymentUrl when it's not used. Otherwise an
4172 inappropriate value may be used. For example a local path from the PublishUrl
4173 is something we never want to see in the manifest because it means you could
4174 only install the app from that machine.
4175 -->
4176 <_DeploymentUrl Condition="'$(UpdateUrl)'=='' and !('$(Install)'=='true' and '$(UpdateEnabled)'=='true')" />
4177 <_DeploymentUrl Condition="'$(ExcludeDeploymentUrl)'=='true'" />
4178 </PropertyGroup>
4179 <!-- Determine the URLs for the bootstrapper. -->
4180 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4181 <_DeploymentApplicationUrl Condition="'$(IsWebBootstrapper)'=='true'">$(InstallUrl)</_DeploymentApplicationUrl>
4182 <_DeploymentApplicationUrl Condition="'$(IsWebBootstrapper)'=='true' and '$(InstallUrl)'==''">$(PublishUrl)</_DeploymentApplicationUrl>
4183 <_DeploymentComponentsUrl Condition="'$(BootstrapperComponentsLocation)'=='Absolute'">$(BootstrapperComponentsUrl)</_DeploymentComponentsUrl>
4184 </PropertyGroup>
4185 <!-- Output location for publish target. -->
4186 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4187 <PublishDir Condition="'$(PublishDir)' != '' and !HasTrailingSlash('$(PublishDir)')">$(PublishDir)\</PublishDir>
4188 <PublishDir Condition="'$(PublishDir)'==''">$(OutputPath)app.publish\</PublishDir>
4189 </PropertyGroup>
4190 <!--
4191 ProcessorArchitecture is the target processor architecture.
4192 -->
4193 <PropertyGroup Condition="'$(ProcessorArchitecture)'==''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4194 <!--
4195 If ProcessorArchitecture is not set, set it to PlatformTarget
4196 Note: if $(PlatformTarget) is also blank resolve assembly reference defaults to msil which is the
4197 desired behavior in this case
4198 -->
4199 <ProcessorArchitecture>$(PlatformTarget)</ProcessorArchitecture>
4200 <!--
4201 If Processor architecture is not set and PlatformTarget is a known target translate the
4202 PlatformTarget into something ResolveAssemblyReference knows about
4203 -->
4204 <ProcessorArchitecture Condition=" '$(PlatformTarget)' == 'AnyCpu' ">msil</ProcessorArchitecture>
4205 <ProcessorArchitecture Condition=" '$(PlatformTarget)' == 'x64' ">amd64</ProcessorArchitecture>
4206 <ProcessorArchitecture Condition=" '$(PlatformTarget)' == 'Itanium' ">ia64</ProcessorArchitecture>
4207 <ProcessorArchitecture Condition=" '$(PlatformTarget)' == 'x86' ">x86</ProcessorArchitecture>
4208 <ProcessorArchitecture Condition=" '$(PlatformTarget)' == 'ARM' ">arm</ProcessorArchitecture>
4209 </PropertyGroup>
4210 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4211 <ConsiderPlatformAsProcessorArchitecture Condition="'$(ConsiderPlatformAsProcessorArchitecture)' == ''">true</ConsiderPlatformAsProcessorArchitecture>
4212 </PropertyGroup>
4213 <PropertyGroup Condition="'$(ProcessorArchitecture)' == '' and '$(ConsiderPlatformAsProcessorArchitecture)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4214 <!-- 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 -->
4215 <ProcessorArchitectureAsPlatform>$(Platform)</ProcessorArchitectureAsPlatform>
4216 <ProcessorArchitecture Condition=" '$(ProcessorArchitectureAsPlatform)' == 'AnyCpu' or '$(ProcessorArchitectureAsPlatform)' == 'Any Cpu'">msil</ProcessorArchitecture>
4217 <ProcessorArchitecture Condition=" '$(ProcessorArchitectureAsPlatform)' == 'x64' or '$(ProcessorArchitectureAsPlatform)' == 'amd64'">amd64</ProcessorArchitecture>
4218 <ProcessorArchitecture Condition=" '$(ProcessorArchitectureAsPlatform)' == 'Itanium' ">ia64</ProcessorArchitecture>
4219 <ProcessorArchitecture Condition=" '$(ProcessorArchitectureAsPlatform)' == 'x86' or '$(ProcessorArchitectureAsPlatform)' == 'win32'">x86</ProcessorArchitecture>
4220 <ProcessorArchitecture Condition=" '$(ProcessorArchitectureAsPlatform)' == 'ARM' ">arm</ProcessorArchitecture>
4221 <!--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-->
4222 <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch Condition="'$(ProcessorArchitecture)'==''">None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
4223 <ProcessorArchitecture Condition="'$(ProcessorArchitecture)'==''">$(PROCESSOR_ARCHITECTURE)</ProcessorArchitecture>
4224 </PropertyGroup>
4225 <!-- Sensible defaults for the most-commonly-desired MSBuildRuntime and MSBuildArchitecture values. The Core and Mono runtimes do not currently support specifying task architecture or runtime.
4226 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. -->
4227 <PropertyGroup Condition="'$(DisableOutOfProcTaskHost)' == '' and '$(MSBuildRuntimeType)' == 'Full'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4228 <TargetFrameworkAsMSBuildRuntime Condition="'$(TargetFrameworkVersion)' == 'v2.0' or '$(TargetFrameworkVersion)' == 'v3.0' or '$(TargetFrameworkVersion)' == 'v3.5'">CLR2</TargetFrameworkAsMSBuildRuntime>
4229 <TargetFrameworkAsMSBuildRuntime Condition="'$(TargetFrameworkVersion)' == 'v4.0' or '$(TargetFrameworkVersion)' == 'v4.5'">CLR4</TargetFrameworkAsMSBuildRuntime>
4230 <TargetFrameworkAsMSBuildRuntime Condition="'$(TargetFrameworkAsMSBuildRuntime)' == ''">CurrentRuntime</TargetFrameworkAsMSBuildRuntime>
4231 <PlatformTargetAsMSBuildArchitectureExplicitlySet Condition="'$(PlatformTargetAsMSBuildArchitecture)' != ''">true</PlatformTargetAsMSBuildArchitectureExplicitlySet>
4232 <PlatformTargetAsMSBuildArchitectureExplicitlySet Condition="'$(PlatformTargetAsMSBuildArchitecture)' == ''">false</PlatformTargetAsMSBuildArchitectureExplicitlySet>
4233 <PlatformTargetAsMSBuildArchitecture Condition="'$(PlatformTarget)' == 'x86' or ('$(PlatformTarget)' == 'x64' and '$(MSBuildExtensionsPath64)' != '')">$(PlatformTarget)</PlatformTargetAsMSBuildArchitecture>
4234 <PlatformTargetAsMSBuildArchitecture Condition="'$(PlatformTarget)' == 'arm'">x86</PlatformTargetAsMSBuildArchitecture>
4235 <PlatformTargetAsMSBuildArchitecture Condition="('$(PlatformTarget)' == 'ia64' and '$(MSBuildExtensionsPath64)' != '')">x64</PlatformTargetAsMSBuildArchitecture>
4236 <PlatformTargetAsMSBuildArchitecture Condition="'$(PlatformTargetAsMSBuildArchitecture)' == ''">CurrentArchitecture</PlatformTargetAsMSBuildArchitecture>
4237 </PropertyGroup>
4238 <!-- Flavor is the project flavor. For example, Client, Smart Devices, SQL Server, etc. -->
4239 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4240 <ProjectFlavor Condition="'$(ProjectFlavor)'==''">Client</ProjectFlavor>
4241 </PropertyGroup>
4242 <!--
4243 The default for compilers is to not delay-sign. If $(DelaySign) is false, let the compiler
4244 use its default rather than forcing a no-delay-sign flag to be passed in. This is so that
4245 attributes in the source code can override this decision.
4246 -->
4247 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4248 <DelaySign Condition="'$(SignAssembly)' != 'true'">false</DelaySign>
4249 <DelaySign Condition="'$(DelaySign)'!='true'" />
4250 </PropertyGroup>
4251 <!-- These properties control web reference proxy generation. -->
4252 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4253 <WebReference_EnableProperties Condition=" '$(WebReference_EnableProperties)' == '' ">true</WebReference_EnableProperties>
4254 <WebReference_EnableSQLTypes Condition=" '$(WebReference_EnableSQLTypes)' == '' ">true</WebReference_EnableSQLTypes>
4255 <WebReference_EnableLegacyEventingModel Condition=" '$(WebReference_EnableLegacyEventingModel)' == '' ">false</WebReference_EnableLegacyEventingModel>
4256 </PropertyGroup>
4257 <!--
4258 These parameters control where to look in the registry for directories to search for
4259 assemblies in the assembly resolution tasks.
4260 -->
4261 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4262 <AssemblyFoldersSuffix Condition=" '$(AssemblyFoldersSuffix)' == '' ">AssemblyFoldersEx</AssemblyFoldersSuffix>
4263 <FrameworkRegistryBase Condition=" '$(FrameworkRegistryBase)' == '' ">Software\Microsoft\$(TargetFrameworkIdentifier)</FrameworkRegistryBase>
4264 <TargetPlatformRegistryBase Condition="'$(TargetPlatformRegistryBase)' == ''">Software\Microsoft\Microsoft SDKs\$(TargetPlatformIdentifier)</TargetPlatformRegistryBase>
4265 <AssemblyFoldersConfigFile Condition="'$(AssemblyFoldersConfigFile)' == ''">$(MSBuildToolsPath32)\AssemblyFolders.config</AssemblyFoldersConfigFile>
4266 <AssemblyFoldersConfigFileSearchPath Condition="Exists('$(AssemblyFoldersConfigFile)')">{AssemblyFoldersFromConfig:$(AssemblyFoldersConfigFile),$(TargetFrameworkVersion)};</AssemblyFoldersConfigFileSearchPath>
4267 <!--
4268 The SearchPaths property is set to find assemblies in the following order:
4269
4270 (1) Files from current project - indicated by {CandidateAssemblyFiles}
4271 (2) $(ReferencePath) - the reference path property, which comes from the .USER file.
4272 (3) The hintpath from the referenced item itself, indicated by {HintPathFromItem}.
4273 (4) The directory of MSBuild's "target" runtime from GetFrameworkPath.
4274 The "target" runtime folder is the folder of the runtime that MSBuild is a part of.
4275 (5) Registered assembly folders, indicated by {Registry:*,*,*}
4276 (6) Assembly folders from AssemblyFolders.config file (provided by Visual Studio Dev15+).
4277 (7) Legacy registered assembly folders, indicated by {AssemblyFolders}
4278 (8) Resolve to the GAC.
4279 (9) Treat the reference's Include as if it were a real file name.
4280 (10) Look in the application's output folder (like bin\debug)
4281 -->
4282 <AssemblySearchPaths Condition=" '$(AssemblySearchPaths)' == ''">
4283 {CandidateAssemblyFiles};
4284 $(ReferencePath);
4285 {HintPathFromItem};
4286 {TargetFrameworkDirectory};
4287 $(AssemblyFoldersConfigFileSearchPath)
4288 {Registry:$(FrameworkRegistryBase),$(TargetFrameworkVersion),$(AssemblyFoldersSuffix)$(AssemblyFoldersExConditions)};
4289 {AssemblyFolders};
4290 {GAC};
4291 {RawFileName};
4292 $(OutDir)
4293 </AssemblySearchPaths>
4294 <!--
4295 These are the extensions that assembly reference resolution will consider for resolution.
4296 Add new extensions here if you want to add new file types to consider (for example, .metadata_dll).
4297 Put the most likely extensions first for reference resolution speed.
4298 -->
4299 <AllowedReferenceAssemblyFileExtensions Condition=" '$(AllowedReferenceAssemblyFileExtensions)' == '' ">
4300 .winmd;
4301 .dll;
4302 .exe
4303 </AllowedReferenceAssemblyFileExtensions>
4304 <!--
4305 These are the extensions that reference resolution will consider when looking for files related
4306 to resolved references. Add new extensions here if you want to add new file types to consider.
4307 -->
4308 <AllowedReferenceRelatedFileExtensions Condition=" '$(AllowedReferenceRelatedFileExtensions)' == '' ">
4309 .pdb;
4310 .xml;
4311 .pri;
4312 .dll.config;
4313 .exe.config
4314 </AllowedReferenceRelatedFileExtensions>
4315 <!--
4316 These names are used when determining which TargetFramework subset to use. If the any of the FullReferenceAssemblyNames
4317 are seen in the list of client subsets, RAR will assume that no client subset is being used. The list is semicolon seperated
4318 For example : Full;Complete;AllThere
4319 -->
4320 <FullReferenceAssemblyNames Condition="'$(FullReferenceAssemblyNames)' == ''">Full</FullReferenceAssemblyNames>
4321 </PropertyGroup>
4322 <!-- ContinueOnError takes 3 values: WarnAndContinue (true), ErrorAndStop (false), and ErrorAndContinue.
4323 Default to ErrorAndStop, since that matches the behaviour in previous versions, and what users
4324 typically expect -->
4325 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4326 <ContinueOnError Condition="'$(ContinueOnError)' == ''">false</ContinueOnError>
4327 </PropertyGroup>
4328 <!-- Users familiar with how some other repos work try to use NoWarn with MSBuild in place of MSBuildWarningsAsMessages. -->
4329 <PropertyGroup Condition="$([MSBuild]::AreFeaturesEnabled('16.8'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4330 <MSBuildWarningsAsMessages Condition="'$(MSBuildWarningsAsMessages)'==''">$(NoWarn)</MSBuildWarningsAsMessages>
4331 <MSBuildWarningsAsErrors Condition="'$(MSBuildWarningsAsErrors)'==''">$(WarningsAsErrors)</MSBuildWarningsAsErrors>
4332 </PropertyGroup>
4333 <!-- Common Project System support -->
4334 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4335 <CommonXamlResourcesDirectory Condition=" '$(CommonXamlResourcesDirectory)' == '' ">$(MSBuildThisFileDirectory)$(LangName)\</CommonXamlResourcesDirectory>
4336 </PropertyGroup>
4337 <!-- We need to fallback to en-US in case the xaml rules are not localized (possibly happen on community languages). -->
4338 <PropertyGroup Condition="!Exists('$(CommonXamlResourcesDirectory)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4339 <CommonXamlResourcesDirectory>$(MSBuildThisFileDirectory)en-US\</CommonXamlResourcesDirectory>
4340 </PropertyGroup>
4341 <ItemGroup Condition=" '$(DefineCommonItemSchemas)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4342 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)ProjectItemsSchema.xaml" />
4343 <PropertyPageSchema Include="&#xD;&#xA; $(CommonXamlResourcesDirectory)General.xaml;&#xD;&#xA; $(CommonXamlResourcesDirectory)Debugger_General.xaml">
4344 <Context>Project</Context>
4345 </PropertyPageSchema>
4346 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)General.BrowseObject.xaml">
4347 <Context>BrowseObject</Context>
4348 </PropertyPageSchema>
4349 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)General_File.xaml">
4350 <Context>File</Context>
4351 </PropertyPageSchema>
4352 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)SCC.xaml">
4353 <Context>Invisible</Context>
4354 </PropertyPageSchema>
4355 <PropertyPageSchema Include="&#xD;&#xA; $(CommonXamlResourcesDirectory)Folder.xaml;&#xD;&#xA; $(CommonXamlResourcesDirectory)None.xaml;&#xD;&#xA; $(CommonXamlResourcesDirectory)Content.xaml;&#xD;&#xA; $(CommonXamlResourcesDirectory)EmbeddedResource.xaml;&#xD;&#xA; ">
4356 <Context>File;BrowseObject</Context>
4357 </PropertyPageSchema>
4358 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)SpecialFolder.xaml;">
4359 <Context>File;ProjectSubscriptionService</Context>
4360 </PropertyPageSchema>
4361 </ItemGroup>
4362 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4363 <DefineCommonReferenceSchemas Condition=" '$(DefineCommonReferenceSchemas)' == '' ">$(DefineCommonItemSchemas)</DefineCommonReferenceSchemas>
4364 </PropertyGroup>
4365 <ItemGroup Condition=" '$(DefineCommonReferenceSchemas)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4366 <!-- Assembly references -->
4367 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)assemblyreference.xaml">
4368 <Context>;BrowseObject</Context>
4369 </PropertyPageSchema>
4370 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)ResolvedAssemblyReference.xaml">
4371 <Context>ProjectSubscriptionService;BrowseObject</Context>
4372 </PropertyPageSchema>
4373 <!-- COM references -->
4374 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)COMReference.xaml">
4375 <Context>;BrowseObject</Context>
4376 </PropertyPageSchema>
4377 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)ResolvedCOMReference.xaml">
4378 <Context>ProjectSubscriptionService;BrowseObject</Context>
4379 </PropertyPageSchema>
4380 <!-- Project references -->
4381 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)ProjectReference.xaml">
4382 <Context>;BrowseObject</Context>
4383 </PropertyPageSchema>
4384 <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)ResolvedProjectReference.xaml">
4385 <Context>ProjectSubscriptionService;BrowseObject</Context>
4386 </PropertyPageSchema>
4387 </ItemGroup>
4388 <ItemGroup Condition=" '$(DefineCommonCapabilities)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4389 <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; " />
4390 <ProjectCapability Condition=" '$(TargetPlatformIdentifier)' == 'Windows' and '$(TargetPlatformVersion)' &lt; 8.0 " Include="BuildWindowsDesktopTarget" />
4391 </ItemGroup>
4392 <ItemDefinitionGroup Condition=" '$(DefineExplicitDefaults)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4393 <None>
4394 <CopyToOutputDirectory>Never</CopyToOutputDirectory>
4395 </None>
4396 <Content>
4397 <CopyToOutputDirectory>Never</CopyToOutputDirectory>
4398 </Content>
4399 <Compile>
4400 <CopyToOutputDirectory>Never</CopyToOutputDirectory>
4401 </Compile>
4402 <EmbeddedResource>
4403 <CopyToOutputDirectory>Never</CopyToOutputDirectory>
4404 </EmbeddedResource>
4405 </ItemDefinitionGroup>
4406 <!--
4407 Target that allows targets consuming source control confirmation to establish a dependency on targets producing this information.
4408
4409 Any target that reads SourceRevisionId, PrivateRepositoryUrl, SourceRoot, and other source control properties and items
4410 should depend on this target and be conditioned on '$(SourceControlInformationFeatureSupported)' == 'true'.
4411
4412 SourceRevisionId property uniquely identifies the source control revision of the repository the project belongs to.
4413 For Git repositories this id is a commit hash, for TFVC repositories it's the changeset number, etc.
4414
4415 PrivateRepositoryUrl property stores the URL of the repository supplied by the CI server or retrieved from source control manager.
4416 Targets consuming this property shall not publish its value implicitly as it might inadvertently reveal an internal URL.
4417 Instead, they shall only do so if the project sets PublishRepositoryUrl property to true. For example, the NuGet Pack target
4418 may include the repository URL in the nuspec file generated for NuGet package produced by the project if PublishRepositoryUrl is true.
4419
4420 SourceRoot item group lists all source roots that the project source files reside under and their mapping to source control server URLs,
4421 if available. This includes both source files under source control as well as source files in source packages. SourceRoot items are
4422 used by compilers to determine path map in deterministic build and by SourceLink provider, which maps local paths to URLs of source files
4423 stored on the source control server.
4424
4425 Source control information provider that sets these properties and items shall execute before this target (by including
4426 InitializeSourceControlInformation in its BeforeTargets) and set source control properties and items that haven't been initialized yet.
4427 -->
4428 <Target Name="InitializeSourceControlInformation" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4429 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4430 <SourceControlInformationFeatureSupported>true</SourceControlInformationFeatureSupported>
4431 </PropertyGroup>
4432 <!--
4433 ***********************************************************************************************
4434 ***********************************************************************************************
4435 Build Section
4436 ***********************************************************************************************
4437 ***********************************************************************************************
4438 -->
4439 <Target Name="_AddOutputPathToGlobalPropertiesToRemove" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4440 <PropertyGroup>
4441 <_GlobalPropertiesToRemoveFromProjectReferences Condition="'$(PassOutputPathToReferencedProjects)'=='false'">$(_GlobalPropertiesToRemoveFromProjectReferences);OutputPath</_GlobalPropertiesToRemoveFromProjectReferences>
4442 </PropertyGroup>
4443 </Target>
4444 <!--
4445 ============================================================
4446 _CheckForInvalidConfigurationAndPlatform
4447
4448 This target checks for errors in statically defined properties. By setting BeforeTargets, we try
4449 to ensure that the target runs before any build related targets.
4450 If your target requires this check and is running as a BeforeTargets of one of the first targets
4451 of $(BuildDependsOn), $(RebuildDependsOn), or $(CleanDependsOn) you will need to set your DependsOn
4452 to this target.
4453 ============================================================
4454 -->
4455 <Target Name="_CheckForInvalidConfigurationAndPlatform" BeforeTargets="$(BuildDependsOn);Build;$(RebuildDependsOn);Rebuild;$(CleanDependsOn);Clean" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4456 <PropertyGroup>
4457 <_InvalidConfigurationMessageText>The BaseOutputPath/OutputPath property is not set for project '$(MSBuildProjectFile)'. Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='$(_OriginalConfiguration)' Platform='$(_OriginalPlatform)'.</_InvalidConfigurationMessageText>
4458 <_InvalidConfigurationMessageText Condition="'$(BuildingInsideVisualStudio)' == 'true'">$(_InvalidConfigurationMessageText) This error may also appear if some other project is trying to follow a project-to-project reference to this project, this project has been unloaded or is not included in the solution, and the referencing project does not build using the same or an equivalent Configuration or Platform.</_InvalidConfigurationMessageText>
4459 <_InvalidConfigurationMessageText Condition="'$(BuildingInsideVisualStudio)' != 'true'">$(_InvalidConfigurationMessageText) You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project.</_InvalidConfigurationMessageText>
4460 </PropertyGroup>
4461 <Error Condition=" '$(_InvalidConfigurationError)' == 'true' " Text="$(_InvalidConfigurationMessageText)" />
4462 <Warning Condition=" '$(_InvalidConfigurationWarning)' == 'true' " Text="$(_InvalidConfigurationMessageText)" />
4463 <Message Condition="'$(DesignTimeBuild)' != 'true'" Text="Configuration=$(Configuration)" Importance="Low" />
4464 <Message Condition="'$(DesignTimeBuild)' != 'true'" Text="Platform=$(Platform)" Importance="Low" />
4465 <!-- Although we try to ensure a trailing slash, it's possible to circumvent this if the property is set on the command line -->
4466 <Error Condition="'$(OutDir)' != '' and !HasTrailingSlash('$(OutDir)')" Text="The OutDir property must end with a trailing slash." />
4467 <Error Condition="'$(IntermediateOutputPath)' != '' and !HasTrailingSlash('$(IntermediateOutputPath)')" Text="The IntermediateOutputPath must end with a trailing slash." />
4468 <Error Condition="'$(BaseIntermediateOutputPath)' != '' and !HasTrailingSlash('$(BaseIntermediateOutputPath)')" Text="The BaseIntermediateOutputPath must end with a trailing slash." />
4469 <!-- Also update the value of PlatformTargetAsMSBuildArchitecture per the value of Prefer32Bit. We are doing
4470 this here because Prefer32Bit may be set anywhere in the targets, so we can't depend on it having the
4471 correct value when we're trying to figure out PlatformTargetAsMSBuildArchitecture -->
4472 <PropertyGroup Condition="'$(Prefer32Bit)' == 'true' and ('$(PlatformTarget)' == 'AnyCPU' or '$(PlatformTarget)' == '') and '$(PlatformTargetAsMSBuildArchitectureExplicitlySet)' != 'true'">
4473 <PlatformTargetAsMSBuildArchitecture>x86</PlatformTargetAsMSBuildArchitecture>
4474 </PropertyGroup>
4475 <!--
4476 Log an error if the user set MSBuildProjectExtensionsPath in the body of a project. In an SDK style project
4477 if you set a value in the body, the value is not used by the top implicit import but is used by the bottom.
4478 This can lead to confusing behavior and builds can fail for obscure reasons.
4479 -->
4480 <Error Condition=" '$(_InitialMSBuildProjectExtensionsPath)' != '' And '$(MSBuildProjectExtensionsPath)' != '$(_InitialMSBuildProjectExtensionsPath)' " Code="MSB3540" Text="The value of the property &quot;MSBuildProjectExtensionsPath&quot; was modified after it was used by MSBuild which can lead to unexpected build results. To set this property, you must do so before Microsoft.Common.props is imported, for example by using Directory.Build.props. For more information, please visit https://go.microsoft.com/fwlink/?linkid=869650" />
4481 <!--
4482 Log a warning if:
4483 1. $(EnableBaseIntermediateOutputPathMismatchWarning) is 'true'
4484 2. $(BaseIntermediateOutputPath) was set in the body of a project after its default value was set in Microsoft.Common.props
4485 3. $(BaseIntermediateOutputPath) is not the same as $(MSBuildProjectExtensionsPath)
4486
4487 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.
4488 MSBuild does not know if $(BaseIntermediateOutputPath) changing would cause problems so tools like NuGet must set $(EnableBaseIntermediateOutputPathMismatchWarning)
4489 to 'true'.
4490 -->
4491 <Warning Condition=" '$(EnableBaseIntermediateOutputPathMismatchWarning)' == 'true' And '$(_InitialBaseIntermediateOutputPath)' != '$(BaseIntermediateOutputPath)' And '$(BaseIntermediateOutputPath)' != '$(MSBuildProjectExtensionsPath)' " Code="MSB3539" Text="The value of the property &quot;BaseIntermediateOutputPath&quot; was modified after it was used by MSBuild which can lead to unexpected build results. Tools such as NuGet will write outputs to the path specified by the &quot;MSBuildProjectExtensionsPath&quot; instead. To set this property, you must do so before Microsoft.Common.props is imported, for example by using Directory.Build.props. For more information, please visit https://go.microsoft.com/fwlink/?linkid=869650" />
4492 </Target>
4493 <!--
4494 ============================================================
4495 Build
4496
4497 The main build entry point.
4498 ============================================================
4499 -->
4500 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4501 <BuildDependsOn>
4502 BeforeBuild;
4503 CoreBuild;
4504 AfterBuild
4505 </BuildDependsOn>
4506 </PropertyGroup>
4507 <Target Name="Build" Condition=" '$(_InvalidConfigurationWarning)' != 'true' " DependsOnTargets="$(BuildDependsOn)" Returns="@(TargetPathWithTargetPlatformMoniker)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4508 <!--
4509 ============================================================
4510 BeforeBuild
4511
4512 Redefine this target in your project in order to run tasks just before Build
4513 ============================================================
4514 -->
4515 <Target Name="BeforeBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4516 <!--
4517 ============================================================
4518 AfterBuild
4519
4520 Redefine this target in your project in order to run tasks just after Build
4521 ============================================================
4522 -->
4523 <Target Name="AfterBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4524 <!--
4525 ============================================================
4526 CoreBuild
4527
4528 The core build step calls each of the build targets.
4529 ============================================================
4530 -->
4531 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4532 <CoreBuildDependsOn>
4533 BuildOnlySettings;
4534 PrepareForBuild;
4535 PreBuildEvent;
4536 ResolveReferences;
4537 PrepareResources;
4538 ResolveKeySource;
4539 Compile;
4540 ExportWindowsMDFile;
4541 UnmanagedUnregistration;
4542 GenerateSerializationAssemblies;
4543 CreateSatelliteAssemblies;
4544 GenerateManifests;
4545 GetTargetPath;
4546 PrepareForRun;
4547 UnmanagedRegistration;
4548 IncrementalClean;
4549 PostBuildEvent
4550 </CoreBuildDependsOn>
4551 </PropertyGroup>
4552 <Target Name="CoreBuild" DependsOnTargets="$(CoreBuildDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4553 <OnError ExecuteTargets="_TimeStampAfterCompile;PostBuildEvent" Condition="'$(RunPostBuildEvent)'=='Always' or '$(RunPostBuildEvent)'=='OnOutputUpdated'" />
4554 <OnError ExecuteTargets="_CleanRecordFileWrites" />
4555 </Target>
4556 <!--
4557 ============================================================
4558 Rebuild
4559
4560 Delete all intermediate and final build outputs, and then build the project from scratch.
4561 ============================================================
4562 -->
4563 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4564 <_ProjectDefaultTargets Condition="'$(MSBuildProjectDefaultTargets)' != ''">$(MSBuildProjectDefaultTargets)</_ProjectDefaultTargets>
4565 <_ProjectDefaultTargets Condition="'$(MSBuildProjectDefaultTargets)' == ''">Build</_ProjectDefaultTargets>
4566 <RebuildDependsOn>
4567 BeforeRebuild;
4568 Clean;
4569 $(_ProjectDefaultTargets);
4570 AfterRebuild;
4571 </RebuildDependsOn>
4572 <RebuildDependsOn Condition=" '$(MSBuildProjectDefaultTargets)' == 'Rebuild' ">
4573 BeforeRebuild;
4574 Clean;
4575 Build;
4576 AfterRebuild;
4577 </RebuildDependsOn>
4578 </PropertyGroup>
4579 <Target Name="Rebuild" Condition=" '$(_InvalidConfigurationWarning)' != 'true' " DependsOnTargets="$(RebuildDependsOn)" Returns="$(TargetPath)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4580 <!--
4581 ============================================================
4582 BeforeRebuild
4583
4584 Redefine this target in your project in order to run tasks just before Rebuild
4585 ============================================================
4586 -->
4587 <Target Name="BeforeRebuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4588 <!--
4589 ============================================================
4590 AfterRebuild
4591
4592 Redefine this target in your project in order to run tasks just after Rebuild
4593 ============================================================
4594 -->
4595 <Target Name="AfterRebuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4596 <!--
4597 ============================================================
4598 BuildGenerateSources
4599
4600 Redefine this target in your project in order to run tasks for BuildGenerateSources
4601
4602 Set BuildPassReferences to enable P2P builds
4603 ============================================================
4604 -->
4605 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4606 <BuildGenerateSourcesAction>Build</BuildGenerateSourcesAction>
4607 </PropertyGroup>
4608 <Target Name="BuildGenerateSources" DependsOnTargets="BuildGenerateSourcesTraverse;$(BuildGenerateSourcesAction)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4609 <Target Name="BuildGenerateSourcesTraverse" DependsOnTargets="PrepareProjectReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4610 <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)" />
4611 </Target>
4612 <!--
4613 ============================================================
4614 BuildCompile
4615
4616 Redefine this target in your project in order to run tasks for BuildCompile
4617 ============================================================
4618 -->
4619 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4620 <BuildCompileAction>Build</BuildCompileAction>
4621 </PropertyGroup>
4622 <Target Name="BuildCompile" DependsOnTargets="BuildCompileTraverse;$(BuildCompileAction)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4623 <Target Name="BuildCompileTraverse" DependsOnTargets="PrepareProjectReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4624 <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)" />
4625 </Target>
4626 <!--
4627 ============================================================
4628 BuildLink
4629
4630 Redefine this target in your project in order to run tasks for BuildLink
4631 ============================================================
4632 -->
4633 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4634 <BuildLinkAction>Build</BuildLinkAction>
4635 </PropertyGroup>
4636 <Target Name="BuildLink" DependsOnTargets="BuildLinkTraverse;$(BuildLinkAction)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4637 <Target Name="BuildLinkTraverse" DependsOnTargets="PrepareProjectReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4638 <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)" />
4639 </Target>
4640 <!--
4641 ============================================================
4642 CopyRunEnvironmentFiles
4643
4644 Copy environment files necessary to run the user's app to the final directory.
4645 This is a public target that can be invoked by an IDE.
4646
4647 This may be used by an IDE to make the app.config file available for running
4648 the target app.
4649 ============================================================
4650 -->
4651 <Target Name="CopyRunEnvironmentFiles" DependsOnTargets="PrepareForBuild;SetWin32ManifestProperties;_CopyAppConfigFile;_CleanRecordFileWrites" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4652 <!--
4653 ============================================================
4654 Run
4655
4656 Run the final build output if it is a .EXE
4657 ============================================================
4658 -->
4659 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4660 <RunDependsOn />
4661 </PropertyGroup>
4662 <Target Name="Run" DependsOnTargets="$(RunDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4663 <Error Text="Cannot run '$(TargetPath)' because project output type is not '.exe'" Condition="'$(TargetExt)'!='.exe'" />
4664 <Exec Command="$(TargetPath) $(StartArguments)" WorkingDirectory="$(OutDir)" Condition=" '$(StartWorkingDirectory)' == '' " />
4665 <Exec Command="$(TargetPath) $(StartArguments)" WorkingDirectory="$(StartWorkingDirectory)" Condition=" '$(StartWorkingDirectory)' != '' " />
4666 </Target>
4667 <!--
4668 ***********************************************************************************************
4669 ***********************************************************************************************
4670 BuildOnlySettings Section
4671 ***********************************************************************************************
4672 ***********************************************************************************************
4673 -->
4674 <!--
4675 ============================================================
4676 BuildOnlySettings
4677
4678 This target is called only when doing a real build. It is specifically not called during project load.
4679 ============================================================
4680 -->
4681 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4682 <BuildingProject>false</BuildingProject>
4683 </PropertyGroup>
4684 <Target Name="BuildOnlySettings" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4685 <PropertyGroup>
4686 <BuildingProject>true</BuildingProject>
4687 </PropertyGroup>
4688 </Target>
4689 <!--
4690 ***********************************************************************************************
4691 ***********************************************************************************************
4692 PrepareForBuild Section
4693 ***********************************************************************************************
4694 ***********************************************************************************************
4695 -->
4696 <!--
4697 ============================================================
4698 PrepareForBuild
4699
4700 Prepare the prerequisites for building.
4701 ============================================================
4702 -->
4703 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4704 <PrepareForBuildDependsOn>$(PrepareForBuildDependsOn);GetFrameworkPaths;GetReferenceAssemblyPaths;AssignLinkMetadata</PrepareForBuildDependsOn>
4705 </PropertyGroup>
4706 <Target Name="PrepareForBuild" DependsOnTargets="$(PrepareForBuildDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4707 <ItemGroup>
4708 <AppConfigWithTargetPath Include="$(AppConfig)" Condition="'$(AppConfig)'!=''">
4709 <TargetPath>$(TargetFileName).config</TargetPath>
4710 </AppConfigWithTargetPath>
4711 </ItemGroup>
4712 <FindAppConfigFile PrimaryList="@(None)" SecondaryList="@(Content)" TargetPath="$(TargetFileName).config" Condition="'$(AppConfig)'==''">
4713 <Output TaskParameter="AppConfigFile" ItemName="AppConfigWithTargetPath" />
4714 <Output TaskParameter="AppConfigFile" PropertyName="AppConfig" />
4715 </FindAppConfigFile>
4716 <!-- Create the directories for intermediate and final build products, and any other arbitrary directories. -->
4717 <!-- We are going to continue on error here so that if the tree is read only we will still get intellisense -->
4718 <MakeDir Directories="$(OutDir);$(IntermediateOutputPath);@(DocFileItem->'%(RelativeDir)');@(CreateDirectory)" ContinueOnError="True" />
4719 </Target>
4720 <!--
4721 ============================================================
4722 GetFrameworkPaths
4723
4724 Get the paths for the .NET Framework installation directory
4725
4726 These paths are not used directly by this .targets file but are available for pre and
4727 post build steps.
4728 ============================================================
4729 -->
4730 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4731 <Framework40Dir>@(_TargetFramework40DirectoryItem)</Framework40Dir>
4732 <Framework35Dir>@(_TargetFramework35DirectoryItem)</Framework35Dir>
4733 <Framework30Dir>@(_TargetFramework30DirectoryItem)</Framework30Dir>
4734 <Framework20Dir>@(_TargetFramework20DirectoryItem)</Framework20Dir>
4735 <!-- 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.-->
4736 <FrameworkDir Condition="'$(FrameworkDir)' == '' and ('$(TargetFrameworkVersion)' == 'v2.0' or '$(TargetFrameworkVersion)' == 'v3.5' or '$(TargetFrameworkVersion)' == 'v4.0')">@(_TargetFramework20DirectoryItem)</FrameworkDir>
4737 <FrameworkDir Condition="'$(FrameworkDir)' == ''">@(_TargetFramework40DirectoryItem)</FrameworkDir>
4738 <TargetedFrameworkDir Condition="'$(TargetedFrameworkDir)' == ''">@(_TargetedFrameworkDirectoryItem)</TargetedFrameworkDir>
4739 <FrameworkSDKDir Condition="'$(FrameworkSDKDir)' == ''">@(_TargetFrameworkSDKDirectoryItem)</FrameworkSDKDir>
4740 <GetFrameworkPathsDependsOn />
4741 </PropertyGroup>
4742 <!-- This is a generally overriden target, for example it is overriden in the Microsoft.NETFramework.targets file -->
4743 <Target Name="GetFrameworkPaths" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4744 <!--
4745 ============================================================
4746 GetReferenceAssemblyPaths
4747
4748 Get the paths for the Reference Assemblies for the known versions of the
4749 .NET Framework.
4750
4751 These paths are used by the build process in order to resolve the correct
4752 assemblies from the various directories, and to support multi-targeting
4753 ============================================================
4754 -->
4755 <Target Name="GetReferenceAssemblyPaths" DependsOnTargets="$(GetReferenceAssemblyPathsDependsOn);GetFrameworkPaths" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4756 <!-- 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 -->
4757 <PropertyGroup>
4758 <TargetFrameworkDirectory Condition="'@(_CombinedTargetFrameworkDirectoriesItem)' == '$(TargetFrameworkDirectory)'" />
4759 </PropertyGroup>
4760 <!-- By default if there is no root path set then the task will assume it is Program Files\Reference Assemblies\Microsoft\Framework-->
4761 <GetReferenceAssemblyPaths Condition="'$(TargetFrameworkMoniker)' != '' and ('$(_TargetFrameworkDirectories)' == '' or '$(_FullFrameworkReferenceAssemblyPaths)' == '')" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" RootPath="$(TargetFrameworkRootPath)" TargetFrameworkFallbackSearchPaths="$(TargetFrameworkFallbackSearchPaths)" BypassFrameworkInstallChecks="$(BypassFrameworkInstallChecks)">
4762 <Output TaskParameter="ReferenceAssemblyPaths" PropertyName="_TargetFrameworkDirectories" />
4763 <Output TaskParameter="FullFrameworkReferenceAssemblyPaths" PropertyName="_FullFrameworkReferenceAssemblyPaths" />
4764 <Output TaskParameter="TargetFrameworkMonikerDisplayName" PropertyName="TargetFrameworkMonikerDisplayName" Condition="'$(TargetFrameworkMonikerDisplayName)' == ''" />
4765 </GetReferenceAssemblyPaths>
4766 <PropertyGroup>
4767 <TargetFrameworkDirectory>$(_TargetFrameworkDirectories);$(TargetFrameworkDirectory);$(WinFXAssemblyDirectory)</TargetFrameworkDirectory>
4768 <TargetFrameworkDirectory Condition="'$(TargetPlatformWinMDLocation)' != '' and Exists('$(TargetPlatformWinMDLocation)')">$(TargetFrameworkDirectory);$(TargetPlatformWinMDLocation)</TargetFrameworkDirectory>
4769 </PropertyGroup>
4770 <!-- Remove the AssemblyFolders if no target framework directories could be found. This is to prevent us from
4771 resolving from the assemblyfolders global location if we are not acutally targeting a framework-->
4772 <PropertyGroup>
4773 <RemoveAssemblyFoldersIfNoTargetFramework Condition="'$(RemoveAssemblyFoldersIfNoTargetFramework)' == ''">true</RemoveAssemblyFoldersIfNoTargetFramework>
4774 </PropertyGroup>
4775 <PropertyGroup Condition="'$(_TargetFrameworkDirectories)' == '' and '$(AssemblySearchPaths)' != '' and '$(RemoveAssemblyFoldersIfNoTargetFramework)' == 'true'">
4776 <AssemblySearchPaths>$(AssemblySearchPaths.Replace('{AssemblyFolders}', '').Split(';'))</AssemblySearchPaths>
4777 </PropertyGroup>
4778 <ItemGroup Condition="'$(ImplicitlyExpandDesignTimeFacades)' == 'true'">
4779 <DesignTimeFacadeDirectoryRoots Include="$(TargetFrameworkDirectory)" />
4780 <DesignTimeFacadeDirectories Include="%(DesignTimeFacadeDirectoryRoots.Identity)Facades\" Condition="Exists('%(DesignTimeFacadeDirectoryRoots.Identity)Facades\')" />
4781 </ItemGroup>
4782 <PropertyGroup Condition="'@(DesignTimeFacadeDirectories)' != ''">
4783 <TargetFrameworkDirectory>$(TargetFrameworkDirectory);@(DesignTimeFacadeDirectories)</TargetFrameworkDirectory>
4784 </PropertyGroup>
4785 <PropertyGroup Condition="'$(_TargetFrameworkDirectories)' == ''">
4786 <TargetFrameworkProfile />
4787 </PropertyGroup>
4788 </Target>
4789 <!-- Returns target framework moniker. E.g. ".NETFramework,Version=v4.0.1" -->
4790 <Target Name="GetTargetFrameworkMoniker" Returns="$(TargetFrameworkMoniker)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4791 <!-- Returns target framework moniker display name. E.g. ".NET Framework 4 Platform Update 1 (KB2478063)" -->
4792 <Target Name="GetTargetFrameworkMonikerDisplayName" DependsOnTargets="GetFrameworkPaths;GetReferenceAssemblyPaths" Returns="$(TargetFrameworkMonikerDisplayName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4793 <!-- Returns semicolon separated list of target framework directories.
4794 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\" -->
4795 <Target Name="GetTargetFrameworkDirectories" DependsOnTargets="GetFrameworkPaths;GetReferenceAssemblyPaths" Returns="$(TargetFrameworkDirectory)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4796 <!--
4797 ============================================================
4798 AssignLinkMetadata
4799
4800 For items of a certain set of whitelisted types, make sure that
4801 if they are defined in a file other than the project file, that
4802 they have "Link" metadata set to an appropriate default.
4803 ============================================================
4804 -->
4805 <Target Name="AssignLinkMetadata" Condition=" '$(SynthesizeLinkMetadata)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4806 <!-- NONE ITEMS -->
4807 <AssignLinkMetadata Items="@(None)" Condition="'@(None)' != '' and '%(None.DefiningProjectFullPath)' != '$(MSBuildProjectFullPath)'">
4808 <Output TaskParameter="OutputItems" ItemName="_Temp" />
4809 </AssignLinkMetadata>
4810 <ItemGroup>
4811 <None Remove="@(_Temp)" />
4812 <None Include="@(_Temp)" />
4813 <_Temp Remove="@(_Temp)" />
4814 </ItemGroup>
4815 <!-- CONTENT ITEMS -->
4816 <AssignLinkMetadata Items="@(Content)" Condition="'@(Content)' != '' and '%(Content.DefiningProjectFullPath)' != '$(MSBuildProjectFullPath)'">
4817 <Output TaskParameter="OutputItems" ItemName="_Temp" />
4818 </AssignLinkMetadata>
4819 <ItemGroup>
4820 <Content Remove="@(_Temp)" />
4821 <Content Include="@(_Temp)" />
4822 <_Temp Remove="@(_Temp)" />
4823 </ItemGroup>
4824 <!-- PAGE ITEMS -->
4825 <AssignLinkMetadata Items="@(Page)" Condition="'@(Page)' != '' and '%(Page.DefiningProjectFullPath)' != '$(MSBuildProjectFullPath)'">
4826 <Output TaskParameter="OutputItems" ItemName="_Temp" />
4827 </AssignLinkMetadata>
4828 <ItemGroup>
4829 <Page Remove="@(_Temp)" />
4830 <Page Include="@(_Temp)" />
4831 <_Temp Remove="@(_Temp)" />
4832 </ItemGroup>
4833 <!-- APPLICATIONDEFINITION ITEMS -->
4834 <AssignLinkMetadata Items="@(ApplicationDefinition)" Condition="'@(ApplicationDefinition)' != '' and '%(ApplicationDefinition.DefiningProjectFullPath)' != '$(MSBuildProjectFullPath)'">
4835 <Output TaskParameter="OutputItems" ItemName="_Temp" />
4836 </AssignLinkMetadata>
4837 <ItemGroup>
4838 <ApplicationDefinition Remove="@(_Temp)" />
4839 <ApplicationDefinition Include="@(_Temp)" />
4840 <_Temp Remove="@(_Temp)" />
4841 </ItemGroup>
4842 <!-- EMBEDDEDRESOURCE ITEMS -->
4843 <AssignLinkMetadata Items="@(EmbeddedResource)" Condition="'@(EmbeddedResource)' != '' and '%(EmbeddedResource.DefiningProjectFullPath)' != '$(MSBuildProjectFullPath)'">
4844 <Output TaskParameter="OutputItems" ItemName="_Temp" />
4845 </AssignLinkMetadata>
4846 <ItemGroup>
4847 <EmbeddedResource Remove="@(_Temp)" />
4848 <EmbeddedResource Include="@(_Temp)" />
4849 <_Temp Remove="@(_Temp)" />
4850 </ItemGroup>
4851 </Target>
4852 <!--
4853 ***********************************************************************************************
4854 ***********************************************************************************************
4855 PreBuildEvent Section
4856 ***********************************************************************************************
4857 ***********************************************************************************************
4858 -->
4859 <!--
4860 ============================================================
4861 PreBuildEvent
4862
4863 Run the pre-build event if there is one.
4864 ============================================================
4865 -->
4866 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4867 <PreBuildEventDependsOn />
4868 </PropertyGroup>
4869 <Target Name="PreBuildEvent" Condition="'$(PreBuildEvent)'!=''" DependsOnTargets="$(PreBuildEventDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4870 <Exec WorkingDirectory="$(OutDir)" Command="$(PreBuildEvent)" />
4871 </Target>
4872 <!--
4873 ***********************************************************************************************
4874 ***********************************************************************************************
4875 UnmanagedUnregistration Section
4876 ***********************************************************************************************
4877 ***********************************************************************************************
4878 -->
4879 <!--
4880 ============================================================
4881 UnmanagedUnregistration
4882
4883 If the main assembly had previously been registered for COM interop, unregister it now.
4884 We will re-register the new version after it has been built.
4885 ============================================================
4886 -->
4887 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4888 <UnmanagedUnregistrationDependsOn />
4889 </PropertyGroup>
4890 <Target Name="UnmanagedUnregistration" Condition="(('$(_AssemblyTimestampBeforeCompile)' != '$(_AssemblyTimestampAfterCompile)' or '$(RegisterForComInterop)' != 'true' or '$(OutputType)' != 'library') or&#xD;&#xA; ('$(_AssemblyTimestampBeforeCompile)' == '')) and&#xD;&#xA; Exists('@(_UnmanagedRegistrationCache)')" DependsOnTargets="$(UnmanagedUnregistrationDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4891 <PropertyGroup>
4892 <UnregisterAssemblyMSBuildArchitecture Condition="'$(UnregisterAssemblyMSBuildArchitecture)' == ''">$(PlatformTargetAsMSBuildArchitecture)</UnregisterAssemblyMSBuildArchitecture>
4893 </PropertyGroup>
4894 <PropertyGroup Condition="'$(TargetFrameworkAsMSBuildRuntime)' != '' and '$(UnregisterAssemblyMSBuildArchitecture)' != ''">
4895 <!-- Falling back to the current runtime if we are targeting CLR2 and the task host doesn't exist will lead to
4896 incorrect behavior in some cases, but it's the same incorrect behavior as Visual Studio 2010, and thus better
4897 than causing build breaks on upgrade to Win8 the way not doing so would. For more details, see the
4898 corresponding comment in GenerateResource. -->
4899 <UnregisterAssemblyMSBuildRuntime Condition="'$(UnregisterAssemblyMSBuildRuntime)' == '' and&#xD;&#xA; $([MSBuild]::DoesTaskHostExist(`$(TargetFrameworkAsMSBuildRuntime)`, `$(UnregisterAssemblyMSBuildArchitecture)`))">$(TargetFrameworkAsMSBuildRuntime)</UnregisterAssemblyMSBuildRuntime>
4900 <!-- If the targeted runtime doesn't exist, fall back to current -->
4901 <UnregisterAssemblyMSBuildRuntime Condition="'$(UnregisterAssemblyMSBuildRuntime)' == ''">CurrentRuntime</UnregisterAssemblyMSBuildRuntime>
4902 </PropertyGroup>
4903 <UnregisterAssembly AssemblyListFile="@(_UnmanagedRegistrationCache)" MSBuildArchitecture="$(UnregisterAssemblyMSBuildArchitecture)" MSBuildRuntime="$(UnregisterAssemblyMSBuildRuntime)" />
4904 </Target>
4905 <!--
4906 ***********************************************************************************************
4907 ***********************************************************************************************
4908 ResolveReferences Section
4909 ***********************************************************************************************
4910 ***********************************************************************************************
4911 -->
4912 <!--
4913 ============================================================
4914 GetTargetFrameworkVersion
4915
4916 This stand-alone target returns the target framework version (i.e. v3.5, v4.0, etc.)
4917 that would be used if we built this project.
4918
4919 ============================================================
4920 -->
4921 <Target Name="GetTargetFrameworkVersion" Returns="$(TargetFrameworkVersion)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4922 <!--
4923 ============================================================
4924 ResolveReferences
4925 ============================================================
4926 -->
4927 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4928 <ResolveReferencesDependsOn>
4929 BeforeResolveReferences;
4930 AssignProjectConfiguration;
4931 ResolveProjectReferences;
4932 FindInvalidProjectReferences;
4933 ResolveNativeReferences;
4934 ResolveAssemblyReferences;
4935 GenerateBindingRedirects;
4936 ResolveComReferences;
4937 AfterResolveReferences
4938 </ResolveReferencesDependsOn>
4939 </PropertyGroup>
4940 <Target Name="ResolveReferences" Returns="@(ReferencePath)" DependsOnTargets="$(ResolveReferencesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4941 <!--
4942 ============================================================
4943 BeforeResolveReferences
4944
4945 Redefine this target in your project in order to run tasks just before ResolveReferences
4946 ============================================================
4947 -->
4948 <Target Name="BeforeResolveReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4949 <!--
4950 ============================================================
4951 AfterResolveReferences
4952
4953 Redefine this target in your project in order to run tasks just after ResolveReferences
4954 ============================================================
4955 -->
4956 <Target Name="AfterResolveReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
4957 <!--
4958 ============================================================
4959 AssignProjectConfiguration
4960
4961 Assigns the appropriate configuration to each project in the list of project references passed in.
4962 Adds to the project references passed in any project references implied by dependencies expressed in the solution file, if any.
4963
4964 [IN]
4965 @(ProjectReference) - the list of all project references
4966
4967 [OUT]
4968 @(ProjectReferenceWithConfiguration) - the list of project references (MSBuild and potentially VSIP projects)
4969 with metadata values FullConfiguration, Configuration, Platform,
4970 SetConfiguration, and SetPlatform
4971 ============================================================
4972 -->
4973 <Target Name="AssignProjectConfiguration" Condition="'$(CurrentSolutionConfigurationContents)' != '' or '@(ProjectReference)'!=''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4974 <PropertyGroup>
4975 <OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration Condition="'$(OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration)' == ''">true</OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration>
4976 <ShouldUnsetParentConfigurationAndPlatform Condition="'$(ShouldUnsetParentConfigurationAndPlatform)' == '' and ('$(BuildingInsideVisualStudio)' == 'true' or '$(BuildingSolutionFile)' == 'true')">true</ShouldUnsetParentConfigurationAndPlatform>
4977 <ShouldUnsetParentConfigurationAndPlatform Condition="'$(ShouldUnsetParentConfigurationAndPlatform)' == ''">false</ShouldUnsetParentConfigurationAndPlatform>
4978 <!-- Web Application projects can "secretly" reference Silverlight projects, which can take project dependencies on that same Web Application. If the project
4979 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
4980 want this to happen, so just turn off synthetic project reference generation for Silverlight projects. -->
4981 <AddSyntheticProjectReferencesForSolutionDependencies Condition="'$(AddSyntheticProjectReferencesForSolutionDependencies)' == '' and '$(TargetFrameworkIdentifier)' == 'Silverlight'">false</AddSyntheticProjectReferencesForSolutionDependencies>
4982 <!-- 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-->
4983 <AddSyntheticProjectReferencesForSolutionDependencies Condition="'$(AddSyntheticProjectReferencesForSolutionDependencies)' == '' and '$(BuildingInsideVisualStudio)' != 'true'">true</AddSyntheticProjectReferencesForSolutionDependencies>
4984 </PropertyGroup>
4985 <!-- Assign a project configuration to each project reference if we're building a solution file. -->
4986 <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)">
4987 <!-- EMITTED FOR COMPATIBILITY REASONS ONLY. CONSUME PROJECTREFERENCEWITHCONFIGURATION INSTEAD -->
4988 <Output TaskParameter="AssignedProjects" ItemName="_ProjectReferenceWithConfiguration" />
4989 <Output TaskParameter="UnassignedProjects" ItemName="_ProjectReferenceWithConfiguration" />
4990 <Output TaskParameter="AssignedProjects" ItemName="ProjectReferenceWithConfiguration" />
4991 <Output TaskParameter="UnassignedProjects" ItemName="ProjectReferenceWithConfiguration" />
4992 </AssignProjectConfiguration>
4993 <ItemGroup>
4994 <_ProjectReferenceWithConfiguration>
4995 <BuildReference Condition="'%(_ProjectReferenceWithConfiguration.BuildReference)' == ''">true</BuildReference>
4996 <ReferenceOutputAssembly Condition="'%(_ProjectReferenceWithConfiguration.ReferenceOutputAssembly)' == ''">true</ReferenceOutputAssembly>
4997 </_ProjectReferenceWithConfiguration>
4998 <ProjectReferenceWithConfiguration>
4999 <BuildReference Condition="'%(ProjectReferenceWithConfiguration.BuildReference)' == ''">true</BuildReference>
5000 <ReferenceOutputAssembly Condition="'%(ProjectReferenceWithConfiguration.ReferenceOutputAssembly)' == ''">true</ReferenceOutputAssembly>
5001 </ProjectReferenceWithConfiguration>
5002 </ItemGroup>
5003 </Target>
5004 <!--
5005 ============================================================
5006 _SplitProjectReferencesByFileExistence
5007
5008 Split referenced projects into two lists: those that exist on
5009 disk and those that don't.
5010 ============================================================
5011 -->
5012 <Target Name="_SplitProjectReferencesByFileExistence" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5013 <!--
5014 Use this task for matching projects with pre-resolved project outputs set by the IDE
5015 if building inside the IDE. The IDE only includes non-MSBuild projects in the output list. We'll
5016 use MSBuild to resolve MSBuild projects.
5017 This task will resolve VSIP (3rd party) project references and create a new item list with only project references
5018 to projects in the MSBuild format.
5019 -->
5020 <ResolveNonMSBuildProjectOutput ProjectReferences="@(ProjectReferenceWithConfiguration)" PreresolvedProjectOutputs="$(VSIDEResolvedNonMSBuildProjectOutputs)" Condition="'$(BuildingInsideVisualStudio)'=='true' and '@(ProjectReferenceWithConfiguration)'!=''">
5021 <Output TaskParameter="ResolvedOutputPaths" ItemName="_ResolvedProjectReferencePaths" />
5022 <Output TaskParameter="UnresolvedProjectReferences" ItemName="_MSBuildProjectReference" />
5023 </ResolveNonMSBuildProjectOutput>
5024 <!--
5025 If building from the command line, simply copy the ProjectReferenceWithConfiguration item list to _MSBuildProjectReference,
5026 since we have to assume all projects are in the MSBuild format. We have no way of building
5027 VSIP (3rd party) projects from the command line.
5028 -->
5029 <ItemGroup>
5030 <_MSBuildProjectReference Include="@(ProjectReferenceWithConfiguration)" Condition="'$(BuildingInsideVisualStudio)'!='true' and '@(ProjectReferenceWithConfiguration)'!=''" />
5031 </ItemGroup>
5032 <!-- Break the project list into two lists: those that exist on disk and those that don't. -->
5033 <ItemGroup>
5034 <_MSBuildProjectReferenceExistent Include="@(_MSBuildProjectReference)" Condition="Exists('%(Identity)')" />
5035 <_MSBuildProjectReferenceNonexistent Include="@(_MSBuildProjectReference)" Condition="!Exists('%(Identity)')" />
5036 </ItemGroup>
5037 </Target>
5038 <!--
5039 ====================================================================================
5040 _GetProjectReferenceTargetFrameworkProperties
5041
5042 Builds the GetTargetFrameworks target of all existent project references to get a list
5043 of all supported TargetFrameworks of the referenced projects. Calls the
5044 GetReferenceNearestTargetFrameworkTask to determine the closest match for each project.
5045 This allows a cross-targeting project to select how it should be configured to build
5046 against the most appropriate target for the referring target framework.
5047
5048 ======================================================================================
5049 -->
5050 <Target Name="_GetProjectReferenceTargetFrameworkProperties" DependsOnTargets="_AddOutputPathToGlobalPropertiesToRemove" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5051 <!--
5052 Select the moniker to send to each project reference if not already set. NugetTargetMoniker (NTM) is preferred by default over
5053 TargetFrameworkMoniker (TFM) because it is required to disambiguate the UWP case where TFM is fixed at .NETCore,Version=v5.0 and
5054 has floating NTM=UAP,Version=vX.Y.Z. However, in other cases (classic PCLs), NTM contains multiple values and that will cause the MSBuild
5055 invocation below to fail by passing invalid properties. Therefore we do not use the NTM if it contains a semicolon.
5056 -->
5057 <PropertyGroup Condition="'$(ReferringTargetFrameworkForProjectReferences)' == ''">
5058 <ReferringTargetFrameworkForProjectReferences Condition="'$(NuGetTargetMoniker)' != '' and !$(NuGetTargetMoniker.Contains(';'))">$(NuGetTargetMoniker)</ReferringTargetFrameworkForProjectReferences>
5059 <ReferringTargetFrameworkForProjectReferences Condition="'$(NuGetTargetMoniker)' == ''">$(TargetFrameworkMoniker)</ReferringTargetFrameworkForProjectReferences>
5060 </PropertyGroup>
5061 <!--
5062 Honor SkipGetTargetFrameworkProperties=true metadata on project references
5063 to mean that the project reference is known not to target multiple frameworks
5064 and the mechanism here for selecting the best one can be skipped as an optimization.
5065
5066 We give this treatment to .vcxproj by default since no .vcxproj can target more
5067 than one framework currently. The user must specify exactly one TargetFramework.
5068
5069 vcxproj files compile down to OS-specific binaries, either native or .NET. In the
5070 _GetProjectReferenceTargetFrameworkProperties target of Microsoft.Common.CurrentVersion.targets,
5071 SkipTargetFrameworkProperties is set to true for vcxproj to account for that.
5072
5073 This means we do not fill the Item _ProjectReferenceTargetFrameworkPossibilities or, by extension,
5074 the AnnotatedProjects Item.
5075
5076 For single-targeted projects, we normally decorate the AnnotatedProjects Item with
5077 UndefineProperties metadata specifying that TargetFramework should be undefined. Because it
5078 isn't defined properly at that stage, however, this does not happen, and TargetFramework is
5079 defined at this point in addition to having been defined globally. Currently, this is always
5080 true for vcxproj.
5081
5082 MSBuild permits building the same project twice as long as it has different sets of global properties.
5083 Because the TargetFramework global property is not being removed as expected by the multitargeting
5084 part of MSBuild, the engine recognizes that there are differences and builds it twice. This can
5085 become more noticeable if the projects build in parallel, since they could try to access the same
5086 resources and conflict, failing the build. Note, however, that building the same project twice in
5087 this way is always wrong even if it seems minor because they do not conflict, and the second build is
5088 relatively fast.
5089 -->
5090 <ItemGroup>
5091 <_MSBuildProjectReferenceExistent Condition="'%(_MSBuildProjectReferenceExistent.SkipGetTargetFrameworkProperties)' == '' and ('%(Extension)' == '.vcxproj' or '%(Extension)' == '.nativeproj')">
5092 <SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
5093 <UndefineProperties>%(_MSBuildProjectReferenceExistent.UndefineProperties);TargetFramework</UndefineProperties>
5094 </_MSBuildProjectReferenceExistent>
5095 </ItemGroup>
5096 <!--
5097 Allow project references to specify which target framework properties to set and their values
5098 without consulting the referenced project. This has two use cases:
5099
5100 1. A caller may wish to pick a compatible but sub-optimal target framework. For example,
5101 to unit test the .NETStandard implementation using a .NETFramework caller even though
5102 there is also a .NETFramework implementation.
5103
5104 2. As an escape hatch for cases where the compatibility check performed by
5105 GetTargetFrameworkProperties is faulty.
5106 -->
5107 <ItemGroup>
5108 <_MSBuildProjectReferenceExistent Condition="'%(_MSBuildProjectReferenceExistent.SetTargetFramework)' != ''">
5109 <SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
5110 </_MSBuildProjectReferenceExistent>
5111 </ItemGroup>
5112 <!--
5113 Get reference target framework lists.
5114 Note: A future optimization could cache the closest match and set the target framework on
5115 this MSBuild task invocation. This would (optimistically) save an evaluation of the referenced
5116 project when the answer is the same.
5117 -->
5118 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Targets="GetTargetFrameworks" BuildInParallel="$(BuildInParallel)" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform)" ContinueOnError="!$(BuildingProject)" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove);TargetFramework;RuntimeIdentifier$(_GlobalPropertiesToRemoveFromProjectReferences)" Condition="'%(_MSBuildProjectReferenceExistent.SkipGetTargetFrameworkProperties)' != 'true'" SkipNonexistentTargets="true">
5119 <Output TaskParameter="TargetOutputs" ItemName="_ProjectReferenceTargetFrameworkPossibilities" />
5120 </MSBuild>
5121 <ItemGroup>
5122 <!--
5123 Preserve the ItemSpec value on the _ProjectReferenceTargetFrameworkPossibilities. Because relative paths in another project
5124 context would be incorrect, the MSBuild task invocation needs expands the project reference paths in the MSBuild task above.
5125 This is generally OK, but if the list is copied the OriginalItemSpec can become the expanded value and cause issues correlating
5126 a project reference back to an Item instance.
5127 -->
5128 <_ProjectReferenceTargetFrameworkPossibilitiesOriginalItemSpec Include="@(_ProjectReferenceTargetFrameworkPossibilities->'%(OriginalItemSpec)')" />
5129 <_ProjectReferenceTargetFrameworkPossibilities Remove="@(_ProjectReferenceTargetFrameworkPossibilities)" />
5130 <_ProjectReferenceTargetFrameworkPossibilities Include="@(_ProjectReferenceTargetFrameworkPossibilitiesOriginalItemSpec)" />
5131 </ItemGroup>
5132 <!-- For each reference, get closest match -->
5133 <!-- Pass the CurrentProjectTargetPlatform parameter to the task only if GetReferenceNearestTargetFrameworkTaskSupportsTargetPlatformParameter is true. This means
5134 that we are using a version of NuGet which supports that parameter on this task. -->
5135 <GetReferenceNearestTargetFrameworkTask AnnotatedProjectReferences="@(_ProjectReferenceTargetFrameworkPossibilities)" CurrentProjectTargetFramework="$(ReferringTargetFrameworkForProjectReferences)" CurrentProjectTargetPlatform="$(TargetPlatformMoniker)" CurrentProjectName="$(MSBuildProjectName)" FallbackTargetFrameworks="$(AssetTargetFallback)" Condition="'@(_ProjectReferenceTargetFrameworkPossibilities-&gt;Count())' != '0' and '$(ReferringTargetFrameworkForProjectReferences)' != ''&#xD;&#xA; And '$(GetReferenceNearestTargetFrameworkTaskSupportsTargetPlatformParameter)' == 'true'">
5136 <Output ItemName="AnnotatedProjects" TaskParameter="AssignedProjects" />
5137 </GetReferenceNearestTargetFrameworkTask>
5138 <GetReferenceNearestTargetFrameworkTask AnnotatedProjectReferences="@(_ProjectReferenceTargetFrameworkPossibilities)" CurrentProjectTargetFramework="$(ReferringTargetFrameworkForProjectReferences)" CurrentProjectName="$(MSBuildProjectName)" FallbackTargetFrameworks="$(AssetTargetFallback)" Condition="'@(_ProjectReferenceTargetFrameworkPossibilities-&gt;Count())' != '0' and '$(ReferringTargetFrameworkForProjectReferences)' != ''&#xD;&#xA; And '$(GetReferenceNearestTargetFrameworkTaskSupportsTargetPlatformParameter)' != 'true'">
5139 <Output ItemName="AnnotatedProjects" TaskParameter="AssignedProjects" />
5140 </GetReferenceNearestTargetFrameworkTask>
5141 <ItemGroup>
5142 <!--
5143 If the task was skipped or the current TargetFramework is empty, AnnotatedProjects will be empty.
5144 In this case, copy _ProjectReferenceTargetFrameworkPossibilities as is. See:
5145 https://github.com/dotnet/sdk/issues/416
5146 -->
5147 <AnnotatedProjects Include="@(_ProjectReferenceTargetFrameworkPossibilities)" Condition="'$(ReferringTargetFrameworkForProjectReferences)' == ''" />
5148 <!-- If the NearestTargetFramework property was set and the project multi-targets, SetTargetFramework must be set. -->
5149 <AnnotatedProjects Condition="'@(AnnotatedProjects)' == '%(Identity)' and '%(AnnotatedProjects.NearestTargetFramework)' != '' and '%(AnnotatedProjects.HasSingleTargetFramework)' != 'true'">
5150 <SetTargetFramework>TargetFramework=%(AnnotatedProjects.NearestTargetFramework)</SetTargetFramework>
5151 </AnnotatedProjects>
5152 <!--
5153 If the NearestTargetFramework property was not set or the project has a single TargetFramework, we need to Undefine
5154 TargetFramework to avoid another project evaluation.
5155 -->
5156 <AnnotatedProjects Condition="'@(AnnotatedProjects)' == '%(Identity)' and ('%(AnnotatedProjects.NearestTargetFramework)' == '' or '%(AnnotatedProjects.HasSingleTargetFramework)' == 'true')">
5157 <UndefineProperties>%(AnnotatedProjects.UndefineProperties);TargetFramework</UndefineProperties>
5158 </AnnotatedProjects>
5159 <!-- If the project is RID agnostic, undefine the RuntimeIdentifier property to avoid another evaluation. -->
5160 <AnnotatedProjects Condition="'@(AnnotatedProjects)' == '%(Identity)' and '%(AnnotatedProjects.IsRidAgnostic)' == 'true'">
5161 <UndefineProperties>%(AnnotatedProjects.UndefineProperties);RuntimeIdentifier</UndefineProperties>
5162 </AnnotatedProjects>
5163 <!--
5164 Remove the items we've touched from _MSBuildProjectReferenceExistent. This will leave all projects where
5165 SkipGetTargetFrameworkProperties was set. Then add all AnnotatedProjects back.
5166 -->
5167 <_MSBuildProjectReferenceExistent Remove="@(_MSBuildProjectReferenceExistent)" Condition="'%(_MSBuildProjectReferenceExistent.SkipGetTargetFrameworkProperties)' != 'true'" />
5168 <_MSBuildProjectReferenceExistent Include="@(AnnotatedProjects)" />
5169 </ItemGroup>
5170 </Target>
5171 <Target Name="GetTargetFrameworks" DependsOnTargets="GetTargetFrameworksWithPlatformForSingleTargetFramework" Returns="@(_ThisProjectBuildMetadata)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5172 <Error Condition="'$(IsCrossTargetingBuild)' == 'true'" Text="Internal MSBuild error: Non-CrossTargeting GetTargetFrameworks target should not be used in cross targeting (outer) build" />
5173 <CombineXmlElements RootElementName="AdditionalProjectProperties" XmlElements="@(_TargetFrameworkInfo->'%(AdditionalPropertiesFromProject)')">
5174 <Output TaskParameter="Result" PropertyName="_AdditionalPropertiesFromProject" />
5175 </CombineXmlElements>
5176 <ItemGroup>
5177 <_ThisProjectBuildMetadata Include="$(MSBuildProjectFullPath)">
5178 <TargetFrameworks>@(_TargetFrameworkInfo)</TargetFrameworks>
5179 <TargetFrameworkMonikers>@(_TargetFrameworkInfo->'%(TargetFrameworkMonikers)')</TargetFrameworkMonikers>
5180 <TargetPlatformMonikers>@(_TargetFrameworkInfo->'%(TargetPlatformMonikers)')</TargetPlatformMonikers>
5181 <AdditionalPropertiesFromProject>$(_AdditionalPropertiesFromProject)</AdditionalPropertiesFromProject>
5182 <HasSingleTargetFramework>true</HasSingleTargetFramework>
5183 <!-- indicate to caller that project is RID agnostic so that a global property RuntimeIdentifier value can be removed -->
5184 <IsRidAgnostic>false</IsRidAgnostic>
5185 <IsRidAgnostic Condition=" '$(RuntimeIdentifier)' == '' and '$(RuntimeIdentifiers)' == '' ">true</IsRidAgnostic>
5186 </_ThisProjectBuildMetadata>
5187 </ItemGroup>
5188 </Target>
5189 <Target Name="GetTargetFrameworksWithPlatformForSingleTargetFramework" Returns="@(_TargetFrameworkInfo)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5190 <ItemGroup>
5191 <_AdditionalTargetFrameworkInfoPropertyWithValue Include="@(AdditionalTargetFrameworkInfoProperty)">
5192 <Value>$(%(AdditionalTargetFrameworkInfoProperty.Identity))</Value>
5193 </_AdditionalTargetFrameworkInfoPropertyWithValue>
5194 </ItemGroup>
5195 <CombineTargetFrameworkInfoProperties RootElementName="$(TargetFramework)" PropertiesAndValues="@(_AdditionalTargetFrameworkInfoPropertyWithValue)">
5196 <Output TaskParameter="Result" PropertyName="_AdditionalTargetFrameworkInfoProperties" />
5197 </CombineTargetFrameworkInfoProperties>
5198 <ItemGroup>
5199 <_TargetFrameworkInfo Include="$(TargetFramework)">
5200 <TargetFrameworks>$(TargetFramework)</TargetFrameworks>
5201 <TargetFrameworkMonikers>$(TargetFrameworkMoniker)</TargetFrameworkMonikers>
5202 <TargetPlatformMonikers>$(TargetPlatformMoniker)</TargetPlatformMonikers>
5203 <TargetPlatformMonikers Condition="'$(TargetPlatformMoniker)' == ''">None</TargetPlatformMonikers>
5204 <AdditionalPropertiesFromProject>$(_AdditionalTargetFrameworkInfoProperties)</AdditionalPropertiesFromProject>
5205 </_TargetFrameworkInfo>
5206 </ItemGroup>
5207 </Target>
5208 <!--
5209 ============================================================
5210 GetTargetFrameworkProperties
5211
5212 Overrridden by cross-targeting projects to return the set of
5213 properties (in the form "key1=value1;...keyN=valueN") needed
5214 to build it with the best target for the referring project's
5215 target framework.
5216
5217 The referring project's $(TargetFrameworkMoniker) is passed
5218 in as $(ReferringTargetFramework)
5219 -->
5220 <Target Name="GetTargetFrameworkProperties" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
5221 <!--
5222 ============================================================
5223 PrepareProjectReferences
5224
5225 Prepares project references for consumption by other targets.
5226
5227 [IN]
5228 @(ProjectReference) - The list of project references.
5229
5230 [OUT]
5231 @(ProjectReferenceWithConfiguration) - Project references with apporpriate metadata
5232 @(_MSBuildProjectReferenceExistent) - Subset of @(ProjectReferenceWithConfiguration) that exist
5233 with added SetTargetFramework metadata for cross-targeting
5234 @(_MSBuildProjectReferenceNonExistent) - Subset of @(ProjectReferenceWithConfiguration) that do not exist
5235 ============================================================
5236 -->
5237 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5238 <PrepareProjectReferencesDependsOn>
5239 AssignProjectConfiguration;
5240 _SplitProjectReferencesByFileExistence;
5241 _GetProjectReferenceTargetFrameworkProperties
5242 </PrepareProjectReferencesDependsOn>
5243 </PropertyGroup>
5244 <Target Name="PrepareProjectReferences" DependsOnTargets="$(PrepareProjectReferencesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
5245 <!--
5246 ============================================================
5247 ResolveProjectReferences
5248
5249 Build referenced projects:
5250
5251 [IN]
5252 @(ProjectReferenceWithConfiguration) - The list of project references.
5253
5254 [OUT]
5255 @(_ResolvedNativeProjectReferencePaths) - Paths to referenced native projects.
5256 @(_ResolvedProjectReferencePaths) - Paths to referenced managed projects.
5257 ============================================================
5258 -->
5259 <!-- By default, the outputs of project references are passed to the compiler -->
5260 <ItemDefinitionGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5261 <ProjectReference>
5262 <!-- Target to build in the project reference; by default, this property is blank, indicating the default targets-->
5263 <Targets>$(ProjectReferenceBuildTargets)</Targets>
5264 <!-- 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. -->
5265 <OutputItemType />
5266 <ReferenceSourceTarget>ProjectReference</ReferenceSourceTarget>
5267 </ProjectReference>
5268 </ItemDefinitionGroup>
5269 <Target Name="ResolveProjectReferences" DependsOnTargets="PrepareProjectReferences" Returns="@(_ResolvedNativeProjectReferencePaths);@(_ResolvedProjectReferencePaths)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5270 <!--
5271 When building this project from the IDE, just gather the referenced build outputs.
5272 The IDE will already have built the project, so there's no need to do it again here.
5273
5274 The ContinueOnError setting is here so that, during project load, as
5275 much information as possible will be passed to the compilers.
5276 -->
5277 <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)">
5278 <Output TaskParameter="TargetOutputs" ItemName="_ResolvedProjectReferencePaths" Condition="'%(_MSBuildProjectReferenceExistent.ReferenceOutputAssembly)'=='true'" />
5279 <Output TaskParameter="TargetOutputs" ItemName="%(_MSBuildProjectReferenceExistent.OutputItemType)" Condition="'%(_MSBuildProjectReferenceExistent.OutputItemType)' != ''" />
5280 </MSBuild>
5281 <!--
5282 Build referenced projects when building from the command line.
5283 -->
5284 <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)">
5285 <Output TaskParameter="TargetOutputs" ItemName="_ResolvedProjectReferencePaths" Condition="'%(_MSBuildProjectReferenceExistent.ReferenceOutputAssembly)'=='true' or '$(DesignTimeBuild)' == 'true'" />
5286 <Output TaskParameter="TargetOutputs" ItemName="%(_MSBuildProjectReferenceExistent.OutputItemType)" Condition="'%(_MSBuildProjectReferenceExistent.OutputItemType)' != ''" />
5287 </MSBuild>
5288 <!--
5289 Get manifest items from the (non-exe) built project references (to feed them into ResolveNativeReference).
5290 -->
5291 <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)">
5292 <Output TaskParameter="TargetOutputs" ItemName="NativeReference" Condition="'%(_MSBuildProjectReferenceExistent.ReferenceOutputAssembly)' == 'true'" />
5293 </MSBuild>
5294 <ItemGroup>
5295 <_ResolvedProjectReferencePaths Remove="@(_ResolvedProjectReferencePaths)" Condition="'%(_ResolvedProjectReferencePaths.ResolveableAssembly)' == 'false'" />
5296 <!--
5297 Copy OriginalItemSpec to OriginalProjectReferenceItemSpec, so that when ResolveAssemblyReferences
5298 takes these items and resolves them to ReferencePath, we can still recover the _real_ OriginalItemSpec
5299 for the unresolved reference items.
5300 -->
5301 <_ResolvedProjectReferencePaths>
5302 <OriginalProjectReferenceItemSpec>%(_ResolvedProjectReferencePaths.OriginalItemSpec)</OriginalProjectReferenceItemSpec>
5303 </_ResolvedProjectReferencePaths>
5304 </ItemGroup>
5305 <!-- Issue a warning for each non-existent project. -->
5306 <Warning Text="The referenced project '%(_MSBuildProjectReferenceNonexistent.Identity)' does not exist." Condition="'@(ProjectReferenceWithConfiguration)' != '' and '@(_MSBuildProjectReferenceNonexistent)' != ''" />
5307 </Target>
5308 <Target Name="ResolveProjectReferencesDesignTime" Returns="@(_ProjectReferencesFromRAR);@(_ResolvedNativeProjectReferencePaths)" DependsOnTargets="ResolveProjectReferences;ResolveAssemblyReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5309 <!-- 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
5310 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.
5311 -->
5312 <ItemGroup>
5313 <_ProjectReferencesFromRAR Include="@(ReferencePath-&gt;WithMetadataValue('ReferenceSourceTarget', 'ProjectReference'))">
5314 <OriginalItemSpec>%(ReferencePath.ProjectReferenceOriginalItemSpec)</OriginalItemSpec>
5315 </_ProjectReferencesFromRAR>
5316 </ItemGroup>
5317 </Target>
5318 <Target Name="ExpandSDKReferencesDesignTime" Returns="@(ReferencesFromSDK)" DependsOnTargets="ExpandSDKReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
5319 <!--
5320 ============================================================
5321 GetTargetPath
5322
5323 This target returns an item containing the build product (i.e. EXE, DLL)
5324 that would be produced if we built this project, with some relevant
5325 metadata.
5326 ============================================================
5327 -->
5328 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5329 <GetTargetPathDependsOn>$(GetTargetPathDependsOn)</GetTargetPathDependsOn>
5330 </PropertyGroup>
5331 <Target Name="GetTargetPath" DependsOnTargets="$(GetTargetPathDependsOn)" Returns="@(TargetPathWithTargetPlatformMoniker)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
5332 <!--
5333 ============================================================
5334 GetTargetPathWithTargetPlatformMoniker
5335
5336 This stand-alone target returns the name and version of the target platform for this project.
5337
5338 NOTE: The ProjectReference protocol uses only GetTargetPath. Computing the item
5339 in this target allows projects to override GetTargetPath without having to reimplement
5340 the details of the metadata computation.
5341 ============================================================
5342 -->
5343 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5344 <GetTargetPathWithTargetPlatformMonikerDependsOn>$(GetTargetPathDependsOn)</GetTargetPathWithTargetPlatformMonikerDependsOn>
5345 </PropertyGroup>
5346 <!--NOTE: since an overridden GetTargetPath might not include a DependsOn
5347 for this target, it's safer to establish the dependency here with a
5348 BeforeTargets. -->
5349 <Target Name="GetTargetPathWithTargetPlatformMoniker" BeforeTargets="GetTargetPath" DependsOnTargets="$(GetTargetPathWithTargetPlatformMonikerDependsOn)" Returns="@(TargetPathWithTargetPlatformMoniker)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5350 <ItemGroup>
5351 <TargetPathWithTargetPlatformMoniker Include="$(TargetPath)">
5352 <TargetPlatformMoniker>$(TargetPlatformMoniker)</TargetPlatformMoniker>
5353 <TargetPlatformIdentifier>$(TargetPlatformIdentifier)</TargetPlatformIdentifier>
5354 <TargetFrameworkIdentifier>$(TargetFrameworkIdentifier)</TargetFrameworkIdentifier>
5355 <TargetFrameworkVersion>$(TargetFrameworkVersion.TrimStart('vV'))</TargetFrameworkVersion>
5356 <ReferenceAssembly Condition="'$(ProduceReferenceAssembly)' == 'true'">$(TargetRefPath)</ReferenceAssembly>
5357 <CopyUpToDateMarker>@(CopyUpToDateMarker)</CopyUpToDateMarker>
5358 </TargetPathWithTargetPlatformMoniker>
5359 </ItemGroup>
5360 </Target>
5361 <!--
5362 ============================================================
5363 GetNativeManifest
5364
5365 Compute the manifest item for this project.
5366
5367 [IN]
5368 $(_DeploymentApplicationManifestIdentity) - the manifest identity
5369 @(ApplicationManifest) - the original application manifest item
5370
5371 [OUT]
5372 @(ComputedApplicationManifest) - application manifest item with full hint path, if generated
5373 ============================================================
5374 -->
5375 <Target Name="GetNativeManifest" Returns="@(ComputedApplicationManifest)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5376 <ItemGroup>
5377 <ComputedApplicationManifest Include="$(_DeploymentApplicationManifestIdentity)" Condition="'$(OutputType)'!='winexe' and '$(OutputType)'!='exe' and '$(OutputType)'!='appcontainerexe' and Exists('%(_ApplicationManifestFinal.FullPath)')">
5378 <HintPath>%(_ApplicationManifestFinal.FullPath)</HintPath>
5379 </ComputedApplicationManifest>
5380 </ItemGroup>
5381 </Target>
5382 <!--
5383 ============================================================
5384 ResolveNativeReferences
5385
5386 Resolve native references
5387
5388 [IN]
5389 @(NativeReference) - The manifest reference (or list of manifest references)
5390
5391 [OUT]
5392 @(NativeReferenceFile) - List of manifest files referenced.
5393 @(_DeploymentNativePrerequisite) - List of native assembly prerequisites contained in the manifest.
5394 @(ComClassReference) - List of COM components contained in the manifest.
5395 @(COMReferenceFromNative) List of type libraries contained in the manifest.
5396 @(COMFileReference) - List of loose files contained in the manifest.
5397 @(_DeploymentLooseManifestFile) - List of extra files that should be published.
5398 ============================================================
5399 -->
5400 <Target Name="ResolveNativeReferences" Condition="'@(NativeReference)'!=''" DependsOnTargets="ResolveProjectReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5401 <ResolveNativeReference NativeReferences="@(NativeReference)" AdditionalSearchPaths="$(ReferencePath);$(OutDir)">
5402 <Output TaskParameter="ContainingReferenceFiles" ItemName="NativeReferenceFile" />
5403 <Output TaskParameter="ContainedPrerequisiteAssemblies" ItemName="_DeploymentNativePrerequisite" />
5404 <Output TaskParameter="ContainedComComponents" ItemName="ComClassReference" />
5405 <Output TaskParameter="ContainedTypeLibraries" ItemName="COMReferenceFromNative" />
5406 <Output TaskParameter="ContainedLooseTlbFiles" ItemName="COMFileReference" />
5407 <Output TaskParameter="ContainedLooseEtcFiles" ItemName="_DeploymentLooseManifestFile" />
5408 </ResolveNativeReference>
5409 </Target>
5410 <!--
5411 ============================================================
5412
5413 ResolveAssemblyReferences
5414
5415 Given the list of assemblies, find the closure of all assemblies that they depend on. These are
5416 what we need to copy to the output directory.
5417
5418 [IN]
5419 @(Reference) - List of assembly references as fusion names.
5420 @(_ResolvedProjectReferencePaths) - List of project references produced by projects that this project depends on.
5421
5422 The 'Private' attribute on the reference corresponds to the Copy Local flag in IDE.
5423 The 'Private' flag can have three possible values:
5424 - 'True' means the reference should be Copied Local
5425 - 'False' means the reference should not be Copied Local
5426 - [Missing] means this task will decide whether to treat this reference as CopyLocal or not.
5427
5428 [OUT]
5429 @(ReferencePath) - Paths to resolved primary files.
5430 @(ReferenceDependencyPaths) - Paths to resolved dependency files.
5431 @(_ReferenceRelatedPaths) - Paths to .xmls and .pdbs.
5432 @(ReferenceSatellitePaths) - Paths to satellites.
5433 @(_ReferenceSerializationAssemblyPaths) - Paths to XML serialization assemblies created by sgen.
5434 @(_ReferenceScatterPaths) - Paths to scatter files.
5435 @(ReferenceCopyLocalPaths) - Paths to files that should be copied to the local directory.
5436 ============================================================
5437 -->
5438 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5439 <ResolveAssemblyReferencesDependsOn>
5440 ResolveProjectReferences;
5441 FindInvalidProjectReferences;
5442 GetFrameworkPaths;
5443 GetReferenceAssemblyPaths;
5444 PrepareForBuild;
5445 ResolveSDKReferences;
5446 ExpandSDKReferences;
5447 </ResolveAssemblyReferencesDependsOn>
5448 </PropertyGroup>
5449 <Target Name="ResolveAssemblyReferences" Returns="@(ReferencePath)" DependsOnTargets="$(ResolveAssemblyReferencesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5450 <ItemGroup>
5451 <_ReferenceInstalledAssemblyDirectory Include="$(TargetFrameworkDirectory)" />
5452 <_ReferenceInstalledAssemblySubsets Include="$(TargetFrameworkSubset)" />
5453 </ItemGroup>
5454 <!--
5455 Only read and write cache file at build time, skip it for load time because its more
5456 expensive to write the newly created cache file.
5457 -->
5458 <PropertyGroup>
5459 <ResolveAssemblyReferencesStateFile Condition="'$(DisableRarCache)'!='true' and '$(ResolveAssemblyReferencesStateFile)' == ''">$(IntermediateOutputPath)$(MSBuildProjectFile).AssemblyReference.cache</ResolveAssemblyReferencesStateFile>
5460 </PropertyGroup>
5461 <!-- Make an App.Config item that exists when AutoUnify is false. -->
5462 <ItemGroup>
5463 <_ResolveAssemblyReferencesApplicationConfigFileForExes Include="@(AppConfigWithTargetPath)" Condition="'$(AutoGenerateBindingRedirects)'=='true' or '$(AutoUnifyAssemblyReferences)'=='false'" />
5464 </ItemGroup>
5465 <PropertyGroup>
5466 <!-- Default in task is true -->
5467 <_FindDependencies Condition="'$(BuildingProject)' != 'true' and '$(_ResolveReferenceDependencies)' != 'true'">false</_FindDependencies>
5468 <ResolveAssemblyReferencesSilent Condition="'$(ResolveAssemblyReferencesSilent)' == '' and '$(TraceDesignTime)' != 'true' and '$(BuildingProject)' == 'false'">true</ResolveAssemblyReferencesSilent>
5469 <ResolveAssemblyReferencesSilent Condition="'$(ResolveAssemblyReferencesSilent)' == ''">false</ResolveAssemblyReferencesSilent>
5470 <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch Condition="'$(ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch)' == ''">Warning</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
5471 <ResolveAssemblyReferencesFindRelatedSatellites Condition="'$(ResolveAssemblyReferencesFindRelatedSatellites)' == ''">$(BuildingProject)</ResolveAssemblyReferencesFindRelatedSatellites>
5472 <ResolveAssemblyReferencesFindSerializationAssemblies Condition="'$(ResolveAssemblyReferencesFindSerializationAssemblies)' == ''">$(BuildingProject)</ResolveAssemblyReferencesFindSerializationAssemblies>
5473 <ResolveAssemblyReferencesFindRelatedFiles Condition="'$(ResolveAssemblyReferencesFindRelatedFiles)' == ''">$(BuildingProject)</ResolveAssemblyReferencesFindRelatedFiles>
5474 <ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts Condition="'$(ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts)' == ''">false</ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts>
5475 </PropertyGroup>
5476 <ItemGroup>
5477 <!-- 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
5478 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
5479 ide will show one of the references as not resolved, this will not break the build but is a display issue -->
5480 <Reference Remove="$(AdditionalExplicitAssemblyReferences)" />
5481 <Reference Include="$(AdditionalExplicitAssemblyReferences)">
5482 <Implicit>true</Implicit>
5483 </Reference>
5484 </ItemGroup>
5485 <!--
5486 Normally, as an optimization, finding dependencies of references marked with ExternallyResolved=true metadata is skipped.
5487 However, skipping that step breaks binding redirect generation when there are conflicting versions within the externally
5488 resolved graph.
5489 -->
5490 <PropertyGroup Condition="'$(FindDependenciesOfExternallyResolvedReferences)' == ''">
5491 <FindDependenciesOfExternallyResolvedReferences>false</FindDependenciesOfExternallyResolvedReferences>
5492 <FindDependenciesOfExternallyResolvedReferences Condition="'$(AutoGenerateBindingRedirects)' == 'true'">true</FindDependenciesOfExternallyResolvedReferences>
5493 </PropertyGroup>
5494 <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)" Condition="'@(Reference)'!='' or '@(_ResolvedProjectReferencePaths)'!='' or '@(_ExplicitReference)' != ''">
5495 <Output TaskParameter="ResolvedFiles" ItemName="ReferencePath" />
5496 <Output TaskParameter="ResolvedFiles" ItemName="_ResolveAssemblyReferenceResolvedFiles" />
5497 <Output TaskParameter="ResolvedDependencyFiles" ItemName="ReferenceDependencyPaths" />
5498 <Output TaskParameter="RelatedFiles" ItemName="_ReferenceRelatedPaths" />
5499 <Output TaskParameter="SatelliteFiles" ItemName="ReferenceSatellitePaths" />
5500 <Output TaskParameter="SerializationAssemblyFiles" ItemName="_ReferenceSerializationAssemblyPaths" />
5501 <Output TaskParameter="ScatterFiles" ItemName="_ReferenceScatterPaths" />
5502 <Output TaskParameter="CopyLocalFiles" ItemName="ReferenceCopyLocalPaths" />
5503 <Output TaskParameter="SuggestedRedirects" ItemName="SuggestedBindingRedirects" />
5504 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
5505 <Output TaskParameter="DependsOnSystemRuntime" PropertyName="DependsOnSystemRuntime" />
5506 <Output TaskParameter="DependsOnNETStandard" PropertyName="_DependsOnNETStandard" />
5507 <Output TaskParameter="UnresolvedAssemblyConflicts" ItemName="ResolveAssemblyReferenceUnresolvedAssemblyConflicts" />
5508 </ResolveAssemblyReference>
5509 </Target>
5510 <!--
5511 ============================================================
5512
5513 FindReferenceAssembliesForReferences
5514
5515 Given the list of references, create a list of assemblies to pass to the compiler that
5516 includes reference assemblies rather than implementation assemblies where possible.
5517
5518 [IN]
5519 @(ReferencePath) - List of assembly references as resolved paths with ReferenceAssembly metadata
5520
5521 [OUT]
5522 @(ReferencePathWithRefAssemblies) - Paths to resolved reference (or implementation) assemblies.
5523 ============================================================
5524 -->
5525 <Target Name="FindReferenceAssembliesForReferences" DependsOnTargets="ResolveReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5526 <ItemGroup>
5527 <!-- Reference assemblies are not produced in all cases, but it's easier to consume them
5528 if this metadatum is always populated. Ensure that it points to the implementation
5529 assembly unless already specified. -->
5530 <ReferencePath Condition="'%(ReferencePath.ReferenceAssembly)' == ''">
5531 <ReferenceAssembly>%(FullPath)</ReferenceAssembly>
5532 </ReferencePath>
5533 <ReferencePathWithRefAssemblies Include="@(ReferencePath->'%(ReferenceAssembly)')" Condition="'$(CompileUsingReferenceAssemblies)' != 'false'">
5534 <OriginalPath Condition="'%(ReferencePath.Identity)' != '@(ReferencePath->'%(ReferenceAssembly)')'">%(ReferencePath.Identity)</OriginalPath>
5535 </ReferencePathWithRefAssemblies>
5536 <ReferencePathWithRefAssemblies Include="@(ReferencePath)" Condition="'$(CompileUsingReferenceAssemblies)' == 'false'" />
5537 </ItemGroup>
5538 </Target>
5539 <!--
5540 ====================================================================================================
5541
5542 GenerateBindingRedirects
5543 Inject the binding redirects into the app config file based on suggested redirects as output from
5544 ResolveAssemblyReferences.
5545
5546 [IN]
5547 @(AppConfigWithTargetPath) - Path to the source app config file. This can be null if the project
5548 doesn't contain an app config file.
5549 $(TargetFileName) - The file name of the build target.
5550
5551 [OUT]
5552 @(OutputAppConfigFile) - Path to the output app config file in the intermediate directory.
5553
5554 ====================================================================================================
5555 -->
5556 <Target Name="GenerateBindingRedirects" Inputs="$(MSBuildAllProjects);@(AppConfigFile);$(ResolveAssemblyReferencesStateFile);$(IntermediateOutputPath);@(SuggestedBindingRedirects)" Outputs="$(_GenerateBindingRedirectsIntermediateAppConfig)" Condition="'$(AutoGenerateBindingRedirects)' == 'true' and '$(GenerateBindingRedirectsOutputType)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5557 <GenerateBindingRedirects AppConfigFile="@(AppConfigWithTargetPath)" TargetName="$(TargetFileName).config" OutputAppConfigFile="$(_GenerateBindingRedirectsIntermediateAppConfig)" SuggestedRedirects="@(SuggestedBindingRedirects)">
5558 <Output TaskParameter="OutputAppConfigFile" ItemName="FileWrites" />
5559 </GenerateBindingRedirects>
5560 </Target>
5561 <!--
5562 ====================================================================================================
5563
5564 GenerateBindingRedirectsUpdateAppConfig
5565 Updates the project to use the generated app.config content. This needs to run regardless of
5566 inputs/outputs so it is seperate from GenerateBindingRedirects.
5567 ====================================================================================================
5568 -->
5569 <Target Name="GenerateBindingRedirectsUpdateAppConfig" AfterTargets="GenerateBindingRedirects" Condition="'$(AutoGenerateBindingRedirects)' == 'true' and '$(GenerateBindingRedirectsOutputType)' == 'true' and Exists('$(_GenerateBindingRedirectsIntermediateAppConfig)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5570 <PropertyGroup>
5571 <AppConfig>$(_GenerateBindingRedirectsIntermediateAppConfig)</AppConfig>
5572 </PropertyGroup>
5573 <ItemGroup>
5574 <AppConfigWithTargetPath Remove="@(AppConfigWithTargetPath)" />
5575 <AppConfigWithTargetPath Include="$(AppConfig)">
5576 <TargetPath>$(TargetFileName).config</TargetPath>
5577 </AppConfigWithTargetPath>
5578 </ItemGroup>
5579 </Target>
5580 <!--
5581 ===========================================================================================
5582 GetInstalledSDKs
5583
5584 Gets the list of SDKs installed in the SDKDirectoryRoot and SDKRegistryRoot locations
5585
5586 These paths are used by the ResolveSDKReference task and the ResolveAssemblyReference task.
5587 ===========================================================================================
5588 -->
5589 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5590 <SDKReferenceRegistryRoot Condition="'$(SDKReferenceRegistryRoot)' == ''">Software\Microsoft\Microsoft SDKs</SDKReferenceRegistryRoot>
5591 <SDKReferenceDirectoryRoot Condition="'$(SDKReferenceDirectoryRoot)' == ''">$(LocalAppData)\Microsoft SDKs;$(MSBuildProgramFiles32)\Microsoft SDKs</SDKReferenceDirectoryRoot>
5592 <!-- Manifest driven extension SDK locations -->
5593 <SDKExtensionDirectoryRoot Condition="'$(SDKExtensionDirectoryRoot)' == '' and '$(SDKIdentifier)' != ''">$(MSBuildProgramFiles32)\Microsoft SDKs\Windows Kits\10;$(MSBuildProgramFiles32)\Windows Kits\10</SDKExtensionDirectoryRoot>
5594 <!-- UAP projects by default should support Windows 8.1 SDKs -->
5595 <SupportWindows81SDKs Condition="'$(SupportWindows81SDKs)' == '' and '$(Support81SDKs)' != 'false' and '$(TargetPlatformIdentifier)' == 'UAP'">true</SupportWindows81SDKs>
5596 <TargetPlatformIdentifierWindows81 Condition="'$(TargetPlatformIdentifierWindows81)' == '' and '$(SupportWindows81SDKs)' == 'true'">Windows</TargetPlatformIdentifierWindows81>
5597 <TargetPlatformVersionWindows81 Condition="'$(TargetPlatformVersionWindows81)' == '' and '$(SupportWindows81SDKs)' == 'true'">8.1</TargetPlatformVersionWindows81>
5598 <!-- Desktop and phone SDKs often have the exact same identifiers, don't enable phone by default -->
5599 <SupportWindowsPhone81SDKs Condition="'$(SupportWindowsPhone81SDKs)' == '' and '$(Support81SDKs)' != 'false' and '$(TargetPlatformIdentifier)' == 'UAP'">false</SupportWindowsPhone81SDKs>
5600 <TargetPlatformIdentifierWindowsPhone81 Condition="'$(TargetPlatformIdentifierWindowsPhone81)' == '' and '$(SupportWindowsPhone81SDKs)' == 'true'">WindowsPhoneApp</TargetPlatformIdentifierWindowsPhone81>
5601 <TargetPlatformVersionWindowsPhone81 Condition="'$(TargetPlatformVersionWindowsPhone81)' == '' and '$(SupportWindowsPhone81SDKs)' == 'true'">8.1</TargetPlatformVersionWindowsPhone81>
5602 </PropertyGroup>
5603 <Target Name="GetInstalledSDKLocations" Condition="'@(SDKReference)' != ''" DependsOnTargets="$(GetInstalledSDKLocationsDependsOn)" Returns="@(InstalledSDKLocations)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5604 <GetInstalledSDKLocations SDKDirectoryRoots="$(SDKReferenceDirectoryRoot)" SDKExtensionDirectoryRoots="$(SDKExtensionDirectoryRoot)" SDKRegistryRoot="$(SDKReferenceRegistryRoot)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)">
5605 <Output TaskParameter="InstalledSDKs" ItemName="InstalledSDKLocations" />
5606 </GetInstalledSDKLocations>
5607 <!-- Also lookup 8.1 SDKs if requested -->
5608 <GetInstalledSDKLocations SDKDirectoryRoots="$(SDKReferenceDirectoryRoot)" SDKExtensionDirectoryRoots="" SDKRegistryRoot="$(SDKReferenceRegistryRoot)" TargetPlatformVersion="$(TargetPlatformVersionWindows81)" TargetPlatformIdentifier="$(TargetPlatformIdentifierWindows81)" Condition="'$(SupportWindows81SDKs)' == 'true' and '$(TargetPlatformIdentifierWindows81)' != '' and '$(TargetPlatformVersionWindows81)' != ''" WarnWhenNoSDKsFound="false">
5609 <Output TaskParameter="InstalledSDKs" ItemName="InstalledSDKLocations" />
5610 </GetInstalledSDKLocations>
5611 <GetInstalledSDKLocations SDKDirectoryRoots="$(SDKReferenceDirectoryRoot)" SDKExtensionDirectoryRoots="" SDKRegistryRoot="$(SDKReferenceRegistryRoot)" TargetPlatformVersion="$(TargetPlatformVersionWindowsPhone81)" TargetPlatformIdentifier="$(TargetPlatformIdentifierWindowsPhone81)" Condition="'$(SupportWindowsPhone81SDKs)' == 'true' and '$(TargetPlatformIdentifierWindowsPhone81)' != '' and '$(TargetPlatformVersionWindowsPhone81)' != ''" WarnWhenNoSDKsFound="false">
5612 <Output TaskParameter="InstalledSDKs" ItemName="InstalledSDKLocations" />
5613 </GetInstalledSDKLocations>
5614 </Target>
5615 <!--
5616 ============================================================
5617
5618 ResolveSDKReferences
5619
5620 Given a list of SDKReference items and a list of resolved winmd files which may contain metadata as to which sdk they came from
5621 we need to find the sdk root folders on disk and populate a ResolvedSDKReference item which has the full path to the SDK ROOT
5622 and the sdk identity as a piece of metadata.
5623
5624 [IN]
5625 @(SDKReference) - List of sdk references (the identity in the sdk manifest file).
5626 @(ReferencePath) -List of resolved assemblies, we are interested in the ones which have IsWinMDFile set to true.
5627
5628 [OUT]
5629 @(ResolvedSDKReference) - Full path to the root of the SDK
5630 ============================================================
5631 -->
5632 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5633 <ResolveSDKReferencesDependsOn>
5634 GetInstalledSDKLocations
5635 </ResolveSDKReferencesDependsOn>
5636 </PropertyGroup>
5637 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5638 <TargetedSDKConfiguration Condition="'$(TargetedSDKConfiguration)' == '' and '_$(Configuration)' == '_Debug'">Debug</TargetedSDKConfiguration>
5639 <TargetedSDKConfiguration Condition="'$(TargetedSDKConfiguration)' == '' and '_$(Configuration)' == '_Release'">Retail</TargetedSDKConfiguration>
5640 <TargetedSDKConfiguration Condition="'$(TargetedSDKConfiguration)' == ''">Retail</TargetedSDKConfiguration>
5641 <TargetedSDKArchitecture Condition="'$(TargetedSDKArchitecture)' == ''">$(ProcessorArchitecture)</TargetedSDKArchitecture>
5642 <TargetedSDKArchitecture Condition="'$(TargetedSDKArchitecture)' == ''">Neutral</TargetedSDKArchitecture>
5643 </PropertyGroup>
5644 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5645 <ShouldMarkCertainSDKReferencesAsRuntimeOnly Condition="'$(ShouldMarkCertainSDKReferencesAsRuntimeOnly)' == ''">true</ShouldMarkCertainSDKReferencesAsRuntimeOnly>
5646 </PropertyGroup>
5647 <ItemGroup Condition="'$(ShouldMarkCertainSDKReferencesAsRuntimeOnly)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5648 <!-- Dependencies that are specified as runtime-only dependencies. Therefore the associated files are not used to build Appx package. -->
5649 <!-- TODO: Do we need to do anything like this for the new SDK? -->
5650 <RuntimeReferenceOnlySDKDependencies Condition="'$(TargetPlatformVersion)' == '8.1'" Include="Microsoft.VCLibs, Version=11.0" />
5651 </ItemGroup>
5652 <Target Name="ResolveSDKReferences" Returns="@(ResolvedSDKReference)" DependsOnTargets="$(ResolveSDKReferencesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5653 <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)'!=''">
5654 <Output TaskParameter="ResolvedSDKReferences" ItemName="ResolvedSDKReference" />
5655 </ResolveSDKReference>
5656 </Target>
5657 <Target Name="ResolveSDKReferencesDesignTime" Returns="@(ResolvedSDKReference)" DependsOnTargets="ResolveSDKReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
5658 <!--
5659 ============================================================
5660
5661 FindInvalidProjectReferences
5662
5663 Find project to project references with target platform version higher than the one used by the current project and
5664 creates a list of invalid references to be unresolved. It issues a warning for each invalid reference.
5665
5666 [IN]
5667 $(TargetPlatformVersion) - Project's target platform version
5668 @(_ProjectReferenceTargetPlatformMonikers) - List of monikers of all referenced projects gathered by the helper
5669 target GetTargetPlatformMonikers.
5670
5671 [OUT]
5672 @(InvalidProjectReferences) - List of invalid project references
5673
5674 ============================================================
5675 -->
5676 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5677 <FindInvalidProjectReferencesDependsOn>
5678 GetReferenceTargetPlatformMonikers
5679 </FindInvalidProjectReferencesDependsOn>
5680 </PropertyGroup>
5681 <Target Name="FindInvalidProjectReferences" Condition="'$(FindInvalidProjectReferences)' == 'true'" DependsOnTargets="$(FindInvalidProjectReferencesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5682 <FindInvalidProjectReferences TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" ProjectReferences="@(TargetPathWithTargetPlatformMoniker)">
5683 <Output TaskParameter="InvalidReferences" ItemName="InvalidProjectReferences" />
5684 </FindInvalidProjectReferences>
5685 <ItemGroup>
5686 <_ResolvedProjectReferencePaths Remove="@(InvalidProjectReferences)" />
5687 </ItemGroup>
5688 </Target>
5689 <Target Name="GetReferenceTargetPlatformMonikers" DependsOnTargets="PrepareProjectReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5690 <MSBuild Projects="@(_MSBuildProjectReferenceExistent)" Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration); %(_MSBuildProjectReferenceExistent.SetPlatform); %(_MSBuildProjectReferenceExistent.SetTargetFramework)" Targets="GetTargetPathWithTargetPlatformMoniker" BuildInParallel="$(BuildInParallel)" ContinueOnError="!$(BuildingProject)" RemoveProperties="%(_MSBuildProjectReferenceExistent.GlobalPropertiesToRemove)$(_GlobalPropertiesToRemoveFromProjectReferences)">
5691 <Output TaskParameter="TargetOutputs" ItemName="TargetPathWithTargetPlatformMoniker" />
5692 </MSBuild>
5693 </Target>
5694 <!--
5695 ============================================================
5696
5697 ExpandSDKReferences
5698
5699 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)
5700 as part of the assemblies passed to the compiler.
5701
5702 Project systems or project which do not want to reference all dlls or winmd files should override this target to do nothing.
5703 ============================================================
5704 -->
5705 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5706 <ExpandSDKReferencesDependsOn>
5707 ResolveSDKReferences
5708 </ExpandSDKReferencesDependsOn>
5709 <ExpandSDKAllowedReferenceExtensions Condition="'$(ExpandSDKAllowedReferenceExtensions)' == ''">
5710 .winmd;
5711 .dll
5712 </ExpandSDKAllowedReferenceExtensions>
5713 </PropertyGroup>
5714 <Target Name="ExpandSDKReferences" Returns="@(ReferencesFromSDK)" DependsOnTargets="$(ExpandSDKReferencesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5715 <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)'!=''">
5716 <Output TaskParameter="References" ItemName="ReferencePath" />
5717 <Output TaskParameter="References" ItemName="ReferencesFromSDK" />
5718 <Output TaskParameter="References" ItemName="_ResolveAssemblyReferenceResolvedFiles" />
5719 <Output TaskParameter="CopyLocalFiles" ItemName="ReferenceCopyLocalPaths" />
5720 <Output TaskParameter="RedistFiles" ItemName="ResolvedRedistFiles" />
5721 </GetSDKReferenceFiles>
5722 </Target>
5723 <!--
5724 ============================================================
5725
5726 ExportWindowsMDFile
5727
5728 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
5729 through the winmdexp tool in order to generate the resulting WinMD file.
5730
5731 ===========================================================
5732 -->
5733 <Target Name="ExportWindowsMDFile" DependsOnTargets="Compile" Condition="'$(ExportWinMDFile)' == 'true'" Inputs="@(IntermediateAssembly);@(DocFileItem);@(_DebugSymbolsIntermediatePath);@(ReferencePathWithRefAssemblies);$(MSBuildAllProjects)" Outputs="$(_IntermediateWindowsMetadataPath);$(WinMDExpOutputPdb);$(WinMDOutputDocumentationFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5734 <PropertyGroup>
5735 <!-- Will be copied by the "copy WinMD artifacts" step instead -->
5736 <CopyBuildOutputToOutputDirectory>false</CopyBuildOutputToOutputDirectory>
5737 <CopyOutputSymbolsToOutputDirectory>false</CopyOutputSymbolsToOutputDirectory>
5738 <CopyDocumentationFileToOutputDirectory>false</CopyDocumentationFileToOutputDirectory>
5739 <WinMdExpToolPath Condition="'$(WinMdExpToolPath)' == ''">$(TargetFrameworkSDKToolsDirectory)</WinMdExpToolPath>
5740 <WinMdExpUTF8Ouput Condition="'$(WinMdExpUTF8Ouput)' == ''">true</WinMdExpUTF8Ouput>
5741 </PropertyGroup>
5742 <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)">
5743 <Output TaskParameter="OutputWindowsMetadataFile" ItemName="FileWrites" />
5744 </WinMDExp>
5745 <ItemGroup>
5746 <WinMDExpArtifacts Include="$(_IntermediateWindowsMetadataPath)" />
5747 <WinMDExpArtifacts Include="$(WinMDOutputDocumentationFile)" />
5748 <WinMDExpArtifacts Include="$(WinMDExpOutputPdb)" />
5749 <FileWrites Include="$(WinMDOutputDocumentationFile);$(WinMDExpOutputPdb)" />
5750 </ItemGroup>
5751 </Target>
5752 <Target Name="ResolveAssemblyReferencesDesignTime" Returns="@(_ReferencesFromRAR)" DependsOnTargets="ResolveProjectReferences;ResolveAssemblyReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5753 <!-- We need to do this here because we only want references which have been passed into rar but are not project to project references. -->
5754 <ItemGroup>
5755 <_ReferencesFromRAR Include="@(ReferencePath-&gt;WithMetadataValue('ReferenceSourceTarget', 'ResolveAssemblyReference'))" />
5756 </ItemGroup>
5757 </Target>
5758 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5759 <ProjectDesignTimeAssemblyResolutionSearchPaths Condition=" '$(ProjectDesignTimeAssemblyResolutionSearchPaths)' == '' ">
5760 {CandidateAssemblyFiles};
5761 $(ReferencePath);
5762 {HintPathFromItem};
5763 {TargetFrameworkDirectory};
5764 {Registry:$(FrameworkRegistryBase),$(TargetFrameworkVersion),$(AssemblyFoldersSuffix)$(AssemblyFoldersExConditions)};
5765 {RawFileName};
5766 $(TargetDir)
5767 </ProjectDesignTimeAssemblyResolutionSearchPaths>
5768 </PropertyGroup>
5769 <!--
5770 ==============================================================
5771
5772 DesignTimeResolveAssemblyReferences
5773
5774 Given the list of assemblies, resolve their reference paths.
5775 This target is called by Visual Studio at run time in order to filter references
5776 according to the targeted framework.
5777
5778 [IN]
5779 @(DesignTimeReference) - List of assembly references as simple/fusion names.
5780
5781 [OUT]
5782 @(ReferencePath) - Paths to resolved primary files.
5783
5784 ==============================================================
5785 -->
5786 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5787 <DesignTimeResolveAssemblyReferencesDependsOn>
5788 GetFrameworkPaths;
5789 GetReferenceAssemblyPaths;
5790 ResolveReferences
5791 </DesignTimeResolveAssemblyReferencesDependsOn>
5792 </PropertyGroup>
5793 <Target Name="DesignTimeResolveAssemblyReferences" Condition="'$(DesignTimeReference)'!=''" DependsOnTargets="$(DesignTimeResolveAssemblyReferencesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5794 <ItemGroup>
5795 <_DesignTimeReferenceInstalledAssemblyDirectory Include="$(TargetFrameworkDirectory)" />
5796 </ItemGroup>
5797 <PropertyGroup>
5798 <DesignTimeResolveAssemblyReferencesStateFile Condition="'$(DisableRarCache)'!='true'">$(IntermediateOutputPath)$(MSBuildProjectFile)DesignTimeResolveAssemblyReferences.cache</DesignTimeResolveAssemblyReferencesStateFile>
5799 </PropertyGroup>
5800 <PropertyGroup>
5801 <DesignTimeAssemblySearchPaths Condition=" '$(DesignTimeAssemblySearchPaths)' == '' ">
5802 {CandidateAssemblyFiles};
5803 $(ReferencePath);
5804 {HintPathFromItem};
5805 {TargetFrameworkDirectory};
5806 {Registry:$(FrameworkRegistryBase),$(TargetFrameworkVersion),$(AssemblyFoldersSuffix)$(AssemblyFoldersExConditions)};
5807 {RawFileName};
5808 $(OutDir)
5809 </DesignTimeAssemblySearchPaths>
5810 </PropertyGroup>
5811 <PropertyGroup>
5812 <DesignTimeFindDependencies Condition=" '$(DesignTimeFindDependencies)' == '' ">false</DesignTimeFindDependencies>
5813 <DesignTimeIgnoreVersionForFrameworkReferences Condition=" '$(DesignTimeIgnoreVersionForFrameworkReferences)' == '' ">false</DesignTimeIgnoreVersionForFrameworkReferences>
5814 <DesignTimeFindSatellites Condition=" '$(DesignTimeFindSatellites)' == '' ">false</DesignTimeFindSatellites>
5815 <DesignTimeFindSerializationAssemblies Condition=" '$(DesignTimeFindSerializationAssemblies)' == '' ">false</DesignTimeFindSerializationAssemblies>
5816 <DesignTimeFindRelatedFiles Condition=" '$(DesignTimeFindRelatedFiles)' == '' ">false</DesignTimeFindRelatedFiles>
5817 <DesignTimeSilentResolution Condition=" '$(DesignTimeSilentResolution)' == '' and '$(TraceDesignTime)' != 'true'">true</DesignTimeSilentResolution>
5818 <DesignTimeAutoUnify Condition="'$(DesignTimeAutoUnify)' == ''">false</DesignTimeAutoUnify>
5819 </PropertyGroup>
5820 <ItemGroup>
5821 <_DesignTimeReferenceAssemblies Include="$(DesignTimeReference)" />
5822 </ItemGroup>
5823 <ItemGroup>
5824 <_RARResolvedReferencePath Include="@(ReferencePath)" />
5825 <ReferencePath Remove="@(ReferencePath)" />
5826 </ItemGroup>
5827 <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)">
5828 <Output TaskParameter="ResolvedFiles" ItemName="DesignTimeReferencePath" />
5829 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
5830 </ResolveAssemblyReference>
5831 </Target>
5832 <!--
5833 ============================================================
5834 ResolveComReferences
5835
5836 Resolve COM references
5837
5838 [IN]
5839 @(COMReference) - The list of COM references
5840 $(InteropOutputPath) - The output directory in which to generate wrapper assemblies
5841 When $(InteropOutputPath) is not set, then it defaults to $(IntermediateOutputPath).
5842
5843 [OUT]
5844 @(ReferencePath) - Paths to referenced wrappers.
5845
5846 If ResolveComReferences is invoked from the IDE, PrepareForBuild may need to run to create directories.
5847 ============================================================
5848 -->
5849 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5850 <ComReferenceExecuteAsTool Condition="'$(ComReferenceExecuteAsTool)'==''">false</ComReferenceExecuteAsTool>
5851 </PropertyGroup>
5852 <Target Name="ResolveComReferences" Condition="'@(COMReference)'!='' or '@(COMFileReference)'!=''" Returns="@(ReferencePath)" DependsOnTargets="PrepareForBuild;ResolveKeySource;ResolveAssemblyReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5853 <PropertyGroup Condition=" '$(InteropOutputPath)' == '' ">
5854 <InteropOutputPath>$(IntermediateOutputPath)</InteropOutputPath>
5855 </PropertyGroup>
5856 <MakeDir Directories="$(InteropOutputPath)" />
5857 <!--
5858 Note: This task should not be batched, since it relies on having all the COM references fed into it at once.
5859 -->
5860 <PropertyGroup>
5861 <ResolveComReferenceMSBuildArchitecture Condition="'$(ResolveComReferenceMSBuildArchitecture)' == ''">$(PlatformTargetAsMSBuildArchitecture)</ResolveComReferenceMSBuildArchitecture>
5862 <ResolveComReferenceToolPath Condition="'$(ResolveComReferenceToolPath)' == ''">$(TargetFrameworkSDKToolsDirectory)</ResolveComReferenceToolPath>
5863 <ResolveComReferenceSilent Condition="'$(ResolveComReferenceSilent)' == ''">false</ResolveComReferenceSilent>
5864 </PropertyGroup>
5865 <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)">
5866 <Output TaskParameter="ResolvedFiles" ItemName="ReferencePath" />
5867 <Output TaskParameter="ResolvedFiles" ItemName="ComReferenceWrappers" />
5868 <Output TaskParameter="ResolvedFiles" ItemName="FileWrites" />
5869 <!-- This output list only includes items with Isolated attribute set to True. It's done by the task itself. -->
5870 <Output TaskParameter="ResolvedModules" ItemName="ResolvedIsolatedComModules" />
5871 </ResolveComReference>
5872 <ItemGroup>
5873 <FileWrites Include="@(_ResolveComReferenceCache)" />
5874 <ReferenceComWrappersToCopyLocal Include="@(ComReferenceWrappers)" Condition="'%(ComReferenceWrappers.CopyLocal)'!='false'" />
5875 </ItemGroup>
5876 </Target>
5877 <Target Name="ResolveComReferencesDesignTime" Returns="@(ComReferenceWrappers)" DependsOnTargets="ResolveComReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
5878 <!--
5879 ============================================================
5880 ResolveFrameworkReferences
5881
5882 Overrridden by Microsoft.NET.Sdk to return
5883 ResolvedFrameworkReference items in order to populate the
5884 Frameworks node of the Solution Explorer in the IDE.
5885 -->
5886 <Target Name="ResolveFrameworkReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
5887 <!--
5888 ***********************************************************************************************
5889 ***********************************************************************************************
5890 PrepareResources Section
5891 ***********************************************************************************************
5892 ***********************************************************************************************
5893 -->
5894 <!--
5895 ============================================================
5896 PrepareResources
5897
5898 Prepare resources for the Compile step.
5899 ============================================================
5900 -->
5901 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5902 <PrepareResourcesDependsOn>
5903 $(PrepareResourcesDependsOn);
5904 PrepareResourceNames;
5905 ResGen;
5906 CompileLicxFiles
5907 </PrepareResourcesDependsOn>
5908 </PropertyGroup>
5909 <Target Name="PrepareResources" DependsOnTargets="$(PrepareResourcesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
5910 <!--
5911 ============================================================
5912 PrepareResourceNames
5913
5914 Prepare the names of resource files.
5915 ============================================================
5916 -->
5917 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5918 <PrepareResourceNamesDependsOn>
5919 AssignTargetPaths;
5920 SplitResourcesByCulture;
5921 CreateManifestResourceNames;
5922 CreateCustomManifestResourceNames
5923 </PrepareResourceNamesDependsOn>
5924 </PropertyGroup>
5925 <Target Name="PrepareResourceNames" DependsOnTargets="$(PrepareResourceNamesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
5926 <!--
5927 ============================================================
5928 AssignTargetPaths
5929
5930 This target creates <TargetPath> tags for items. <TargetPath> is a relative folder plus filename
5931 for the destination of this item.
5932 ============================================================
5933 -->
5934 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5935 <AssignTargetPathsDependsOn />
5936 </PropertyGroup>
5937 <Target Name="AssignTargetPaths" DependsOnTargets="$(AssignTargetPathsDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5938 <ItemGroup>
5939 <_Temporary Remove="@(_Temporary)" />
5940 </ItemGroup>
5941 <!-- AssignTargetPath generates TargetPath metadata that is consumed by CreateManifestResourceNames target for manifest name generation -->
5942 <AssignTargetPath Files="@(EmbeddedResource)" RootFolder="$(MSBuildProjectDirectory)">
5943 <Output TaskParameter="AssignedFiles" ItemName="_Temporary" />
5944 </AssignTargetPath>
5945 <ItemGroup>
5946 <!-- Replace items in EmbeddedResource with the items emitted by the AssignTargetPath task that have the TargetPath metadata -->
5947 <EmbeddedResource Remove="@(_Temporary)" />
5948 <EmbeddedResource Include="@(_Temporary)" />
5949 <_Temporary Remove="@(_Temporary)" />
5950 </ItemGroup>
5951 <AssignTargetPath Files="@(Content)" RootFolder="$(MSBuildProjectDirectory)">
5952 <Output TaskParameter="AssignedFiles" ItemName="ContentWithTargetPath" />
5953 </AssignTargetPath>
5954 <AssignTargetPath Files="@(None)" RootFolder="$(MSBuildProjectDirectory)">
5955 <Output TaskParameter="AssignedFiles" ItemName="_NoneWithTargetPath" />
5956 </AssignTargetPath>
5957 <AssignTargetPath Files="@(BaseApplicationManifest)" RootFolder="$(MSBuildProjectDirectory)">
5958 <Output TaskParameter="AssignedFiles" ItemName="_DeploymentBaseManifestWithTargetPath" />
5959 </AssignTargetPath>
5960 <AssignTargetPath Files="@(None)" RootFolder="$(MSBuildProjectDirectory)" Condition="'@(_DeploymentBaseManifestWithTargetPath)'=='' and '%(None.Extension)'=='.manifest'">
5961 <Output TaskParameter="AssignedFiles" ItemName="_DeploymentBaseManifestWithTargetPath" />
5962 </AssignTargetPath>
5963 </Target>
5964 <!--
5965 ============================================================
5966 GetItemTargetPaths
5967
5968 This target returns all items that have TargetPath metadata assigned by the AssignTargetPaths target.
5969 ============================================================
5970 -->
5971 <Target Name="GetItemTargetPaths" DependsOnTargets="AssignTargetPaths" Returns="&#xD;&#xA; @(EmbeddedResource);&#xD;&#xA; @(ContentWithTargetPath);&#xD;&#xA; @(_NoneWithTargetPath);&#xD;&#xA; @(_DeploymentBaseManifestWithTargetPath);&#xD;&#xA; " xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
5972 <!--
5973 ============================================================
5974 SplitResourcesByCulture
5975
5976 Split EmbeddedResource items into five lists based on whether
5977 they are resx files, licx files or other resources and whether they should be localized. Also adds Type and Culture
5978 metadata. Type indicates whether the resource is "Resx" or "Non-Resx".
5979
5980 [IN]/[OUT]
5981 @(EmbeddedResource) - The raw list of resources.
5982
5983 [OUT]
5984 @(_LicxFile) - The EmbeddedResource items with extension equal to '.licx'.
5985 ============================================================
5986 -->
5987 <Target Name="SplitResourcesByCulture" DependsOnTargets="AssignTargetPaths" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5988 <Warning Condition="'@(ResxWithNoCulture)'!=''" Code="MSB9000" Text="ResxWithNoCulture item type is deprecated. Use EmbeddedResource items instead." />
5989 <Warning Condition="'@(ResxWithCulture)'!=''" Code="MSB9001" Text="ResxWithCulture item type is deprecated. Use EmbeddedResource items instead." />
5990 <Warning Condition="'@(NonResxWithCulture)'!=''" Code="MSB9002" Text="NonResxWithCulture item type is deprecated. Use EmbeddedResource items instead." />
5991 <Warning Condition="'@(NonResxWithNoCulture)'!=''" Code="MSB9003" Text="NonResxWithNoCulture item type is deprecated. Use EmbeddedResource items instead." />
5992 <ItemGroup>
5993 <_LicxFile Include="@(EmbeddedResource)" Condition="'%(Extension)'=='.licx'" />
5994 <!-- CONSUMED FOR COMPATIBILITY REASONS ONLY. EMIT EMBEDDEDRESOURCE INSTEAD -->
5995 <EmbeddedResource Include="@(ResxWithNoCulture);@(ResxWithCulture)">
5996 <Type>Resx</Type>
5997 </EmbeddedResource>
5998 <EmbeddedResource Include="@(NonResxWithCulture);@(NonResxWithNoCulture)">
5999 <Type>Non-Resx</Type>
6000 </EmbeddedResource>
6001 </ItemGroup>
6002 <AssignCulture Files="@(EmbeddedResource)" Condition="'%(Extension)'!='.licx'">
6003 <!-- Create the list of culture resx and embedded resource files -->
6004 <Output TaskParameter="AssignedFilesWithCulture" ItemName="_MixedResourceWithCulture" />
6005 <!-- Create the list of non-culture resx and embedded resource files -->
6006 <Output TaskParameter="AssignedFilesWithNoCulture" ItemName="_MixedResourceWithNoCulture" />
6007 </AssignCulture>
6008 <ItemGroup>
6009 <!-- Remove EmbeddedResource items that we have processed already
6010 i.e. either Licx, or resources that don't have culture info -->
6011 <EmbeddedResource Remove="@(_MixedResourceWithCulture)" />
6012 <EmbeddedResource Remove="@(_MixedResourceWithNoCulture)" />
6013 <EmbeddedResource Remove="@(_LicxFile)" />
6014 <!-- Add back everything except Licx, so that we have culture info -->
6015 <EmbeddedResource Include="@(_MixedResourceWithNoCulture);@(_MixedResourceWithCulture)" Condition="'%(Extension)'=='.resx' or '%(Extension)'=='.restext'">
6016 <Type Condition="'%(_MixedResourceWithNoCulture.Type)'=='' and '%(_MixedResourceWithCulture.Type)'==''">Resx</Type>
6017 </EmbeddedResource>
6018 <EmbeddedResource Include="@(_MixedResourceWithNoCulture);@(_MixedResourceWithCulture)" Condition="'%(Extension)'!='.resx' and '%(Extension)'!='.restext'">
6019 <Type Condition="'%(_MixedResourceWithNoCulture.Type)'=='' and '%(_MixedResourceWithCulture.Type)'==''">Non-Resx</Type>
6020 </EmbeddedResource>
6021 <!-- EMITTED FOR COMPATIBILITY REASONS ONLY. CONSUME EMBEDDEDRESOURCE INSTEAD -->
6022 <ResxWithNoCulture Remove="@(ResxWithNoCulture)" />
6023 <NonResxWithNoCulture Remove="@(NonResxWithNoCulture)" />
6024 <ResxWithCulture Remove="@(ResxWithCulture)" />
6025 <NonResxWithCulture Remove="@(NonResxWithCulture)" />
6026 <ResxWithNoCulture Include="@(_MixedResourceWithNoCulture)" Condition="'%(WithCulture)'=='false' and ('%(Extension)'=='.resx' or '%(Extension)'=='.restext')" />
6027 <NonResxWithNoCulture Include="@(_MixedResourceWithNoCulture)" Condition="'%(WithCulture)'=='false' and ('%(Extension)'!='.resx' and '%(Extension)'!='.restext')" />
6028 <ResxWithCulture Include="@(_MixedResourceWithCulture)" Condition="'%(WithCulture)'=='true' and ('%(Extension)'=='.resx' or '%(Extension)'=='.restext')" />
6029 <NonResxWithCulture Include="@(_MixedResourceWithCulture)" Condition="'%(WithCulture)'=='true' and ('%(Extension)'!='.resx' and '%(Extension)'!='.restext')" />
6030 <!-- Clean up temporary lists -->
6031 <_MixedResourceWithNoCulture Remove="@(_MixedResourceWithNoCulture)" />
6032 <_MixedResourceWithCulture Remove="@(_MixedResourceWithCulture)" />
6033 </ItemGroup>
6034 </Target>
6035 <!--
6036 =======================================================================
6037 CreateCustomManifestResourceNames
6038
6039 Allows custom manifest resource name generation tasks to plug
6040 into the build process
6041 =======================================================================
6042 -->
6043 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6044 <CreateCustomManifestResourceNamesDependsOn />
6045 </PropertyGroup>
6046 <Target Name="CreateCustomManifestResourceNames" DependsOnTargets="$(CreateCustomManifestResourceNamesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
6047 <!--
6048 ============================================================
6049 ResGen
6050
6051 Run GenerateResource on the given resx files.
6052
6053 ============================================================
6054 -->
6055 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6056 <ResGenDependsOn>ResolveAssemblyReferences;SplitResourcesByCulture;BeforeResGen;CoreResGen;AfterResGen</ResGenDependsOn>
6057 <CoreResGenDependsOn>FindReferenceAssembliesForReferences</CoreResGenDependsOn>
6058 <UseSourcePath Condition="'$(UseSourcePath)'==''">true</UseSourcePath>
6059 <ResGenExecuteAsTool Condition="'$(ResGenExecuteAsTool)'==''">false</ResGenExecuteAsTool>
6060 </PropertyGroup>
6061 <Target Name="ResGen" DependsOnTargets="$(ResGenDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
6062 <!--
6063 ============================================================
6064 BeforeResGen
6065
6066 Redefine this target in your project in order to run tasks just before Resgen.
6067 ============================================================
6068 -->
6069 <Target Name="BeforeResGen" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
6070 <!--
6071 ============================================================
6072 AfterResGen
6073
6074 Redefine this target in your project in order to run tasks just after Resgen.
6075 ============================================================
6076 -->
6077 <Target Name="AfterResGen" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
6078 <!--
6079 ============================================================
6080 CoreResGen
6081 ============================================================
6082 -->
6083 <Target Name="CoreResGen" DependsOnTargets="$(CoreResGenDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6084 <ItemGroup>
6085 <_Temporary Remove="@(_Temporary)" />
6086 </ItemGroup>
6087 <PropertyGroup>
6088 <GenerateResourceMSBuildArchitecture Condition="'$(GenerateResourceMSBuildArchitecture)' == ''">$(PlatformTargetAsMSBuildArchitecture)</GenerateResourceMSBuildArchitecture>
6089 <ResgenToolPath Condition="'$(ResgenToolPath)' == ''">$(TargetFrameworkSDKToolsDirectory)</ResgenToolPath>
6090 </PropertyGroup>
6091 <PropertyGroup Condition="'$(TargetFrameworkAsMSBuildRuntime)' != '' and '$(GenerateResourceMSBuildArchitecture)' != ''">
6092 <!-- 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
6093 user know there's something wrong than just silently generate something that's probably not quite right. However, in a few
6094 circumstances, there are tasks that are already aware of runtime / bitness concerns, in which case even if we go ahead and run
6095 the more recent version of the task, it should be able to generate something correct. GenerateResource is one such task, so
6096 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
6097 back to the current task since it's still mostly correct.
6098
6099 In particular, we need to do this because otherwise people with Dev10 on a machine that they upgrade to Win8 will be broken:
6100 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
6101 the 8.0A SDK, which they won't have installed, and thus without this fallback mechanism, their projects targeting v3.5 will
6102 suddenly start failing to build.-->
6103 <GenerateResourceMSBuildRuntime Condition="'$(GenerateResourceMSBuildRuntime)' == '' and&#xD;&#xA; $([MSBuild]::DoesTaskHostExist(`$(TargetFrameworkAsMSBuildRuntime)`, `$(GenerateResourceMSBuildArchitecture)`))">$(TargetFrameworkAsMSBuildRuntime)</GenerateResourceMSBuildRuntime>
6104 <!-- If the targeted runtime doesn't exist, fall back to current -->
6105 <GenerateResourceMSBuildRuntime Condition="'$(GenerateResourceMSBuildRuntime)' == ''">CurrentRuntime</GenerateResourceMSBuildRuntime>
6106 </PropertyGroup>
6107 <!-- 4.0 task has some new parameters that we want to make use of if we're targeting 4.0 -->
6108 <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)" MSBuildRuntime="$(GenerateResourceMSBuildRuntime)" MSBuildArchitecture="$(GenerateResourceMSBuildArchitecture)">
6109 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
6110 <Output TaskParameter="StronglyTypedFileName" ItemName="Compile" />
6111 <!-- Gather Sources as an output since it will contain OutputResource metadata indicating the final output resource that it was compiled into -->
6112 <Output TaskParameter="Sources" ItemName="_Temporary" />
6113 </GenerateResource>
6114 <!-- But we can't use those parameters if we're targeting 3.5, since we're using the 3.5 task -->
6115 <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'">
6116 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
6117 <Output TaskParameter="StronglyTypedFileName" ItemName="Compile" />
6118 <!-- Gather Sources as an output since it will contain OutputResource metadata indicating the final output resource that it was compiled into -->
6119 <Output TaskParameter="Sources" ItemName="_Temporary" />
6120 </GenerateResource>
6121 <ItemGroup>
6122 <EmbeddedResource Remove="@(_Temporary)" />
6123 <!-- Add back the Sources list (with OutputResource metadata) that we output from GenerateResource into EmbeddedResource -->
6124 <EmbeddedResource Include="@(_Temporary)" />
6125 <_Temporary Remove="@(_Temporary)" />
6126 <!-- EMITTED FOR COMPATIBILITY REASONS ONLY. CONSUME EMBEDDEDRESOURCE INSTEAD -->
6127 <ManifestResourceWithNoCulture Include="@(EmbeddedResource->'%(OutputResource)')" Condition="'%(EmbeddedResource.WithCulture)'=='false' and '%(EmbeddedResource.Type)' == 'Resx'">
6128 <EmittedForCompatibilityOnly>true</EmittedForCompatibilityOnly>
6129 </ManifestResourceWithNoCulture>
6130 <ManifestNonResxWithNoCultureOnDisk Include="@(EmbeddedResource)" Condition="'%(EmbeddedResource.WithCulture)'=='false' and '%(EmbeddedResource.Type)' == 'Non-Resx'">
6131 <EmittedForCompatibilityOnly>true</EmittedForCompatibilityOnly>
6132 </ManifestNonResxWithNoCultureOnDisk>
6133 <!-- EMITTED FOR COMPATIBILITY REASONS ONLY. CONSUME EMBEDDEDRESOURCE INSTEAD -->
6134 <ManifestResourceWithCulture Include="@(EmbeddedResource->'%(OutputResource)')" Condition="'%(EmbeddedResource.WithCulture)'=='true' and '%(EmbeddedResource.Type)' == 'Resx'">
6135 <EmittedForCompatibilityOnly>true</EmittedForCompatibilityOnly>
6136 </ManifestResourceWithCulture>
6137 <ManifestNonResxWithCultureOnDisk Include="@(EmbeddedResource)" Condition="'%(EmbeddedResource.WithCulture)'=='true' and '%(EmbeddedResource.Type)' == 'Non-Resx'">
6138 <EmittedForCompatibilityOnly>true</EmittedForCompatibilityOnly>
6139 </ManifestNonResxWithCultureOnDisk>
6140 </ItemGroup>
6141 </Target>
6142 <!--
6143 ============================================================
6144 CompileLicxFiles
6145
6146 Compile .licx files (containing information about licensed controls used by the application) into .licenses files.
6147
6148 [IN]
6149 @(_LicxFile) - The list of .licx files in the project (usually there will be just one)
6150
6151 [OUT]
6152 @(CompiledLicenseFile) - The list of compiled .licenses files (there will be just one)
6153 ============================================================
6154 -->
6155 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6156 <CompileLicxFilesDependsOn />
6157 </PropertyGroup>
6158 <Target Name="CompileLicxFiles" Condition="'@(_LicxFile)'!=''" DependsOnTargets="$(CompileLicxFilesDependsOn)" Inputs="$(MSBuildAllProjects);@(_LicxFile);@(ReferencePathWithRefAssemblies);@(ReferenceDependencyPaths)" Outputs="$(IntermediateOutputPath)$(TargetFileName).licenses" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6159 <PropertyGroup>
6160 <LCMSBuildArchitecture Condition="'$(LCMSBuildArchitecture)' == ''">$(PlatformTargetAsMSBuildArchitecture)</LCMSBuildArchitecture>
6161 </PropertyGroup>
6162 <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)">
6163 <Output TaskParameter="OutputLicense" ItemName="CompiledLicenseFile" />
6164 <Output TaskParameter="OutputLicense" ItemName="FileWrites" />
6165 </LC>
6166 </Target>
6167 <!--
6168 ***********************************************************************************************
6169 ***********************************************************************************************
6170 ResolveKeySource Section
6171 ***********************************************************************************************
6172 ***********************************************************************************************
6173 -->
6174 <!--
6175 ============================================================
6176 ResolveKeySource
6177
6178 Resolve the strong name key used to sign the assembly as well as the certificate used to
6179 sign the ClickOnce manifests.
6180
6181 [IN]
6182 $(AssemblyOriginatorKeyFile) - The file used to sign the assembly (.snk or .pfx)
6183 $(ManifestCertificateThumbprint) - The thumbprint used to locate the certificate in the
6184 user's certificate store.
6185 $(ManifestKeyFile) - The key file that contains the certificate in case the
6186 certificate is not in the user's store.
6187
6188 [OUT]
6189 $(ResolvedAssemblyKeyFile) - Key used to sign the assembly
6190 $(_DeploymentResolvedManifestCertificateThumbprint) - Certificate used to sign the manifests
6191 ============================================================
6192 -->
6193 <Target Name="ResolveKeySource" Condition="$(SignManifests) == 'true' or $(SignAssembly) == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6194 <ResolveKeySource KeyFile="$(AssemblyOriginatorKeyFile)" CertificateThumbprint="$(ManifestCertificateThumbprint)" CertificateFile="$(ManifestKeyFile)" SuppressAutoClosePasswordPrompt="$(BuildingInsideVisualStudio)" ShowImportDialogDespitePreviousFailures="$(BuildingProject)" ContinueOnError="!$(BuildingProject)">
6195 <Output TaskParameter="ResolvedKeyFile" PropertyName="KeyOriginatorFile" Condition=" '$(SignAssembly)' == 'true' " />
6196 <Output TaskParameter="ResolvedKeyContainer" PropertyName="KeyContainerName" Condition=" '$(SignAssembly)' == 'true' " />
6197 <Output TaskParameter="ResolvedThumbprint" PropertyName="_DeploymentResolvedManifestCertificateThumbprint" Condition=" '$(SignManifests)' == 'true' " />
6198 </ResolveKeySource>
6199 </Target>
6200 <!--
6201 ***********************************************************************************************
6202 ***********************************************************************************************
6203 Compile Section
6204 ***********************************************************************************************
6205 ***********************************************************************************************
6206 -->
6207 <!--
6208 ============================================================
6209 Compile
6210 ============================================================
6211 -->
6212 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6213 <CompileDependsOn>
6214 ResolveReferences;
6215 ResolveKeySource;
6216 SetWin32ManifestProperties;
6217 FindReferenceAssembliesForReferences;
6218 _GenerateCompileInputs;
6219 BeforeCompile;
6220 _TimeStampBeforeCompile;
6221 _GenerateCompileDependencyCache;
6222 CoreCompile;
6223 _TimeStampAfterCompile;
6224 AfterCompile;
6225 </CompileDependsOn>
6226 </PropertyGroup>
6227 <Target Name="Compile" DependsOnTargets="$(CompileDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
6228 <!--
6229 ============================================================
6230 _GenerateCompileInputs
6231
6232 Create the _CoreCompileResourceInputs list of inputs to the CoreCompile target.
6233 ============================================================
6234 -->
6235 <Target Name="_GenerateCompileInputs" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6236 <Warning Condition="'@(ManifestResourceWithNoCulture)'!='' and '%(ManifestResourceWithNoCulture.EmittedForCompatibilityOnly)'==''" Code="MSB9004" Text="ManifestResourceWithNoCulture item type is deprecated. Emit EmbeddedResource items instead, with metadata WithCulture='false', Type='Resx', and optional LogicalName." />
6237 <Warning Condition="'@(ManifestNonResxWithNoCultureOnDisk)'!='' and '%(ManifestNonResxWithNoCultureOnDisk.EmittedForCompatibilityOnly)'==''" Code="MSB9005" Text="ManifestNonResxWithNoCultureOnDisk item type is deprecated. Emit EmbeddedResource items instead, with metadata WithCulture='false', Type='Non-Resx', and optional LogicalName." />
6238 <ItemGroup>
6239 <!-- _CoreCompileResourceInputs is the list of TLDA inputs that should trigger CoreCompile, and are listed as inputs to that target -->
6240 <_CoreCompileResourceInputs Include="@(EmbeddedResource->'%(OutputResource)')" Condition="'%(EmbeddedResource.WithCulture)' == 'false' and '%(EmbeddedResource.Type)' == 'Resx'" />
6241 <_CoreCompileResourceInputs Include="@(EmbeddedResource)" Condition="'%(EmbeddedResource.WithCulture)' == 'false' and '%(EmbeddedResource.Type)' == 'Non-Resx' " />
6242 <!-- CONSUMED FOR COMPATIBILITY REASONS ONLY. EMIT EMBEDDEDRESOURCE INSTEAD -->
6243 <_CoreCompileResourceInputs Include="@(ManifestResourceWithNoCulture)" Condition="'%(ManifestResourceWithNoCulture.EmittedForCompatibilityOnly)'==''">
6244 <Type>Resx</Type>
6245 <WithCulture>false</WithCulture>
6246 </_CoreCompileResourceInputs>
6247 <_CoreCompileResourceInputs Include="@(ManifestNonResxWithNoCultureOnDisk)" Condition="'%(ManifestNonResxWithNoCultureOnDisk.EmittedForCompatibilityOnly)'==''">
6248 <Type>Non-Resx</Type>
6249 <WithCulture>false</WithCulture>
6250 </_CoreCompileResourceInputs>
6251 </ItemGroup>
6252 </Target>
6253 <!--
6254 ============================================================
6255 GenerateTargetFrameworkMonikerAttribute
6256
6257 Emit the target framework moniker attribute as a code fragment into a temporary source file for the compiler.
6258 ============================================================
6259 -->
6260 <PropertyGroup Condition="'$(TargetFrameworkMoniker)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6261 <!-- Do not clean if we are going to default the path to the temp directory -->
6262 <TargetFrameworkMonikerAssemblyAttributesFileClean Condition="'$(TargetFrameworkMonikerAssemblyAttributesFileClean)' == '' and '$(TargetFrameworkMonikerAssemblyAttributesPath)' != ''">true</TargetFrameworkMonikerAssemblyAttributesFileClean>
6263 <TargetFrameworkMonikerAssemblyAttributesPath Condition="'$(TargetFrameworkMonikerAssemblyAttributesPath)' == ''">$([System.IO.Path]::Combine('$(IntermediateOutputPath)','$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension)'))</TargetFrameworkMonikerAssemblyAttributesPath>
6264 </PropertyGroup>
6265 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6266 <GenerateTargetFrameworkAttribute Condition="'$(GenerateTargetFrameworkAttribute)' == '' and '$(TargetFrameworkMoniker)' != '' and '$(TargetingClr2Framework)' != 'true'">true</GenerateTargetFrameworkAttribute>
6267 </PropertyGroup>
6268 <ItemGroup Condition="'$(TargetFrameworkMonikerAssemblyAttributesFileClean)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6269 <Clean Include="$(TargetFrameworkMonikerAssemblyAttributesPath)" />
6270 </ItemGroup>
6271 <Target Name="GenerateTargetFrameworkMonikerAttribute" BeforeTargets="BeforeCompile" DependsOnTargets="PrepareForBuild;GetReferenceAssemblyPaths" Inputs="$(MSBuildToolsPath)\Microsoft.Common.targets" Outputs="$(TargetFrameworkMonikerAssemblyAttributesPath)" Condition="'$(GenerateTargetFrameworkAttribute)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6272 <!-- This is a file shared between projects so we have to take care to handle simultaneous writes (by ContinueOnError)
6273 and a race between clean from one project and build from another (by not adding to FilesWritten so it doesn't clean) -->
6274 <WriteLinesToFile File="$(TargetFrameworkMonikerAssemblyAttributesPath)" Lines="$(TargetFrameworkMonikerAssemblyAttributeText)" Overwrite="true" ContinueOnError="true" Condition="'@(Compile)' != '' and '$(TargetFrameworkMonikerAssemblyAttributeText)' != ''" />
6275 <ItemGroup Condition="'@(Compile)' != '' and '$(TargetFrameworkMonikerAssemblyAttributeText)' != ''">
6276 <Compile Include="$(TargetFrameworkMonikerAssemblyAttributesPath)" />
6277 <!-- 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 -->
6278 </ItemGroup>
6279 </Target>
6280 <!--
6281 ============================================================
6282 GenerateAdditionalSources
6283
6284 Emit any specified code fragments into a temporary source file for the compiler.
6285 ============================================================
6286 -->
6287 <PropertyGroup Condition="'$(AssemblyAttributesPath)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6288 <GenerateAdditionalSources Condition="'$(GenerateAdditionalSources)' == ''">true</GenerateAdditionalSources>
6289 </PropertyGroup>
6290 <ItemGroup Condition="'$(AssemblyAttributesPath)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6291 <Clean Include="$(AssemblyAttributesPath)" Condition="'$(AssemblyAttributesFileClean)' != 'false'" />
6292 </ItemGroup>
6293 <Target Name="GenerateAdditionalSources" BeforeTargets="BeforeCompile" DependsOnTargets="PrepareForBuild;GetReferenceAssemblyPaths" Inputs="$(MSBuildAllProjects)" Outputs="$(AssemblyAttributesPath)" Condition="'@(AssemblyAttributes)' != '' and '$(GenerateAdditionalSources)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6294 <WriteCodeFragment AssemblyAttributes="@(AssemblyAttributes)" OutputFile="$(AssemblyAttributesPath)" Language="$(Language)">
6295 <Output TaskParameter="OutputFile" ItemName="Compile" />
6296 <Output TaskParameter="OutputFile" ItemName="FileWrites" />
6297 </WriteCodeFragment>
6298 </Target>
6299 <!--
6300 ============================================================
6301 BeforeCompile
6302
6303 Redefine this target in your project in order to run tasks just before Compile.
6304 ============================================================
6305 -->
6306 <Target Name="BeforeCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
6307 <!--
6308 ============================================================
6309 AfterCompile
6310
6311 Redefine this target in your project in order to run tasks just after Compile.
6312 ============================================================
6313 -->
6314 <Target Name="AfterCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
6315 <!--
6316 ============================================================
6317 _TimeStampBeforeCompile
6318
6319 If post-build events are set to fire "OnOutputUpdated", then take before
6320 and after timestamps so that we can compare them.
6321 ============================================================
6322 -->
6323 <Target Name="_TimeStampBeforeCompile" Condition="'$(RunPostBuildEvent)'=='OnOutputUpdated' or ('$(RegisterForComInterop)'=='true' and '$(OutputType)'=='library')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6324 <PropertyGroup>
6325 <_AssemblyTimestampBeforeCompile>%(IntermediateAssembly.ModifiedTime)</_AssemblyTimestampBeforeCompile>
6326 </PropertyGroup>
6327 </Target>
6328 <!--
6329 ============================================================
6330 _GenerateCompileDependencyCache
6331
6332 Generate a file used to track compiler dependencies between incremental build
6333 executions. This handles cases where items are added or removed from a glob (e.g.
6334 <Compile Include="**\*.cs" />) and can't otherwise be detected with timestamp
6335 comparisons. The file contains a hash of compiler inputs that are known to
6336 contribute to incremental build inconsistencies.
6337 ============================================================
6338 -->
6339 <Target Name="_GenerateCompileDependencyCache" Condition="'$(DesignTimeBuild)' != 'true' and '$(BuildingProject)' == 'true'" DependsOnTargets="ResolveAssemblyReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6340 <ItemGroup>
6341 <CustomAdditionalCompileInputs Include="$(IntermediateOutputPath)$(MSBuildProjectFile).CoreCompileInputs.cache" />
6342 <CoreCompileCache Include="@(Compile)" />
6343 <CoreCompileCache Include="@(ReferencePath)" />
6344 <CoreCompileCache Include="$(DefineConstants)" />
6345 </ItemGroup>
6346 <Hash ItemsToHash="@(CoreCompileCache)" IgnoreCase="$([MSBuild]::ValueOrDefault(`$(CoreCompileCacheIgnoreCase)`, `true`))">
6347 <Output TaskParameter="HashResult" PropertyName="CoreCompileDependencyHash" />
6348 </Hash>
6349 <WriteLinesToFile Lines="$(CoreCompileDependencyHash)" File="$(IntermediateOutputPath)$(MSBuildProjectFile).CoreCompileInputs.cache" Overwrite="True" WriteOnlyWhenDifferent="True" />
6350 <ItemGroup>
6351 <FileWrites Include="$(IntermediateOutputPath)$(MSBuildProjectFile).CoreCompileInputs.cache" />
6352 </ItemGroup>
6353 </Target>
6354 <!--
6355 ============================================================
6356 _TimeStampAfterCompile
6357
6358 If post-build events are set to fire "OnOutputUpdated", then take before
6359 and after timestamps so that we can compare them.
6360 ============================================================
6361 -->
6362 <Target Name="_TimeStampAfterCompile" Condition="'$(RunPostBuildEvent)'=='OnOutputUpdated' or ('$(RegisterForComInterop)'=='true' and '$(OutputType)'=='library')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6363 <PropertyGroup>
6364 <_AssemblyTimestampAfterCompile>%(IntermediateAssembly.ModifiedTime)</_AssemblyTimestampAfterCompile>
6365 </PropertyGroup>
6366 </Target>
6367 <!--
6368 ================================================================
6369 _ComputeNonExistentFileProperty
6370
6371 There are certain situations in which we want to always run the CoreCompile target (and
6372 thus the Csc task), even if the timestamps of the outputs appear to be up-to-date on disk.
6373 If we're inside the IDE during design-time, then the Csc/Vbc/Vjc task is simply being used to
6374 initialize the host compiler, so we always want to run it. Also, if we're inside the IDE, and
6375 the host compiler is responsible for doing the compilation during an actual build, we want to let
6376 the host compiler determine whether the output is up-to-date, because there may be source files
6377 in the IDE's in-memory buffers that we don't know about.
6378
6379 So, we always run the CoreCompile target if we're in the IDE, and either we're in design-time or
6380 we're delegating to the host compiler for the actual build.
6381
6382 We compare against BuildOutOfProcess != true because we cannot assume that the build process will
6383 have set BuildOutOfProcess to true or false. Therefore the default behavior should be to do the
6384 legacy behavior seen before BuildingOutOfProcess was introduced if the property is not set.
6385 ================================================================
6386 -->
6387 <Target Name="_ComputeNonExistentFileProperty" Condition="('$(BuildingInsideVisualStudio)' == 'true') and ('$(BuildingOutOfProcess)' != 'true') and (('$(BuildingProject)' == 'false') or ('$(UseHostCompilerIfAvailable)' == 'true'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6388 <PropertyGroup>
6389 <NonExistentFile>__NonExistentSubDir__\__NonExistentFile__</NonExistentFile>
6390 </PropertyGroup>
6391 </Target>
6392 <!--
6393 ***********************************************************************************************
6394 ***********************************************************************************************
6395 GenerateSerializationAssemblies Section
6396 ***********************************************************************************************
6397 ***********************************************************************************************
6398 -->
6399 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6400 <_SGenDllName>$(TargetName).XmlSerializers.dll</_SGenDllName>
6401 <_SGenDllCreated>false</_SGenDllCreated>
6402 <_SGenGenerateSerializationAssembliesConfig>$(GenerateSerializationAssemblies)</_SGenGenerateSerializationAssembliesConfig>
6403 <_SGenGenerateSerializationAssembliesConfig Condition="'$(GenerateSerializationAssemblies)' == ''">Auto</_SGenGenerateSerializationAssembliesConfig>
6404 <_SGenGenerateSerializationAssembliesConfig Condition="'$(ConfigurationName)'=='Debug' and '$(_SGenGenerateSerializationAssembliesConfig)' == 'Auto'">Off</_SGenGenerateSerializationAssembliesConfig>
6405 <SGenUseProxyTypes Condition="'$(SGenUseProxyTypes)' == ''">true</SGenUseProxyTypes>
6406 <SGenUseKeep Condition="'$(SGenUseKeep)'==''">false</SGenUseKeep>
6407 <SGenShouldGenerateSerializer Condition="'$(SGenShouldGenerateSerializer)' == ''">true</SGenShouldGenerateSerializer>
6408 </PropertyGroup>
6409 <!--
6410 ============================================================
6411 GenerateSerializationAssemblies
6412
6413 Run GenerateSerializationAssemblies on the assembly produced by this build.
6414
6415 [IN]
6416 @(BuildAssemblyName) - The assembly generated by this build.
6417 @(BuildAssemblyPath) - The path where the assembly resides.
6418 @(ReferencePath) - The list of references used by this assembly.
6419
6420 [OUT]
6421 @(SerializationAssembly) - The path to the serialization assembly. Maybe we'll just append to an existing list.
6422 ============================================================
6423 -->
6424 <Target Name="GenerateSerializationAssemblies" Condition="'$(_SGenGenerateSerializationAssembliesConfig)' == 'On' or ('@(WebReferenceUrl)'!='' and '$(_SGenGenerateSerializationAssembliesConfig)' == 'Auto')" DependsOnTargets="AssignTargetPaths;Compile;ResolveKeySource" Inputs="$(MSBuildAllProjects);@(IntermediateAssembly)" Outputs="$(IntermediateOutputPath)$(_SGenDllName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6425 <PropertyGroup>
6426 <SGenMSBuildArchitecture Condition="'$(SGenMSBuildArchitecture)' == ''">$(PlatformTargetAsMSBuildArchitecture)</SGenMSBuildArchitecture>
6427 </PropertyGroup>
6428 <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)">
6429 <Output TaskParameter="SerializationAssembly" ItemName="SerializationAssembly" />
6430 </SGen>
6431 </Target>
6432 <!--
6433 ***********************************************************************************************
6434 ***********************************************************************************************
6435 CreateSatelliteAssemblies Section
6436 ***********************************************************************************************
6437 ***********************************************************************************************
6438 -->
6439 <!--
6440 ============================================================
6441 CreateSatelliteAssemblies
6442
6443 Create one satellite assembly for every unique culture in the resources.
6444 ============================================================
6445 -->
6446 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6447 <CreateSatelliteAssembliesDependsOn>
6448 _GenerateSatelliteAssemblyInputs;
6449 ComputeIntermediateSatelliteAssemblies;
6450 GenerateSatelliteAssemblies
6451 </CreateSatelliteAssembliesDependsOn>
6452 </PropertyGroup>
6453 <Target Name="CreateSatelliteAssemblies" DependsOnTargets="$(CreateSatelliteAssembliesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
6454 <!--
6455 ============================================================
6456 _GenerateSatelliteAssemblyInputs
6457
6458 Create the _SatelliteAssemblyResourceInputs list of inputs to the CreateSatelliteAssemblies target.
6459 ============================================================
6460 -->
6461 <Target Name="_GenerateSatelliteAssemblyInputs" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6462 <Warning Condition="'@(ManifestResourceWithCulture)'!='' and '%(ManifestResourceWithCulture.EmittedForCompatibilityOnly)'==''" Code="MSB9006" Text="ManifestResourceWithCulture item type is deprecated. Emit EmbeddedResource items instead, with metadata WithCulture='true', Type='Resx', and optional LogicalName." />
6463 <Warning Condition="'@(ManifestNonResxWithCultureOnDisk)'!='' and '%(ManifestNonResxWithCultureOnDisk.EmittedForCompatibilityOnly)'==''" Code="MSB9007" Text="ManifestNonResxWithCultureOnDisk item type is deprecated. Emit EmbeddedResource items instead, with metadata WithCulture='true', Type='Non-Resx', and optional LogicalName." />
6464 <ItemGroup>
6465 <!-- _SatelliteAssemblyResourceInputs is the list of TLDA inputs that should trigger CreateSatelliteAssemblies, so listed as inputs to that target -->
6466 <_SatelliteAssemblyResourceInputs Include="@(EmbeddedResource->'%(OutputResource)')" Condition="'%(EmbeddedResource.WithCulture)' == 'true' and '%(EmbeddedResource.Type)' == 'Resx'" />
6467 <_SatelliteAssemblyResourceInputs Include="@(EmbeddedResource)" Condition="'%(EmbeddedResource.WithCulture)' == 'true' and '%(EmbeddedResource.Type)' == 'Non-Resx'" />
6468 <!-- CONSUMED FOR COMPATIBILITY REASONS ONLY. EMIT EMBEDDEDRESOURCE INSTEAD -->
6469 <_SatelliteAssemblyResourceInputs Include="@(ManifestResourceWithCulture)" Condition="'%(ManifestResourceWithCulture.EmittedForCompatibilityOnly)'==''">
6470 <Type>Resx</Type>
6471 <WithCulture>true</WithCulture>
6472 </_SatelliteAssemblyResourceInputs>
6473 <_SatelliteAssemblyResourceInputs Include="@(ManifestNonResxWithCultureOnDisk)" Condition="'%(ManifestNonResxWithCultureOnDisk.EmittedForCompatibilityOnly)'==''">
6474 <Type>Non-Resx</Type>
6475 <WithCulture>true</WithCulture>
6476 </_SatelliteAssemblyResourceInputs>
6477 </ItemGroup>
6478 </Target>
6479 <!--
6480 ============================================================
6481 GenerateSatelliteAssemblies
6482
6483 Actually run al.exe to create the satellite assemblies.
6484 ============================================================
6485 -->
6486 <Target Name="GenerateSatelliteAssemblies" 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">
6487 <PropertyGroup>
6488 <_ALExeToolPath>$(TargetFrameworkSDKToolsDirectory)</_ALExeToolPath>
6489 <_ALExeToolPath Condition="'$(PlatformTarget)' == 'x64'">$(TargetFrameworkSDKToolsDirectory)$(PlatformTarget)\</_ALExeToolPath>
6490 </PropertyGroup>
6491 <MakeDir Directories="@(EmbeddedResource->'$(IntermediateOutputPath)%(Culture)')" />
6492 <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)">
6493 <Output TaskParameter="OutputAssembly" ItemName="FileWrites" />
6494 </AL>
6495 </Target>
6496 <!--
6497 ============================================================
6498 ComputeIntermediateSatelliteAssemblies
6499
6500 Compute the paths to the intermediate satellite assemblies,
6501 with culture attributes so we can copy them to the right place.
6502 ============================================================
6503 -->
6504 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6505 <ComputeIntermediateSatelliteAssembliesDependsOn>
6506 CreateManifestResourceNames
6507 </ComputeIntermediateSatelliteAssembliesDependsOn>
6508 </PropertyGroup>
6509 <Target Name="ComputeIntermediateSatelliteAssemblies" Condition="@(EmbeddedResource->'%(WithCulture)') != ''" DependsOnTargets="$(ComputeIntermediateSatelliteAssembliesDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6510 <ItemGroup>
6511 <IntermediateSatelliteAssembliesWithTargetPath Include="$(IntermediateOutputPath)%(EmbeddedResource.Culture)\$(TargetName).resources.dll" Condition="'%(EmbeddedResource.Culture)' != ''">
6512 <Culture>%(EmbeddedResource.Culture)</Culture>
6513 <TargetPath>%(EmbeddedResource.Culture)\$(TargetName).resources.dll</TargetPath>
6514 </IntermediateSatelliteAssembliesWithTargetPath>
6515 </ItemGroup>
6516 </Target>
6517 <!--
6518 ***********************************************************************************************
6519 ***********************************************************************************************
6520 SetWin32ManifestProperties Section
6521 ***********************************************************************************************
6522 ***********************************************************************************************
6523 -->
6524 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6525 <EmbeddedWin32Manifest>$(Win32Manifest)</EmbeddedWin32Manifest>
6526 </PropertyGroup>
6527 <!--
6528 ============================================================
6529 SetWin32ManifestProperties
6530
6531 Set Win32Manifest and EmbeddedManifest properties to be used later in the build.
6532 ============================================================
6533 -->
6534 <Target Name="SetWin32ManifestProperties" Condition="'$(Win32Manifest)'==''" DependsOnTargets="ResolveComReferences;ResolveNativeReferences;_SetExternalWin32ManifestProperties;_SetEmbeddedWin32ManifestProperties" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
6535 <Target Name="_SetExternalWin32ManifestProperties" Condition="'$(GenerateClickOnceManifests)'=='true' or '@(NativeReference)'!='' or '@(ResolvedIsolatedComModules)'!=''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6536 <PropertyGroup>
6537 <!-- set _DeploymentBaseManifest property to the value of $(ApplicationManifest) if the property is set,
6538 but use _DeploymentBaseManifestWithTargetPath item-group if the property is not set to support backwards
6539 compat with earlier MSBuild versions when manifest files were determined by the item-group. If the newer
6540 property is set though, prefer that one be used to specify the manifest. -->
6541 <_DeploymentBaseManifest>$(ApplicationManifest)</_DeploymentBaseManifest>
6542 <_DeploymentBaseManifest Condition="'$(_DeploymentBaseManifest)'==''">@(_DeploymentBaseManifestWithTargetPath)</_DeploymentBaseManifest>
6543 <!-- when using external manifests, always set the NoWin32Manifest property to
6544 true if there is no value set in the incoming project file so the
6545 compilers that support manifest embedding know not to add
6546 a manifest to their built assemblies -->
6547 <NoWin32Manifest Condition="'$(NoWin32Manifest)'==''">true</NoWin32Manifest>
6548 </PropertyGroup>
6549 </Target>
6550 <Target Name="_SetEmbeddedWin32ManifestProperties" Condition="'$(GenerateClickOnceManifests)'!='true' and '@(NativeReference)'=='' and '@(ResolvedIsolatedComModules)'==''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6551 <PropertyGroup>
6552 <EmbeddedWin32Manifest>$(ApplicationManifest)</EmbeddedWin32Manifest>
6553 <Win32Manifest>$(ApplicationManifest)</Win32Manifest>
6554 </PropertyGroup>
6555 <GetFrameworkPath Condition="'$(ApplicationManifest)'=='' and '$(NoWin32Manifest)'!='true'">
6556 <Output TaskParameter="FrameworkVersion40Path" PropertyName="_FrameworkVersion40Path" />
6557 </GetFrameworkPath>
6558 <PropertyGroup>
6559 <EmbeddedWin32Manifest Condition="'$(ApplicationManifest)'=='' and '$(NoWin32Manifest)'!='true' and Exists('$(_FrameworkVersion40Path)\default.win32manifest')">$(_FrameworkVersion40Path)\default.win32manifest</EmbeddedWin32Manifest>
6560 </PropertyGroup>
6561 </Target>
6562 <!--
6563 ***********************************************************************************************
6564 ***********************************************************************************************
6565 GenerateManifests Section
6566 ***********************************************************************************************
6567 ***********************************************************************************************
6568 -->
6569 <!--
6570 ============================================================
6571 GenerateManifests
6572
6573 Generates ClickOnce application and deployment manifests or a native manifest.
6574 ============================================================
6575 -->
6576 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6577 <GenerateManifestsDependsOn>
6578 SetWin32ManifestProperties;
6579 GenerateApplicationManifest;
6580 GenerateDeploymentManifest
6581 </GenerateManifestsDependsOn>
6582 </PropertyGroup>
6583 <!--
6584 ============================================================
6585 _GenerateResolvedDeploymentManifestEntryPoint
6586
6587 Use the ResolveManifestFiles to generate the GenerateResolvedDeploymentManifestEntryPoint
6588
6589 ============================================================
6590 -->
6591 <Target Name="_GenerateResolvedDeploymentManifestEntryPoint" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6592 <ItemGroup>
6593 <_DeploymentPublishFileOfTypeManifestEntryPoint Include="@(PublishFile)" Condition="'%(FileType)'=='ManifestEntryPoint'" />
6594 </ItemGroup>
6595 <ResolveManifestFiles TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" SigningManifests="$(SignManifests)" DeploymentManifestEntryPoint="@(ApplicationManifest)" PublishFiles="@(_DeploymentPublishFileOfTypeManifestEntryPoint)">
6596 <Output TaskParameter="OutputDeploymentManifestEntryPoint" ItemName="_DeploymentResolvedDeploymentManifestEntryPoint" />
6597 </ResolveManifestFiles>
6598 </Target>
6599 <Target Name="GenerateManifests" Condition="'$(GenerateClickOnceManifests)'=='true' or '@(NativeReference)'!='' or '@(ResolvedIsolatedComModules)'!='' or '$(GenerateAppxManifest)' == 'true'" DependsOnTargets="$(GenerateManifestsDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
6600 <!--
6601 ============================================================
6602 GenerateApplicationManifest
6603
6604 Generates a ClickOnce or native application manifest.
6605 An application manifest specifies declarative application identity, dependency and security information.
6606
6607 [IN]
6608 $(_DeploymentBaseManifest) - The base app.manifest from project.
6609 @(ResolvedIsolatedComModules) - The list of COM references to be isolated as reg-free COM dependencies for native assembly loader.
6610 @(_DeploymentManifestFiles) - The list of loose files (content, pdb, xml, etc.) for ClickOnce.
6611 @(_DeploymentManifestDependencies) - The list of application dependencies (typically this is the set of assembly dependencies in bin\) for ClickOnce.
6612 @(AppConfigWithTargetPath) - App config file, if present.
6613 $(_DeploymentManifestType) - Type of manifest to be generated, either "Native" or "ClickOnce".
6614
6615 [OUT]
6616 @(ApplicationManifest) - Generated native or ClickOnce application manifest, i.e. WindowsApplication1.exe.manifest
6617 ============================================================
6618 -->
6619 <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)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6620 <RequiresFramework35SP1Assembly ReferencedAssemblies="@(Reference)" ErrorReportUrl="$(_DeploymentFormattedErrorReportUrl)" TargetFrameworkVersion="$(TargetFrameworkVersion)" CreateDesktopShortcut="$(CreateDesktopShortcut)" SigningManifests="$(SignManifests)" Assemblies="@(_DeploymentManifestDependencies)" DeploymentManifestEntryPoint="@(_DeploymentResolvedDeploymentManifestEntryPoint)" EntryPoint="@(_DeploymentResolvedManifestEntryPoint)" Files="@(_DeploymentManifestFiles)" SuiteName="$(SuiteName)">
6621 <Output TaskParameter="RequiresMinimumFramework35SP1" PropertyName="_DeploymentRequiresMinimumFramework35SP1" />
6622 </RequiresFramework35SP1Assembly>
6623 <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)">
6624 <Output TaskParameter="OutputManifest" ItemName="FileWrites" />
6625 </GenerateApplicationManifest>
6626 <PropertyGroup>
6627 <_DeploymentCopyApplicationManifest>true</_DeploymentCopyApplicationManifest>
6628 </PropertyGroup>
6629 </Target>
6630 <!--
6631 ============================================================
6632 _DeploymentSetClickOnceVersions
6633
6634 Sets ClickOnce versions
6635 ============================================================
6636 -->
6637 <Target Name="_DeploymentSetClickOnceVersions" Condition="'$(GenerateClickOnceManifests)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6638 <PropertyGroup>
6639 <_DeploymentManifestTargetFrameworkMoniker>$(TargetFrameworkMoniker)</_DeploymentManifestTargetFrameworkMoniker>
6640 <_DeploymentManifestTargetFrameworkVersion>$(TargetFrameworkVersion)</_DeploymentManifestTargetFrameworkVersion>
6641 </PropertyGroup>
6642 </Target>
6643 <!--
6644 ============================================================
6645 _DeploymentGenerateLauncher
6646
6647 Generates Launcher if needed
6648 ============================================================
6649 -->
6650 <Target Name="_DeploymentGenerateLauncher" Condition="'$(GenerateClickOnceManifests)'=='true' and '$(_DeploymentLauncherBased)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6651 <!--
6652 If apphost based built EXE is found, use that as the Launcher.exe's entry point otherwise
6653 use the built DLL as the entry point
6654 -->
6655 <ItemGroup Condition="'$(UseAppHost)' == 'true' and '$(_IsExecutable)' == 'true' and exists('$(AppHostIntermediatePath)')">
6656 <EntryPointForLauncher Include="$(AppHostIntermediatePath)" />
6657 <ContentWithTargetPath Include="@(EntryPointForLauncher)" />
6658 </ItemGroup>
6659 <ItemGroup Condition="'$(EntryPointForLauncher)'==''">
6660 <EntryPointForLauncher Include="$(_DeploymentManifestEntryPoint)" />
6661 </ItemGroup>
6662 <!-- Generates Launcher and obtains its Framework version and moniker -->
6663 <GenerateLauncher AssemblyName="$(_DeploymentApplicationManifestIdentity)" EntryPoint="@(EntryPointForLauncher)" OutputPath="$(IntermediateOutputPath)" VisualStudioVersion="$(VisualStudioVersion)">
6664 <Output TaskParameter="OutputEntryPoint" ItemName="_DeploymentManifestLauncherEntryPoint" />
6665 </GenerateLauncher>
6666 <!--
6667 .NET Core ClickOnce deployments use Launcher, which targets .NET FX 4.5 as the minimum
6668 supported ClickOnce runtime version on target user's machine.
6669
6670 TargetFramework Verion and Moniker properties are used in Deployment manifest generation
6671 task to set compatibleFrameworks element, which needs to match Launcher's target version.
6672
6673 Version can be overriden with DeploymentManifestTargetFrameworkVersionOverride property.
6674 -->
6675 <PropertyGroup>
6676 <_DeploymentManifestTargetFrameworkVersion Condition="'$(DeploymentManifestTargetFrameworkVersionOverride)' == ''">v4.5</_DeploymentManifestTargetFrameworkVersion>
6677 <_DeploymentManifestTargetFrameworkVersion Condition="'$(DeploymentManifestTargetFrameworkVersionOverride)' != ''">$(DeploymentManifestTargetFrameworkVersionOverride)</_DeploymentManifestTargetFrameworkVersion>
6678 <_DeploymentManifestTargetFrameworkMoniker>.NETFramework,Version=$(_DeploymentManifestTargetFrameworkVersion)</_DeploymentManifestTargetFrameworkMoniker>
6679 </PropertyGroup>
6680 <!-- Sign Launcher EXE -->
6681 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="@(_DeploymentManifestLauncherEntryPoint)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" Condition="'$(_DeploymentSignClickOnceManifests)'=='true'" />
6682 <!-- Sign the original ClickOnce entrypoint -->
6683 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="@(_DeploymentManifestEntryPoint)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" Condition="'$(_DeploymentSignClickOnceManifests)'=='true'" />
6684 <!-- Sign apphost.exe if it's the entrypoint for the Launcher.exe. This is the case in loose file publish -->
6685 <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)')" />
6686 <!--
6687 Replace entry-point with Launcher and move original project's entry-point to content group.
6688 -->
6689 <ItemGroup>
6690 <ContentWithTargetPath Include="@(_DeploymentManifestEntryPoint)" />
6691 <_DeploymentManifestEntryPoint Remove="@(_DeploymentManifestEntryPoint)" />
6692 <_DeploymentManifestEntryPoint Include="@(_DeploymentManifestLauncherEntryPoint)" />
6693 </ItemGroup>
6694 </Target>
6695 <!--
6696 ============================================================
6697 _DeploymentComputeNativeManifestInfo
6698
6699 Compute info for native manifest generation
6700 ============================================================
6701 -->
6702 <Target Name="_DeploymentComputeNativeManifestInfo" Condition="'$(GenerateClickOnceManifests)'!='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6703 <!-- Create list of items for manifest generation -->
6704 <ResolveManifestFiles NativeAssemblies="@(NativeReferenceFile);@(_DeploymentNativePrerequisite)">
6705 <Output TaskParameter="OutputAssemblies" ItemName="_DeploymentManifestDependencies" />
6706 </ResolveManifestFiles>
6707 <PropertyGroup>
6708 <_DeploymentManifestType>Native</_DeploymentManifestType>
6709 </PropertyGroup>
6710 <!-- Obtain manifest version from the built assembly -->
6711 <GetAssemblyIdentity AssemblyFiles="@(IntermediateAssembly)">
6712 <Output TaskParameter="Assemblies" ItemName="_IntermediateAssemblyIdentity" />
6713 </GetAssemblyIdentity>
6714 <PropertyGroup>
6715 <_DeploymentManifestVersion>@(_IntermediateAssemblyIdentity->'%(Version)')</_DeploymentManifestVersion>
6716 </PropertyGroup>
6717 </Target>
6718 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6719 <DeploymentComputeClickOnceManifestInfoDependsOn>
6720 CleanPublishFolder;
6721 _DeploymentGenerateTrustInfo
6722 $(DeploymentComputeClickOnceManifestInfoDependsOn)
6723 </DeploymentComputeClickOnceManifestInfoDependsOn>
6724 </PropertyGroup>
6725 <!--
6726 ============================================================
6727 _DeploymentComputeClickOnceManifestInfo
6728
6729 Compute info for ClickOnce manifest generation
6730 ============================================================
6731 -->
6732 <Target Name="_DeploymentComputeClickOnceManifestInfo" Condition="'$(GenerateClickOnceManifests)'=='true'" DependsOnTargets="$(DeploymentComputeClickOnceManifestInfoDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6733 <!-- Grab just the serialization assemblies for a referenced assembly. There may also be a symbols file in ReferenceRelatedPaths -->
6734 <ItemGroup>
6735 <_SGenDllsRelatedToCurrentDll Include="@(_ReferenceSerializationAssemblyPaths->'%(FullPath)')" Condition="'%(Extension)' == '.dll'" />
6736 <_SGenDllsRelatedToCurrentDll Include="@(SerializationAssembly->'%(FullPath)')" Condition="'%(Extension)' == '.dll'" />
6737 </ItemGroup>
6738 <ItemGroup Condition="!exists('$(ProjectLockFile)')">
6739 <_CopyLocalFalseRefPaths Include="@(ReferencePath)" Condition="'%(CopyLocal)' == 'false'" />
6740 <_CopyLocalFalseRefPathsWithExclusion Include="@(_CopyLocalFalseRefPaths)" Exclude="@(ReferenceCopyLocalPaths);@(_NETStandardLibraryNETFrameworkLib)" />
6741 </ItemGroup>
6742 <!-- Flag primary dependencies-certain warnings emitted during application manifest generation apply only to them. -->
6743 <ItemGroup>
6744 <_SatelliteAssemblies Include="@(IntermediateSatelliteAssembliesWithTargetPath);@(ReferenceSatellitePaths)" />
6745 <_DeploymentReferencePaths Include="@(ReferenceCopyLocalPaths)" Condition="('%(Extension)' == '.dll' Or '%(Extension)' == '.exe' Or '%(Extension)' == '.md') and ('%(ReferenceCopyLocalPaths.CopyToPublishDirectory)' != 'false')">
6746 <IsPrimary>true</IsPrimary>
6747 </_DeploymentReferencePaths>
6748 <_DeploymentReferencePaths Include="@(_CopyLocalFalseRefPathsWithExclusion)" />
6749 </ItemGroup>
6750 <!-- Include managed references in clickonce manifest only if single file publish is false -->
6751 <ItemGroup Condition="'$(PublishSingleFile)' != 'true'">
6752 <_ManifestManagedReferences Include="@(_DeploymentReferencePaths);@(ReferenceDependencyPaths);@(_SGenDllsRelatedToCurrentDll);@(SerializationAssembly);@(ReferenceCOMWrappersToCopyLocal)" Exclude="@(_SatelliteAssemblies);@(_ReferenceScatterPaths);@(_ExcludedAssembliesFromManifestGeneration)" />
6753 </ItemGroup>
6754 <!-- Include the following files in clickonce manifest only if single file publish is false -->
6755 <ItemGroup Condition="'$(PublishSingleFile)' != 'true'">
6756 <!--
6757 _ClickOnceRuntimeCopyLocalItems group contains any runtimes folder assets of Nuget packages that are not included in
6758 _DeploymentReferencePaths (e.g. pdbs). They are populated from the RuntimeTargetsCopyLocalItems and NativeCopyLocalItems
6759 group that contain the RID-specific assets that go in runtimes folder on publish. They are output groups of the
6760 ResolvePackageAssets target in dotnet/sdk
6761 -->
6762 <_ClickOnceRuntimeCopyLocalItems Include="@(RuntimeTargetsCopyLocalItems)" Condition="'%(RuntimeTargetsCopyLocalItems.CopyLocal)' == 'true'" />
6763 <_ClickOnceRuntimeCopyLocalItems Include="@(NativeCopyLocalItems)" Condition="'%(NativeCopyLocalItems.CopyLocal)' == 'true'" />
6764 <_ClickOnceRuntimeCopyLocalItems Remove="@(_DeploymentReferencePaths)" />
6765 <_ClickOnceFiles Include="@(ContentWithTargetPath);@(_DeploymentManifestIconFile);@(AppConfigWithTargetPath);@(NetCoreRuntimeJsonFilesForClickOnce);@(_ClickOnceRuntimeCopyLocalItems)" />
6766 </ItemGroup>
6767 <!-- For single file publish, we need to include the SF bundle EXE and files excluded from the bundle EXE in the clickonce manifest -->
6768 <ItemGroup Condition="'$(PublishSingleFile)' == 'true'">
6769 <_ClickOnceFiles Include="$(PublishedSingleFilePath)" />
6770 <_ClickOnceFiles Include="@(_FilesExcludedFromBundle)" />
6771 </ItemGroup>
6772 <!-- For single file publish in .net core app, sign the SF EXE if signing is enabled -->
6773 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="$(PublishedSingleFilePath)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" Condition="'$(_DeploymentSignClickOnceManifests)'=='true' and '$(_DeploymentLauncherBased)' == 'true' and '$(PublishSingleFile)' == 'true'" />
6774 <!--
6775 If ReadyToRun is enabled in loose files scenario, we need to remove entries of the IL images that have gone through R2R
6776 compiler and replace them with the entries for their R2R images. The R2R application image also needs to be signed if necessary.
6777 -->
6778 <ItemGroup Condition="'$(PublishReadyToRun)' == 'true' and '$(PublishSingleFile)' != 'true'">
6779 <_ManifestManagedReferences Remove="@(_ReadyToRunCompileList)" />
6780 <_ClickOnceFiles Remove="@(_ReadyToRunCompileList)" />
6781 <_ClickOnceFiles Include="@(_ReadyToRunFilesToPublish)" />
6782 <_ClickOnceTargetFile Include="@(_ReadyToRunFilesToPublish)" Condition="'%(Filename)%(Extension)' == '$(TargetFileName)'" />
6783 </ItemGroup>
6784 <!-- Sign application image created by R2R -->
6785 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="@(_ClickOnceTargetFile)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" Condition="'$(_DeploymentSignClickOnceManifests)' == 'true' and '$(PublishReadyToRun)' == 'true' and '$(PublishSingleFile)' != 'true'" />
6786 <!-- Copy the application executable from Obj folder to app.publish folder.
6787 This is being done to avoid Windows Forms designer memory issues that can arise while operating directly on files located in Obj directory. -->
6788 <Copy SourceFiles="@(_DeploymentManifestEntryPoint)" DestinationFolder="$(PublishDir)">
6789 <Output TaskParameter="DestinationFiles" ItemName="_DeploymentClickOnceApplicationExecutable" />
6790 </Copy>
6791 <!-- Sign the application executable located in app.publish folder. Signing this file is done to comply with SmartScreen. -->
6792 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="@(_DeploymentClickOnceApplicationExecutable)" Condition="'$(_DeploymentResolvedManifestCertificateThumbprint)'!='' and '$(_DeploymentSignClickOnceManifests)'=='true' and '$(TargetExt)' == '.exe'" />
6793 <!-- Create list of items for manifest generation -->
6794 <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="@(_SatelliteAssemblies)" SigningManifests="$(SignManifests)" TargetCulture="$(TargetCulture)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(TargetFrameworkVersion)">
6795 <Output TaskParameter="OutputAssemblies" ItemName="_DeploymentManifestDependenciesUnfiltered" />
6796 <Output TaskParameter="OutputFiles" ItemName="_DeploymentManifestFiles" />
6797 <Output TaskParameter="OutputEntryPoint" ItemName="_DeploymentResolvedManifestEntryPoint" />
6798 </ResolveManifestFiles>
6799 <!-- We have to filter items out of the dependencies that have neither CopyLocal set to true, -->
6800 <!-- nor the dependency type manually set to 'Install'. -->
6801 <ItemGroup>
6802 <_DeploymentManifestDependencies Include="@(_DeploymentManifestDependenciesUnfiltered)" Condition="!('%(_DeploymentManifestDependenciesUnfiltered.CopyLocal)' == 'false' And '%(_DeploymentManifestDependenciesUnfiltered.DependencyType)' != 'Install')" />
6803 </ItemGroup>
6804 <PropertyGroup>
6805 <_DeploymentManifestType>ClickOnce</_DeploymentManifestType>
6806 </PropertyGroup>
6807 <!--
6808 Manifest platform should always be MSIL for Launcher-based deployments, as the Launcher is MSIL.
6809 Do not set _DeploymentPlatformTarget property in Launcher case - this is interpreted as MSIL,
6810 by GenerateApplicationManifest and GenerateDeploymentManifest tasks.
6811 Otherwise, set it to PlatformTarget.
6812 -->
6813 <PropertyGroup>
6814 <_DeploymentPlatformTarget Condition="'$(_DeploymentLauncherBased)' != 'true'">$(PlatformTarget)</_DeploymentPlatformTarget>
6815 </PropertyGroup>
6816 <!-- Obtain manifest version from ApplicationVersion and ApplicationRevision properties -->
6817 <FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)">
6818 <Output TaskParameter="OutputVersion" PropertyName="_DeploymentManifestVersion" />
6819 </FormatVersion>
6820 <FormatUrl InputUrl="$(_DeploymentUrl)">
6821 <Output TaskParameter="OutputUrl" PropertyName="_DeploymentFormattedDeploymentUrl" />
6822 </FormatUrl>
6823 <FormatUrl InputUrl="$(SupportUrl)">
6824 <Output TaskParameter="OutputUrl" PropertyName="_DeploymentFormattedSupportUrl" />
6825 </FormatUrl>
6826 <FormatUrl InputUrl="$(ErrorReportUrl)">
6827 <Output TaskParameter="OutputUrl" PropertyName="_DeploymentFormattedErrorReportUrl" />
6828 </FormatUrl>
6829 </Target>
6830 <!--
6831 ============================================================
6832 _DeploymentGenerateTrustInfo
6833
6834 Generates the application permission set for inclusion in the generated ClickOnce application manifest.
6835 ============================================================
6836 -->
6837 <Target Name="_DeploymentGenerateTrustInfo" Condition="'$(TargetZone)'!=''" Inputs="&#xD;&#xA; $(MSBuildAllProjects);&#xD;&#xA; $(_DeploymentBaseManifest);&#xD;&#xA; " Outputs="@(_DeploymentIntermediateTrustInfoFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6838 <GenerateTrustInfo BaseManifest="$(_DeploymentBaseManifest)" ApplicationDependencies="@(ReferencePath);@(ReferenceDependencyPaths)" ExcludedPermissions="$(ExcludedPermissions)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetZone="$(TargetZone)" TrustInfoFile="@(_DeploymentIntermediateTrustInfoFile)">
6839 <Output TaskParameter="TrustInfoFile" ItemName="FileWrites" />
6840 </GenerateTrustInfo>
6841 </Target>
6842 <!--
6843 ============================================================
6844 GenerateDeploymentManifest
6845
6846 Generates a ClickOnce deployment manifest.
6847 An deployment manifest specifies declarative application identity and application update information.
6848 ============================================================
6849 -->
6850 <Target Name="GenerateDeploymentManifest" DependsOnTargets="GenerateApplicationManifest" Inputs="&#xD;&#xA; $(MSBuildAllProjects);&#xD;&#xA; @(ApplicationManifest)&#xD;&#xA; " Outputs="@(DeployManifest)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6851 <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'">
6852 <Output TaskParameter="OutputManifest" ItemName="FileWrites" />
6853 </GenerateDeploymentManifest>
6854 </Target>
6855 <!--
6856 ***********************************************************************************************
6857 ***********************************************************************************************
6858 PrepareForRun Section
6859 ***********************************************************************************************
6860 ***********************************************************************************************
6861 -->
6862 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6863 <SkipCopyUnchangedFiles Condition="'$(SkipCopyUnchangedFiles)' == ''">true</SkipCopyUnchangedFiles>
6864 <UseCommonOutputDirectory Condition="'$(UseCommonOutputDirectory)' == ''">false</UseCommonOutputDirectory>
6865 </PropertyGroup>
6866 <!--
6867 ============================================================
6868 PrepareForRun
6869
6870 Copy the build outputs to the final directory if they have changed.
6871 ============================================================
6872 -->
6873 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6874 <PrepareForRunDependsOn>
6875 CopyFilesToOutputDirectory
6876 </PrepareForRunDependsOn>
6877 </PropertyGroup>
6878 <Target Name="PrepareForRun" DependsOnTargets="$(PrepareForRunDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
6879 <!--
6880 ============================================================
6881 CopyFilesToOutputDirectory
6882
6883 Copy all build outputs, satellites and other necessary files to the final directory.
6884 ============================================================
6885 -->
6886 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6887 <!-- By default we're not using Hard or Symbolic Links to copy to the output directory, and never when building in VS -->
6888 <CreateHardLinksForCopyAdditionalFilesIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateHardLinksForCopyAdditionalFilesIfPossible)' == ''">false</CreateHardLinksForCopyAdditionalFilesIfPossible>
6889 <CreateSymbolicLinksForCopyAdditionalFilesIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateSymbolicLinksForCopyAdditionalFilesIfPossible)' == ''">false</CreateSymbolicLinksForCopyAdditionalFilesIfPossible>
6890 </PropertyGroup>
6891 <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" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6892 <PropertyGroup>
6893 <!-- By default we're not using Hard Links to copy to the output directory, and never when building in VS -->
6894 <CreateHardLinksForCopyFilesToOutputDirectoryIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)' == ''">false</CreateHardLinksForCopyFilesToOutputDirectoryIfPossible>
6895 <CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)' == ''">false</CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible>
6896 <ErrorIfLinkFailsForCopyFilesToOutputDirectory Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(ErrorIfLinkFailsForCopyFilesToOutputDirectory)' == ''">false</ErrorIfLinkFailsForCopyFilesToOutputDirectory>
6897 </PropertyGroup>
6898 <PropertyGroup>
6899 <CopyBuildOutputToOutputDirectory Condition="'$(CopyBuildOutputToOutputDirectory)'==''">true</CopyBuildOutputToOutputDirectory>
6900 <CopyOutputSymbolsToOutputDirectory Condition="'$(CopyOutputSymbolsToOutputDirectory)'==''">true</CopyOutputSymbolsToOutputDirectory>
6901 <CopyDocumentationFileToOutputDirectory Condition="'$(CopyDocumentationFileToOutputDirectory)'==''">true</CopyDocumentationFileToOutputDirectory>
6902 </PropertyGroup>
6903 <!-- Copy the build product (.dll or .exe). -->
6904 <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'">
6905 <Output TaskParameter="DestinationFiles" ItemName="MainAssembly" />
6906 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
6907 </Copy>
6908 <!-- Copy the reference assembly build product (.dll or .exe). -->
6909 <CopyRefAssembly SourcePath="@(IntermediateRefAssembly)" DestinationPath="$(TargetRefPath)" Condition="'$(ProduceReferenceAssembly)' == 'true' and '$(CopyBuildOutputToOutputDirectory)' == 'true' and '$(SkipCopyBuildProduct)' != 'true'">
6910 <Output TaskParameter="DestinationPath" ItemName="ReferenceAssembly" />
6911 <Output TaskParameter="DestinationPath" ItemName="FileWrites" />
6912 </CopyRefAssembly>
6913 <Message Importance="High" Text="$(MSBuildProjectName) -&gt; @(MainAssembly->'%(FullPath)')" Condition="'$(CopyBuildOutputToOutputDirectory)' == 'true' and '$(SkipCopyBuildProduct)'!='true'" />
6914 <!-- Copy the additional modules. -->
6915 <Copy SourceFiles="@(AddModules)" DestinationFolder="$(OutDir)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyAdditionalFilesIfPossible)" Condition="'@(AddModules)' != ''">
6916 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
6917 </Copy>
6918 <!-- Copy the serialization assembly if it exists. -->
6919 <Copy SourceFiles="$(IntermediateOutputPath)$(_SGenDllName)" DestinationFiles="$(OutDir)$(_SGenDllName)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)" ErrorIfLinkFails="$(ErrorIfLinkFailsForCopyFilesToOutputDirectory)" Condition="'$(_SGenDllCreated)'=='true'">
6920 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
6921 </Copy>
6922 <!-- Copy the debug information file (.pdb), if any -->
6923 <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'">
6924 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
6925 </Copy>
6926 <!-- Copy the resulting XML documentation file, if any. -->
6927 <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'">
6928 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
6929 </Copy>
6930 <!-- Copy satellite assemblies. -->
6931 <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)' != ''">
6932 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
6933 </Copy>
6934 <!--
6935 Copy COM reference wrappers, isolated COM references, COM references included by
6936 native (manifest) references, native (manifest) reference files themselves.
6937 -->
6938 <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)' != '' ">
6939 <Output TaskParameter="DestinationFiles" ItemName="FileWritesShareable" />
6940 </Copy>
6941 <!-- Copy the build product of WinMDExp. -->
6942 <Copy SourceFiles="@(WinMDExpArtifacts)" DestinationFolder="$(OutDir)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)" ErrorIfLinkFails="$(ErrorIfLinkFailsForCopyFilesToOutputDirectory)" Condition="'$(SkipCopyWinMDArtifact)' != 'true' and '@(WinMDExpArtifacts)' != ''">
6943 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
6944 <Output TaskParameter="DestinationFiles" ItemName="FinalWinmdExpArtifacts" />
6945 </Copy>
6946 <Message Importance="High" Text="$(MSBuildProjectName) -&gt; $([System.IO.Path]::GetFullPath('$(_WindowsMetadataOutputPath)'))" Condition="'$(SkipCopyWinMDArtifact)' != 'true' and '$(_WindowsMetadataOutputPath)' != ''" />
6947 </Target>
6948 <!--
6949 ============================================================
6950 _CopyFilesMarkedCopyLocal
6951
6952 Copy references that are marked as "CopyLocal" and their dependencies, including .pdbs, .xmls and satellites.
6953 ============================================================
6954 -->
6955 <Target Name="_CopyFilesMarkedCopyLocal" Condition="'@(ReferenceCopyLocalPaths)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6956 <PropertyGroup>
6957 <!-- By default we're not using Hard Links to copy to the output directory, and never when building in VS -->
6958 <CreateHardLinksForCopyLocalIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateHardLinksForCopyLocalIfPossible)' == ''">false</CreateHardLinksForCopyLocalIfPossible>
6959 <CreateSymbolicLinksForCopyLocalIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateSymbolicLinksForCopyLocalIfPossible)' == ''">false</CreateSymbolicLinksForCopyLocalIfPossible>
6960 </PropertyGroup>
6961 <Copy SourceFiles="@(ReferenceCopyLocalPaths)" DestinationFiles="@(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyLocalIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyLocalIfPossible)" Condition="'$(UseCommonOutputDirectory)' != 'true'">
6962 <Output TaskParameter="DestinationFiles" ItemName="FileWritesShareable" />
6963 <Output TaskParameter="CopiedFiles" ItemName="ReferencesCopiedInThisBuild" />
6964 <Output TaskParameter="WroteAtLeastOneFile" PropertyName="WroteAtLeastOneFile" />
6965 </Copy>
6966 <!-- If this project produces reference assemblies *and* copied (possibly transitive)
6967 references on this build, subsequent builds of projects that depend on it must
6968 not be considered up to date, so touch this marker file that is considered an
6969 input to projects that reference this one. -->
6970 <Touch Files="@(CopyUpToDateMarker)" AlwaysCreate="true" Condition="'@(ReferencesCopiedInThisBuild)' != '' and '$(WroteAtLeastOneFile)' == 'true'" />
6971 <ItemGroup>
6972 <FileWrites Include="@(CopyUpToDateMarker)" />
6973 </ItemGroup>
6974 </Target>
6975 <!--
6976 ============================================================
6977 _CopySourceItemsToOutputDirectory
6978 ============================================================
6979 -->
6980 <Target Name="_CopySourceItemsToOutputDirectory" DependsOnTargets="&#xD;&#xA; GetCopyToOutputDirectoryItems;&#xD;&#xA; _CopyOutOfDateSourceItemsToOutputDirectory;&#xD;&#xA; _CopyOutOfDateSourceItemsToOutputDirectoryAlways" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
6981 <!--
6982 ============================================================
6983 GetCopyToOutputDirectoryItems
6984
6985 Get all project items that may need to be transferred to the output directory.
6986 This includes baggage items from transitively referenced projects. It would appear
6987 that this target computes full transitive closure of content items for all referenced
6988 projects; however that is not the case. It only collects the content items from its
6989 immediate children and not children of children. The reason this happens is that
6990 the ProjectReferenceWithConfiguration list that is consumed by _SplitProjectReferencesByFileExistence
6991 is only populated in the current project and is empty in the children. The empty list
6992 causes _MSBuildProjectReferenceExistent to be empty and terminates the recursion.
6993 ============================================================
6994 -->
6995 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6996 <_TargetsThatPrepareProjectReferences>_SplitProjectReferencesByFileExistence</_TargetsThatPrepareProjectReferences>
6997 <!--
6998 GetCopyToOutputDirectoryItems depends on an unspecified dependency _SplitProjectReferencesByFileExistence -> AssignProjectConfiguration (https://github.com/microsoft/msbuild/issues/4677).
6999 When the unspecified dependency does not happen by accident, content copying is only 1 level deep instead of transitive.
7000 This target enforces the dependency.
7001
7002 TODO: make transitive content copying the default when the breaking change is acceptable.
7003 -->
7004 <_TargetsThatPrepareProjectReferences Condition=" '$(MSBuildCopyContentTransitively)' == 'true' ">
7005 AssignProjectConfiguration;
7006 _SplitProjectReferencesByFileExistence
7007 </_TargetsThatPrepareProjectReferences>
7008 <GetCopyToOutputDirectoryItemsDependsOn>
7009 AssignTargetPaths;
7010 $(_TargetsThatPrepareProjectReferences);
7011 _GetProjectReferenceTargetFrameworkProperties;
7012 _PopulateCommonStateForGetCopyToOutputDirectoryItems
7013 </GetCopyToOutputDirectoryItemsDependsOn>
7014 <!--
7015 Mitigation for https://github.com/microsoft/msbuild/issues/4677
7016 When MSBuildCopyContentTransitively == true, all content copying is transitive.
7017 When MSBuildCopyContentTransitively == false, content copying is 1 level deep.
7018 When MSBuildCopyContentTransitively != {true, false}, the legacy behaviour in https://github.com/microsoft/msbuild/issues/4677 manifests.
7019 -->
7020 <_RecursiveTargetForContentCopying>GetCopyToOutputDirectoryItems</_RecursiveTargetForContentCopying>
7021 <!-- Enforce 1 level deep content copying by replacing the recursive content target with the target that retrieves the content for the current project only. -->
7022 <_RecursiveTargetForContentCopying Condition=" '$(MSBuildCopyContentTransitively)' == 'false' ">_GetCopyToOutputDirectoryItemsFromThisProject</_RecursiveTargetForContentCopying>
7023 </PropertyGroup>
7024 <Target Name="_PopulateCommonStateForGetCopyToOutputDirectoryItems" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7025 <!-- 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
7026 cases, we can immediately discard the unwanted metadata, reducing memory usage, particularly in very large and interconnected systems of projects.
7027 However, if some client does require the original functionality, it is sufficient to set MSBuildDisableGetCopyToOutputDirectoryItemsOptimization to
7028 a non-empty value and the original behavior will be restored. -->
7029 <PropertyGroup Condition=" '$(MSBuildDisableGetCopyToOutputDirectoryItemsOptimization)' == '' ">
7030 <_GCTODIKeepDuplicates>false</_GCTODIKeepDuplicates>
7031 <_GCTODIKeepMetadata>CopyToOutputDirectory;TargetPath</_GCTODIKeepMetadata>
7032 </PropertyGroup>
7033 </Target>
7034 <Target Name="_GetCopyToOutputDirectoryItemsFromTransitiveProjectReferences" DependsOnTargets="_PopulateCommonStateForGetCopyToOutputDirectoryItems;_AddOutputPathToGlobalPropertiesToRemove" Returns="@(_TransitiveItemsToCopyToOutputDirectory)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7035 <!-- Get items from child projects first. -->
7036 <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)">
7037 <Output TaskParameter="TargetOutputs" ItemName="_AllChildProjectItemsWithTargetPath" />
7038 </MSBuild>
7039 <!-- Target outputs must be full paths because they will be consumed by a different project. -->
7040 <ItemGroup>
7041 <_TransitiveItemsToCopyToOutputDirectory KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_AllChildProjectItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)'=='Always'" />
7042 <_TransitiveItemsToCopyToOutputDirectory KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_AllChildProjectItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectItemsWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'" />
7043 </ItemGroup>
7044 <!-- Remove items which we will never again use - they just sit around taking up memory otherwise -->
7045 <ItemGroup>
7046 <_AllChildProjectItemsWithTargetPath Remove="@(_AllChildProjectItemsWithTargetPath)" />
7047 </ItemGroup>
7048 <!-- Copy paste _GetCopyToOutputDirectoryItemsFromThisProject but keep the items that came from other projects via ProjectReference's OutputItemType metadata -->
7049 <ItemGroup>
7050 <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='Always' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'!=''" />
7051 <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'!=''" />
7052 </ItemGroup>
7053 <ItemGroup>
7054 <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='Always' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'!=''" />
7055 <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='PreserveNewest' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'!=''" />
7056 </ItemGroup>
7057 <ItemGroup>
7058 <_CompileItemsToCopy Include="@(Compile->'%(FullPath)')" Condition="('%(Compile.CopyToOutputDirectory)'=='Always' or '%(Compile.CopyToOutputDirectory)'=='PreserveNewest') AND '%(Compile.MSBuildSourceProjectFile)'!=''" />
7059 </ItemGroup>
7060 <AssignTargetPath Files="@(_CompileItemsToCopy)" RootFolder="$(MSBuildProjectDirectory)">
7061 <Output TaskParameter="AssignedFiles" ItemName="_CompileItemsToCopyWithTargetPath" />
7062 </AssignTargetPath>
7063 <ItemGroup>
7064 <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='Always'" />
7065 <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'" />
7066 </ItemGroup>
7067 <ItemGroup>
7068 <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'!=''" />
7069 <_TransitiveItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'!=''" />
7070 </ItemGroup>
7071 </Target>
7072 <Target Name="_GetCopyToOutputDirectoryItemsFromThisProject" DependsOnTargets="AssignTargetPaths;_PopulateCommonStateForGetCopyToOutputDirectoryItems" Returns="@(_ThisProjectItemsToCopyToOutputDirectory)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7073 <ItemGroup>
7074 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='Always' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'==''" />
7075 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' AND '%(ContentWithTargetPath.MSBuildSourceProjectFile)'==''" />
7076 </ItemGroup>
7077 <ItemGroup>
7078 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='Always' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'==''" />
7079 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='PreserveNewest' AND '%(EmbeddedResource.MSBuildSourceProjectFile)'==''" />
7080 </ItemGroup>
7081 <ItemGroup>
7082 <_CompileItemsToCopy Include="@(Compile->'%(FullPath)')" Condition="('%(Compile.CopyToOutputDirectory)'=='Always' or '%(Compile.CopyToOutputDirectory)'=='PreserveNewest') AND '%(Compile.MSBuildSourceProjectFile)'==''" />
7083 </ItemGroup>
7084 <AssignTargetPath Files="@(_CompileItemsToCopy)" RootFolder="$(MSBuildProjectDirectory)">
7085 <Output TaskParameter="AssignedFiles" ItemName="_CompileItemsToCopyWithTargetPath" />
7086 </AssignTargetPath>
7087 <ItemGroup>
7088 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='Always'" />
7089 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_CompileItemsToCopyWithTargetPath)" Condition="'%(_CompileItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'" />
7090 </ItemGroup>
7091 <ItemGroup>
7092 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'==''" />
7093 <_ThisProjectItemsToCopyToOutputDirectory KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' AND '%(_NoneWithTargetPath.MSBuildSourceProjectFile)'==''" />
7094 </ItemGroup>
7095 </Target>
7096 <Target Name="GetCopyToOutputDirectoryItems" Returns="@(AllItemsFullPathWithTargetPath)" KeepDuplicateOutputs=" '$(MSBuildDisableGetCopyToOutputDirectoryItemsOptimization)' == '' " DependsOnTargets="$(GetCopyToOutputDirectoryItemsDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7097 <!-- Compose the content items as the union between transitive content items and content items from this project. -->
7098 <!-- Use CallTarget to avoid breaking targets that hook right before GetCopyToOutputDirectoryItems but expect to run after _GetCopyToOutputDirectoryItemsFromTransitiveProjectReferences and _GetCopyToOutputDirectoryItemsFromThisProject -->
7099 <CallTarget Targets="_GetCopyToOutputDirectoryItemsFromTransitiveProjectReferences">
7100 <Output TaskParameter="TargetOutputs" ItemName="_TransitiveItemsToCopyToOutputDirectory" />
7101 </CallTarget>
7102 <CallTarget Targets="_GetCopyToOutputDirectoryItemsFromThisProject">
7103 <Output TaskParameter="TargetOutputs" ItemName="_ThisProjectItemsToCopyToOutputDirectory" />
7104 </CallTarget>
7105 <ItemGroup Condition="'$(CopyConflictingTransitiveContent)' == 'false'">
7106 <_TransitiveItemsToCopyToOutputDirectory Remove="@(_ThisProjectItemsToCopyToOutputDirectory)" MatchOnMetadata="TargetPath" MatchOnMetadataOptions="PathLike" />
7107 </ItemGroup>
7108 <ItemGroup>
7109 <_TransitiveItemsToCopyToOutputDirectoryAlways KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_TransitiveItemsToCopyToOutputDirectory->'%(FullPath)')" Condition="'%(_TransitiveItemsToCopyToOutputDirectory.CopyToOutputDirectory)'=='Always'" />
7110 <_TransitiveItemsToCopyToOutputDirectoryPreserveNewest KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_TransitiveItemsToCopyToOutputDirectory->'%(FullPath)')" Condition="'%(_TransitiveItemsToCopyToOutputDirectory.CopyToOutputDirectory)'=='PreserveNewest'" />
7111 <_ThisProjectItemsToCopyToOutputDirectoryAlways KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_ThisProjectItemsToCopyToOutputDirectory->'%(FullPath)')" Condition="'%(_ThisProjectItemsToCopyToOutputDirectory.CopyToOutputDirectory)'=='Always'" />
7112 <_ThisProjectItemsToCopyToOutputDirectoryPreserveNewest KeepDuplicates=" '$(_GCTODIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTODIKeepMetadata)" Include="@(_ThisProjectItemsToCopyToOutputDirectory->'%(FullPath)')" Condition="'%(_ThisProjectItemsToCopyToOutputDirectory.CopyToOutputDirectory)'=='PreserveNewest'" />
7113 <!-- Append the items from this project last so that they will be copied last. -->
7114 <_SourceItemsToCopyToOutputDirectoryAlways Include="@(_TransitiveItemsToCopyToOutputDirectoryAlways);@(_ThisProjectItemsToCopyToOutputDirectoryAlways)" />
7115 <_SourceItemsToCopyToOutputDirectory Include="@(_TransitiveItemsToCopyToOutputDirectoryPreserveNewest);@(_ThisProjectItemsToCopyToOutputDirectoryPreserveNewest)" />
7116 <AllItemsFullPathWithTargetPath Include="@(_SourceItemsToCopyToOutputDirectoryAlways->'%(FullPath)');@(_SourceItemsToCopyToOutputDirectory->'%(FullPath)')" />
7117 <!-- Empty intermediate items to release memory -->
7118 <_TransitiveItemsToCopyToOutputDirectoryAlways Remove="@(_TransitiveItemsToCopyToOutputDirectoryAlways)" />
7119 <_TransitiveItemsToCopyToOutputDirectoryPreserveNewest Remove="@(_TransitiveItemsToCopyToOutputDirectoryPreserveNewest)" />
7120 <_TransitiveItemsToCopyToOutputDirectory Remove="@(_TransitiveItemsToCopyToOutputDirectory)" />
7121 <_ThisProjectItemsToCopyToOutputDirectoryAlways Remove="@(_ThisProjectItemsToCopyToOutputDirectoryAlways)" />
7122 <_ThisProjectItemsToCopyToOutputDirectoryPreserveNewest Remove="@(_ThisProjectItemsToCopyToOutputDirectoryPreserveNewest)" />
7123 <_ThisProjectItemsToCopyToOutputDirectory Remove="@(_ThisProjectItemsToCopyToOutputDirectory)" />
7124 </ItemGroup>
7125 </Target>
7126 <!--
7127 ============================================================
7128 GetCopyToPublishDirectoryItems
7129
7130 Default implementation of GetCopyToPublishDirectoryItems for projects that do not
7131 use Microsoft.NET.Sdk. It simply returns whatever GetCopyToOutputDirectoryItems
7132 does with CopyToPublishDirectory implied by CopyToOutputDirectory, which is the
7133 same as Microsoft.NET.Sdk default when its CopyToPublishDirectory is not used.
7134
7135 Microsoft.NET.Sdk projects will override this to allow the publish output to be
7136 customized independently from the build output.
7137
7138 Having a default implementation here allows the Microsoft.NET.Sdk Publish target
7139 to work when a Microsoft.NET.Sdk-based project references a non-Microsoft.NET.Sdk-based
7140 project.
7141 ============================================================
7142 -->
7143 <Target Name="GetCopyToPublishDirectoryItems" DependsOnTargets="GetCopyToOutputDirectoryItems" Returns="@(AllPublishItemsFullPathWithTargetPath)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7144 <ItemGroup>
7145 <AllPublishItemsFullPathWithTargetPath Include="@(AllItemsFullPathWithTargetPath)">
7146 <CopyToPublishDirectory>%(CopyToOutputDirectory)</CopyToPublishDirectory>
7147 </AllPublishItemsFullPathWithTargetPath>
7148 </ItemGroup>
7149 </Target>
7150 <!--
7151 ============================================================
7152 _CopyOutOfDateSourceItemsToOutputDirectory
7153
7154 Copy files that have the CopyToOutputDirectory attribute set to 'PreserveNewest'.
7155 ============================================================
7156 -->
7157 <Target Name="_CopyOutOfDateSourceItemsToOutputDirectory" Condition=" '@(_SourceItemsToCopyToOutputDirectory)' != '' " Inputs="@(_SourceItemsToCopyToOutputDirectory)" Outputs="@(_SourceItemsToCopyToOutputDirectory->'$(OutDir)%(TargetPath)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7158 <!--
7159 Not using SkipUnchangedFiles="true" because the application may want to change
7160 one of these files and not have an incremental build replace it.
7161 -->
7162 <Copy SourceFiles="@(_SourceItemsToCopyToOutputDirectory)" DestinationFiles="@(_SourceItemsToCopyToOutputDirectory->'$(OutDir)%(TargetPath)')" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForAdditionalFilesIfPossible)">
7163 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
7164 </Copy>
7165 </Target>
7166 <!--
7167 ============================================================
7168 _CopyOutOfDateSourceItemsToOutputDirectoryAlways
7169
7170 Copy files that have the CopyToOutputDirectory attribute set to 'Always'.
7171 ============================================================
7172 -->
7173 <Target Name="_CopyOutOfDateSourceItemsToOutputDirectoryAlways" Condition=" '@(_SourceItemsToCopyToOutputDirectoryAlways)' != '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7174 <!--
7175 Not using SkipUnchangedFiles="true" because the application may want to change
7176 one of these files and not have an incremental build replace it.
7177 -->
7178 <Copy SourceFiles="@(_SourceItemsToCopyToOutputDirectoryAlways)" DestinationFiles="@(_SourceItemsToCopyToOutputDirectoryAlways->'$(OutDir)%(TargetPath)')" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForAdditionalFilesIfPossible)">
7179 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
7180 </Copy>
7181 </Target>
7182 <!--
7183 ============================================================
7184 _CopyAppConfigFile
7185
7186 Copy the application config file.
7187 ============================================================
7188 -->
7189 <Target Name="_CopyAppConfigFile" Condition=" '@(AppConfigWithTargetPath)' != '' " Inputs="@(AppConfigWithTargetPath)" Outputs="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7190 <!--
7191 Copy the application's .config file, if any.
7192 Not using SkipUnchangedFiles="true" because the application may want to change
7193 the app.config and not have an incremental build replace it.
7194 -->
7195 <Copy SourceFiles="@(AppConfigWithTargetPath)" DestinationFiles="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForAdditionalFilesIfPossible)">
7196 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
7197 </Copy>
7198 </Target>
7199 <!--
7200 ================================================================
7201 _CopyManifestFiles
7202 ================================================================
7203
7204 Copy the built manifests (.exe.manifest, .application/.xbap) to the final directory.
7205 -->
7206 <Target Name="_CopyManifestFiles" Condition=" '$(_DeploymentCopyApplicationManifest)'=='true' or '$(GenerateClickOnceManifests)'=='true' " DependsOnTargets="PrepareForBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7207 <Copy SourceFiles="@(ApplicationManifest)" DestinationFolder="$(OutDir)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForAdditionalFilesIfPossible)" Condition="'$(GenerateClickOnceManifests)'=='true' or '$(_DeploymentCopyApplicationManifest)'=='true'">
7208 <Output TaskParameter="DestinationFiles" ItemName="_DeploymentMainApplicationManifest" />
7209 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
7210 </Copy>
7211 <Message Importance="Normal" Condition="'$(_DeploymentCopyApplicationManifest)'=='true'" Text="$(MSBuildProjectName) -&gt; @(_DeploymentMainApplicationManifest->'%(FullPath)')" />
7212 <Copy SourceFiles="@(DeployManifest)" DestinationFolder="$(OutDir)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForAdditionalFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForAdditionalFilesIfPossible)" Condition="'$(GenerateClickOnceManifests)'=='true'">
7213 <Output TaskParameter="DestinationFiles" ItemName="_DeploymentMainDeployManifest" />
7214 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
7215 </Copy>
7216 <Message Importance="Normal" Condition="'$(GenerateClickOnceManifests)'=='true'" Text="$(MSBuildProjectName) -&gt; @(_DeploymentMainDeployManifest->'%(FullPath)')" />
7217 </Target>
7218 <!--
7219 ================================================================
7220 _CheckForCompileOutputs
7221
7222 Checks each file output from the main "Compile" target to make sure they really exist.
7223 If they do, then record them in the clean cache.
7224 ============================================================
7225 -->
7226 <Target Name="_CheckForCompileOutputs" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7227 <!--Record the main compile outputs.-->
7228 <ItemGroup>
7229 <FileWrites Include="@(IntermediateAssembly)" Condition="Exists('@(IntermediateAssembly)')" />
7230 <FileWrites Include="@(IntermediateRefAssembly)" Condition="'$(ProduceReferenceAssembly)' == 'true' and Exists('@(IntermediateRefAssembly)')" />
7231 </ItemGroup>
7232 <!-- Record the .xml if one was produced. -->
7233 <PropertyGroup>
7234 <_DocumentationFileProduced Condition="!Exists('@(DocFileItem)')">false</_DocumentationFileProduced>
7235 </PropertyGroup>
7236 <ItemGroup>
7237 <FileWrites Include="@(DocFileItem)" Condition="'$(_DocumentationFileProduced)'=='true'" />
7238 </ItemGroup>
7239 <!-- Record the .pdb if one was produced. -->
7240 <PropertyGroup>
7241 <_DebugSymbolsProduced Condition="!Exists('@(_DebugSymbolsIntermediatePath)')">false</_DebugSymbolsProduced>
7242 </PropertyGroup>
7243 <ItemGroup>
7244 <FileWrites Include="@(_DebugSymbolsIntermediatePath)" Condition="'$(_DebugSymbolsProduced)'=='true'" />
7245 </ItemGroup>
7246 </Target>
7247 <!--
7248 ============================================================
7249 _SGenCheckForOutputs
7250
7251 Checks each file output from the "GenerateSerializationAssemblies" target to make sure they really exist.
7252 If they do, then record them in the clean cache.
7253 ============================================================
7254 -->
7255 <Target Name="_SGenCheckForOutputs" Condition="'$(_SGenGenerateSerializationAssembliesConfig)' == 'On' or ('@(WebReferenceUrl)'!='' and '$(_SGenGenerateSerializationAssembliesConfig)' == 'Auto')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7256 <!-- Record the serializer .dll if one was produced.-->
7257 <PropertyGroup>
7258 <_SGenDllCreated Condition="Exists('$(IntermediateOutputPath)$(_SGenDllName)')">true</_SGenDllCreated>
7259 </PropertyGroup>
7260 <ItemGroup>
7261 <FileWrites Include="$(IntermediateOutputPath)$(_SGenDllName)" Condition="Exists('$(IntermediateOutputPath)$(_SGenDllName)')" />
7262 </ItemGroup>
7263 </Target>
7264 <!--
7265 ***********************************************************************************************
7266 ***********************************************************************************************
7267 UnmanagedRegistration Section
7268 ***********************************************************************************************
7269 ***********************************************************************************************
7270 -->
7271 <!--
7272 ============================================================
7273 UnmanagedRegistration
7274
7275 Registers the main assembly for COM interop.
7276 ============================================================
7277 -->
7278 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7279 <UnmanagedRegistrationDependsOn />
7280 </PropertyGroup>
7281 <Target Name="UnmanagedRegistration" Condition="'$(RegisterForComInterop)'=='true' and '$(OutputType)'=='library'" DependsOnTargets="$(UnmanagedRegistrationDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7282 <PropertyGroup>
7283 <RegisterAssemblyMSBuildArchitecture Condition="'$(RegisterAssemblyMSBuildArchitecture)' == ''">$(PlatformTargetAsMSBuildArchitecture)</RegisterAssemblyMSBuildArchitecture>
7284 </PropertyGroup>
7285 <PropertyGroup Condition="'$(TargetFrameworkAsMSBuildRuntime)' != '' and '$(RegisterAssemblyMSBuildArchitecture)' != ''">
7286 <!-- Falling back to the current runtime if we are targeting CLR2 and the task host doesn't exist will lead to
7287 incorrect behavior in some cases, but it's the same incorrect behavior as Visual Studio 2010, and thus better
7288 than causing build breaks on upgrade to Win8 the way not doing so would. For more details, see the
7289 corresponding comment in GenerateResource. -->
7290 <RegisterAssemblyMSBuildRuntime Condition="'$(RegisterAssemblyMSBuildRuntime)' == '' and&#xD;&#xA; $([MSBuild]::DoesTaskHostExist(`$(TargetFrameworkAsMSBuildRuntime)`, `$(RegisterAssemblyMSBuildArchitecture)`))">$(TargetFrameworkAsMSBuildRuntime)</RegisterAssemblyMSBuildRuntime>
7291 <!-- If the targeted runtime doesn't exist, fall back to current -->
7292 <RegisterAssemblyMSBuildRuntime Condition="'$(RegisterAssemblyMSBuildRuntime)' == ''">CurrentRuntime</RegisterAssemblyMSBuildRuntime>
7293 </PropertyGroup>
7294 <RegisterAssembly Assemblies="@(_OutputPathItem->'%(FullPath)$(TargetFileName)')" TypeLibFiles="@(_OutputPathItem->'%(FullPath)$(TargetName).tlb')" AssemblyListFile="@(_UnmanagedRegistrationCache)" CreateCodeBase="true" MSBuildRuntime="$(RegisterAssemblyMSBuildRuntime)" MSBuildArchitecture="$(RegisterAssemblyMSBuildArchitecture)" Condition="!Exists('@(_UnmanagedRegistrationCache)')" />
7295 <ItemGroup>
7296 <FileWrites Include="@(_OutputPathItem->'%(FullPath)$(TargetName).tlb')" />
7297 </ItemGroup>
7298 </Target>
7299 <!--
7300 ***********************************************************************************************
7301 ***********************************************************************************************
7302 IncrementalClean Section
7303 ***********************************************************************************************
7304 ***********************************************************************************************
7305 -->
7306 <!--
7307 ============================================================
7308 IncrementalClean
7309
7310 Remove files that were produced in a prior build but weren't produced in the current build.
7311 The reason is that if, for example, the name of the .exe has changed we want to delete the
7312 old copy.
7313
7314 Leave the Clean cache file containing only the files produced in the current build.
7315 ============================================================
7316 -->
7317 <Target Name="IncrementalClean" DependsOnTargets="$(IncrementalCleanDependsOn);_CleanGetCurrentAndPriorFileWrites" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7318 <!-- Subtract list of files produced in prior builds from list of files produced in this build. -->
7319 <ItemGroup>
7320 <_CleanOrphanFileWrites Include="@(_CleanPriorFileWrites)" Exclude="@(_CleanCurrentFileWrites)" />
7321 </ItemGroup>
7322 <!-- Find all files in the final output directory. -->
7323 <FindUnderPath Path="$(OutDir)" Files="@(_CleanOrphanFileWrites)">
7324 <Output TaskParameter="InPath" ItemName="_CleanOrphanFileWritesInOutput" />
7325 </FindUnderPath>
7326 <!-- Find all files in the intermediate output directory. -->
7327 <FindUnderPath Path="$(IntermediateOutputPath)" Files="@(_CleanOrphanFileWrites)">
7328 <Output TaskParameter="InPath" ItemName="_CleanOrphanFileWritesInIntermediate" />
7329 </FindUnderPath>
7330 <!-- Delete the orphaned files. -->
7331 <Delete Files="@(_CleanOrphanFileWritesInIntermediate);@(_CleanOrphanFileWritesInOutput)" TreatErrorsAsWarnings="true">
7332 <Output TaskParameter="DeletedFiles" ItemName="_CleanOrphanFilesDeleted" />
7333 </Delete>
7334 <!-- Create a list of everything that wasn't deleted or was outside
7335 the current final output and intermediate output directories. -->
7336 <ItemGroup>
7337 <_CleanRemainingFileWritesAfterIncrementalClean Include="@(_CleanPriorFileWrites);@(_CleanCurrentFileWrites)" Exclude="@(_CleanOrphanFilesDeleted)" />
7338 </ItemGroup>
7339 <!-- Remove duplicates. -->
7340 <RemoveDuplicates Inputs="@(_CleanRemainingFileWritesAfterIncrementalClean)">
7341 <Output TaskParameter="Filtered" ItemName="_CleanUniqueRemainingFileWritesAfterIncrementalClean" />
7342 </RemoveDuplicates>
7343 <!-- Write new list of current files back to disk, replacing the existing list.-->
7344 <WriteLinesToFile File="$(IntermediateOutputPath)$(CleanFile)" Lines="@(_CleanUniqueRemainingFileWritesAfterIncrementalClean)" Condition="'@(_CleanUnfilteredPriorFileWrites)'!='@(_CleanUniqueRemainingFileWritesAfterIncrementalClean)'" Overwrite="true" />
7345 </Target>
7346 <!--
7347 ============================================================
7348 _CleanGetCurrentAndPriorFileWrites
7349
7350 Get the list of files built in the current build and in prior builds.
7351 ============================================================
7352 -->
7353 <Target Name="_CleanGetCurrentAndPriorFileWrites" DependsOnTargets="_CheckForCompileOutputs;_SGenCheckForOutputs" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7354 <!-- Read the list of files produced by a prior builds from disk. -->
7355 <ReadLinesFromFile File="$(IntermediateOutputPath)$(CleanFile)">
7356 <Output TaskParameter="Lines" ItemName="_CleanUnfilteredPriorFileWrites" />
7357 </ReadLinesFromFile>
7358 <!--
7359 Convert the list of references to the absolute paths so we can make valid comparisons
7360 across two lists
7361 -->
7362 <ConvertToAbsolutePath Paths="@(_ResolveAssemblyReferenceResolvedFiles)">
7363 <Output TaskParameter="AbsolutePaths" ItemName="_ResolveAssemblyReferenceResolvedFilesAbsolute" />
7364 </ConvertToAbsolutePath>
7365 <!--
7366 Subtract any resolved assembly files from *prior* file writes because deleting
7367 these would break subsequent builds because the assemblies would be unresolvable.
7368 -->
7369 <ItemGroup>
7370 <_CleanPriorFileWrites Include="@(_CleanUnfilteredPriorFileWrites)" Exclude="@(_ResolveAssemblyReferenceResolvedFilesAbsolute)" />
7371 </ItemGroup>
7372 <!--
7373 Of shareable files, keep only those that are in the project's directory.
7374 We never clean shareable files outside of the project directory because
7375 the build may be to a common output directory and other projects may need
7376 them.
7377
7378 Only subtract the outputs from ResolveAssemblyReferences target because that's the
7379 only "Resolve" target that tries to resolve assemblies directly from the output
7380 directory.
7381 -->
7382 <FindUnderPath Path="$(MSBuildProjectDirectory)" Files="@(FileWritesShareable)" UpdateToAbsolutePaths="true">
7383 <Output TaskParameter="InPath" ItemName="FileWrites" />
7384 </FindUnderPath>
7385 <!-- Find all files in the final output directory. -->
7386 <FindUnderPath Path="$(OutDir)" Files="@(FileWrites)" UpdateToAbsolutePaths="true">
7387 <Output TaskParameter="InPath" ItemName="_CleanCurrentFileWritesInOutput" />
7388 </FindUnderPath>
7389 <!-- Find all files in the intermediate output directory. -->
7390 <FindUnderPath Path="$(IntermediateOutputPath)" Files="@(FileWrites)" UpdateToAbsolutePaths="true">
7391 <Output TaskParameter="InPath" ItemName="_CleanCurrentFileWritesInIntermediate" />
7392 </FindUnderPath>
7393 <!--
7394 Subtract any resolved assembly files from *current* file writes because deleting
7395 these would break subsequent builds because the assemblies would be unresolvable.
7396
7397 Only subtract the outputs from ResolveAssemblyReferences target because that's the
7398 only "Resolve" target that tries to resolve assemblies directly from the output
7399 directory.
7400 -->
7401 <ItemGroup>
7402 <_CleanCurrentFileWritesWithNoReferences Include="@(_CleanCurrentFileWritesInOutput);@(_CleanCurrentFileWritesInIntermediate)" Exclude="@(_ResolveAssemblyReferenceResolvedFilesAbsolute)" />
7403 </ItemGroup>
7404 <!-- Remove duplicates from files produced in this build. -->
7405 <RemoveDuplicates Inputs="@(_CleanCurrentFileWritesWithNoReferences)">
7406 <Output TaskParameter="Filtered" ItemName="_CleanCurrentFileWrites" />
7407 </RemoveDuplicates>
7408 </Target>
7409 <!--
7410 ***********************************************************************************************
7411 ***********************************************************************************************
7412 Clean Section
7413 ***********************************************************************************************
7414 ***********************************************************************************************
7415 -->
7416 <!--
7417 ============================================================
7418 Clean
7419
7420 Delete all intermediate and final build outputs.
7421 ============================================================
7422 -->
7423 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7424 <CleanDependsOn>
7425 BeforeClean;
7426 UnmanagedUnregistration;
7427 CoreClean;
7428 CleanReferencedProjects;
7429 CleanPublishFolder;
7430 AfterClean
7431 </CleanDependsOn>
7432 </PropertyGroup>
7433 <Target Name="Clean" Condition=" '$(_InvalidConfigurationWarning)' != 'true' " DependsOnTargets="$(CleanDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7434 <!--
7435 ============================================================
7436 BeforeClean
7437
7438 Redefine this target in your project in order to run tasks just before Clean.
7439 ============================================================
7440 -->
7441 <Target Name="BeforeClean" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7442 <!--
7443 ============================================================
7444 AfterClean
7445
7446 Redefine this target in your project in order to run tasks just after Clean.
7447 ============================================================
7448 -->
7449 <Target Name="AfterClean" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7450 <!--
7451 ============================================================
7452 CleanReferencedProjects
7453
7454 Call Clean target on all Referenced Projects.
7455 ============================================================
7456 -->
7457 <Target Name="CleanReferencedProjects" DependsOnTargets="PrepareProjectReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7458 <!--
7459 When building the project directly from the command-line, clean those referenced projects
7460 that exist on disk. For IDE builds and command-line .SLN builds, the solution build manager
7461 takes care of this.
7462 -->
7463 <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)" />
7464 </Target>
7465 <!--
7466 ============================================================
7467 CoreClean
7468 ============================================================
7469 -->
7470 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7471 <CoreCleanDependsOn />
7472 </PropertyGroup>
7473 <Target Name="CoreClean" DependsOnTargets="$(CoreCleanDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7474 <!-- First clean any explicitly specified cleanable files.
7475 Declare items of this type if you want Clean to delete them. -->
7476 <Delete Files="@(Clean)" TreatErrorsAsWarnings="true" />
7477 <!-- Read in list of files that were written to disk in past builds. -->
7478 <ReadLinesFromFile File="$(IntermediateOutputPath)$(CleanFile)">
7479 <Output TaskParameter="Lines" ItemName="_CleanPriorFileWrites" />
7480 </ReadLinesFromFile>
7481 <!-- Find all files in the final output directory. -->
7482 <FindUnderPath Path="$(OutDir)" Files="@(_CleanPriorFileWrites)">
7483 <Output TaskParameter="InPath" ItemName="_CleanPriorFileWritesInOutput" />
7484 </FindUnderPath>
7485 <!-- Find all files in the intermediate output directory. -->
7486 <FindUnderPath Path="$(IntermediateOutputPath)" Files="@(_CleanPriorFileWrites)">
7487 <Output TaskParameter="InPath" ItemName="_CleanPriorFileWritesInIntermediate" />
7488 </FindUnderPath>
7489 <!-- Delete those files. -->
7490 <Delete Files="@(_CleanPriorFileWritesInOutput);@(_CleanPriorFileWritesInIntermediate)" TreatErrorsAsWarnings="true">
7491 <Output TaskParameter="DeletedFiles" ItemName="_CleanPriorFileWritesDeleted" />
7492 </Delete>
7493 <!-- Create a list of everything that wasn't deleted. -->
7494 <ItemGroup>
7495 <_CleanRemainingFileWritesAfterClean Include="@(_CleanPriorFileWrites)" Exclude="@(_CleanPriorFileWritesDeleted)" />
7496 </ItemGroup>
7497 <!-- Remove duplicates. -->
7498 <RemoveDuplicates Inputs="@(_CleanRemainingFileWritesAfterClean)">
7499 <Output TaskParameter="Filtered" ItemName="_CleanUniqueRemainingFileWrites" />
7500 </RemoveDuplicates>
7501 <!-- Make sure the directory exists. -->
7502 <MakeDir Directories="$(IntermediateOutputPath)" />
7503 <!-- Write new list of current files back to disk. -->
7504 <WriteLinesToFile File="$(IntermediateOutputPath)$(CleanFile)" Lines="@(_CleanUniqueRemainingFileWrites)" Overwrite="true" />
7505 </Target>
7506 <!--
7507 ============================================================
7508 _CleanRecordFileWrites
7509
7510 Save the list of all files written to disk so that it can be used for "Clean" later.
7511
7512 Files written in prior builds are not removed from Clean cache.
7513 ============================================================
7514 -->
7515 <Target Name="_CleanRecordFileWrites" DependsOnTargets="_CleanGetCurrentAndPriorFileWrites" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7516 <!--
7517 Merge list of files from prior builds with the current build and then
7518 remove duplicates.
7519 -->
7520 <RemoveDuplicates Inputs="@(_CleanPriorFileWrites);@(_CleanCurrentFileWrites)">
7521 <Output TaskParameter="Filtered" ItemName="_CleanUniqueFileWrites" />
7522 </RemoveDuplicates>
7523 <!-- Make sure the directory exists. -->
7524 <MakeDir Directories="$(IntermediateOutputPath)" />
7525 <!-- Write merged file list back to disk, replacing existing contents. -->
7526 <WriteLinesToFile File="$(IntermediateOutputPath)$(CleanFile)" Lines="@(_CleanUniqueFileWrites)" Overwrite="true" />
7527 </Target>
7528 <!--
7529 ============================================================
7530 CleanPublishFolder
7531 ============================================================
7532 -->
7533 <Target Name="CleanPublishFolder" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7534 <RemoveDir Directories="$(PublishDir)" Condition="'$(PublishDir)'=='$(OutputPath)app.publish\' and Exists('$(PublishDir)')" />
7535 </Target>
7536 <!--
7537 ***********************************************************************************************
7538 ***********************************************************************************************
7539 PostBuildEvent Section
7540 ***********************************************************************************************
7541 ***********************************************************************************************
7542 -->
7543 <!--
7544 ============================================================
7545 PostBuildEvent
7546
7547 Run the post-build event. This step is driven by two parameters:
7548
7549 (1) The $(RunPostBuildEvent) property is set by the user through the IDE and can be one of four values.
7550
7551 - OnBuildSuccess: In this case, every step of the build must succeed for the post-build step to run.
7552 - <Blank>: This is the same as OnBuildSuccess.
7553 - OnOutputUpdated: In this case, the post-build step will run only if the main output assembly was
7554 actually updated.
7555 - Always: The post-build step is always run.
7556
7557 (2) The $(_AssemblyTimestampBeforeCompile) and $(_AssemblyTimestampAfterCompile) values are
7558 set by the _TimeStampBeforeCompile and _TimeStampAfterCompile targets. If the assembly was actually
7559 rebuilt during this build, then the two values will be different.
7560 ============================================================
7561 -->
7562 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7563 <PostBuildEventDependsOn />
7564 </PropertyGroup>
7565 <Target Name="PostBuildEvent" Condition="'$(PostBuildEvent)' != '' and ('$(RunPostBuildEvent)' != 'OnOutputUpdated' or '$(_AssemblyTimestampBeforeCompile)' != '$(_AssemblyTimestampAfterCompile)')" DependsOnTargets="$(PostBuildEventDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7566 <Exec WorkingDirectory="$(OutDir)" Command="$(PostBuildEvent)" />
7567 </Target>
7568 <!--
7569 ***********************************************************************************************
7570 ***********************************************************************************************
7571 Publish Section
7572 ***********************************************************************************************
7573 ***********************************************************************************************
7574 -->
7575 <!--
7576 ============================================================
7577 Publish
7578
7579 This target is only called when doing ClickOnce publishing outside the IDE, which implicitly builds before publishing.
7580 ============================================================
7581 -->
7582 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7583 <PublishDependsOn Condition="'$(PublishableProject)'=='true'">
7584 SetGenerateManifests;
7585 Build;
7586 PublishOnly
7587 </PublishDependsOn>
7588 <PublishDependsOn Condition="'$(PublishableProject)'!='true'">
7589 _DeploymentUnpublishable
7590 </PublishDependsOn>
7591 </PropertyGroup>
7592 <Target Name="Publish" DependsOnTargets="$(PublishDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7593 <!--
7594 ============================================================
7595 _DeploymentUnpublishable
7596
7597 This target is used to block an attempt to ClickOnce publish a non-publishable project, such as a ClassLibrary, when building outside the IDE.
7598 ============================================================
7599 -->
7600 <Target Name="_DeploymentUnpublishable" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7601 <Message Text="Skipping unpublishable project." />
7602 </Target>
7603 <!--
7604 ============================================================
7605 SetGenerateManifests
7606
7607 This target simply assures the GenerateClickOnceManifests property is set whenever the publish target is invoked.
7608 ============================================================
7609 -->
7610 <Target Name="SetGenerateManifests" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7611 <Error Condition="'$(OutputType)'!='winexe' and '$(OutputType)'!='exe' and '$(OutputType)'!='appcontainerexe'" Text="Publish is only valid for 'Windows Application' or 'Console Application' project types." />
7612 <Error Condition="'$(_DeploymentSignClickOnceManifests)'=='true' and '$(ManifestCertificateThumbprint)'=='' and '$(ManifestKeyFile)'==''" Text="A signing key is required in order to publish this project. Please specify a ManifestKeyFile or ManifestCertificateThumbprint value. Publishing from Visual Studio will automatically configure a signing key for this project." />
7613 <PropertyGroup>
7614 <GenerateClickOnceManifests>true</GenerateClickOnceManifests>
7615 </PropertyGroup>
7616 </Target>
7617 <!--
7618 ============================================================
7619 PublishOnly
7620
7621 The "PublishOnly" target is intended for ClickOnce publishing inside the IDE, where the build has already been done
7622 by the BuildManager.
7623 ============================================================
7624 -->
7625 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7626 <PublishOnlyDependsOn>
7627 SetGenerateManifests;
7628 PublishBuild;
7629 BeforePublish;
7630 GenerateManifests;
7631 CopyFilesToOutputDirectory;
7632 _CopyFilesToPublishFolder;
7633 _DeploymentGenerateBootstrapper;
7634 ResolveKeySource;
7635 _DeploymentSignClickOnceDeployment;
7636 AfterPublish
7637 </PublishOnlyDependsOn>
7638 </PropertyGroup>
7639 <Target Name="PublishOnly" DependsOnTargets="$(PublishOnlyDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7640 <!--
7641 ============================================================
7642 BeforePublish
7643
7644 Redefine this target in your project in order to run tasks just before Publish.
7645 ============================================================
7646 -->
7647 <Target Name="BeforePublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7648 <!--
7649 ============================================================
7650 AfterPublish
7651
7652 Redefine this target in your project in order to run tasks just after Publish.
7653 ============================================================
7654 -->
7655 <Target Name="AfterPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7656 <!--
7657 ============================================================
7658 PublishBuild
7659
7660 Defines the set of targets that publishing is directly dependent on.
7661 ============================================================
7662 -->
7663 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7664 <PublishBuildDependsOn>
7665 BuildOnlySettings;
7666 PrepareForBuild;
7667 ResolveReferences;
7668 PrepareResources;
7669 ResolveKeySource;
7670 GenerateSerializationAssemblies;
7671 CreateSatelliteAssemblies;
7672 </PublishBuildDependsOn>
7673 </PropertyGroup>
7674 <Target Name="PublishBuild" DependsOnTargets="$(PublishBuildDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7675 <!--
7676 ============================================================
7677 _CopyFilesToPublishFolder
7678 ============================================================
7679 -->
7680 <Target Name="_CopyFilesToPublishFolder" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7681 <!-- Compute name of application folder, which includes the assembly name plus formatted application version.
7682 The application version is formatted to use "_" in place of "." chars (i.e. "1_0_0_0" instead of "1.0.0.0").
7683 This is done because some servers misinterpret "." as a file extension. -->
7684 <FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)" FormatType="Path">
7685 <Output TaskParameter="OutputVersion" PropertyName="_DeploymentApplicationVersionFragment" />
7686 </FormatVersion>
7687 <PropertyGroup>
7688 <_DeploymentApplicationFolderName>Application Files\$(AssemblyName)_$(_DeploymentApplicationVersionFragment)</_DeploymentApplicationFolderName>
7689 <_DeploymentApplicationDir>$(PublishDir)$(_DeploymentApplicationFolderName)\</_DeploymentApplicationDir>
7690 </PropertyGroup>
7691 <PropertyGroup>
7692 <!-- By default we're not using Hard or Symbolic Links to copy to the publish directory, and never when building in VS -->
7693 <CreateHardLinksForPublishFilesIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateHardLinksForPublishFilesIfPossible)' == ''">false</CreateHardLinksForPublishFilesIfPossible>
7694 <CreateSymbolicLinksForPublishFilesIfPossible Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(CreateSymbolicLinksForPublishFilesIfPossible)' == ''">false</CreateSymbolicLinksForPublishFilesIfPossible>
7695 </PropertyGroup>
7696 <!-- Copy files to publish folder -->
7697 <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)" />
7698 <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'" />
7699 <Copy Condition="'$(PublishSingleFile)' != 'true'" SourceFiles="@(_ReferenceScatterPaths)" DestinationFiles="@(_ReferenceScatterPaths->'$(_DeploymentApplicationDir)%(Filename)%(Extension)$(_DeploymentFileMappingExtension)')" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)" />
7700 <ItemGroup Condition="'$(PublishSingleFile)' == 'true'">
7701 <PublishedSingleFileToBeCopied Include="@(_DeploymentManifestFiles)" />
7702 </ItemGroup>
7703 <!-- For single-file publish case, we need to only copy the clickonce manifest, manifest entry point (launcher) and the SF EXE -->
7704 <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)" />
7705 <FormatUrl InputUrl="$(_DeploymentApplicationUrl)">
7706 <Output TaskParameter="OutputUrl" PropertyName="_DeploymentFormattedApplicationUrl" />
7707 </FormatUrl>
7708 <FormatUrl InputUrl="$(_DeploymentComponentsUrl)">
7709 <Output TaskParameter="OutputUrl" PropertyName="_DeploymentFormattedComponentsUrl" />
7710 </FormatUrl>
7711 </Target>
7712 <!--
7713 ============================================================
7714 _DeploymentGenerateBootstrapper
7715 ============================================================
7716 -->
7717 <Target Name="_DeploymentGenerateBootstrapper" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7718 <!-- Build setup.exe bootstrapper and copy referenced packages -->
7719 <GenerateBootstrapper ApplicationFile="$(TargetDeployManifestFileName)" ApplicationName="$(AssemblyName)" ApplicationUrl="$(_DeploymentFormattedApplicationUrl)" BootstrapperItems="@(BootstrapperPackage)" ComponentsLocation="$(BootstrapperComponentsLocation)" ComponentsUrl="$(_DeploymentFormattedComponentsUrl)" Culture="$(TargetCulture)" FallbackCulture="$(FallbackCulture)" OutputPath="$(PublishDir)" SupportUrl="$(_DeploymentFormattedSupportUrl)" Path="$(GenerateBootstrapperSdkPath)" VisualStudioVersion="$(VisualStudioVersion)" Condition="'$(BootstrapperEnabled)'=='true'" />
7720 </Target>
7721 <!--
7722 ============================================================
7723 _DeploymentSignClickOnceDeployment
7724 ============================================================
7725 -->
7726 <Target Name="_DeploymentSignClickOnceDeployment" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7727 <!-- Sign manifests and the bootstrapper -->
7728 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="$(_DeploymentApplicationDir)$(_DeploymentTargetApplicationManifestFileName)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(TargetFrameworkVersion)" Condition="'$(_DeploymentSignClickOnceManifests)'=='true'" />
7729 <!-- Update entry point path in deploy manifest -->
7730 <UpdateManifest ApplicationPath="$(_DeploymentApplicationFolderName)\$(_DeploymentTargetApplicationManifestFileName)" TargetFrameworkVersion="$(_DeploymentManifestTargetFrameworkVersion)" ApplicationManifest="$(_DeploymentApplicationDir)$(_DeploymentTargetApplicationManifestFileName)" InputManifest="$(OutDir)$(TargetDeployManifestFileName)" OutputManifest="$(PublishDir)$(TargetDeployManifestFileName)">
7731 <Output TaskParameter="OutputManifest" ItemName="PublishedDeployManifest" />
7732 </UpdateManifest>
7733 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="$(PublishDir)$(TargetDeployManifestFileName)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(TargetFrameworkVersion)" Condition="'$(_DeploymentSignClickOnceManifests)'=='true'" />
7734 <SignFile CertificateThumbprint="$(_DeploymentResolvedManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="$(PublishDir)\setup.exe" Condition="'$(BootstrapperEnabled)'=='true' and '$(_DeploymentSignClickOnceManifests)'=='true'" />
7735 </Target>
7736 <!--
7737 ***********************************************************************************************
7738 ***********************************************************************************************
7739 AllProjectOutputGroups Section
7740 ***********************************************************************************************
7741 ***********************************************************************************************
7742 -->
7743 <!--
7744 ============================================================
7745 AllProjectOutputGroups
7746
7747 The targets below drive output groups, which provide generic information about a
7748 project's inputs (e.g., content files, compilation sources, etc.) and built outputs
7749 (e.g., built EXE/DLL, PDB, XML documentation files, etc.)
7750
7751 Each target may produce two kinds of items: outputs and dependencies. Outputs are
7752 items from the current project; dependencies are items that are brought into the
7753 current project as a result of referencing other projects or components.
7754
7755 For both outputs and dependencies, the Include attribute
7756 specifies the location of the output/dependency; it must be a full path. Any number
7757 of additional attributes may be placed on an output/dependency item.
7758 ============================================================
7759 -->
7760 <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" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7761 <!--
7762 This is the key output for the BuiltProjectOutputGroup and is meant to be read directly from the IDE.
7763 Reading an item is faster than invoking a target.
7764 -->
7765 <ItemGroup Condition=" '$(OutputType)' != 'winmdobj' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7766 <BuiltProjectOutputGroupKeyOutput Include="@(IntermediateAssembly->'%(FullPath)')">
7767 <IsKeyOutput>true</IsKeyOutput>
7768 <FinalOutputPath>$(TargetPath)</FinalOutputPath>
7769 <TargetPath>$(TargetFileName)</TargetPath>
7770 <COM2REG Condition="'$(RegisterForComInterop)'=='true' and '$(OutputType)'=='library'">true</COM2REG>
7771 </BuiltProjectOutputGroupKeyOutput>
7772 </ItemGroup>
7773 <ItemGroup Condition=" '$(OutputType)' == 'winmdobj' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7774 <WinMDExpOutputWindowsMetadataFileItem Include="$(_IntermediateWindowsMetadataPath)" Condition="'$(_IntermediateWindowsMetadataPath)' != ''" />
7775 <BuiltProjectOutputGroupKeyOutput Include="@(WinMDExpOutputWindowsMetadataFileItem->'%(FullPath)')">
7776 <IsKeyOutput>true</IsKeyOutput>
7777 <FinalOutputPath>$(TargetPath)</FinalOutputPath>
7778 <TargetPath>$(TargetFileName)</TargetPath>
7779 </BuiltProjectOutputGroupKeyOutput>
7780 </ItemGroup>
7781 <!--
7782 ============================================================
7783 BuiltProjectOutputGroup
7784 ============================================================
7785 -->
7786 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7787 <BuiltProjectOutputGroupDependsOn>PrepareForBuild</BuiltProjectOutputGroupDependsOn>
7788 <AddAppConfigToBuildOutputs Condition="('$(AddAppConfigToBuildOutputs)'=='') and ('$(OutputType)'!='library' and '$(OutputType)'!='winmdobj')">true</AddAppConfigToBuildOutputs>
7789 </PropertyGroup>
7790 <Target Name="BuiltProjectOutputGroup" Returns="@(BuiltProjectOutputGroupOutput)" DependsOnTargets="$(BuiltProjectOutputGroupDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7791 <ItemGroup>
7792 <_BuiltProjectOutputGroupOutputIntermediate Include="@(BuiltProjectOutputGroupKeyOutput)" />
7793 </ItemGroup>
7794 <!-- This item represents the app.config file -->
7795 <ItemGroup>
7796 <_BuiltProjectOutputGroupOutputIntermediate Include="$(AppConfig)" Condition="'$(AddAppConfigToBuildOutputs)'=='true'">
7797 <FinalOutputPath>$(TargetDir)$(TargetFileName).config</FinalOutputPath>
7798 <TargetPath>$(TargetFileName).config</TargetPath>
7799 <!-- For compatibility with 2.0 -->
7800 <OriginalItemSpec>$(AppConfig)</OriginalItemSpec>
7801 </_BuiltProjectOutputGroupOutputIntermediate>
7802 </ItemGroup>
7803 <ItemGroup>
7804 <_IsolatedComReference Include="@(COMReference)" Condition=" '%(COMReference.Isolated)' == 'true' " />
7805 <_IsolatedComReference Include="@(COMFileReference)" Condition=" '%(COMFileReference.Isolated)' == 'true' " />
7806 </ItemGroup>
7807 <!-- This item represents the native manifest, example: WindowsApplication1.exe.manifest or Native.ClassLibrary1.manifest -->
7808 <ItemGroup>
7809 <_BuiltProjectOutputGroupOutputIntermediate Include="$(OutDir)$(_DeploymentTargetApplicationManifestFileName)" Condition="'@(NativeReference)'!='' or '@(_IsolatedComReference)'!=''">
7810 <TargetPath>$(_DeploymentTargetApplicationManifestFileName)</TargetPath>
7811 <!-- For compatibility with 2.0 -->
7812 <OriginalItemSpec>$(OutDir)$(_DeploymentTargetApplicationManifestFileName)</OriginalItemSpec>
7813 </_BuiltProjectOutputGroupOutputIntermediate>
7814 </ItemGroup>
7815 <!-- Convert intermediate items into final items; this way we can get the full path for each item -->
7816 <ItemGroup>
7817 <BuiltProjectOutputGroupOutput Include="@(_BuiltProjectOutputGroupOutputIntermediate->'%(FullPath)')">
7818 <!-- For compatibility with 2.0 -->
7819 <OriginalItemSpec Condition="'%(_BuiltProjectOutputGroupOutputIntermediate.OriginalItemSpec)' == ''">%(_BuiltProjectOutputGroupOutputIntermediate.FullPath)</OriginalItemSpec>
7820 </BuiltProjectOutputGroupOutput>
7821 </ItemGroup>
7822 </Target>
7823 <!--
7824 ============================================================
7825 DebugSymbolsProjectOutputGroup
7826
7827 This target performs population of the Debug Symbols project output group.
7828 ============================================================
7829 -->
7830 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7831 <DebugSymbolsProjectOutputGroupDependsOn />
7832 </PropertyGroup>
7833 <ItemGroup Condition="'$(_DebugSymbolsProduced)' != 'false' and '$(OutputType)' != 'winmdobj'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7834 <DebugSymbolsProjectOutputGroupOutput Include="@(_DebugSymbolsIntermediatePath->'%(FullPath)')">
7835 <FinalOutputPath>@(_DebugSymbolsOutputPath->'%(FullPath)')</FinalOutputPath>
7836 <TargetPath>@(_DebugSymbolsIntermediatePath->'%(Filename)%(Extension)')</TargetPath>
7837 </DebugSymbolsProjectOutputGroupOutput>
7838 </ItemGroup>
7839 <ItemGroup Condition="'$(_DebugSymbolsProduced)' != 'false' and '$(OutputType)' == 'winmdobj'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7840 <WinMDExpOutputPdbItem Include="$(WinMDExpOutputPdb)" Condition="'$(WinMDExpOutputPdb)' != ''" />
7841 <WinMDExpFinalOutputPdbItem Include="$(_WinMDDebugSymbolsOutputPath)" Condition="'$(_WinMDDebugSymbolsOutputPath)' != ''" />
7842 <DebugSymbolsProjectOutputGroupOutput Include="@(WinMDExpOutputPdbItem->'%(FullPath)')">
7843 <FinalOutputPath>@(WinMDExpFinalOutputPdbItem->'%(FullPath)')</FinalOutputPath>
7844 <TargetPath>@(WinMDExpOutputPdbItem->'%(Filename)%(Extension)')</TargetPath>
7845 </DebugSymbolsProjectOutputGroupOutput>
7846 </ItemGroup>
7847 <Target Name="DebugSymbolsProjectOutputGroup" Returns="@(DebugSymbolsProjectOutputGroupOutput)" DependsOnTargets="$(DebugSymbolsProjectOutputGroupDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7848 <!--
7849 ============================================================
7850 DocumentationProjectOutputGroup
7851
7852 This target performs population of the Documentation project output group.
7853 ============================================================
7854 -->
7855 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7856 <DocumentationProjectOutputGroupDependsOn />
7857 </PropertyGroup>
7858 <ItemGroup Condition="'$(DocumentationFile)'!='' and '$(OutputType)' != 'winmdobj'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7859 <DocumentationProjectOutputGroupOutput Include="@(DocFileItem->'%(FullPath)')">
7860 <FinalOutputPath>@(FinalDocFile->'%(FullPath)')</FinalOutputPath>
7861 <IsKeyOutput>true</IsKeyOutput>
7862 <TargetPath>@(DocFileItem->'%(Filename)%(Extension)')</TargetPath>
7863 </DocumentationProjectOutputGroupOutput>
7864 </ItemGroup>
7865 <ItemGroup Condition="'$(DocumentationFile)' != '' and '$(OutputType)' == 'winmdobj'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7866 <WinMDOutputDocumentationFileItem Include="$(WinMDOutputDocumentationFile)" Condition="'$(WinMDOutputDocumentationFile)' != ''" />
7867 <WinMDExpFinalOutputDocItem Include="$(_WinMDDocFileOutputPath)" Condition="'$(_WinMDDocFileOutputPath)' != ''" />
7868 <DocumentationProjectOutputGroupOutput Include="@(WinMDOutputDocumentationFileItem->'%(FullPath)')">
7869 <FinalOutputPath>@(WinMDExpFinalOutputDocItem->'%(FullPath)')</FinalOutputPath>
7870 <TargetPath>@(WinMDOutputDocumentationFileItem->'%(Filename)%(Extension)')</TargetPath>
7871 </DocumentationProjectOutputGroupOutput>
7872 </ItemGroup>
7873 <Target Name="DocumentationProjectOutputGroup" Returns="@(DocumentationProjectOutputGroupOutput)" DependsOnTargets="$(DocumentationProjectOutputGroupDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7874 <!--
7875 ============================================================
7876 SatelliteDllsProjectOutputGroup
7877
7878 This target performs population of the Satellite Files project output group.
7879 ============================================================
7880 -->
7881 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7882 <SatelliteDllsProjectOutputGroupDependsOn>PrepareForBuild;PrepareResourceNames</SatelliteDllsProjectOutputGroupDependsOn>
7883 </PropertyGroup>
7884 <Target Name="SatelliteDllsProjectOutputGroup" Returns="@(SatelliteDllsProjectOutputGroupOutput)" DependsOnTargets="$(SatelliteDllsProjectOutputGroupDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7885 <ItemGroup>
7886 <SatelliteDllsProjectOutputGroupOutputIntermediate Include="$(IntermediateOutputPath)%(EmbeddedResource.Culture)\$(TargetName).resources.dll" Condition="'%(EmbeddedResource.WithCulture)' == 'true'">
7887 <TargetPath>%(EmbeddedResource.Culture)\$(TargetName).resources.dll</TargetPath>
7888 <Culture>%(EmbeddedResource.Culture)</Culture>
7889 </SatelliteDllsProjectOutputGroupOutputIntermediate>
7890 </ItemGroup>
7891 <!-- Convert intermediate items into final items; this way we can get the full path for each item. -->
7892 <ItemGroup>
7893 <SatelliteDllsProjectOutputGroupOutput Include="@(SatelliteDllsProjectOutputGroupOutputIntermediate->'%(FullPath)')">
7894 <FinalOutputPath Condition=" '%(SatelliteDllsProjectOutputGroupOutputIntermediate.FinalOutputPath)' == '' ">$(TargetDir)%(SatelliteDllsProjectOutputGroupOutputIntermediate.TargetPath)</FinalOutputPath>
7895 <!-- For compatibility with 2.0 -->
7896 <OriginalItemSpec>%(SatelliteDllsProjectOutputGroupOutputIntermediate.Identity)</OriginalItemSpec>
7897 </SatelliteDllsProjectOutputGroupOutput>
7898 </ItemGroup>
7899 </Target>
7900 <!--
7901 ============================================================
7902 SourceFilesProjectOutputGroup
7903
7904 This target performs population of the Source Files project output group.
7905 Source files are items in the project whose type is "Compile" and "EmbeddedResource".
7906 ============================================================
7907 -->
7908 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7909 <SourceFilesProjectOutputGroupDependsOn>PrepareForBuild;AssignTargetPaths</SourceFilesProjectOutputGroupDependsOn>
7910 </PropertyGroup>
7911 <Target Name="SourceFilesProjectOutputGroup" Returns="@(SourceFilesProjectOutputGroupOutput)" DependsOnTargets="$(SourceFilesProjectOutputGroupDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7912 <AssignTargetPath Files="@(Compile)" RootFolder="$(MSBuildProjectDirectory)">
7913 <Output TaskParameter="AssignedFiles" ItemName="_CompileWithTargetPath" />
7914 </AssignTargetPath>
7915 <ItemGroup>
7916 <!-- First we deal with Compile, EmbeddedResource and AppConfig -->
7917 <SourceFilesProjectOutputGroupOutput Include="@(_CompileWithTargetPath->'%(FullPath)');@(EmbeddedResource->'%(FullPath)');@(_LicxFile->'%(FullPath)');@(AppConfigWithTargetPath->'%(FullPath)')" />
7918 <!-- Include the project file -->
7919 <SourceFilesProjectOutputGroupOutput Include="$(MSBuildProjectFullPath)">
7920 <!-- For compatibility with 2.0 -->
7921 <OriginalItemSpec>$(MSBuildProjectFullPath)</OriginalItemSpec>
7922 <TargetPath>$(ProjectFileName)</TargetPath>
7923 </SourceFilesProjectOutputGroupOutput>
7924 </ItemGroup>
7925 </Target>
7926 <!-- Get just the compile items -->
7927 <Target Name="GetCompile" Returns="@(Compile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7928 <!--
7929 ============================================================
7930 ContentFilesProjectOutputGroup
7931
7932 This target performs population of the Content Files project output group.
7933 Content files are items in the project whose type is "Content".
7934 ============================================================
7935 -->
7936 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7937 <ContentFilesProjectOutputGroupDependsOn>PrepareForBuild;AssignTargetPaths</ContentFilesProjectOutputGroupDependsOn>
7938 </PropertyGroup>
7939 <Target Name="ContentFilesProjectOutputGroup" Returns="@(ContentFilesProjectOutputGroupOutput)" DependsOnTargets="$(ContentFilesProjectOutputGroupDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7940 <!-- Convert items into final items; this way we can get the full path for each item. -->
7941 <ItemGroup>
7942 <ContentFilesProjectOutputGroupOutput Include="@(ContentWithTargetPath->'%(FullPath)')" />
7943 </ItemGroup>
7944 </Target>
7945 <!--
7946 ============================================================
7947 SGenFilesOutputGroup
7948
7949 This target performs population of the GenerateSerializationAssemblies Files project output group.
7950 GenerateSerializationAssemblies files are those generated by the GenerateSerializationAssemblies target and task.
7951 ============================================================
7952 -->
7953 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7954 <SGenFilesOutputGroupDependsOn />
7955 </PropertyGroup>
7956 <ItemGroup Condition="'$(_SGenGenerateSerializationAssembliesConfig)' == 'On' or ('@(WebReferenceUrl)'!='' and '$(_SGenGenerateSerializationAssembliesConfig)' == 'Auto')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7957 <SGenFilesOutputGroupOutput Include="@(_OutputPathItem->'%(FullPath)$(_SGenDllName)')">
7958 <FinalOutputPath>@(_OutputPathItem->'%(FullPath)$(_SGenDllName)')</FinalOutputPath>
7959 <TargetPath>$(_SGenDllName)</TargetPath>
7960 </SGenFilesOutputGroupOutput>
7961 </ItemGroup>
7962 <Target Name="SGenFilesOutputGroup" Returns="@(SGenFilesOutputGroupOutput)" DependsOnTargets="$(SGenFilesOutputGroupDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7963 <!--
7964 ============================================================
7965 SDKRelated Output groups
7966
7967 These targets are to gather information from the SDKs.
7968 ============================================================
7969 -->
7970 <!-- Get the resolved SDK reference items -->
7971 <Target Name="GetResolvedSDKReferences" DependsOnTargets="ResolveSDKReferences" Returns="@(ResolvedSDKReference)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7972 <!-- Target will return no results by default but will be populated by other targets elsewhere.
7973 Needed for certain build environments that import partial sets of targets. -->
7974 <Target Name="CollectReferencedNuGetPackages" Returns="@(ReferencedNuGetPackages)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7975 <!-- Get the TargetFrameworks that are supported for the Visual Studio TargetFramework drop down -->
7976 <Target Name="GenerateSupportedTargetFrameworkAlias" Returns="@(SupportedTargetFrameworkAlias)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
7977 <!--
7978 ============================================================
7979 PriFilesOutputGroup
7980
7981 This target performs population of the pri files output group
7982 ============================================================
7983 -->
7984 <Target Name="PriFilesOutputGroup" Condition="'@(_ReferenceRelatedPaths)' != ''" DependsOnTargets="BuildOnlySettings;PrepareForBuild;AssignTargetPaths;ResolveReferences" Returns="@(PriFilesOutputGroupOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7985 <!-- This item represents dependent pri file's -->
7986 <ItemGroup>
7987 <PriFilesOutputGroupOutput Include="@(_ReferenceRelatedPaths->'%(FullPath)')" Condition="'%(Extension)' == '.pri'" />
7988 </ItemGroup>
7989 </Target>
7990 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
7991 <SDKRedistOutputGroupDependsOn>ResolveSDKReferences;ExpandSDKReferences</SDKRedistOutputGroupDependsOn>
7992 </PropertyGroup>
7993 <!--
7994 ============================================================
7995 SDKRedistOutputGroup
7996
7997 This target gathers the Redist folders from the SDKs which have been resolved.
7998 ============================================================
7999 -->
8000 <Target Name="SDKRedistOutputGroup" Returns="@(SDKRedistOutputGroupOutput)" DependsOnTargets="$(SDKRedistOutputGroupDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8001 <!-- This list starts with the least specific files to the most specific so that later files can overwrite earlier files-->
8002 <ItemGroup>
8003 <SDKRedistOutputGroupOutput Include="@(ResolvedRedistFiles)" />
8004 </ItemGroup>
8005 </Target>
8006 <!--
8007 ***********************************************************************************************
8008 ***********************************************************************************************
8009 AllProjectOutputGroupsDependencies Section
8010 ***********************************************************************************************
8011 ***********************************************************************************************
8012 -->
8013 <!--
8014 ============================================================
8015 CommonOutputGroupsDependsOn
8016
8017 Dependencies common to many of the *OutputGroupDependencies targets.
8018 ============================================================
8019 -->
8020 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8021 <CommonOutputGroupsDependsOn>
8022 $(CommonOutputGroupsDependsOn);
8023 BuildOnlySettings;
8024 PrepareForBuild;
8025 AssignTargetPaths;
8026 ResolveReferences
8027 </CommonOutputGroupsDependsOn>
8028 </PropertyGroup>
8029 <!--
8030 ============================================================
8031 AllProjectOutputGroupsDependencies
8032 ============================================================
8033 -->
8034 <Target Name="AllProjectOutputGroupsDependencies" DependsOnTargets="&#xD;&#xA; BuiltProjectOutputGroupDependencies;&#xD;&#xA; DebugSymbolsProjectOutputGroupDependencies;&#xD;&#xA; SatelliteDllsProjectOutputGroupDependencies;&#xD;&#xA; DocumentationProjectOutputGroupDependencies;&#xD;&#xA; SGenFilesOutputGroupDependencies" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8035 <!--
8036 ============================================================
8037 BuiltProjectOutputGroupDependencies
8038
8039 This target performs population of the Built project output group dependencies.
8040 ============================================================
8041 -->
8042 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8043 <BuiltProjectOutputGroupDependenciesDependsOn>
8044 $(BuiltProjectOutputGroupDependenciesDependsOn);
8045 $(CommonOutputGroupsDependsOn)
8046 </BuiltProjectOutputGroupDependenciesDependsOn>
8047 </PropertyGroup>
8048 <Target Name="BuiltProjectOutputGroupDependencies" DependsOnTargets="$(BuiltProjectOutputGroupDependenciesDependsOn)" Returns="@(BuiltProjectOutputGroupDependency)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8049 <ItemGroup>
8050 <BuiltProjectOutputGroupDependency Include="@(ReferencePath->'%(FullPath)');&#xD;&#xA; @(ReferenceDependencyPaths->'%(FullPath)');&#xD;&#xA; @(NativeReferenceFile->'%(FullPath)');&#xD;&#xA; @(_DeploymentLooseManifestFile->'%(FullPath)');&#xD;&#xA; @(ResolvedIsolatedComModules->'%(FullPath)')" />
8051 </ItemGroup>
8052 </Target>
8053 <!--
8054 ============================================================
8055 DebugSymbolsProjectOutputGroupDependencies
8056
8057 This target performs population of the dependencies for the debug symbols project output group.
8058 ============================================================
8059 -->
8060 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8061 <DebugSymbolsProjectOutputGroupDependenciesDependsOn>
8062 $(DebugSymbolsProjectOutputGroupDependenciesDependsOn);
8063 $(CommonOutputGroupsDependsOn)
8064 </DebugSymbolsProjectOutputGroupDependenciesDependsOn>
8065 </PropertyGroup>
8066 <Target Name="DebugSymbolsProjectOutputGroupDependencies" Condition="'$(DebugSymbols)'!='false'" DependsOnTargets="$(DebugSymbolsProjectOutputGroupDependenciesDependsOn)" Returns="@(DebugSymbolsProjectOutputGroupDependency)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8067 <!-- This item represents dependent PDB's -->
8068 <ItemGroup>
8069 <DebugSymbolsProjectOutputGroupDependency Include="@(_ReferenceRelatedPaths->'%(FullPath)')" Condition="'%(Extension)' == '.pdb'" />
8070 </ItemGroup>
8071 </Target>
8072 <!--
8073 ============================================================
8074 SatelliteDllsProjectOutputGroupDependencies
8075
8076 This target performs population of the dependencies for the satellite files project output group.
8077 ============================================================
8078 -->
8079 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8080 <SatelliteDllsProjectOutputGroupDependenciesDependsOn>
8081 $(SatelliteDllsProjectOutputGroupDependenciesDependsOn);
8082 $(CommonOutputGroupsDependsOn)
8083 </SatelliteDllsProjectOutputGroupDependenciesDependsOn>
8084 </PropertyGroup>
8085 <Target Name="SatelliteDllsProjectOutputGroupDependencies" DependsOnTargets="$(SatelliteDllsProjectOutputGroupDependenciesDependsOn)" Returns="@(SatelliteDllsProjectOutputGroupDependency)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8086 <!-- This item represents dependent satellites -->
8087 <ItemGroup>
8088 <SatelliteDllsProjectOutputGroupDependency Include="@(ReferenceSatellitePaths->'%(FullPath)')" />
8089 </ItemGroup>
8090 </Target>
8091 <!--
8092 ============================================================
8093 DocumentationProjectOutputGroupDependencies
8094
8095 This target performs population of the dependencies for the documentation project output group.
8096 ============================================================
8097 -->
8098 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8099 <DocumentationProjectOutputGroupDependenciesDependsOn>
8100 $(DocumentationProjectOutputGroupDependenciesDependsOn);
8101 $(CommonOutputGroupsDependsOn)
8102 </DocumentationProjectOutputGroupDependenciesDependsOn>
8103 </PropertyGroup>
8104 <Target Name="DocumentationProjectOutputGroupDependencies" Condition="'$(DocumentationFile)'!=''" DependsOnTargets="$(DocumentationProjectOutputGroupDependenciesDependsOn)" Returns="@(DocumentationProjectOutputGroupDependency)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8105 <!-- This item represents dependent XMLs -->
8106 <ItemGroup>
8107 <DocumentationProjectOutputGroupDependency Include="@(_ReferenceRelatedPaths->'%(FullPath)')" Condition="'%(Extension)' == '.xml'" />
8108 </ItemGroup>
8109 </Target>
8110 <!--
8111 ============================================================
8112 SGenFilesOutputGroupDependencies
8113
8114 This target performs population of the dependencies for the GenerateSerializationAssemblies project output group.
8115 ============================================================
8116 -->
8117 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8118 <SGenFilesOutputGroupDependenciesDependsOn>
8119 $(SGenFilesOutputGroupDependenciesDependsOn);
8120 $(CommonOutputGroupsDependsOn)
8121 </SGenFilesOutputGroupDependenciesDependsOn>
8122 </PropertyGroup>
8123 <Target Name="SGenFilesOutputGroupDependencies" DependsOnTargets="$(SGenFilesOutputGroupDependenciesDependsOn)" Returns="@(SGenFilesOutputGroupDependency)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8124 <!-- This item represents sgen xml serializer dll's -->
8125 <ItemGroup>
8126 <SGenFilesOutputGroupDependency Include="@(_ReferenceSerializationAssemblyPaths->'%(FullPath)')" Condition="'%(Extension)' == '.dll'" />
8127 </ItemGroup>
8128 </Target>
8129 <!--
8130 ============================================================
8131 ReferenceCopyLocalPathsOutputGroup
8132
8133 Exposes the set of items that should be copied locally based on the project's references.
8134 ============================================================
8135 -->
8136 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8137 <ReferenceCopyLocalPathsOutputGroupDependsOn>
8138 $(ReferenceCopyLocalPathsOutputGroupDependsOn);
8139 $(CommonOutputGroupsDependsOn)
8140 </ReferenceCopyLocalPathsOutputGroupDependsOn>
8141 </PropertyGroup>
8142 <Target Name="ReferenceCopyLocalPathsOutputGroup" DependsOnTargets="$(ReferenceCopyLocalPathsOutputGroupDependsOn)" Returns="@(ReferenceCopyLocalPathsOutputGroupOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8143 <ItemGroup>
8144 <ReferenceCopyLocalPathsOutputGroupOutput Include="@(ReferenceCopyLocalPaths)">
8145 <TargetPath>%(ReferenceCopyLocalPaths.DestinationSubDirectory)%(ReferenceCopyLocalPaths.Filename)%(ReferenceCopyLocalPaths.Extension)</TargetPath>
8146 </ReferenceCopyLocalPathsOutputGroupOutput>
8147 </ItemGroup>
8148 </Target>
8149 <!--
8150 ============================================================
8151 DesignerRuntimeImplementationProjectOutputGroup
8152
8153 Exposes build items to be used by designer. The default is empty, but
8154 SDKs can override it as appropriate. The empty stub is required so that
8155 the project system can always rely on calling it even if it is not
8156 overridden.
8157 ============================================================
8158 -->
8159 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8160 <DesignerRuntimeImplementationProjectOutputGroupDependsOn>
8161 $(DesignerRuntimeImplementationProjectOutputGroupDependsOn);
8162 $(CommonOutputGroupsDependsOn)
8163 </DesignerRuntimeImplementationProjectOutputGroupDependsOn>
8164 </PropertyGroup>
8165 <Target Name="DesignerRuntimeImplementationProjectOutputGroup" DependsOnTargets="$(DesignerRuntimeImplementationProjectOutputGroupDependsOn)" Returns="@(DesignerRuntimeImplementationProjectOutputGroupOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8166 <!--
8167 ============================================================
8168 .editorconfig support
8169 ============================================================
8170 -->
8171 <!-- Expose the set of potential .editorconfig files so the project system can
8172 retrieve them. -->
8173 <Target Name="GetPotentialEditorConfigFiles" Returns="@(PotentialEditorConfigFiles)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8174 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8175 <CodeAnalysisTargets Condition="'$(CodeAnalysisTargets)'==''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeAnalysis\Microsoft.CodeAnalysis.targets</CodeAnalysisTargets>
8176 </PropertyGroup>
8177 <!--
8178============================================================================================================================================
8179 <Import Project="$(CodeAnalysisTargets)" Condition="Exists('$(CodeAnalysisTargets)')">
8180
8181C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\CodeAnalysis\Microsoft.CodeAnalysis.targets
8182============================================================================================================================================
8183-->
8184 <UsingTask TaskName="SetEnvironmentVariable" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8185 <ParameterGroup>
8186 <EnvKey ParameterType="System.String" Required="true" />
8187 <EnvValue ParameterType="System.String" Required="true" />
8188 </ParameterGroup>
8189 <Task>
8190 <Using Namespace="System" />
8191 <Code Type="Fragment" Language="cs"><![CDATA[
8192 try {
8193 Environment.SetEnvironmentVariable(EnvKey, EnvValue, System.EnvironmentVariableTarget.Process);
8194 }
8195 catch {
8196 }
8197 ]]></Code>
8198 </Task>
8199 </UsingTask>
8200 <!-- Global properties for all analyzers -->
8201 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8202 <CodeAnalysisStaticAnalysisDirectory Condition="'$(CodeAnalysisStaticAnalysisDirectory)'=='' and Exists('$(VsInstallRoot)\Team Tools\Static Analysis Tools\')">$(VsInstallRoot)\Team Tools\Static Analysis Tools\</CodeAnalysisStaticAnalysisDirectory>
8203 <!-- Default rule set search paths -->
8204 <CodeAnalysisRuleSetDirectories Condition="'$(CodeAnalysisIgnoreBuiltInRuleSets)'!='true' and&#xD;&#xA; '$(CodeAnalysisStaticAnalysisDirectory)'!=''">$(CodeAnalysisRuleSetDirectories);$(CodeAnalysisStaticAnalysisDirectory)\Rule Sets</CodeAnalysisRuleSetDirectories>
8205 <!--
8206 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
8207 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.
8208 -->
8209 <CodeAnalysisVSSku Condition="'$(CodeAnalysisVSSku)'=='' and !Exists('$(CodeAnalysisStaticAnalysisDirectory)\Rule Sets\NativeRecommendedRules.ruleset')">Express</CodeAnalysisVSSku>
8210 </PropertyGroup>
8211 <PropertyGroup Condition="'$(RunCodeAnalysis)'=='true' or '$(RunCodeAnalysisOnce)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8212 <!--
8213 - Checking whether we should run Code Analysis only on specific project in the solution
8214 - Combine all variables into one "master" control variable to simplify conditions further below
8215 -->
8216 <RunCodeAnalysisOnThisProject>true</RunCodeAnalysisOnThisProject>
8217 <RunCodeAnalysisOnThisProject Condition="'$(CodeAnalysisProjectFullPath)'!='' and '$(MSBuildProjectFullPath)'!='' and '$(MSBuildProjectFullPath)'!='$(CodeAnalysisProjectFullPath)'">false</RunCodeAnalysisOnThisProject>
8218 </PropertyGroup>
8219 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8220 <IsCSharpOrVbProject Condition="'$(Language)'=='C#' or '$(Language)'=='VB'">true</IsCSharpOrVbProject>
8221 <IsLegacyCodeAnalysis Condition="'$(IsCSharpOrVbProject)'=='true'">true</IsLegacyCodeAnalysis>
8222 <SuppressLegacyCodeAnalysisDeprecatedWarning Condition="'$(SuppressLegacyCodeAnalysisDeprecatedWarning)'!='true'">false</SuppressLegacyCodeAnalysisDeprecatedWarning>
8223 <RunAnalyzersDuringLiveAnalysis Condition="'$(RunAnalyzers)' != ''">$(RunAnalyzers)</RunAnalyzersDuringLiveAnalysis>
8224 <RunAnalyzersDuringLiveAnalysis Condition="'$(RunAnalyzersDuringLiveAnalysis)' == ''">$(IsCSharpOrVbProject)</RunAnalyzersDuringLiveAnalysis>
8225 <RunAnalyzersDuringBuild Condition="'$(RunAnalyzers)' != ''">$(RunAnalyzers)</RunAnalyzersDuringBuild>
8226 <RunAnalyzersDuringBuild Condition="'$(RunAnalyzersDuringBuild)' == ''">$(IsCSharpOrVbProject)</RunAnalyzersDuringBuild>
8227 </PropertyGroup>
8228 <PropertyGroup Condition="'$(RunCodeAnalysisOnThisProject)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8229 <!-- Define the CODE_ANALYSIS constant -->
8230 <DefineConstants Condition="'$(Language)'=='C#' ">CODE_ANALYSIS;$(DefineConstants)</DefineConstants>
8231 <FinalDefineConstants Condition="'$(Language)'=='VB' ">CODE_ANALYSIS=-1,$(FinalDefineConstants)</FinalDefineConstants>
8232 </PropertyGroup>
8233 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8234 <!-- We do this check all over the place, consolidate -->
8235 <RunCppAnalysis>false</RunCppAnalysis>
8236 <RunCppAnalysis Condition="'$(Language)'=='C++' and '$(RunCodeAnalysisOnThisProject)'=='true' and '$(ApplicationType)' != 'Linux'">true</RunCppAnalysis>
8237 <RunMsvcAnalysis>$(RunCppAnalysis)</RunMsvcAnalysis>
8238 <RunMsvcAnalysis Condition="'$(EnableMicrosoftCodeAnalysis)'=='false' or '$(UseClangCl)'=='true'">false</RunMsvcAnalysis>
8239 </PropertyGroup>
8240 <!-- Global properties for all analyzers -->
8241 <!-- FxCop analyzer properties -->
8242 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8243 <!-- FxCopDir must be considered for backwards compatibility with the Visual Studio 2005 task, except within the context of a Team Build build. -->
8244 <CodeAnalysisPath Condition="'$(CodeAnalysisPath)'=='' and '$(FxCopDir)'!='' and '$(TeamBuildConstants)'==''">$(FxCopDir)</CodeAnalysisPath>
8245 <CodeAnalysisPath Condition="'$(CodeAnalysisPath)'=='' and Exists('$(VsInstallRoot)\Team Tools\Static Analysis Tools\FxCop\')">$(VsInstallRoot)\Team Tools\Static Analysis Tools\FxCop\</CodeAnalysisPath>
8246 <!-- Default FxCop settings -->
8247 <CodeAnalysisApplyLogFileXsl Condition="'$(CodeAnalysisApplyLogFileXsl)'==''">false</CodeAnalysisApplyLogFileXsl>
8248 <CodeAnalysisFailOnMissingRules Condition="'$(CodeAnalysisFailOnMissingRules)'==''">false</CodeAnalysisFailOnMissingRules>
8249 <CodeAnalysisForceOutput Condition="'$(CodeAnalysisForceOutput)'==''">true</CodeAnalysisForceOutput>
8250 <CodeAnalysisGenerateSuccessFile Condition="'$(CodeAnalysisGenerateSuccessFile)'==''">true</CodeAnalysisGenerateSuccessFile>
8251 <CodeAnalysisIgnoreGeneratedCode Condition="'$(CodeAnalysisIgnoreGeneratedCode)'==''">true</CodeAnalysisIgnoreGeneratedCode>
8252 <CodeAnalysisIgnoreInvalidTargets Condition="'$(CodeAnalysisIgnoreInvalidTargets)'==''">true</CodeAnalysisIgnoreInvalidTargets>
8253 <CodeAnalysisIgnoreMissingIndirectReferences Condition="'$(CodeAnalysisIgnoreMissingIndirectReferences)'==''">false</CodeAnalysisIgnoreMissingIndirectReferences>
8254 <CodeAnalysisInputAssembly Condition="'$(CodeAnalysisInputAssembly)'==''">$(OutDir)$(TargetFileName)</CodeAnalysisInputAssembly>
8255 <CodeAnalysisLogFile Condition="'$(CodeAnalysisLogFile)'==''">$(CodeAnalysisInputAssembly).CodeAnalysisLog.xml</CodeAnalysisLogFile>
8256 <CodeAnalysisModuleSuppressionsFile Condition="'$(CodeAnalysisModuleSuppressionsFile)'==''">GlobalSuppressions$(DefaultLanguageSourceExtension)</CodeAnalysisModuleSuppressionsFile>
8257 <CodeAnalysisOverrideRuleVisibilities Condition="'$(CodeAnalysisOverrideRuleVisibilities)'==''">false</CodeAnalysisOverrideRuleVisibilities>
8258 <CodeAnalysisOutputToConsole Condition="'$(CodeAnalysisOutputToConsole)'==''">false</CodeAnalysisOutputToConsole>
8259 <CodeAnalysisQuiet Condition="'$(CodeAnalysisQuiet)'==''">false</CodeAnalysisQuiet>
8260 <!--
8261 Do not add the built-in rule directories in any of the following conditions:
8262 1. CodeAnalysisRuleAssemblies is not empty, CodeAnalysisRuleDirectories is empty, and CodeAnalysisRuleSet is empty. (This is the case when CodeAnalysisRuleAssemblies will be used.)
8263 2. CodeAnalysisIgnoreBuiltInRules is true.
8264 3. CodeAnalysisPath is empty.
8265 4. CodeAnalysisProject is not empty (i.e., an FxCop project file is used).
8266
8267 The condition below checks ensures none of these four are true.
8268 -->
8269 <CodeAnalysisRuleDirectories Condition="('$(CodeAnalysisRuleAssemblies)'=='' or '$(CodeAnalysisRuleDirectories)'!='' or '$(CodeAnalysisRuleSet)'!='') and &#xD;&#xA; '$(CodeAnalysisIgnoreBuiltInRules)'!='true' and &#xD;&#xA; '$(CodeAnalysisPath)'!='' and &#xD;&#xA; '$(CodeAnalysisProject)'==''">$(CodeAnalysisRuleDirectories);$(CodeAnalysisPath)\Rules</CodeAnalysisRuleDirectories>
8270 <!-- We emit active and suppressed messages in the output log when running code analysis within Visual Studio.
8271 Delete the below line if you do not want to see suppressed messages within Visual Studio. -->
8272 <CodeAnalysisSaveMessagesToReport Condition="'$(CodeAnalysisSaveMessagesToReport)'=='' and '$(RunCodeAnalysisOnce)'=='true'">Active,Excluded</CodeAnalysisSaveMessagesToReport>
8273 <!-- We only emit active messages in the output log when running code analysis from the command line. -->
8274 <CodeAnalysisSaveMessagesToReport Condition="'$(CodeAnalysisSaveMessagesToReport)'==''">Active</CodeAnalysisSaveMessagesToReport>
8275 <CodeAnalysisSearchGlobalAssemblyCache Condition="'$(CodeAnalysisSearchGlobalAssemblyCache)'==''">true</CodeAnalysisSearchGlobalAssemblyCache>
8276 <CodeAnalysisSucceededFile Condition="'$(CodeAnalysisSucceededFile)'==''">$(CodeAnalysisInputAssembly).lastcodeanalysissucceeded</CodeAnalysisSucceededFile>
8277 <CodeAnalysisSummary Condition="'$(CodeAnalysisSummary)'==''">false</CodeAnalysisSummary>
8278 <CodeAnalysisTimeout Condition="'$(CodeAnalysisTimeout)'==''">120</CodeAnalysisTimeout>
8279 <!-- Use a separate property '_CodeAnalysisTreatWarningsAsErrors' to avoid overwriting user specified value for 'CodeAnalysisTreatWarningsAsErrors', which is used outside this targets file. -->
8280 <_CodeAnalysisTreatWarningsAsErrors>$(CodeAnalysisTreatWarningsAsErrors)</_CodeAnalysisTreatWarningsAsErrors>
8281 <_CodeAnalysisTreatWarningsAsErrors Condition="'$(_CodeAnalysisTreatWarningsAsErrors)'==''">false</_CodeAnalysisTreatWarningsAsErrors>
8282 <CodeAnalysisUpdateProject Condition="'$(CodeAnalysisUpdateProject)'==''">false</CodeAnalysisUpdateProject>
8283 <CodeAnalysisUseTypeNameInSuppression Condition="'$(CodeAnalysisUseTypeNameInSuppression)'==''">true</CodeAnalysisUseTypeNameInSuppression>
8284 <CodeAnalysisVerbose Condition="'$(CodeAnalysisVerbose)'==''">false</CodeAnalysisVerbose>
8285 </PropertyGroup>
8286 <!-- Select appropriate default rule set depending on project type and VS Sku-->
8287 <Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8288 <When Condition="!Exists('$(CodeAnalysisRuleSet)') and ('$(CodeAnalysisVSSku)'=='Express' or ('$(CodeAnalysisRules)'=='' and '$(CodeAnalysisRuleAssemblies)'=='' and '$(CodeAnalysisRuleSet)'==''))">
8289 <Choose>
8290 <When Condition="'$(Language)'=='C++' and '$(CLRSupport)'=='true' and '$(CodeAnalysisVSSku)'=='Express'">
8291 <PropertyGroup>
8292 <CodeAnalysisRuleSet>MixedMinimumRules.ruleset</CodeAnalysisRuleSet>
8293 </PropertyGroup>
8294 </When>
8295 <When Condition="'$(Language)'=='C++' and '$(CLRSupport)'=='true'">
8296 <PropertyGroup>
8297 <CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
8298 </PropertyGroup>
8299 </When>
8300 <When Condition="'$(Language)'=='C++' and '$(CodeAnalysisVSSku)'=='Express'">
8301 <PropertyGroup>
8302 <CodeAnalysisRuleSet>NativeMinimumRules.ruleset</CodeAnalysisRuleSet>
8303 </PropertyGroup>
8304 </When>
8305 <When Condition="'$(Language)'=='C++'">
8306 <PropertyGroup>
8307 <CodeAnalysisRuleSet>NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
8308 </PropertyGroup>
8309 </When>
8310 <When Condition="'$(CodeAnalysisVSSku)'=='Express'">
8311 <PropertyGroup>
8312 <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
8313 </PropertyGroup>
8314 </When>
8315 </Choose>
8316 </When>
8317 </Choose>
8318 <!-- C#/VB specific properties -->
8319 <PropertyGroup Condition="'$(Language)'=='C#' or '$(Language)'=='VB'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8320 <!-- Run Code Analysis after the build, but before running the application-->
8321 <PrepareForRunDependsOn>$(PrepareForRunDependsOn);RunCodeAnalysis</PrepareForRunDependsOn>
8322 <RunCodeAnalysisDependsOn>$(RunCodeAnalysisDependsOn);Compile</RunCodeAnalysisDependsOn>
8323 </PropertyGroup>
8324 <!-- C++ specific properties -->
8325 <PropertyGroup Condition="'$(RunMsvcAnalysis)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8326 <!-- Turn off /analyze:only for now since the perf gain doesn't justify the breaks -->
8327 <VCAnalyzeOnlyAllowed Condition="'$(VCAnalyzeOnlyAllowed)'==''">false</VCAnalyzeOnlyAllowed>
8328 <!-- CLR and WinRT projects don't support /analyze:only because they require metadata to be built -->
8329 <VCAnalyzeOnlyAllowed Condition="'$(VCAnalyzeOnlyAllowed)'=='' and ('$(WindowsAppContainer)'=='true' or '$(WinMDAssembly)'=='true' or '$(ManagedAssembly)'=='true')">false</VCAnalyzeOnlyAllowed>
8330 <!-- Keep track if we are doing an analyze-only build (toolset 14.0 and higher) -->
8331 <VCAnalyzeOnly>false</VCAnalyzeOnly>
8332 <VCAnalyzeOnly Condition="'$(RunCodeAnalysisOnce)'=='true' and '$(VCAnalyzeOnlyAllowed)'=='true' and '$(PlatformToolsetVersion)'&gt;='140'">true</VCAnalyzeOnly>
8333 <!-- Use the specified ruleset path if found otherwise try to determine the full path to the ruleset -->
8334 <VCAnalyzeRulesetPath Condition="Exists('$(CodeAnalysisRuleSet)')">$(CodeAnalysisRuleSet)</VCAnalyzeRulesetPath>
8335 <VCAnalyzeRulesetPath Condition="'$(VCAnalyzeRulesetPath)'==''">$(CodeAnalysisStaticAnalysisDirectory)Rule Sets\$(CodeAnalysisRuleSet)</VCAnalyzeRulesetPath>
8336 <!-- Set up localEspc plugin path -->
8337 <!-- use 32-bit version by default -->
8338 <LocalEspcPath>$(VC_ExecutablePath_x86_x86)\localespc.dll</LocalEspcPath>
8339 <ConcurrencyCheckPath>$(VC_ExecutablePath_x86_x86)\ConcurrencyCheck.dll</ConcurrencyCheckPath>
8340 <!-- use 64-bit version if 64-bit cl.exe is used -->
8341 <LocalEspcPath Condition="'$(VCToolArchitecture)'=='Native64Bit'">$(VC_ExecutablePath_x64_x64)\localespc.dll</LocalEspcPath>
8342 <ConcurrencyCheckPath Condition="'$(VCToolArchitecture)'=='Native64Bit'">$(VC_ExecutablePath_x64_x64)\ConcurrencyCheck.dll</ConcurrencyCheckPath>
8343 <RunMergeNativeCodeAnalysisDependsOn>ClCompile</RunMergeNativeCodeAnalysisDependsOn>
8344 <RunMergeNativeCodeAnalysisDependsOn Condition="'$(RunCodeAnalysisDependsOn)'!=''">$(RunCodeAnalysisDependsOn);$(RunMergeNativeCodeAnalysisDependsOn)</RunMergeNativeCodeAnalysisDependsOn>
8345 <RunCodeAnalysisDependsOn>$(RunCodeAnalysisDependsOn);ClCompile;RunMergeNativeCodeAnalysis</RunCodeAnalysisDependsOn>
8346 <ExtensionsToDeleteOnClean>$(ExtensionsToDeleteOnClean);$(CodeAnalysisLogFile);$(CodeAnalysisSucceededFile)</ExtensionsToDeleteOnClean>
8347 <CodeAnalysisTLogFile>$(IntDir)CodeAnalysis.read.1.tlog</CodeAnalysisTLogFile>
8348 <NativeCodeAnalysisTLogFile>$(IntDir)NativeCodeAnalysis.read.1.tlog</NativeCodeAnalysisTLogFile>
8349 </PropertyGroup>
8350 <!-- Analyze-only build, don't run any post-compile build steps -->
8351 <PropertyGroup Condition="'$(RunMsvcAnalysis)'=='true' and '$(VCAnalyzeOnly)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8352 <!--
8353 See Microsoft.BuildSteps.targets
8354 PrepareForBuild before ResolveReferences limits P2P rebuild
8355 -->
8356 <BuildSteps>
8357 PrepareForBuild;
8358 ResolveReferences;
8359 InitializeBuildStatus;
8360 BuildGenerateSources;
8361 BeforeClCompile;
8362 RunNativeCodeAnalysis
8363 </BuildSteps>
8364 <!-- In analyze-only, we don't generate assemblies so we can't run FxCop -->
8365 </PropertyGroup>
8366 <!-- Build with analyze, we run analysis after the assembly is linked -->
8367 <PropertyGroup Condition="'$(RunMsvcAnalysis)'=='true' and '$(VCAnalyzeOnly)'!='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8368 <AfterBuildLinkTargets>$(AfterBuildLinkTargets);RunMergeNativeCodeAnalysis;RunNativeCodeAnalysis</AfterBuildLinkTargets>
8369 <AfterBuildLinkTargets Condition="'$(CLRSupport)'=='true'">$(AfterBuildLinkTargets);RunCodeAnalysis</AfterBuildLinkTargets>
8370 </PropertyGroup>
8371 <!-- NOTE: Back-compat support for EnablePREFast item property.
8372 It's possible to set manually set EnablePREFast in an item definition group
8373 in project, without setting RunCodeAnalysis. In this case, we want to set
8374 up CAExcludePath so headers are clean, but don't want to enable any other
8375 C++ CA features like the result ingestion tasks or /analyze:quiet. -->
8376 <PropertyGroup Condition="'$(Language)'=='C++' or '$(RunMsvcAnalysis)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8377 <!-- Set up CAExcludePath for known include paths -->
8378 <CAExcludePath Condition="'$(Console_SdkIncludeRoot)'!=''">$(Console_SdkIncludeRoot);$(CAExcludePath)</CAExcludePath>
8379 <CAExcludePath Condition="'$(WindowsSDK_IncludePath)'!=''">$(WindowsSDK_IncludePath);$(CAExcludePath)</CAExcludePath>
8380 <CAExcludePath Condition="'$(UniversalCRT_IncludePath)'!=''">$(UniversalCRT_IncludePath);$(CAExcludePath)</CAExcludePath>
8381 <CAExcludePath Condition="Exists('$(VCToolsInstallDir)include')">$(VCToolsInstallDir)include;$(CAExcludePath)</CAExcludePath>
8382 <CAExcludePath Condition="Exists('$(VCToolsInstallDir)atlmfc\include')">$(VCToolsInstallDir)atlmfc\include;$(CAExcludePath)</CAExcludePath>
8383 <!-- Make sure the target that sets CAExcludePath is run -->
8384 <PrepareForBuildDependsOn>$(PrepareForBuildDependsOn);SetCABuildNativeEnvironmentVariables</PrepareForBuildDependsOn>
8385 </PropertyGroup>
8386 <!-- Actually set CAExcludePath -->
8387 <Target Name="SetCABuildNativeEnvironmentVariables" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8388 <!-- SetEnv is defined in Microsoft.Cpp.CurrentVersion.targets and is much faster -->
8389 <SetEnv Condition="'$(CAExcludePath)'!=''" Value="$(CAExcludePath)" Name="CAExcludePath" Prefix="false" />
8390 <SetEnv Condition="'$(RunMsvcAnalysis)'=='true' and '$(VCCodeAnalysisUX)'=='true'" Value="1" Name="CAEmitSarifLog" Prefix="false" />
8391 </Target>
8392 <!-- Set up the additional cl.exe command line for each compilation unit -->
8393 <ItemDefinitionGroup Condition="'$(RunMsvcAnalysis)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8394 <ClCompile>
8395 <EnablePREFast>true</EnablePREFast>
8396 <PreprocessorDefinitions>CODE_ANALYSIS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
8397 <PREfastLog Condition="'$(PlatformToolsetVersion)'&lt;'120'">$(IntDir)%(FileName)%(Extension).nativecodeanalysis.xml</PREfastLog>
8398 <PREfastLogFile Condition="'$(PlatformToolsetVersion)'&gt;='120'">%(ObjectFileName)%(FileName).nativecodeanalysis.xml</PREfastLogFile>
8399 <!-- Add the localEspc plugin only if ConcurrencyCheck is not installed -->
8400 <PREfastAdditionalPlugins Condition="!Exists('$(ConcurrencyCheckPath)') and Exists('$(LocalEspcPath)')">$(LocalEspcPath);%(ClCompile.PREfastAdditionalPlugins)</PREfastAdditionalPlugins>
8401 <!-- After Dev11 pass /analyze:quiet because warnings are added to the error list by a post-build task. -->
8402 <PREfastAdditionalOptions Condition="'$(PlatformToolsetVersion)'&gt;='110'">quiet;%(ClCompile.PREfastAdditionalOptions)</PREfastAdditionalOptions>
8403 <!-- Disable code-gen for analyze-only build -->
8404 <AdditionalOptions Condition="'$(VCAnalyzeOnly)'=='true'">%(ClCompile.AdditionalOptions) /c</AdditionalOptions>
8405 <PREfastAdditionalOptions Condition="'$(VCAnalyzeOnly)'=='true'">only;%(ClCompile.PREfastAdditionalOptions)</PREfastAdditionalOptions>
8406 <!-- In Dev15 we added ruleset handling in PREFast, add the ruleset file path if it exists -->
8407 <PREfastAdditionalOptions Condition="'$(PlatformToolsetVersion)'&gt;='140' and '$(PlatformToolsetVersion)'&lt;'142' and Exists('$(VCAnalyzeRulesetPath)')">%(ClCompile.PREfastAdditionalOptions);ruleset$(VCAnalyzeRulesetPath)</PREfastAdditionalOptions>
8408 <!-- In v142 ClCompile supports new arguments so other tools can filter them out (clang-cl)-->
8409 <PREfastRulesetFile Condition="'$(PlatformToolsetVersion)'&gt;='142' and Exists('$(VCAnalyzeRulesetPath)')">$(VCAnalyzeRulesetPath)</PREfastRulesetFile>
8410 <PREfastProjectDirectory Condition="'$(PlatformToolsetVersion)'&gt;='142' and Exists('$(MSBuildProjectDirectory)')">$(MSBuildProjectDirectory)</PREfastProjectDirectory>
8411 <PREfastRulesetDirectories Condition="'$(PlatformToolsetVersion)'&gt;='142' and '$(CodeAnalysisRuleSetDirectories)'!=''">$(CodeAnalysisRuleSetDirectories);%(ClCompile.PREfastRulesetDirectories)</PREfastRulesetDirectories>
8412 </ClCompile>
8413 </ItemDefinitionGroup>
8414 <!-- Make AdditionalFiles and CodeAnalysisDictionary available as a Build Action in Visual Studio -->
8415 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8416 <AvailableItemName Include="AdditionalFiles" />
8417 <AvailableItemName Include="CodeAnalysisDictionary" />
8418 </ItemGroup>
8419 <!-- FxCop analyzer properties -->
8420 <!-- Managed analyzer targets -->
8421 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8422 <RunCodeAnalysisInputs>$(CodeAnalysisInputAssembly)</RunCodeAnalysisInputs>
8423 <RunCodeAnalysisInputs Condition="'$(CodeAnalysisRuleSet)'!='' and Exists('$(CodeAnalysisRuleSet)')">$(RunCodeAnalysisInputs);$(CodeAnalysisRuleSet)</RunCodeAnalysisInputs>
8424 <RunCodeAnalysisInputs Condition="'$(CodeAnalysisRuleSet)'!='' and !Exists('$(CodeAnalysisRuleSet)') and Exists('$(ProjectDir)$(CodeAnalysisRuleSet)')">$(RunCodeAnalysisInputs);$(ProjectDir)$(CodeAnalysisRuleSet)</RunCodeAnalysisInputs>
8425 </PropertyGroup>
8426 <UsingTask TaskName="Microsoft.Build.Tasks.CodeAnalysis" AssemblyFile=".\FxCopTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8427 <Target Name="RunCodeAnalysis" Condition="'$(RunCodeAnalysisOnThisProject)'=='true'" Inputs="$(RunCodeAnalysisInputs)" Outputs="$(CodeAnalysisLogFile);$(CodeAnalysisSucceededFile)" DependsOnTargets="$(RunCodeAnalysisDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8428 <!-- Build CodeAnalysisReferencePath inside of the RunCodeAnalysis target to ensure that ReferencePath -->
8429 <!-- has already been populated by the ResolveReferences target prior to using it. -->
8430 <ItemGroup>
8431 <CodeAnalysisReferencePath Include="@(ReferencePath)" />
8432 <CodeAnalysisReferencePath Condition="'$(Language)'=='VB' and '$(VBRuntimePath)'!=''" Include="$(VBRuntimePath)" />
8433 </ItemGroup>
8434 <!-- Add AdditionalUsingDirectories as reference assembly paths for C++ projects -->
8435 <ItemGroup>
8436 <CodeAnalysisDependentAssemblyPaths Condition="'$(Language)'=='C++'" Include="%(ClCompile.AdditionalUsingDirectories)" />
8437 </ItemGroup>
8438 <!-- If it is winmd file than we want to analyze winmdobj instead of winmd file -->
8439 <PropertyGroup>
8440 <CodeAnalysisInputAssembly Condition="'$(OutputType)'=='winmdobj'">@(IntermediateAssembly)</CodeAnalysisInputAssembly>
8441 <CodeAnalysisInputAssembly Condition="'$(OutputType)'=='winmdobj' and '$(Language)'=='VB'">$(IntermediateOutputPath)\TempCA\$(TargetName)$(TargetExt)</CodeAnalysisInputAssembly>
8442 </PropertyGroup>
8443 <!-- VBCompiler issue: fix the name of PDB file for winmdobj assembly -->
8444 <Copy Condition="'$(OutputType)'=='winmdobj' and '$(Language)'=='VB'" DestinationFiles="$(IntermediateOutputPath)\TempCA\$(TargetName).pdb" SourceFiles="$(PdbFile)" OverwriteReadOnlyFiles="True" />
8445 <Copy Condition="'$(OutputType)'=='winmdobj' and '$(Language)'=='VB'" DestinationFolder="$(IntermediateOutputPath)\TempCA\" SourceFiles="@(IntermediateAssembly)" OverwriteReadOnlyFiles="True" />
8446 <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)">
8447 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
8448 </CodeAnalysis>
8449 </Target>
8450 <!-- Managed analyzer targets -->
8451 <!-- Native analyzer targets -->
8452 <PropertyGroup Condition="'$(RunMsvcAnalysis)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8453 <RunNativeCodeAnalysisInputs>$(OutputFile)</RunNativeCodeAnalysisInputs>
8454 <RunNativeCodeAnalysisInputs Condition="'$(CodeAnalysisRuleSet)'!='' and Exists('$(CodeAnalysisRuleSet)')">$(RunNativeCodeAnalysisInputs);$(CodeAnalysisRuleSet)</RunNativeCodeAnalysisInputs>
8455 <RunNativeCodeAnalysisInputs Condition="'$(CodeAnalysisRuleSet)'!='' and !Exists('$(CodeAnalysisRuleSet)') and Exists('$(ProjectDir)$(CodeAnalysisRuleSet)')">$(RunNativeCodeAnalysisInputs);$(ProjectDir)$(CodeAnalysisRuleSet)</RunNativeCodeAnalysisInputs>
8456 <MergedOutputCodeAnalysisFile>$(IntDir)vc.nativecodeanalysis.all.xml</MergedOutputCodeAnalysisFile>
8457 </PropertyGroup>
8458 <Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8459 <When Condition="'$(RunMsvcAnalysis)'=='true'">
8460 <Choose>
8461 <When Condition="'$(PlatformToolsetVersion)'&lt;'120'">
8462 <PropertyGroup>
8463 <MergeInputCodeAnalysisFiles>@(ClCompile->'%(PREfastLog)')</MergeInputCodeAnalysisFiles>
8464 </PropertyGroup>
8465 </When>
8466 <Otherwise>
8467 <PropertyGroup>
8468 <MergeInputCodeAnalysisFiles>@(ClCompile->'%(PREfastLogFile)')</MergeInputCodeAnalysisFiles>
8469 </PropertyGroup>
8470 </Otherwise>
8471 </Choose>
8472 </When>
8473 </Choose>
8474 <UsingTask TaskName="Microsoft.Build.Tasks.NativeCodeAnalysis" AssemblyFile=".\FxCopTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8475 <!-- Normal case that runs analysis for a full build -->
8476 <Target Name="RunNativeCodeAnalysis" Condition="'$(RunMsvcAnalysis)'=='true'" Inputs="$(RunCodeAnalysisInputs);$(MergedOutputCodeAnalysisFile)" Outputs="$(CodeAnalysisSucceededFile);$(NativeCodeAnalysisTLogFile)" DependsOnTargets="$(RunCodeAnalysisDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8477 <NativeCodeAnalysis IgnoreBuildTaskWarnings="$(CodeAnalysisIgnoreBuildTaskWarnings)" NativeCodeAnalysisLogFiles="$(MergedOutputCodeAnalysisFile)" MSBuildProjectDirectory="$(MSBuildProjectDirectory)" NeverReportRuleErrors="$(CodeAnalysisNeverReportRuleErrors)" RuleSet="$(CodeAnalysisRuleSet)" RuleSetDirectories="$(CodeAnalysisRuleSetDirectories)" StaticAnalysisDirectory="$(CodeAnalysisStaticAnalysisDirectory)" TLogFile="$(NativeCodeAnalysisTLogFile)" TreatWarningsAsErrors="$(_CodeAnalysisTreatWarningsAsErrors)" VisualStudioSku="$(CodeAnalysisVSSku)" CodeAnalysisSucceededFile="$(CodeAnalysisSucceededFile)">
8478 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
8479 </NativeCodeAnalysis>
8480 </Target>
8481 <!-- Special case that runs analysis for selected file compile -->
8482 <Target Name="RunSelectedFileNativeCodeAnalysis" Condition="'$(RunMsvcAnalysis)'=='true' and '$(SelectedFiles)'!=''" DependsOnTargets="RunMergeNativeCodeAnalysis;RunNativeCodeAnalysis" AfterTargets="ClCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8483 <Message Text="Running code analysis targets for selected files $(SelectedFiles)" />
8484 <!-- Show a warning that results may not be complete if /Gm is enabled during selective compile -->
8485 <Warning Condition="'%(ClCompile.MinimalRebuild)'!='false' and '$(VCAnalyzeOnly)'=='false'" Text="Minimal rebuild (/Gm) was passed to the compiler, analysis results may be stale." />
8486 </Target>
8487 <!-- Native analyzer targets -->
8488 <!-- Merge native results targets -->
8489 <UsingTask TaskName="Microsoft.Build.Tasks.MergeNativeCodeAnalysis" AssemblyFile=".\FxCopTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8490 <Target Name="RunMergeNativeCodeAnalysis" Condition="'$(RunMsvcAnalysis)'=='true'" Inputs="$(RunCodeAnalysisInputs);$(MergeInputCodeAnalysisFiles)" Outputs="$(CodeAnalysisSucceededFile);$(NativeCodeAnalysisTLogFile);$(MergedOutputCodeAnalysisFile)" DependsOnTargets="$(RunMergeNativeCodeAnalysisDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8491 <MergeNativeCodeAnalysis InputNativeResultFiles="$(MergeInputCodeAnalysisFiles)" OutputCodeAnalysisFile="$(MergedOutputCodeAnalysisFile)" />
8492 </Target>
8493 <!-- Merge native results targets -->
8494 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8495 <Clean Include="$(IntermediateOutputPath)\TempCA\$(TargetName).pdb" />
8496 <Clean Include="$(IntermediateOutputPath)\TempCA\$(TargetName)$(TargetExt)" />
8497 </ItemGroup>
8498 <!--
8499============================================================================================================================================
8500 </Import>
8501
8502C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
8503============================================================================================================================================
8504-->
8505 <!--<Import Project="$(ReportingServicesTargets)" Condition="Exists('$(ReportingServicesTargets)')" />-->
8506 <!--<Import Project="$(MSBuildToolsPath)\Microsoft.NETFramework.targets" Condition="('$(TargetFrameworkIdentifier)' == '' or '$(TargetFrameworkIdentifier)' == '.NETFramework') and ('$(TargetRuntime)' == 'Managed')" />-->
8507 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8508 <ImportXamlTargets Condition="'$(ImportXamlTargets)'=='' and ('$(TargetFrameworkVersion)' != 'v2.0' and '$(TargetFrameworkVersion)' != 'v3.5') and Exists('$(MSBuildToolsPath)\Microsoft.Xaml.targets')">true</ImportXamlTargets>
8509 </PropertyGroup>
8510 <!--
8511============================================================================================================================================
8512 <Import Project="$(MSBuildToolsPath)\Microsoft.Xaml.targets" Condition="('$(ImportXamlTargets)' == 'true')">
8513
8514C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Xaml.targets
8515============================================================================================================================================
8516-->
8517 <!--
8518 With MSBuild 12, we've changed MSBuildToolsPath to for the first time point to a directory
8519 outside of the .NET Framework. As a result of this, there were several targets files, of which
8520 this was one, that were being referenced as out of MSBuildToolsPath that are now no longer there.
8521
8522 Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that
8523 consumers of them are not broken, but since the targets files themselves are still part of .NET,
8524 the shim will internally simply redirect to the real copy of the targets file in the .NET Framework.
8525 -->
8526 <!-- In the original Microsoft.Xaml.targets this is mapped to MSBuildBinPath, which is no longer
8527 the .NET Framework directory and thus will no longer be the right answer. Override it to point
8528 to the correct .NET Framework location. -->
8529 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8530 <XamlBuildTaskPath Condition="'$(XamlBuildTaskPath)' == ''">$(MSBuildToolsPath64)</XamlBuildTaskPath>
8531 </PropertyGroup>
8532 <!--
8533============================================================================================================================================
8534 <Import Project="$(MSBuildFrameworkToolsPath)\Microsoft.Xaml.targets" Condition="Exists('$(MSBuildFrameworkToolsPath)\Microsoft.Xaml.targets')">
8535
8536C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Xaml.targets
8537============================================================================================================================================
8538-->
8539 <!--
8540***********************************************************************************************
8541Microsoft.Xaml.targets
8542
8543WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
8544 created a backup copy. Incorrect changes to this file will make it
8545 impossible to load or build your projects from the command-line or the IDE.
8546
8547Copyright (C) Microsoft Corporation. All rights reserved.
8548***********************************************************************************************
8549-->
8550 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8551 <LoadTimeSensitiveTargets>
8552 $(LoadTimeSensitiveTargets);
8553 XamlMarkupCompilePass1;
8554 </LoadTimeSensitiveTargets>
8555 <LoadTimeSensitiveProperties>
8556 $(LoadTimeSensitiveProperties);
8557 </LoadTimeSensitiveProperties>
8558 <TaskVersion>4.0.0.0</TaskVersion>
8559 <TaskKeyToken>31bf3856ad364e35</TaskKeyToken>
8560 <XamlBuildTaskAssemblyName Condition="'$(XamlBuildTaskAssemblyName)'==''">XamlBuildTask, Version=$(TaskVersion), Culture=neutral, PublicKeyToken=$(TaskKeyToken)</XamlBuildTaskAssemblyName>
8561 <XamlRequiresCompilationPass2 Condition="'$(XamlRequiresCompilationPass2)'==''">false</XamlRequiresCompilationPass2>
8562 <XamlTemporaryAssemblyName Condition="'$(XamlTemporaryAssemblyName)'==''">$(AssemblyName)</XamlTemporaryAssemblyName>
8563 <CompileTargetNameForTemporaryAssembly Condition="'$(CompileTargetNameForTemporaryAssembly)' == ''">CompileTemporaryAssembly</CompileTargetNameForTemporaryAssembly>
8564 <!-- Microsoft.Xaml.targets needs to be included after Microsoft.Fx.targets and Microsoft.DevDiv.targets
8565 to have a chance to add these tasks to the PrepareResources target's dependencies.
8566 Unfortunately, Microsoft.DevDiv.targets completely overwrites the PrepareResourcesDependsOnProperty
8567 (as a bug workaround-see comment there).
8568 -->
8569 <PrepareResourcesDependsOn>
8570 XamlMarkupCompilePass1;
8571 XamlMarkupCompilePass2;
8572 $(PrepareResourcesDependsOn)
8573 </PrepareResourcesDependsOn>
8574 </PropertyGroup>
8575 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8576 <XamlBuildTaskLocation Condition="'$(XamlBuildTaskPath)'==''">$(MSBuildBinPath)</XamlBuildTaskLocation>
8577 <XamlBuildTaskLocation Condition="'$(XamlBuildTaskPath)'!=''">$(XamlBuildTaskPath)</XamlBuildTaskLocation>
8578 </PropertyGroup>
8579 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8580 <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildToolsPath)\Microsoft.Xaml.targets</MSBuildAllProjects>
8581 </PropertyGroup>
8582 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8583 <XamlGenCodeFileNames Condition="'$(XamlGenCodeFileNames)'==''">$(MSBuildProjectFile).XamlGeneratedCodeFileListAbsolute.txt</XamlGenCodeFileNames>
8584 <XamlGenMarkupFileNames Condition="'$(XamlGenMarkupFileNames)'==''">$(MSBuildProjectFile).XamlGeneratedXamlFileListAbsolute.txt</XamlGenMarkupFileNames>
8585 <XamlPass2FlagFile Condition="'$(XamlPass2FlagFile)'==''">$(MSBuildProjectFile).XamlPass2Flag.txt</XamlPass2FlagFile>
8586 </PropertyGroup>
8587 <ItemGroup Condition="'$(BuildingInsideVisualStudio)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8588 <AvailableItemName Include="XamlAppDef" />
8589 </ItemGroup>
8590 <UsingTask Condition="'$(XamlBuildTaskPath)'==''" TaskName="Microsoft.Build.Tasks.Xaml.PartialClassGenerationTask" AssemblyName="$(XamlBuildTaskAssemblyName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8591 <UsingTask Condition="'$(XamlBuildTaskPath)'!=''" TaskName="Microsoft.Build.Tasks.Xaml.PartialClassGenerationTask" AssemblyFile="$(XamlBuildTaskPath)\XamlBuildTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8592 <UsingTask Condition="'$(XamlBuildTaskPath)'==''" TaskName="Microsoft.Build.Tasks.Xaml.GenerateTemporaryAssemblyTask" AssemblyName="$(XamlBuildTaskAssemblyName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8593 <UsingTask Condition="'$(XamlBuildTaskPath)'!=''" TaskName="Microsoft.Build.Tasks.Xaml.GenerateTemporaryAssemblyTask" AssemblyFile="$(XamlBuildTaskPath)\XamlBuildTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8594 <UsingTask Condition="'$(XamlBuildTaskPath)'==''" TaskName="Microsoft.Build.Tasks.Xaml.CompilationPass2Task" AssemblyName="$(XamlBuildTaskAssemblyName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8595 <UsingTask Condition="'$(XamlBuildTaskPath)'!=''" TaskName="Microsoft.Build.Tasks.Xaml.CompilationPass2Task" AssemblyFile="$(XamlBuildTaskPath)\XamlBuildTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8596 <!--
8597 ================================================================
8598 DesignTimeXamlMarkupCompilation
8599 ================================================================
8600 -->
8601 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8602 <CoreCompileDependsOn Condition="'$(BuildingInsideVisualStudio)' == 'true'">
8603 DesignTimeXamlMarkupCompilation;
8604 $(CoreCompileDependsOn)
8605 </CoreCompileDependsOn>
8606 </PropertyGroup>
8607 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8608 <DesignTimeIntermediateOutputPath Condition="'$(DesignTimeIntermediateOutputPath)' == ''">$(IntermediateOutputPath)InProcessTempFiles\</DesignTimeIntermediateOutputPath>
8609 </PropertyGroup>
8610 <Target Name="DesignTimeXamlMarkupCompilation" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8611 <!-- Make sure the directory exists. -->
8612 <MakeDir Directories="$(DesignTimeIntermediateOutputPath)" Condition="'@(XamlAppDef)' != ''" />
8613 <CallTarget Condition="'$(BuildingProject)' != 'true' and '@(XamlAppDef)' != ''" Targets="InProcessXamlMarkupCompilePass1" />
8614 </Target>
8615 <!--
8616 ================================================================
8617 InProcessXamlMarkupCompilePass1
8618 ================================================================
8619 -->
8620 <Target Name="InProcessXamlMarkupCompilePass1" Condition="'@(XamlAppDef)' != '' and '$(BuildingProject)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8621 <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)">
8622 <Output ItemName="XamlInProcessGeneratedCodeFiles" TaskParameter="GeneratedCodeFiles" />
8623 <Output ItemName="XamlInProcessGeneratedResources" TaskParameter="GeneratedResources" />
8624 <!-- This property is not required. However we need to populate it as the output of the task. -->
8625 <Output PropertyName="XamlInProcessRequiresCompilationPass2" TaskParameter="RequiresCompilationPass2" />
8626 </PartialClassGenerationTask>
8627 <ItemGroup>
8628 <Compile Include="@(XamlInProcessGeneratedCodeFiles)" />
8629 </ItemGroup>
8630 </Target>
8631 <!--
8632 ================================================================
8633 CleanInProcessXamlGeneratedFiles
8634 ================================================================
8635 -->
8636 <Target Name="CleanInProcessXamlGeneratedFiles" Condition="'@(XamlAppDef)' != '' And '$(BuildingInsideVisualStudio)'!='true'" AfterTargets="DesignTimeXamlMarkupCompilation" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8637 <ItemGroup>
8638 <FileWrites Include="$(DesignTimeIntermediateOutputPath)\*" />
8639 </ItemGroup>
8640 </Target>
8641 <!--
8642 ================================================================
8643 XamlMarkupCompileReadGeneratedFileList
8644 ================================================================
8645 -->
8646 <Target Name="XamlMarkupCompileReadGeneratedFileList" Condition="'@(XamlPage)' != '' or '@(XamlAppDef)' != ''" BeforeTargets="XamlMarkupCompilePass1" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8647 <ReadLinesFromFile File="$(IntermediateOutputPath)$(XamlGenCodeFileNames)">
8648 <Output TaskParameter="Lines" ItemName="XamlOutputCodeFilesList" />
8649 </ReadLinesFromFile>
8650 <ReadLinesFromFile File="$(IntermediateOutputPath)$(XamlGenMarkupFileNames)">
8651 <Output TaskParameter="Lines" ItemName="XamlOutputMarkupFilesList" />
8652 </ReadLinesFromFile>
8653 </Target>
8654 <!--
8655 ================================================================
8656 XamlMarkupCompilePass1
8657 ================================================================
8658 -->
8659 <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">
8660 <Message Text="(in) XamlPage: '@(XamlPage)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
8661 <Message Text="(in) XamlAppDef: '@(XamlAppDef)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
8662 <Message Text="(in) SourceCodeFiles: '@(Compile)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
8663 <ItemGroup>
8664 <XamlGeneratedResources Remove="@(XamlGeneratedResources)" />
8665 <XamlGeneratedCodeFiles Remove="@(XamlGeneratedCodeFiles)" />
8666 </ItemGroup>
8667 <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)">
8668 <Output ItemName="XamlGeneratedCodeFiles" TaskParameter="GeneratedCodeFiles" />
8669 <Output ItemName="XamlGeneratedResources" TaskParameter="GeneratedResources" />
8670 <Output ItemName="XamlFileNames" TaskParameter="ApplicationMarkup" />
8671 <Output PropertyName="XamlRequiresCompilationPass2" TaskParameter="RequiresCompilationPass2" />
8672 </PartialClassGenerationTask>
8673 <WriteLinesToFile File="$(IntermediateOutputPath)$(XamlGenCodeFileNames)" Lines="@(XamlGeneratedCodeFiles)" Overwrite="true" />
8674 <WriteLinesToFile File="$(IntermediateOutputPath)$(XamlGenMarkupFileNames)" Lines="@(XamlGeneratedResources)" Overwrite="true" />
8675 <WriteLinesToFile File="$(IntermediateOutputPath)$(XamlPass2FlagFile)" Lines="@(XamlRequiresCompilationPass2)" Overwrite="true" />
8676 <Message Text="(out) XamlGeneratedCodeFiles: '@(XamlGeneratedCodeFiles)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
8677 <Message Text="(out) XamlGeneratedResources: '@(XamlGeneratedResources)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
8678 <Message Text="(out) XamlRequiresCompilationPass2 : '$(XamlRequiresCompilationPass2)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
8679 </Target>
8680 <!--
8681 ================================================================
8682 XamlMarkupCompileAddFilesGenerated
8683 ================================================================
8684 -->
8685 <Target Name="XamlMarkupCompileAddFilesGenerated" Condition="'@(XamlPage)' != '' or '@(XamlAppDef)' != ''" AfterTargets="XamlMarkupCompilePass1" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8686 <ItemGroup>
8687 <XamlGeneratedCodeFiles Condition="'@(XamlGeneratedCodeFiles)' == ''" Include="@(XamlOutputCodeFilesList)" />
8688 </ItemGroup>
8689 <ItemGroup>
8690 <XamlGeneratedResources Condition="'@(XamlGeneratedResources)' == ''" Include="@(XamlOutputMarkupFilesList)" />
8691 </ItemGroup>
8692 <ItemGroup>
8693 <FileWrites Include="@(XamlGeneratedResources);&#xD;&#xA; @(XamlGeneratedCodeFiles);&#xD;&#xA; $(IntermediateOutputPath)$(XamlGenCodeFileNames);&#xD;&#xA; $(IntermediateOutputPath)$(XamlGenMarkupFileNames)" />
8694 </ItemGroup>
8695 <ItemGroup>
8696 <Compile Include="@(XamlGeneratedCodeFiles)" />
8697 </ItemGroup>
8698 <ItemGroup>
8699 <EmbeddedResource Include="@(XamlGeneratedResources)">
8700 <GenerateResource>false</GenerateResource>
8701 <Type>Non-Resx</Type>
8702 <WithCulture>false</WithCulture>
8703 </EmbeddedResource>
8704 </ItemGroup>
8705 </Target>
8706 <!--
8707 ================================================================
8708 XamlMarkupCompileReadPass2Flag
8709 ================================================================
8710 -->
8711 <Target Name="XamlMarkupCompileReadPass2Flag" Condition="'@(XamlPage)' != '' or '@(XamlAppDef)' != ''" BeforeTargets="XamlMarkupCompilePass2;XamlTemporaryAssemblyGeneration" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8712 <ReadLinesFromFile File="$(IntermediateOutputPath)$(XamlPass2FlagFile)">
8713 <Output TaskParameter="Lines" ItemName="XamlRequiresCompilationPass2" />
8714 </ReadLinesFromFile>
8715 </Target>
8716 <!--
8717 ================================================================
8718 XamlTemporaryAssemblyGeneration
8719 ================================================================
8720 -->
8721 <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">
8722 <Message Text="(in) MSBuildProjectFile: '$(MSBuildProjectFile)'" Condition="'$(MSBuildTargetsVerbose)' == 'true'" />
8723 <Message Text="(in) CompileTargetName: '$(CompileTargetName)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
8724 <Message Text="(in) SourceCodeFiles: '@(XamlGeneratedCodeFiles)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
8725 <GenerateTemporaryAssemblyTask OutputPath="$(IntermediateOutputPath)" CurrentProject="$(MSBuildProjectFullPath)" SourceCodeFiles="@(XamlGeneratedCodeFiles);@(_GeneratedCodeFiles)" AssemblyName="$(XamlTemporaryAssemblyName)" ApplicationMarkupTypeName="XamlAppDef" CompileTargetName="$(CompileTargetNameForTemporaryAssembly)" ReferencePaths="@(ReferencePath)" GeneratedResourcesFiles="@(XamlGeneratedResources)" />
8726 <PropertyGroup>
8727 <_XamlTemporaryAssemblyPath_>$(IntermediateOutputPath)$(XamlTemporaryAssemblyName).dll</_XamlTemporaryAssemblyPath_>
8728 <NonExistentFile>__NonExistentSubDir__\__NonExistentFile__</NonExistentFile>
8729 </PropertyGroup>
8730 <ItemGroup>
8731 <FileWrites Include="$(IntermediateOutputPath)$(XamlTemporaryAssemblyName).*" />
8732 </ItemGroup>
8733 </Target>
8734 <Target Name="CompileTemporaryAssembly" DependsOnTargets="BuildOnlySettings;ResolveKeySource;_GenerateCompileInputs;CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8735 <!--
8736 ================================================================
8737 XamlMarkupCompilePass2
8738 ================================================================
8739 -->
8740 <Target Name="XamlMarkupCompilePass2" Condition="'$(XamlRequiresCompilationPass2)' == 'true' " Outputs="@(ExtensionGeneratedCodeFiles)" DependsOnTargets="XamlTemporaryAssemblyGeneration" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8741 <Message Text="(in) XamlPage: '@(XamlPage)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
8742 <Message Text="(in) XamlAppDef: '@(XamlAppDef)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
8743 <Message Text="(in) References: '@(ReferencePath);$(_XamlTemporaryAssemblyPath_)'" Condition="'$(MSBuildTargetsVerbose)'=='true'" />
8744 <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)">
8745 <Output ItemName="ExtensionGeneratedCodeFiles" TaskParameter="ExtensionGeneratedCodeFiles" />
8746 </CompilationPass2Task>
8747 <WriteLinesToFile File="$(IntermediateOutputPath)$(XamlPass2FlagFile)" Lines="false" Overwrite="true" />
8748 <Message Text="(out) ExtensionGeneratedCodeFiles: '@(ExtensionGeneratedCodeFiles)'" />
8749 <!-- Add extension files to the list of generated files so that they can be monitored and cleaned up -->
8750 <WriteLinesToFile File="$(IntermediateOutputPath)$(XamlGenCodeFileNames)" Lines="@(ExtensionGeneratedCodeFiles)" Overwrite="false" />
8751 </Target>
8752 <!--
8753 ================================================================
8754 XamlMarkupCompileAddFilesGenerated
8755 ================================================================
8756 -->
8757 <Target Name="XamlMarkupCompileAddExtensionFilesGenerated" Condition="'@(XamlPage)' != '' or '@(XamlAppDef)' != ''" AfterTargets="XamlMarkupCompilePass2" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8758 <ItemGroup>
8759 <FileWrites Include="@(ExtensionGeneratedCodeFiles)" />
8760 </ItemGroup>
8761 <ItemGroup>
8762 <Compile Include="@(ExtensionGeneratedCodeFiles)" />
8763 </ItemGroup>
8764 </Target>
8765 <!--
8766 ================================================================
8767 GetCopyToOutputDirectoryXamlAppDefs
8768
8769 Get all XamlAppDefs that may need to be transferred to the output directory.
8770 Compare GetCopyToOutputDirectoryItems in Microsoft.Common.targets
8771 ================================================================
8772 -->
8773 <Target Name="GetCopyToOutputDirectoryXamlAppDefs" BeforeTargets="GetCopyToOutputDirectoryItems" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8774 <ItemGroup>
8775 <_XamlAppDefItemsToCopy Include="@(XamlAppDef->'%(FullPath)')" Condition="'%(XamlAppDef.CopyToOutputDirectory)'=='Always' or '%(XamlAppDef.CopyToOutputDirectory)'=='PreserveNewest'" />
8776 </ItemGroup>
8777 <AssignTargetPath Files="@(_XamlAppDefItemsToCopy)" RootFolder="$(MSBuildProjectDirectory)">
8778 <Output TaskParameter="AssignedFiles" ItemName="_XamlAppDefItemsToCopyWithTargetPath" />
8779 </AssignTargetPath>
8780 <!-- The _SourceItems properties are internal to Microsoft.Common.targets,
8781 but necessary to use here because there is no public equivalent -->
8782 <ItemGroup>
8783 <AllItemsFullPathWithTargetPath Include="@(_XamlAppDefItemsToCopyWithTargetPath)" />
8784 <_SourceItemsToCopyToOutputDirectoryAlways Include="@(_XamlAppDefItemsToCopyWithTargetPath)" Condition="'%(_XamlAppDefItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='Always'" />
8785 <_SourceItemsToCopyToOutputDirectory Include="@(_XamlAppDefItemsToCopyWithTargetPath)" Condition="'%(_XamlAppDefItemsToCopyWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest'" />
8786 </ItemGroup>
8787 </Target>
8788 <!--
8789============================================================================================================================================
8790 </Import>
8791
8792C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Xaml.targets
8793============================================================================================================================================
8794-->
8795 <!--
8796============================================================================================================================================
8797 </Import>
8798
8799C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
8800============================================================================================================================================
8801-->
8802 <!-- 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] -->
8803 <!-- Underlying assumption is that there shouldn't be any other versions between v4.0.* and v4.5 -->
8804 <!--
8805============================================================================================================================================
8806 <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')">
8807
8808C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.WorkflowBuildExtensions.targets
8809============================================================================================================================================
8810-->
8811 <!--
8812***********************************************************************************************
8813Microsoft.WorkflowBuildExtensions.targets
8814
8815WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
8816 created a backup copy. Incorrect changes to this file will make it
8817 impossible to load or build your projects from the command-line or the IDE.
8818
8819Copyright (C) Microsoft Corporation. All rights reserved.
8820***********************************************************************************************
8821-->
8822 <!--
8823 With MSBuild 12, we've changed MSBuildToolsPath to for the first time point to a directory
8824 outside of the .NET Framework. As a result of this, there were several targets files, of which
8825 this was one, that were being referenced as out of MSBuildToolsPath that are now no longer there.
8826
8827 Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that
8828 consumers of them are not broken, but since the targets files themselves are still part of .NET,
8829 the shim will internally simply redirect to the real copy of the targets file in the .NET Framework.
8830 -->
8831 <!--
8832============================================================================================================================================
8833 <Import Project="$(MSBuildFrameworkToolsPath)\Microsoft.WorkflowBuildExtensions.targets" Condition="Exists('$(MSBuildFrameworkToolsPath)\Microsoft.WorkflowBuildExtensions.targets')">
8834
8835C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.WorkflowBuildExtensions.targets
8836============================================================================================================================================
8837-->
8838 <!--
8839***********************************************************************************************
8840Microsoft.WorkflowBuildExtensions.targets
8841
8842WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
8843 created a backup copy. Incorrect changes to this file will make it
8844 impossible to load or build your projects from the command-line or the IDE.
8845
8846Copyright (C) Microsoft Corporation. All rights reserved.
8847***********************************************************************************************
8848-->
8849 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8850 <PrepareResourcesDependsOn>
8851 ValidationExtension;
8852 ExpressionBuildExtension;
8853 $(PrepareResourcesDependsOn)
8854 </PrepareResourcesDependsOn>
8855 </PropertyGroup>
8856 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8857 <CoreCompileDependsOn Condition="'$(BuildingInsideVisualStudio)' == 'true'">
8858 GenerateCompiledExpressionsTempFile;
8859 $(CoreCompileDependsOn)
8860 </CoreCompileDependsOn>
8861 </PropertyGroup>
8862 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8863 <WorkflowBuildExtensionVersion Condition="'$(WorkflowBuildExtensionVersion)'==''">4.0.0.0</WorkflowBuildExtensionVersion>
8864 <WorkflowBuildExtensionKeyToken Condition="'$(WorkflowBuildExtensionKeyToken)'==''">31bf3856ad364e35</WorkflowBuildExtensionKeyToken>
8865 <WorkflowBuildExtensionAssemblyName Condition="'$(WorkflowBuildExtensionAssemblyName)'==''">Microsoft.Activities.Build, Version=$(WorkflowBuildExtensionVersion), Culture=neutral, PublicKeyToken=$(WorkflowBuildExtensionKeyToken)</WorkflowBuildExtensionAssemblyName>
8866 <GenerateCompiledExpressionsTempFilePathForEditing Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(IntermediateOutputPath)\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs</GenerateCompiledExpressionsTempFilePathForEditing>
8867 <GenerateCompiledExpressionsTempFilePathForValidation Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(IntermediateOutputPath)\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs</GenerateCompiledExpressionsTempFilePathForValidation>
8868 <GenerateCompiledExpressionsTempFilePathForTypeInfer Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(IntermediateOutputPath)\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs</GenerateCompiledExpressionsTempFilePathForTypeInfer>
8869 <DeferredValidationErrorsFileName>$(IntermediateOutputPath)\AC2C1ABA-CCF6-44D4-8127-588FD4D0A860-DeferredValidationErrors.xml</DeferredValidationErrorsFileName>
8870 </PropertyGroup>
8871 <UsingTask TaskName="WorkflowBuildMessageTask" AssemblyName="$(WorkflowBuildExtensionAssemblyName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8872 <UsingTask TaskName="ReportDeferredValidationErrorsTask" AssemblyName="$(WorkflowBuildExtensionAssemblyName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8873 <UsingTask TaskName="DeferredValidationTask" AssemblyName="$(WorkflowBuildExtensionAssemblyName)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8874 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8875 <XamlBuildTaskTypeGenerationExtensionName Include="Microsoft.Activities.Build.BeforeInitializeComponentExtension">
8876 <AssemblyName>$(WorkflowBuildExtensionAssemblyName)</AssemblyName>
8877 <Visible>false</Visible>
8878 </XamlBuildTaskTypeGenerationExtensionName>
8879 <XamlBuildTaskTypeGenerationExtensionName Include="Microsoft.Activities.Build.Debugger.DebugBuildExtension">
8880 <AssemblyName>$(WorkflowBuildExtensionAssemblyName)</AssemblyName>
8881 <Visible>false</Visible>
8882 </XamlBuildTaskTypeGenerationExtensionName>
8883 </ItemGroup>
8884 <Target Name="ExpressionBuildExtension" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8885 <WorkflowBuildMessageTask ResourceName="InvalidValueForDisableWorkflowCompiledExpressions" MessageType="Warning" Condition="'$(DisableWorkflowCompiledExpressions)'!='' and '$(DisableWorkflowCompiledExpressions)'!='true' and '$(DisableWorkflowCompiledExpressions)'!='false'" />
8886 <ItemGroup>
8887 <XamlBuildTaskTypeInspectionExtensionName Include="Microsoft.Activities.Build.Expressions.ExpressionsBuildExtension" Condition="$(DisableWorkflowCompiledExpressions)!=true">
8888 <AssemblyName>$(WorkflowBuildExtensionAssemblyName)</AssemblyName>
8889 <Visible>false</Visible>
8890 </XamlBuildTaskTypeInspectionExtensionName>
8891 </ItemGroup>
8892 </Target>
8893 <!-- XBT Validation Extension-->
8894 <Target Name="ValidationExtension" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8895 <WorkflowBuildMessageTask ResourceName="InvalidValueForSkipWorkflowValidation" MessageType="Warning" Condition="'$(SkipWorkflowValidation)'!='' and '$(SkipWorkflowValidation)'!='true' and '$(SkipWorkflowValidation)'!='false'" />
8896 <ItemGroup>
8897 <XamlBuildTaskTypeInspectionExtensionName Include="Microsoft.Activities.Build.Validation.ValidationBuildExtension" Condition="$(SkipWorkflowValidation)!=true">
8898 <AssemblyName>$(WorkflowBuildExtensionAssemblyName)</AssemblyName>
8899 <Visible>false</Visible>
8900 </XamlBuildTaskTypeInspectionExtensionName>
8901 </ItemGroup>
8902 </Target>
8903 <Target Name="GenerateCompiledExpressionsTempFile" Condition="'$(GenerateCompiledExpressionsTempFilePathForEditing)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8904 <WriteLinesToFile File="$(GenerateCompiledExpressionsTempFilePathForEditing)" Condition="!Exists('$(GenerateCompiledExpressionsTempFilePathForEditing)')" />
8905 <WriteLinesToFile File="$(GenerateCompiledExpressionsTempFilePathForValidation)" Condition="!Exists('$(GenerateCompiledExpressionsTempFilePathForValidation)')" />
8906 <WriteLinesToFile File="$(GenerateCompiledExpressionsTempFilePathForTypeInfer)" Condition="!Exists('$(GenerateCompiledExpressionsTempFilePathForTypeInfer)')" />
8907 <ItemGroup>
8908 <Compile Include="$(GenerateCompiledExpressionsTempFilePathForEditing)" />
8909 <Compile Include="$(GenerateCompiledExpressionsTempFilePathForValidation)" />
8910 <Compile Include="$(GenerateCompiledExpressionsTempFilePathForTypeInfer)" />
8911 </ItemGroup>
8912 </Target>
8913 <Target Name="AddDeferredValidationErrorsFileToFileWrites" AfterTargets="XamlMarkupCompilePass2" Condition="Exists('$(DeferredValidationErrorsFileName)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8914 <ItemGroup>
8915 <FileWrites Include="$(DeferredValidationErrorsFileName)" />
8916 </ItemGroup>
8917 </Target>
8918 <!--
8919 ================================================================
8920 ReportValidationBuildExtensionErrors
8921 Report deferred validation extension errors.
8922 ================================================================
8923 -->
8924 <Target Name="ReportValidationBuildExtensionErrors" AfterTargets="XamlMarkupCompilePass2" Condition="'$(SkipWorkflowValidation)' != 'true' and ('@(XamlPage)' != '' or '@(XamlAppDef)' != '')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8925 <ReportDeferredValidationErrorsTask DeferredValidationErrorsFilePath="$(DeferredValidationErrorsFileName)" />
8926 </Target>
8927 <!--
8928 ==================================================================
8929 DeferredValidation
8930 Fail the entire build process in case any validation errors
8931 been previously reported, but after Compile succeeded.
8932 ==================================================================
8933 -->
8934 <Target Name="DeferredValidation" AfterTargets="Compile" Condition="'$(SkipWorkflowValidation)' != 'true' and ('@(XamlPage)' != '' or '@(XamlAppDef)' != '')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8935 <DeferredValidationTask DeferredValidationErrorsFilePath="$(DeferredValidationErrorsFileName)" />
8936 </Target>
8937 <!--
8938============================================================================================================================================
8939 </Import>
8940
8941C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.WorkflowBuildExtensions.targets
8942============================================================================================================================================
8943-->
8944 <!--
8945 This target in $(MSBuildFrameworkToolsPath)\Microsoft.WorkflowBuildExtensions.targets does bad
8946 things to builds inside Visual Studio. Specifically, it generates files *only* when building from
8947 within VS, for both real and design-time builds. This leads to all kinds of build problems.
8948
8949 In Dev16 we no longer need these files to exist on disk for Workflow Designer scenarios. We can't
8950 modify $(MSBuildFrameworkToolsPath)\Microsoft.WorkflowBuildExtensions.targets because that would
8951 break the Workflow Designer for older versions of VS. Instead, we effectively turn it off by
8952 overriding it with a no-op implementation here.
8953 -->
8954 <Target Name="GenerateCompiledExpressionsTempFile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8955 <!--
8956============================================================================================================================================
8957 </Import>
8958
8959C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
8960============================================================================================================================================
8961-->
8962 <!-- This import is temporary and will be removed once it is moved into the silverlight targets -->
8963 <!--<Import Project="$(MSBuildToolsPath)\Microsoft.WinFX.targets" Condition="'$(TargetFrameworkIdentifier)' == 'Silverlight' and Exists('$(MSBuildToolsPath)\Microsoft.WinFX.targets')" />-->
8964 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8965 <MsTestToolsTargets Condition="'$(MsTestToolsTargets)'==''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TeamTest\Microsoft.TeamTest.targets</MsTestToolsTargets>
8966 </PropertyGroup>
8967 <!--
8968============================================================================================================================================
8969 <Import Project="$(MsTestToolsTargets)" Condition="Exists('$(MsTestToolsTargets)')">
8970
8971C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\TeamTest\Microsoft.TeamTest.targets
8972============================================================================================================================================
8973-->
8974 <UsingTask TaskName="BuildShadowTask" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v16.0\TeamTest\Microsoft.VisualStudio.TestTools.BuildShadowsTask.dll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
8975 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8976 <ResolveReferencesDependsOn>
8977 $(ResolveReferencesDependsOn);
8978 ResolveTestReferences
8979 </ResolveReferencesDependsOn>
8980 </PropertyGroup>
8981 <!--
8982 The condition here ensures that we aren't needlessly loaded into projects
8983 that don't actually have shadow items in them
8984 -->
8985 <Target Name="ResolveTestReferences" Condition="'@(Shadow)'!=''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
8986 <BuildShadowTask ExecuteAsTool="False" CurrentResolvedReferences="@(ReferencePath)" CurrentCopyLocalFiles="@(ReferenceCopyLocalPaths)" Shadows="@(Shadow)" ProjectPath="$(ProjectDir)" IntermediatePath="$(IntermediateOutputPath)" SignAssembly="$(SignAssembly)" KeyFile="$(AssemblyOriginatorKeyFile)" DelaySign="$(DelaySign)">
8987 <Output TaskParameter="FixedUpReferences" ItemName="ReferencePath" />
8988 <Output TaskParameter="NewCopyLocalAssemblies" ItemName="ReferenceCopyLocalPaths" />
8989 </BuildShadowTask>
8990 </Target>
8991 <!--
8992============================================================================================================================================
8993 </Import>
8994
8995C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
8996============================================================================================================================================
8997-->
8998 <!-- App packaging support -->
8999 <!--
9000 Following two targets are needed to be present in every project being built
9001 because the app packaging targets recursively scan all projects referenced
9002 from projects that generate app packages for them.
9003 -->
9004 <Target Name="CleanAppxPackage" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9005 <Target Name="GetPackagingOutputs" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9006 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9007 <MsAppxPackageTargets Condition="'$(MsAppxPackageTargets)'==''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\AppxPackage\Microsoft.AppXPackage.Targets</MsAppxPackageTargets>
9008 </PropertyGroup>
9009 <!--<Import Project="$(MsAppxPackageTargets)" Condition="'$(WindowsAppContainer)' == 'true' and Exists('$(MsAppxPackageTargets)')" />-->
9010 <!-- This import is temporary and will be removed once it is moved into the silverlight targets -->
9011 <!--<Import Project="$(MSBuildToolsPath)\Microsoft.Data.Entity.targets" Condition="'$(TargetFrameworkIdentifier)' == 'Silverlight' and Exists('$(MSBuildToolsPath)\Microsoft.Data.Entity.targets')" />-->
9012 <!-- Import NuGet.targets (required for GetReferenceNearestTargetFrameworkTask and used for Restore functionality) -->
9013 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9014 <MSBuildUseVisualStudioDirectoryLayout Condition="'$(MSBuildUseVisualStudioDirectoryLayout)'==''">$([MSBuild]::IsRunningFromVisualStudio())</MSBuildUseVisualStudioDirectoryLayout>
9015 <NuGetRestoreTargets Condition="'$(NuGetRestoreTargets)'=='' and '$(MSBuildUseVisualStudioDirectoryLayout)'=='true'">$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets</NuGetRestoreTargets>
9016 <NuGetRestoreTargets Condition="'$(NuGetRestoreTargets)'==''">$(MSBuildToolsPath)\NuGet.targets</NuGetRestoreTargets>
9017 </PropertyGroup>
9018 <!--
9019============================================================================================================================================
9020 <Import Project="$(NuGetRestoreTargets)" Condition="'$(IsRestoreTargetsFileLoaded)' != 'true' and Exists('$(NuGetRestoreTargets)')">
9021
9022C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets
9023============================================================================================================================================
9024-->
9025 <!--
9026***********************************************************************************************
9027NuGet.targets
9028
9029WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
9030 created a backup copy. Incorrect changes to this file will make it
9031 impossible to load or build your projects from the command-line or the IDE.
9032
9033Copyright (c) .NET Foundation. All rights reserved.
9034***********************************************************************************************
9035
9036 This target file contains the NuGet Restore target for walking the project and reference graph
9037 and restoring dependencies from the graph.
9038
9039 Ways to use this targets file:
9040 1. Invoke it directly and provide project file paths using $(RestoreGraphProjectInput).
9041 2. With a solution this may be used as a target in the metaproj.
9042 3. Import the targets file from a project.
9043
9044 Restore flow summary:
9045 1. Top level projects (entry points) are determined.
9046 2. Each project and all of its project references are walked recursively.
9047 3. The project is evaluated for each $(TargetFramework). Items are created
9048 for project properties and dependencies. Each item is marked
9049 with the project it came from so that it can be matched up later.
9050 4. All restore items generated by the walk are grouped together by
9051 project and convert into a project spec.
9052
9053 The result file contains:
9054 1. A list of projects to restore.
9055 2. The complete closure of all projects referenced (Includes project references that are not being restored directly).
9056 3. Package and project dependencies for each project.
9057 4. DotnetCliTool references
9058 -->
9059 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9060 <!-- Mark that this target file has been loaded. -->
9061 <IsRestoreTargetsFileLoaded>true</IsRestoreTargetsFileLoaded>
9062 <!-- Load NuGet.Build.Tasks.dll, this can be overridden to use a different version with $(RestoreTaskAssemblyFile) -->
9063 <RestoreTaskAssemblyFile Condition=" '$(RestoreTaskAssemblyFile)' == '' ">NuGet.Build.Tasks.dll</RestoreTaskAssemblyFile>
9064 <!-- Do not hide errors and warnings by default -->
9065 <HideWarningsAndErrors Condition=" '$(HideWarningsAndErrors)' == '' ">false</HideWarningsAndErrors>
9066 <!-- Recurse by default -->
9067 <RestoreRecursive Condition=" '$(RestoreRecursive)' == '' ">true</RestoreRecursive>
9068 <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
9069 <RestoreUseSkipNonexistentTargets Condition=" '$(RestoreUseSkipNonexistentTargets)' == '' ">true</RestoreUseSkipNonexistentTargets>
9070 <!-- RuntimeIdentifier compatibility check -->
9071 <ValidateRuntimeIdentifierCompatibility Condition=" '$(ValidateRuntimeIdentifierCompatibility)' == '' ">false</ValidateRuntimeIdentifierCompatibility>
9072 <!-- Error handling while walking projects -->
9073 <RestoreContinueOnError Condition=" '$(RestoreContinueOnError)' == '' ">WarnAndContinue</RestoreContinueOnError>
9074 <!-- Build in parallel -->
9075 <RestoreBuildInParallel Condition=" '$(BuildInParallel)' != '' ">$(BuildInParallel)</RestoreBuildInParallel>
9076 <RestoreBuildInParallel Condition=" '$(RestoreBuildInParallel)' == '' ">true</RestoreBuildInParallel>
9077 <!-- Check if the restore target was executed on a sln file -->
9078 <_RestoreSolutionFileUsed Condition=" '$(_RestoreSolutionFileUsed)' == '' AND '$(SolutionDir)' != '' AND $(MSBuildProjectFullPath.EndsWith('.metaproj')) == 'true' ">true</_RestoreSolutionFileUsed>
9079 <!-- We default to MSBuildInteractive. -->
9080 <NuGetInteractive Condition=" '$(NuGetInteractive)' == '' ">$(MSBuildInteractive)</NuGetInteractive>
9081 <!-- Mark that this targets file supports package download. -->
9082 <PackageDownloadSupported>true</PackageDownloadSupported>
9083 <!-- Mark that this targets file GetReferenceNearestTargetFrameworkTask task supports the TargetPlatformMoniker -->
9084 <GetReferenceNearestTargetFrameworkTaskSupportsTargetPlatformParameter>true</GetReferenceNearestTargetFrameworkTaskSupportsTargetPlatformParameter>
9085 <!-- Flag if the Central package file is enabled -->
9086 <_CentralPackageVersionsEnabled Condition="'$(ManagePackageVersionsCentrally)' == 'true' AND '$(CentralPackageVersionsFileImported)' == 'true'">true</_CentralPackageVersionsEnabled>
9087 </PropertyGroup>
9088 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9089 <!-- Exclude packages from changing restore inputs. -->
9090 <_GenerateRestoreGraphProjectEntryInputProperties>ExcludeRestorePackageImports=true</_GenerateRestoreGraphProjectEntryInputProperties>
9091 <!-- Standalone mode
9092 This is used by NuGet.exe to inject targets into the project that will be
9093 walked next. In normal /t:Restore mode this causes a duplicate import
9094 since NuGet.targets it loaded as part of MSBuild, there is should be
9095 skipped. -->
9096 <_GenerateRestoreGraphProjectEntryInputProperties Condition=" '$(RestoreUseCustomAfterTargets)' == 'true' ">
9097 $(_GenerateRestoreGraphProjectEntryInputProperties);
9098 NuGetRestoreTargets=$(MSBuildThisFileFullPath);
9099 RestoreUseCustomAfterTargets=$(RestoreUseCustomAfterTargets);
9100 CustomAfterMicrosoftCommonCrossTargetingTargets=$(MSBuildThisFileFullPath);
9101 CustomAfterMicrosoftCommonTargets=$(MSBuildThisFileFullPath);
9102 </_GenerateRestoreGraphProjectEntryInputProperties>
9103 <!-- Include SolutionDir and SolutionName for solution restores and persist these properties during the walk. -->
9104 <_GenerateRestoreGraphProjectEntryInputProperties Condition=" '$(_RestoreSolutionFileUsed)' == 'true' ">
9105 $(_GenerateRestoreGraphProjectEntryInputProperties);
9106 _RestoreSolutionFileUsed=true;
9107 SolutionDir=$(SolutionDir);
9108 SolutionName=$(SolutionName);
9109 SolutionFileName=$(SolutionFileName);
9110 SolutionPath=$(SolutionPath);
9111 SolutionExt=$(SolutionExt);
9112 </_GenerateRestoreGraphProjectEntryInputProperties>
9113 </PropertyGroup>
9114 <!-- Tasks -->
9115 <UsingTask TaskName="NuGet.Build.Tasks.RestoreTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9116 <UsingTask TaskName="NuGet.Build.Tasks.WriteRestoreGraphTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9117 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreProjectJsonPathTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9118 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreProjectReferencesTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9119 <UsingTask TaskName="NuGet.Build.Tasks.GetRestorePackageReferencesTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9120 <UsingTask TaskName="NuGet.Build.Tasks.GetCentralPackageVersionsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9121 <UsingTask TaskName="NuGet.Build.Tasks.GetRestorePackageDownloadsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9122 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreFrameworkReferencesTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9123 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreDotnetCliToolsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9124 <UsingTask TaskName="NuGet.Build.Tasks.GetProjectTargetFrameworksTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9125 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreSolutionProjectsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9126 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreSettingsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9127 <UsingTask TaskName="NuGet.Build.Tasks.WarnForInvalidProjectsTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9128 <UsingTask TaskName="NuGet.Build.Tasks.GetReferenceNearestTargetFrameworkTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9129 <UsingTask TaskName="NuGet.Build.Tasks.GetRestoreProjectStyleTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9130 <UsingTask TaskName="NuGet.Build.Tasks.NuGetMessageTask" AssemblyFile="$(RestoreTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9131 <!--
9132 ============================================================
9133 Restore
9134 Main entry point for restoring packages
9135 ============================================================
9136 -->
9137 <Target Name="Restore" DependsOnTargets="_GenerateRestoreGraph" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9138 <!-- Drop any duplicate items -->
9139 <RemoveDuplicates Inputs="@(_RestoreGraphEntry)">
9140 <Output TaskParameter="Filtered" ItemName="_RestoreGraphEntryFiltered" />
9141 </RemoveDuplicates>
9142 <!-- Call restore -->
9143 <RestoreTask RestoreGraphItems="@(_RestoreGraphEntryFiltered)" RestoreDisableParallel="$(RestoreDisableParallel)" RestoreNoCache="$(RestoreNoCache)" RestoreIgnoreFailedSources="$(RestoreIgnoreFailedSources)" RestoreRecursive="$(RestoreRecursive)" RestoreForce="$(RestoreForce)" HideWarningsAndErrors="$(HideWarningsAndErrors)" Interactive="$(NuGetInteractive)" RestoreForceEvaluate="$(RestoreForceEvaluate)" RestorePackagesConfig="$(RestorePackagesConfig)" />
9144 </Target>
9145 <!--
9146 ============================================================
9147 GenerateRestoreGraphFile
9148 Writes the output of _GenerateRestoreGraph to disk
9149 ============================================================
9150 -->
9151 <Target Name="GenerateRestoreGraphFile" DependsOnTargets="_GenerateRestoreGraph" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9152 <!-- Validate -->
9153 <Error Condition="$(RestoreGraphOutputPath) == ''" Text="Missing RestoreGraphOutputPath property!" />
9154 <!-- Drop any duplicate items -->
9155 <RemoveDuplicates Inputs="@(_RestoreGraphEntry)">
9156 <Output TaskParameter="Filtered" ItemName="_RestoreGraphEntryFiltered" />
9157 </RemoveDuplicates>
9158 <!-- Write file -->
9159 <WriteRestoreGraphTask RestoreGraphItems="@(_RestoreGraphEntryFiltered)" RestoreGraphOutputPath="$(RestoreGraphOutputPath)" RestoreRecursive="$(RestoreRecursive)" />
9160 </Target>
9161 <!--
9162 ============================================================
9163 CollectPackageReferences
9164 Gathers all PackageReference items from the project.
9165 This target may be used as an extension point to modify
9166 package references before NuGet reads them.
9167 ============================================================
9168 -->
9169 <Target Name="CollectPackageReferences" Returns="@(PackageReference)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9170 <!--
9171 ============================================================
9172 CollectCentralPackageVersions
9173 Gathers all PackageVersion items from the central package versions file.
9174 ============================================================
9175 -->
9176 <Target Name="CollectCentralPackageVersions" Returns="@(PackageVersion)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9177 <!--
9178 ============================================================
9179 CollectPackageDownloads
9180 Gathers all PackageDownload items from the project.
9181 This target may be used as an extension point to modify
9182 package downloads before NuGet reads them.
9183 ============================================================
9184 -->
9185 <Target Name="CollectPackageDownloads" Returns="@(PackageDownload)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9186 <!--
9187 ============================================================
9188 CollectFrameworkReferences
9189 ============================================================
9190 -->
9191 <Target Name="CollectFrameworkReferences" Returns="@(_FrameworkReferenceForRestore)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9192 <ItemGroup>
9193 <_FrameworkReferenceForRestore Include="@(FrameworkReference)" Condition="'%(FrameworkReference.IsTransitiveFrameworkReference)' != 'true'" />
9194 </ItemGroup>
9195 </Target>
9196 <!--
9197 ============================================================
9198 _LoadRestoreGraphEntryPoints
9199 Find project entry points and load them into items.
9200 ============================================================
9201 -->
9202 <Target Name="_LoadRestoreGraphEntryPoints" Returns="@(RestoreGraphProjectInputItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9203 <!-- Allow overriding items with RestoreGraphProjectInput -->
9204 <ItemGroup Condition=" @(RestoreGraphProjectInputItems) == '' ">
9205 <RestoreGraphProjectInputItems Include="$(RestoreGraphProjectInput)" />
9206 </ItemGroup>
9207 <!-- Project case -->
9208 <ItemGroup Condition=" $(MSBuildProjectFullPath.EndsWith('.metaproj')) != 'true' AND @(RestoreGraphProjectInputItems) == '' ">
9209 <RestoreGraphProjectInputItems Include="$(MSBuildProjectFullPath)" />
9210 </ItemGroup>
9211 <!-- Solution case -->
9212 <GetRestoreSolutionProjectsTask Condition=" $(MSBuildProjectFullPath.EndsWith('.metaproj')) == 'true' AND @(RestoreGraphProjectInputItems) == '' " ProjectReferences="@(ProjectReference)" SolutionFilePath="$(MSBuildProjectFullPath)">
9213 <Output TaskParameter="OutputProjectReferences" ItemName="RestoreGraphProjectInputItems" />
9214 </GetRestoreSolutionProjectsTask>
9215 </Target>
9216 <!--
9217 ============================================================
9218 _FilterRestoreGraphProjectInputItems
9219 Filter out unsupported project entry points.
9220 ============================================================
9221 -->
9222 <Target Name="_FilterRestoreGraphProjectInputItems" DependsOnTargets="_LoadRestoreGraphEntryPoints" Returns="@(FilteredRestoreGraphProjectInputItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9223 <PropertyGroup>
9224 <RestoreProjectFilterMode Condition=" '$(RestoreProjectFilterMode)' == '' ">exclusionlist</RestoreProjectFilterMode>
9225 </PropertyGroup>
9226 <!-- Filter to a list of known supported types -->
9227 <ItemGroup Condition=" '$(RestoreProjectFilterMode)' == 'inclusionlist' ">
9228 <_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' " />
9229 </ItemGroup>
9230 <!-- Filter out disallowed types -->
9231 <ItemGroup Condition=" '$(RestoreProjectFilterMode)' == 'exclusionlist' ">
9232 <_FilteredRestoreGraphProjectInputItemsTmp Include="@(RestoreGraphProjectInputItems)" Condition=" '%(RestoreGraphProjectInputItems.Extension)' != '.metaproj'&#xD;&#xA; AND '%(RestoreGraphProjectInputItems.Extension)' != '.shproj'&#xD;&#xA; AND '%(RestoreGraphProjectInputItems.Extension)' != '.vcxitems'&#xD;&#xA; AND '%(RestoreGraphProjectInputItems.Extension)' != '' " />
9233 </ItemGroup>
9234 <!-- No filtering -->
9235 <ItemGroup Condition=" '$(RestoreProjectFilterMode)' != 'exclusionlist' AND '$(RestoreProjectFilterMode)' != 'inclusionlist' ">
9236 <_FilteredRestoreGraphProjectInputItemsTmp Include="@(RestoreGraphProjectInputItems)" />
9237 </ItemGroup>
9238 <!-- Remove duplicates -->
9239 <RemoveDuplicates Inputs="@(_FilteredRestoreGraphProjectInputItemsTmp)">
9240 <Output TaskParameter="Filtered" ItemName="FilteredRestoreGraphProjectInputItemsWithoutDuplicates" />
9241 </RemoveDuplicates>
9242 <!-- Remove projects that do not support restore. -->
9243 <!-- With SkipNonexistentTargets support -->
9244 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' == 'true' " BuildInParallel="$(RestoreBuildInParallel)" Projects="@(FilteredRestoreGraphProjectInputItemsWithoutDuplicates)" Targets="_IsProjectRestoreSupported" SkipNonexistentTargets="true" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
9245 <Output TaskParameter="TargetOutputs" ItemName="FilteredRestoreGraphProjectInputItems" />
9246 </MSBuild>
9247 <!-- Without SkipNonexistentTargets support -->
9248 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' != 'true' " Projects="@(FilteredRestoreGraphProjectInputItemsWithoutDuplicates)" Targets="_IsProjectRestoreSupported" ContinueOnError="$(RestoreContinueOnError)" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
9249 <Output TaskParameter="TargetOutputs" ItemName="FilteredRestoreGraphProjectInputItems" />
9250 </MSBuild>
9251 <!-- Warn for projects that do not support restore. -->
9252 <WarnForInvalidProjectsTask Condition=" '$(DisableWarnForInvalidRestoreProjects)' != 'true' AND '$(HideWarningsAndErrors)' != 'true' " AllProjects="@(FilteredRestoreGraphProjectInputItemsWithoutDuplicates)" ValidProjects="@(FilteredRestoreGraphProjectInputItems)" />
9253 </Target>
9254 <!--
9255 ============================================================
9256 _GenerateRestoreGraph
9257 Entry point for creating the project to project restore graph.
9258 ============================================================
9259 -->
9260 <Target Name="_GenerateRestoreGraph" DependsOnTargets="_FilterRestoreGraphProjectInputItems;_GetAllRestoreProjectPathItems" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9261 <Message Text="Generating dg file" Importance="low" />
9262 <Message Text="%(_RestoreProjectPathItems.Identity)" Importance="low" />
9263 <!-- Use all projects if RestoreRecursive is true. Otherwise use only the top level projects. -->
9264 <ItemGroup>
9265 <_GenerateRestoreGraphProjectEntryInput Include="@(FilteredRestoreGraphProjectInputItems)" Condition=" '$(RestoreRecursive)' != 'true' " />
9266 <_GenerateRestoreGraphProjectEntryInput Include="@(_RestoreProjectPathItems)" Condition=" '$(RestoreRecursive)' == 'true' " />
9267 </ItemGroup>
9268 <!-- Add top level entries to the direct restore list. These projects will also restore tools. -->
9269 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Projects="@(_GenerateRestoreGraphProjectEntryInput)" Targets="_GenerateRestoreGraphProjectEntry" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
9270 <Output TaskParameter="TargetOutputs" ItemName="_RestoreGraphEntry" />
9271 </MSBuild>
9272 <!-- Generate a spec for every project including dependencies. -->
9273 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Projects="@(_RestoreProjectPathItems)" Targets="_GenerateProjectRestoreGraph" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
9274 <Output TaskParameter="TargetOutputs" ItemName="_RestoreGraphEntry" />
9275 </MSBuild>
9276 </Target>
9277 <!--
9278 ============================================================
9279 _GenerateRestoreGraphProjectEntry
9280 Top level entry point within a project.
9281 ============================================================
9282 -->
9283 <Target Name="_GenerateRestoreGraphProjectEntry" DependsOnTargets="_GenerateRestoreSpecs;_GenerateDotnetCliToolReferenceSpecs" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9284 <!-- Returns restore graph entries for the project and all dependencies -->
9285 </Target>
9286 <!--
9287 ============================================================
9288 _GenerateRestoreSpecs
9289 Mark entry points for restore.
9290 ============================================================
9291 -->
9292 <Target Name="_GenerateRestoreSpecs" DependsOnTargets="_GetRestoreProjectStyle" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9293 <Message Text="Restore entry point $(MSBuildProjectFullPath)" Importance="low" />
9294 <!-- Mark entry point -->
9295 <ItemGroup Condition=" '$(RestoreProjects)' == '' OR '$(RestoreProjects)' == 'true' ">
9296 <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())" Condition=" '$(RestoreProjectStyle)' != 'Unknown' ">
9297 <Type>RestoreSpec</Type>
9298 <ProjectUniqueName>$(MSBuildProjectFullPath)</ProjectUniqueName>
9299 </_RestoreGraphEntry>
9300 </ItemGroup>
9301 </Target>
9302 <!--
9303 ============================================================
9304 _GenerateDotnetCliToolReferenceSpecs
9305 Collect DotnetCliToolReferences
9306 ============================================================
9307 -->
9308 <Target Name="_GenerateDotnetCliToolReferenceSpecs" DependsOnTargets="_GetRestoreSettings" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9309 <PropertyGroup>
9310 <DotnetCliToolTargetFramework Condition=" '$(DotnetCliToolTargetFramework)' == '' ">netcoreapp1.0</DotnetCliToolTargetFramework>
9311 </PropertyGroup>
9312 <!-- Write out tool references -->
9313 <GetRestoreDotnetCliToolsTask Condition=" '$(RestoreDotnetCliToolReferences)' == '' OR '$(RestoreDotnetCliToolReferences)' == 'true' " ProjectPath="$(MSBuildProjectFullPath)" ToolFramework="$(DotnetCliToolTargetFramework)" RestorePackagesPath="$(_OutputPackagesPath)" RestoreFallbackFolders="$(_OutputFallbackFolders)" RestoreSources="$(_OutputSources)" RestoreConfigFilePaths="$(_OutputConfigFilePaths)" DotnetCliToolReferences="@(DotnetCliToolReference)">
9314 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
9315 </GetRestoreDotnetCliToolsTask>
9316 </Target>
9317 <!--
9318 ============================================================
9319 _GetProjectJsonPath
9320 Discover the project.json path if one exists for the project.
9321 ============================================================
9322 -->
9323 <Target Name="_GetProjectJsonPath" Returns="$(_CurrentProjectJsonPath)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9324 <!-- Get project.json path -->
9325 <!-- Skip this if the project style is already set. -->
9326 <GetRestoreProjectJsonPathTask ProjectPath="$(MSBuildProjectFullPath)" Condition=" '$(RestoreProjectStyle)' == 'ProjectJson' OR '$(RestoreProjectStyle)' == '' ">
9327 <Output TaskParameter="ProjectJsonPath" PropertyName="_CurrentProjectJsonPath" />
9328 </GetRestoreProjectJsonPathTask>
9329 </Target>
9330 <!--
9331 ============================================================
9332 _GetRestoreProjectStyle
9333 Determine the project restore type.
9334 ============================================================
9335 -->
9336 <Target Name="_GetRestoreProjectStyle" DependsOnTargets="_GetProjectJsonPath;CollectPackageReferences" Returns="$(RestoreProjectStyle);$(PackageReferenceCompatibleProjectStyle)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9337 <!--
9338 Older versions of MSBuild do not support the Count() item function which is an optimization. Expanding the
9339 entire item list into a semicolon delimited string is slower but older versions of MSBuild don't support it so
9340 use the older logic if necessary
9341 -->
9342 <PropertyGroup Condition="'$(MSBuildAssemblyVersion)' &lt; '15.0'">
9343 <_HasPackageReferenceItems Condition="'@(PackageReference)' != ''">true</_HasPackageReferenceItems>
9344 </PropertyGroup>
9345 <PropertyGroup Condition="'$(MSBuildAssemblyVersion)' &gt;= '15.0'">
9346 <_HasPackageReferenceItems Condition="@(PackageReference-&gt;Count()) &gt; 0">true</_HasPackageReferenceItems>
9347 </PropertyGroup>
9348 <GetRestoreProjectStyleTask HasPackageReferenceItems="$(_HasPackageReferenceItems)" MSBuildProjectDirectory="$(MSBuildProjectDirectory)" MSBuildProjectName="$(MSBuildProjectName)" ProjectJsonPath="$(_CurrentProjectJsonPath)" RestoreProjectStyle="$(RestoreProjectStyle)">
9349 <Output TaskParameter="ProjectStyle" PropertyName="RestoreProjectStyle" />
9350 <Output TaskParameter="IsPackageReferenceCompatibleProjectStyle" PropertyName="PackageReferenceCompatibleProjectStyle" />
9351 </GetRestoreProjectStyleTask>
9352 <PropertyGroup>
9353 <_HasPackageReferenceItems />
9354 </PropertyGroup>
9355 </Target>
9356 <!--
9357 ============================================================
9358 EnableIntermediateOutputPathMismatchWarning
9359 If using PackageReference, enable an MSBuild warning if BaseIntermediateOutputPath is set to something different
9360 than MSBuildProjectExtensionsPath, because it may be unexpected that the assets and related files wouldn't be written
9361 to the BaseIntermediateOutputPath.
9362 ============================================================
9363 -->
9364 <Target Name="EnableIntermediateOutputPathMismatchWarning" DependsOnTargets="_GetRestoreProjectStyle" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(RestoreProjectStyle)' == 'PackageReference'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9365 <PropertyGroup Condition="'$(EnableBaseIntermediateOutputPathMismatchWarning)' == ''">
9366 <EnableBaseIntermediateOutputPathMismatchWarning>true</EnableBaseIntermediateOutputPathMismatchWarning>
9367 </PropertyGroup>
9368 </Target>
9369 <!--
9370 ============================================================
9371 _GetRestoreTargetFrameworksOutput
9372 Read target frameworks from the project.
9373 Non-NETCore project frameworks will be returned.
9374 ============================================================
9375 -->
9376 <Target Name="_GetRestoreTargetFrameworksOutput" DependsOnTargets="_GetRestoreProjectStyle" Returns="@(_RestoreTargetFrameworksOutputFiltered)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9377 <PropertyGroup>
9378 <_RestoreProjectFramework />
9379 </PropertyGroup>
9380 <!-- For project.json projects target frameworks will be read from project.json. -->
9381 <GetProjectTargetFrameworksTask Condition=" '$(RestoreProjectStyle)' != 'ProjectJson'" ProjectPath="$(MSBuildProjectFullPath)" TargetFrameworks="$(TargetFrameworks)" TargetFramework="$(TargetFramework)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformMinVersion="$(TargetPlatformMinVersion)">
9382 <Output TaskParameter="ProjectTargetFrameworks" PropertyName="_RestoreProjectFramework" />
9383 </GetProjectTargetFrameworksTask>
9384 <ItemGroup Condition=" '$(_RestoreProjectFramework)' != '' ">
9385 <_RestoreTargetFrameworksOutputFiltered Include="$(_RestoreProjectFramework.Split(';'))" />
9386 </ItemGroup>
9387 </Target>
9388 <!--
9389 ============================================================
9390 _GetRestoreTargetFrameworksAsItems
9391 Read $(TargetFrameworks) from the project as items.
9392 Projects that do not have $(TargetFrameworks) will noop.
9393 ============================================================
9394 -->
9395 <Target Name="_GetRestoreTargetFrameworksAsItems" DependsOnTargets="_GetRestoreProjectStyle" Returns="@(_RestoreTargetFrameworkItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9396 <ItemGroup Condition=" '$(TargetFrameworks)' != '' ">
9397 <_RestoreTargetFrameworkItems Include="$(TargetFrameworks.Split(';'))" />
9398 </ItemGroup>
9399 </Target>
9400 <!--
9401 ============================================================
9402 _GetRestoreSettings
9403 ============================================================
9404 -->
9405 <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">
9406 <PropertyGroup Condition=" '$(RestoreSolutionDirectory)' == '' AND '$(RestoreProjectStyle)' == 'PackagesConfig' AND '$(SolutionDir)' != '*Undefined*'">
9407 <RestoreSolutionDirectory>$(SolutionDir)</RestoreSolutionDirectory>
9408 </PropertyGroup>
9409 <!-- For transitive project styles, we rely on evaluating all the settings and including them in the dg spec to faciliate no-op restore-->
9410 <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)">
9411 <Output TaskParameter="OutputSources" PropertyName="_OutputSources" />
9412 <Output TaskParameter="OutputPackagesPath" PropertyName="_OutputPackagesPath" />
9413 <Output TaskParameter="OutputRepositoryPath" PropertyName="_OutputRepositoryPath" />
9414 <Output TaskParameter="OutputFallbackFolders" PropertyName="_OutputFallbackFolders" />
9415 <Output TaskParameter="OutputConfigFilePaths" PropertyName="_OutputConfigFilePaths" />
9416 </GetRestoreSettingsTask>
9417 </Target>
9418 <!--
9419 ============================================================
9420 _GetRestoreSettingsCurrentProject
9421 Generate items for a single framework.
9422 ============================================================
9423 -->
9424 <Target Name="_GetRestoreSettingsCurrentProject" Condition=" '$(TargetFrameworks)' == '' AND '$(PackageReferenceCompatibleProjectStyle)' == 'true' " DependsOnTargets="_GetRestoreSettingsPerFramework" Returns="@(_RestoreSettingsPerFramework)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9425 <!--
9426 ============================================================
9427 _GetRestoreSettingsCurrentProject
9428 Generate items for a single framework.
9429 ============================================================
9430 -->
9431 <Target Name="_GetRestoreSettingsAllFrameworks" Condition=" '$(TargetFrameworks)' != '' AND '$(PackageReferenceCompatibleProjectStyle)' == 'true' " DependsOnTargets="_GetRestoreTargetFrameworksAsItems;_GetRestoreProjectStyle" Returns="@(_RestoreSettingsPerFramework)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9432 <!-- Read additional sources and fallback folders for each framework -->
9433 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Projects="$(MSBuildProjectFullPath)" Targets="_GetRestoreSettingsPerFramework" Properties="TargetFramework=%(_RestoreTargetFrameworkItems.Identity);&#xD;&#xA; $(_GenerateRestoreGraphProjectEntryInputProperties)">
9434 <Output TaskParameter="TargetOutputs" ItemName="_RestoreSettingsPerFramework" />
9435 </MSBuild>
9436 </Target>
9437 <!--
9438 ============================================================
9439 _GetRestoreSettingsPerFramework
9440 Generate items with framework specific settings.
9441 ============================================================
9442 -->
9443 <Target Name="_GetRestoreSettingsPerFramework" Returns="@(_RestoreSettingsPerFramework)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9444 <ItemGroup>
9445 <_RestoreSettingsPerFramework Include="$([System.Guid]::NewGuid())">
9446 <RestoreAdditionalProjectSources>$(RestoreAdditionalProjectSources)</RestoreAdditionalProjectSources>
9447 <RestoreAdditionalProjectFallbackFolders>$(RestoreAdditionalProjectFallbackFolders)</RestoreAdditionalProjectFallbackFolders>
9448 <RestoreAdditionalProjectFallbackFoldersExcludes>$(RestoreAdditionalProjectFallbackFoldersExcludes)</RestoreAdditionalProjectFallbackFoldersExcludes>
9449 </_RestoreSettingsPerFramework>
9450 </ItemGroup>
9451 </Target>
9452 <!--
9453 ============================================================
9454 _GenerateRestoreProjectSpec
9455 Generate a restore project spec for the current project.
9456 ============================================================
9457 -->
9458 <Target Name="_GenerateRestoreProjectSpec" DependsOnTargets="_GetRestoreProjectStyle;_GetRestoreTargetFrameworksOutput;_GetRestoreSettings" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9459 <!-- Determine the restore output path -->
9460 <PropertyGroup Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' OR '$(RestoreProjectStyle)' == 'ProjectJson' ">
9461 <RestoreOutputPath Condition=" '$(RestoreOutputPath)' == '' ">$(MSBuildProjectExtensionsPath)</RestoreOutputPath>
9462 </PropertyGroup>
9463 <ConvertToAbsolutePath Paths="$(RestoreOutputPath)" Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' OR '$(RestoreProjectStyle)' == 'ProjectJson'">
9464 <Output TaskParameter="AbsolutePaths" PropertyName="RestoreOutputAbsolutePath" />
9465 </ConvertToAbsolutePath>
9466 <!--
9467 Determine project name for the assets file.
9468 Highest priority: PackageId
9469 If PackageId does not exist use: AssemblyName
9470 If AssemblyName does not exist fallback to the project file name without the extension: $(MSBuildProjectName)
9471
9472 For non-NETCore projects use only: $(MSBuildProjectName)
9473 -->
9474 <PropertyGroup>
9475 <_RestoreProjectName>$(MSBuildProjectName)</_RestoreProjectName>
9476 <_RestoreProjectName Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' AND '$(AssemblyName)' != '' ">$(AssemblyName)</_RestoreProjectName>
9477 <_RestoreProjectName Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' AND '$(PackageId)' != '' ">$(PackageId)</_RestoreProjectName>
9478 </PropertyGroup>
9479 <!--
9480 Determine project version for .NETCore projects
9481 Default to 1.0.0
9482 Use Version if it exists
9483 Override with PackageVersion if it exists (same as pack)
9484 -->
9485 <PropertyGroup Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' ">
9486 <_RestoreProjectVersion>1.0.0</_RestoreProjectVersion>
9487 <_RestoreProjectVersion Condition=" '$(Version)' != '' ">$(Version)</_RestoreProjectVersion>
9488 <_RestoreProjectVersion Condition=" '$(PackageVersion)' != '' ">$(PackageVersion)</_RestoreProjectVersion>
9489 </PropertyGroup>
9490 <!-- Determine if this will use cross targeting -->
9491 <PropertyGroup Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' AND '$(TargetFrameworks)' != '' ">
9492 <_RestoreCrossTargeting>true</_RestoreCrossTargeting>
9493 </PropertyGroup>
9494 <!-- Determine if ContentFiles should be written by NuGet -->
9495 <PropertyGroup Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' AND '$(_RestoreSkipContentFileWrite)' == '' ">
9496 <_RestoreSkipContentFileWrite Condition=" '$(TargetFrameworks)' == '' AND '$(TargetFramework)' == '' ">true</_RestoreSkipContentFileWrite>
9497 </PropertyGroup>
9498 <!-- Write properties for the top level entry point -->
9499 <ItemGroup Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' ">
9500 <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())">
9501 <Type>ProjectSpec</Type>
9502 <Version>$(_RestoreProjectVersion)</Version>
9503 <ProjectUniqueName>$(MSBuildProjectFullPath)</ProjectUniqueName>
9504 <ProjectPath>$(MSBuildProjectFullPath)</ProjectPath>
9505 <ProjectName>$(_RestoreProjectName)</ProjectName>
9506 <Sources>$(_OutputSources)</Sources>
9507 <FallbackFolders>$(_OutputFallbackFolders)</FallbackFolders>
9508 <PackagesPath>$(_OutputPackagesPath)</PackagesPath>
9509 <ProjectStyle>$(RestoreProjectStyle)</ProjectStyle>
9510 <OutputPath>$(RestoreOutputAbsolutePath)</OutputPath>
9511 <RuntimeIdentifiers>$(RuntimeIdentifiers);$(RuntimeIdentifier)</RuntimeIdentifiers>
9512 <RuntimeSupports>$(RuntimeSupports)</RuntimeSupports>
9513 <CrossTargeting>$(_RestoreCrossTargeting)</CrossTargeting>
9514 <RestoreLegacyPackagesDirectory>$(RestoreLegacyPackagesDirectory)</RestoreLegacyPackagesDirectory>
9515 <ValidateRuntimeAssets>$(ValidateRuntimeIdentifierCompatibility)</ValidateRuntimeAssets>
9516 <SkipContentFileWrite>$(_RestoreSkipContentFileWrite)</SkipContentFileWrite>
9517 <ConfigFilePaths>$(_OutputConfigFilePaths)</ConfigFilePaths>
9518 <TreatWarningsAsErrors>$(TreatWarningsAsErrors)</TreatWarningsAsErrors>
9519 <WarningsAsErrors>$(WarningsAsErrors)</WarningsAsErrors>
9520 <NoWarn>$(NoWarn)</NoWarn>
9521 <RestorePackagesWithLockFile>$(RestorePackagesWithLockFile)</RestorePackagesWithLockFile>
9522 <NuGetLockFilePath>$(NuGetLockFilePath)</NuGetLockFilePath>
9523 <RestoreLockedMode>$(RestoreLockedMode)</RestoreLockedMode>
9524 <_CentralPackageVersionsEnabled>$(_CentralPackageVersionsEnabled)</_CentralPackageVersionsEnabled>
9525 </_RestoreGraphEntry>
9526 </ItemGroup>
9527 <!-- Use project.json -->
9528 <ItemGroup Condition=" '$(RestoreProjectStyle)' == 'ProjectJson' ">
9529 <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())">
9530 <Type>ProjectSpec</Type>
9531 <ProjectUniqueName>$(MSBuildProjectFullPath)</ProjectUniqueName>
9532 <ProjectPath>$(MSBuildProjectFullPath)</ProjectPath>
9533 <ProjectName>$(_RestoreProjectName)</ProjectName>
9534 <Sources>$(_OutputSources)</Sources>
9535 <OutputPath>$(RestoreOutputAbsolutePath)</OutputPath>
9536 <FallbackFolders>$(_OutputFallbackFolders)</FallbackFolders>
9537 <PackagesPath>$(_OutputPackagesPath)</PackagesPath>
9538 <ProjectJsonPath>$(_CurrentProjectJsonPath)</ProjectJsonPath>
9539 <ProjectStyle>$(RestoreProjectStyle)</ProjectStyle>
9540 <ConfigFilePaths>$(_OutputConfigFilePaths)</ConfigFilePaths>
9541 </_RestoreGraphEntry>
9542 </ItemGroup>
9543 <!-- Use packages.config -->
9544 <ItemGroup Condition=" '$(RestoreProjectStyle)' == 'PackagesConfig' ">
9545 <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())">
9546 <Type>ProjectSpec</Type>
9547 <ProjectUniqueName>$(MSBuildProjectFullPath)</ProjectUniqueName>
9548 <ProjectPath>$(MSBuildProjectFullPath)</ProjectPath>
9549 <ProjectName>$(_RestoreProjectName)</ProjectName>
9550 <ProjectStyle>$(RestoreProjectStyle)</ProjectStyle>
9551 <PackagesConfigPath Condition="Exists('$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config')">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config</PackagesConfigPath>
9552 <PackagesConfigPath Condition="Exists('$(MSBuildProjectDirectory)\packages.config')">$(MSBuildProjectDirectory)\packages.config</PackagesConfigPath>
9553 <RestorePackagesWithLockFile>$(RestorePackagesWithLockFile)</RestorePackagesWithLockFile>
9554 <NuGetLockFilePath>$(NuGetLockFilePath)</NuGetLockFilePath>
9555 <RestoreLockedMode>$(RestoreLockedMode)</RestoreLockedMode>
9556 <Sources>$(_OutputSources)</Sources>
9557 <SolutionDir>$(SolutionDir)</SolutionDir>
9558 <RepositoryPath>$(_OutputRepositoryPath)</RepositoryPath>
9559 <ConfigFilePaths>$(_OutputConfigFilePaths)</ConfigFilePaths>
9560 <PackagesPath>$(_OutputPackagesPath)</PackagesPath>
9561 <TargetFrameworks>@(_RestoreTargetFrameworksOutputFiltered)</TargetFrameworks>
9562 </_RestoreGraphEntry>
9563 </ItemGroup>
9564 <!-- Non-NuGet type -->
9565 <ItemGroup Condition=" '$(RestoreProjectStyle)' == 'Unknown' ">
9566 <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())">
9567 <Type>ProjectSpec</Type>
9568 <ProjectUniqueName>$(MSBuildProjectFullPath)</ProjectUniqueName>
9569 <ProjectPath>$(MSBuildProjectFullPath)</ProjectPath>
9570 <ProjectName>$(_RestoreProjectName)</ProjectName>
9571 <ProjectStyle>$(RestoreProjectStyle)</ProjectStyle>
9572 <TargetFrameworks>@(_RestoreTargetFrameworksOutputFiltered)</TargetFrameworks>
9573 </_RestoreGraphEntry>
9574 </ItemGroup>
9575 </Target>
9576 <!--
9577 ============================================================
9578 _GenerateProjectRestoreGraph
9579 Recursively walk project to project references.
9580 ============================================================
9581 -->
9582 <Target Name="_GenerateProjectRestoreGraph" DependsOnTargets="&#xD;&#xA; _GetRestoreProjectStyle;&#xD;&#xA; _GenerateRestoreProjectSpec;&#xD;&#xA; _GenerateRestoreDependencies" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9583 <!-- Output from dependency targets -->
9584 </Target>
9585 <!--
9586 ============================================================
9587 _GenerateRestoreDependencies
9588 Generate items for package and project references.
9589 ============================================================
9590 -->
9591 <Target Name="_GenerateRestoreDependencies" DependsOnTargets="_GenerateProjectRestoreGraphAllFrameworks;_GenerateProjectRestoreGraphCurrentProject" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9592 <!--
9593 ============================================================
9594 _GenerateProjectRestoreGraphAllFrameworks
9595 Walk dependencies for all frameworks.
9596 ============================================================
9597 -->
9598 <Target Name="_GenerateProjectRestoreGraphAllFrameworks" Condition=" '$(TargetFrameworks)' != '' " DependsOnTargets="_GetRestoreTargetFrameworksAsItems" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9599 <!-- Get project and package references -->
9600 <!-- Evaluate for each framework -->
9601 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Projects="$(MSBuildProjectFullPath)" Targets="_GenerateProjectRestoreGraphPerFramework" Properties="TargetFramework=%(_RestoreTargetFrameworkItems.Identity);&#xD;&#xA; $(_GenerateRestoreGraphProjectEntryInputProperties)">
9602 <Output TaskParameter="TargetOutputs" ItemName="_RestoreGraphEntry" />
9603 </MSBuild>
9604 </Target>
9605 <!--
9606 ============================================================
9607 _GenerateProjectRestoreGraphCurrentProject
9608 Walk dependencies with the current framework.
9609 ============================================================
9610 -->
9611 <Target Name="_GenerateProjectRestoreGraphCurrentProject" Condition=" '$(TargetFrameworks)' == '' " DependsOnTargets="_GenerateProjectRestoreGraphPerFramework" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9612 <!--
9613 ============================================================
9614 _GenerateProjectRestoreGraphPerFramework
9615 Walk dependencies using $(TargetFramework)
9616 ============================================================
9617 -->
9618 <Target Name="_GenerateProjectRestoreGraphPerFramework" DependsOnTargets="_GetRestoreProjectStyle;CollectPackageReferences;CollectPackageDownloads;CollectFrameworkReferences;CollectCentralPackageVersions" Returns="@(_RestoreGraphEntry)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9619 <!-- Write out project references -->
9620 <GetRestoreProjectReferencesTask ProjectUniqueName="$(MSBuildProjectFullPath)" ProjectReferences="@(ProjectReference)" TargetFrameworks="$(TargetFramework)" ParentProjectPath="$(MSBuildProjectFullPath)">
9621 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
9622 </GetRestoreProjectReferencesTask>
9623 <!-- Write out package references-->
9624 <GetRestorePackageReferencesTask Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' " ProjectUniqueName="$(MSBuildProjectFullPath)" PackageReferences="@(PackageReference)" TargetFrameworks="$(TargetFramework)">
9625 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
9626 </GetRestorePackageReferencesTask>
9627 <!-- Write out central package versions -->
9628 <GetCentralPackageVersionsTask Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' AND '$(_CentralPackageVersionsEnabled)' == 'true' " ProjectUniqueName="$(MSBuildProjectFullPath)" CentralPackageVersions="@(PackageVersion)" TargetFrameworks="$(TargetFramework)">
9629 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
9630 </GetCentralPackageVersionsTask>
9631 <!-- Write out package downloads -->
9632 <GetRestorePackageDownloadsTask Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' " ProjectUniqueName="$(MSBuildProjectFullPath)" PackageDownloads="@(PackageDownload)" TargetFrameworks="$(TargetFramework)">
9633 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
9634 </GetRestorePackageDownloadsTask>
9635 <!-- Write out Framework References-->
9636 <GetRestoreFrameworkReferencesTask Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' " ProjectUniqueName="$(MSBuildProjectFullPath)" FrameworkReferences="@(FrameworkReference)" TargetFrameworks="$(TargetFramework)">
9637 <Output TaskParameter="RestoreGraphItems" ItemName="_RestoreGraphEntry" />
9638 </GetRestoreFrameworkReferencesTask>
9639 <!-- Write out target framework information -->
9640 <ItemGroup Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true'">
9641 <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())">
9642 <Type>TargetFrameworkInformation</Type>
9643 <ProjectUniqueName>$(MSBuildProjectFullPath)</ProjectUniqueName>
9644 <PackageTargetFallback>$(PackageTargetFallback)</PackageTargetFallback>
9645 <AssetTargetFallback>$(AssetTargetFallback)</AssetTargetFallback>
9646 <TargetFramework>$(TargetFramework)</TargetFramework>
9647 <TargetFrameworkIdentifier>$(TargetFrameworkIdentifier)</TargetFrameworkIdentifier>
9648 <TargetFrameworkVersion>$(TargetFrameworkVersion)</TargetFrameworkVersion>
9649 <TargetFrameworkMoniker>$(TargetFrameworkMoniker)</TargetFrameworkMoniker>
9650 <TargetFrameworkProfile>$(TargetFrameworkProfile)</TargetFrameworkProfile>
9651 <TargetPlatformMoniker>$(TargetPlatformMoniker)</TargetPlatformMoniker>
9652 <TargetPlatformIdentifier>$(TargetPlatformIdentifier)</TargetPlatformIdentifier>
9653 <TargetPlatformVersion>$(TargetPlatformVersion)</TargetPlatformVersion>
9654 <TargetPlatformMinVersion>$(TargetPlatformMinVersion)</TargetPlatformMinVersion>
9655 <RuntimeIdentifierGraphPath>$(RuntimeIdentifierGraphPath)</RuntimeIdentifierGraphPath>
9656 </_RestoreGraphEntry>
9657 </ItemGroup>
9658 </Target>
9659 <!--
9660 ============================================================
9661 _GenerateRestoreProjectPathItemsCurrentProject
9662 Get absolute paths for all project references.
9663 ============================================================
9664 -->
9665 <Target Name="_GenerateRestoreProjectPathItemsCurrentProject" Condition=" '$(TargetFrameworks)' == '' " DependsOnTargets="_GenerateRestoreProjectPathItemsPerFramework" Returns="@(_RestoreProjectPathItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
9666 <!--
9667 ============================================================
9668 _GenerateRestoreProjectPathItemsPerFramework
9669 Get absolute paths for all project references.
9670 ============================================================
9671 -->
9672 <Target Name="_GenerateRestoreProjectPathItemsPerFramework" Returns="@(_RestoreProjectPathItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9673 <!-- Get the absolute paths to all projects -->
9674 <ConvertToAbsolutePath Paths="@(ProjectReference)">
9675 <Output TaskParameter="AbsolutePaths" PropertyName="_RestoreGraphAbsoluteProjectPaths" />
9676 </ConvertToAbsolutePath>
9677 <ItemGroup>
9678 <_RestoreProjectPathItems Include="$(_RestoreGraphAbsoluteProjectPaths)" />
9679 </ItemGroup>
9680 </Target>
9681 <!--
9682 ============================================================
9683 _GenerateRestoreProjectPathItems
9684 Get all project references regardless of framework
9685 ============================================================
9686 -->
9687 <Target Name="_GenerateRestoreProjectPathItems" DependsOnTargets="_GenerateRestoreProjectPathItemsAllFrameworks;_GenerateRestoreProjectPathItemsCurrentProject" Returns="@(_CurrentRestoreProjectPathItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9688 <!-- Drop any duplicate items -->
9689 <RemoveDuplicates Inputs="@(_RestoreProjectPathItems)">
9690 <Output TaskParameter="Filtered" ItemName="_CurrentRestoreProjectPathItems" />
9691 </RemoveDuplicates>
9692 </Target>
9693 <!--
9694 ============================================================
9695 _GenerateRestoreProjectPathItemsAllFrameworks
9696 Get all project references regardless of framework
9697 ============================================================
9698 -->
9699 <Target Name="_GenerateRestoreProjectPathItemsAllFrameworks" Condition=" '$(TargetFrameworks)' != '' " DependsOnTargets="_GetRestoreTargetFrameworksAsItems" Returns="@(_RestoreProjectPathItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9700 <!-- Get all project references for the current project -->
9701 <!-- With SkipNonexistentTargets support -->
9702 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' == 'true' " BuildInParallel="$(RestoreBuildInParallel)" Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRestoreProjectPathItemsPerFramework" SkipNonexistentTargets="true" SkipNonexistentProjects="true" Properties="TargetFramework=%(_RestoreTargetFrameworkItems.Identity);&#xD;&#xA; $(_GenerateRestoreGraphProjectEntryInputProperties)">
9703 <Output TaskParameter="TargetOutputs" ItemName="_RestoreProjectPathItems" />
9704 </MSBuild>
9705 <!-- Without SkipNonexistentTargets support -->
9706 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' != 'true' " Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRestoreProjectPathItemsPerFramework" ContinueOnError="$(RestoreContinueOnError)" Properties="TargetFramework=%(_RestoreTargetFrameworkItems.Identity);&#xD;&#xA; $(_GenerateRestoreGraphProjectEntryInputProperties)">
9707 <Output TaskParameter="TargetOutputs" ItemName="_RestoreProjectPathItems" />
9708 </MSBuild>
9709 </Target>
9710 <!--
9711 ============================================================
9712 _GenerateRestoreProjectPathWalk
9713 Recursively walk projects
9714 ============================================================
9715 -->
9716 <Target Name="_GenerateRestoreProjectPathWalk" DependsOnTargets="_GenerateRestoreProjectPathItems" Returns="@(_RestoreProjectPathItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9717 <!-- Walk project references -->
9718 <!-- With SkipNonexistentTargets -->
9719 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' == 'true' " BuildInParallel="$(RestoreBuildInParallel)" Projects="@(_CurrentRestoreProjectPathItems)" Targets="_GenerateRestoreProjectPathWalk" SkipNonexistentTargets="true" SkipNonexistentProjects="true" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
9720 <Output TaskParameter="TargetOutputs" ItemName="_GenerateRestoreProjectPathWalkOutputs" />
9721 </MSBuild>
9722 <!-- Without SkipNonexistentTargets -->
9723 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' != 'true' " Projects="@(_CurrentRestoreProjectPathItems)" Targets="_GenerateRestoreProjectPathWalk" ContinueOnError="$(RestoreContinueOnError)" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
9724 <Output TaskParameter="TargetOutputs" ItemName="_GenerateRestoreProjectPathWalkOutputs" />
9725 </MSBuild>
9726 <!-- Include the current project in the result -->
9727 <ItemGroup>
9728 <_GenerateRestoreProjectPathWalkOutputs Include="$(MSBuildProjectFullPath)" />
9729 </ItemGroup>
9730 <!-- Remove duplicates -->
9731 <RemoveDuplicates Inputs="@(_GenerateRestoreProjectPathWalkOutputs)">
9732 <Output TaskParameter="Filtered" ItemName="_RestoreProjectPathItems" />
9733 </RemoveDuplicates>
9734 </Target>
9735 <!--
9736 ============================================================
9737 _GetAllRestoreProjectPathItems
9738 Get the full list of known projects.
9739 This includes all child projects from all target frameworks.
9740 ============================================================
9741 -->
9742 <Target Name="_GetAllRestoreProjectPathItems" DependsOnTargets="_FilterRestoreGraphProjectInputItems" Returns="@(_RestoreProjectPathItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9743 <NuGetMessageTask Name="DeterminingProjectsToRestore" Importance="High" />
9744 <!-- Walk projects -->
9745 <!-- With SkipNonexistentTargets -->
9746 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' == 'true' " BuildInParallel="$(RestoreBuildInParallel)" Projects="@(FilteredRestoreGraphProjectInputItems)" Targets="_GenerateRestoreProjectPathWalk" SkipNonexistentTargets="true" SkipNonexistentProjects="true" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
9747 <Output TaskParameter="TargetOutputs" ItemName="_RestoreProjectPathItemsOutputs" />
9748 </MSBuild>
9749 <!-- Without SkipNonexistentTargets -->
9750 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' != 'true' " Projects="@(FilteredRestoreGraphProjectInputItems)" Targets="_GenerateRestoreProjectPathWalk" ContinueOnError="$(RestoreContinueOnError)" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
9751 <Output TaskParameter="TargetOutputs" ItemName="_RestoreProjectPathItemsOutputs" />
9752 </MSBuild>
9753 <!-- Remove duplicates -->
9754 <RemoveDuplicates Inputs="@(_RestoreProjectPathItemsOutputs)">
9755 <Output TaskParameter="Filtered" ItemName="_RestoreProjectPathItemsWithoutDupes" />
9756 </RemoveDuplicates>
9757 <!-- Remove projects that do not support restore. -->
9758 <!-- With SkipNonexistentTargets -->
9759 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' == 'true' " BuildInParallel="$(RestoreBuildInParallel)" Projects="@(_RestoreProjectPathItemsWithoutDupes)" Targets="_IsProjectRestoreSupported" SkipNonexistentTargets="true" SkipNonexistentProjects="true" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
9760 <Output TaskParameter="TargetOutputs" ItemName="_RestoreProjectPathItems" />
9761 </MSBuild>
9762 <!-- Without SkipNonexistentTargets -->
9763 <MSBuild Condition=" '$(RestoreUseSkipNonexistentTargets)' != 'true' " Projects="@(_RestoreProjectPathItemsWithoutDupes)" Targets="_IsProjectRestoreSupported" ContinueOnError="$(RestoreContinueOnError)" Properties="$(_GenerateRestoreGraphProjectEntryInputProperties)">
9764 <Output TaskParameter="TargetOutputs" ItemName="_RestoreProjectPathItems" />
9765 </MSBuild>
9766 </Target>
9767 <!--
9768 ============================================================
9769 _GetRestoreSettingsOverrides
9770 Get global property overrides that should be resolved
9771 against the current working directory instead of the project.
9772 This is done by calling into NuGet.targets in a new scope,
9773 project properties will not be returned by the calls below.
9774 ============================================================
9775 -->
9776 <Target Name="_GetRestoreSettingsOverrides" Returns="$(_RestorePackagesPathOverride);$(_RestoreRepositoryPathOverride);$(_RestoreSourcesOverride);$(_RestoreFallbackFoldersOverride)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9777 <!-- RestorePackagesPathOverride -->
9778 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Condition=" '$(RestorePackagesPath)' != '' " Projects="$(MSBuildThisFileFullPath)" Targets="_GetRestorePackagesPathOverride">
9779 <Output TaskParameter="TargetOutputs" PropertyName="_RestorePackagesPathOverride" />
9780 </MSBuild>
9781 <!-- RestoreRepositoryPathOverride -->
9782 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Condition=" '$(RestoreRepositoryPathOverride)' != '' " Projects="$(MSBuildThisFileFullPath)" Targets="_GetRestoreRepositoryPathOverride">
9783 <Output TaskParameter="TargetOutputs" PropertyName="_RestoreRepositoryPathOverride" />
9784 </MSBuild>
9785 <!-- RestoreSourcesOverride -->
9786 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Condition=" '$(RestoreSources)' != '' " Projects="$(MSBuildThisFileFullPath)" Targets="_GetRestoreSourcesOverride">
9787 <Output TaskParameter="TargetOutputs" PropertyName="_RestoreSourcesOverride" />
9788 </MSBuild>
9789 <!-- RestoreFallbackFoldersOverride -->
9790 <MSBuild BuildInParallel="$(RestoreBuildInParallel)" Condition=" '$(RestoreFallbackFolders)' != '' " Projects="$(MSBuildThisFileFullPath)" Targets="_GetRestoreFallbackFoldersOverride">
9791 <Output TaskParameter="TargetOutputs" PropertyName="_RestoreFallbackFoldersOverride" />
9792 </MSBuild>
9793 </Target>
9794 <!--
9795 ============================================================
9796 _GetRestorePackagesPathOverride
9797 ============================================================
9798 -->
9799 <Target Name="_GetRestorePackagesPathOverride" Returns="$(_RestorePackagesPathOverride)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9800 <PropertyGroup>
9801 <_RestorePackagesPathOverride>$(RestorePackagesPath)</_RestorePackagesPathOverride>
9802 </PropertyGroup>
9803 </Target>
9804 <!--
9805 ============================================================
9806 _GetRestoreRepositoryPathOverride
9807 ============================================================
9808 -->
9809 <Target Name="_GetRestoreRepositoryPathOverride" Returns="$(_RestoreRepositoryPathOverride)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9810 <PropertyGroup>
9811 <_RestorePackagesPathOverride>$(RestoreRepositoryPath)</_RestorePackagesPathOverride>
9812 </PropertyGroup>
9813 </Target>
9814 <!--
9815 ============================================================
9816 _GetRestoreSourcesOverride
9817 ============================================================
9818 -->
9819 <Target Name="_GetRestoreSourcesOverride" Returns="$(_RestoreSourcesOverride)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9820 <PropertyGroup>
9821 <_RestoreSourcesOverride>$(RestoreSources)</_RestoreSourcesOverride>
9822 </PropertyGroup>
9823 </Target>
9824 <!--
9825 ============================================================
9826 _GetRestoreFallbackFoldersOverride
9827 ============================================================
9828 -->
9829 <Target Name="_GetRestoreFallbackFoldersOverride" Returns="$(_RestoreFallbackFoldersOverride)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9830 <PropertyGroup>
9831 <_RestoreFallbackFoldersOverride>$(RestoreFallbackFolders)</_RestoreFallbackFoldersOverride>
9832 </PropertyGroup>
9833 </Target>
9834 <!--
9835 ============================================================
9836 _IsProjectRestoreSupported
9837 Verify restore targets exist in the project.
9838 ============================================================
9839 -->
9840 <Target Name="_IsProjectRestoreSupported" Returns="@(_ValidProjectsForRestore)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9841 <ItemGroup>
9842 <_ValidProjectsForRestore Include="$(MSBuildProjectFullPath)" />
9843 </ItemGroup>
9844 </Target>
9845 <!--
9846 ============================================================
9847 Import NuGet.RestoreEx.targets if the MSBuild property 'RestoreEnableStaticGraph'
9848 is 'true'. This file overrides the Restore target to use MSBuild Static Graph
9849 to load and evaluate projects which is much faster.
9850
9851 This feature is not supported for NuGet.exe scenarios and NuGet.RestoreEx.targets
9852 won't exist in that case.
9853 ============================================================
9854 -->
9855 <!--<Import Project="NuGet.RestoreEx.targets" Condition="'$(RestoreUseStaticGraphEvaluation)' == 'true' And Exists('NuGet.RestoreEx.targets')" />-->
9856 <!--
9857============================================================================================================================================
9858 </Import>
9859
9860C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
9861============================================================================================================================================
9862-->
9863 <!--<Import Project="$(CustomAfterMicrosoftCommonTargets)" Condition="'$(CustomAfterMicrosoftCommonTargets)' != '' and Exists('$(CustomAfterMicrosoftCommonTargets)')" />-->
9864 <!--
9865============================================================================================================================================
9866 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
9867
9868C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.DesktopBridge.ImportAfter.targets
9869============================================================================================================================================
9870-->
9871 <!--
9872***********************************************************************************************
9873Microsoft.DesktopBridge.ImportAfter.targets
9874
9875WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
9876 created a backup copy. Incorrect changes to this file will make it
9877 impossible to load or build your projects from the command-line or the IDE.
9878
9879Copyright (C) Microsoft Corporation. All rights reserved.
9880***********************************************************************************************
9881-->
9882 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9883 <DesktopBridgeCommonTargets Condition="'$(DesktopBridgeCommonTargets)'==''">$(MSBuildExtensionsPath)\Microsoft\DesktopBridge\Microsoft.DesktopBridge.Common.targets</DesktopBridgeCommonTargets>
9884 </PropertyGroup>
9885 <!--
9886============================================================================================================================================
9887 <Import Project="$(DesktopBridgeCommonTargets)" Condition="Exists('$(DesktopBridgeCommonTargets)') and '$(SkipImportDesktopBridgeCommonTargets)' != 'true'">
9888
9889C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\DesktopBridge\Microsoft.DesktopBridge.Common.targets
9890============================================================================================================================================
9891-->
9892 <!--
9893***********************************************************************************************
9894Microsoft.DesktopBridge.Common.targets
9895
9896WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
9897 created a backup copy. Incorrect changes to this file will make it
9898 impossible to load or build your projects from the command-line or the IDE.
9899
9900Copyright (C) Microsoft Corporation. All rights reserved.
9901***********************************************************************************************
9902-->
9903 <PropertyGroup Condition="'$(DesktopBridgeSelfContained)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9904 <SelfContained>true</SelfContained>
9905 </PropertyGroup>
9906 <PropertyGroup Condition="'$(DesktopBridgeSelfContained)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9907 <RuntimeIdentifier Condition="'$(Platform)' == 'x86'">win-x86</RuntimeIdentifier>
9908 <RuntimeIdentifier Condition="'$(Platform)' == 'Win32'">win-x86</RuntimeIdentifier>
9909 <RuntimeIdentifier Condition="'$(Platform)' == 'AnyCPU'">win-x86</RuntimeIdentifier>
9910 <RuntimeIdentifier Condition="'$(Platform)' == 'Any CPU'">win-x86</RuntimeIdentifier>
9911 <RuntimeIdentifier Condition="'$(Platform)' == 'x64'">win-x64</RuntimeIdentifier>
9912 </PropertyGroup>
9913 <PropertyGroup Condition="'$(DesktopBridgeSelfContained)' == 'true' AND '$(DesktopBridgeIdentifier)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9914 <RuntimeIdentifier>$(DesktopBridgeIdentifier)</RuntimeIdentifier>
9915 </PropertyGroup>
9916 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9917 <DesktopBridgeOutputGroupsDependsOn>
9918 $(DesktopBridgeOutputGroupsDependsOn);
9919 BuildOnlySettings;
9920 PrepareForBuild;
9921 AssignTargetPaths;
9922 ResolveReferences
9923 </DesktopBridgeOutputGroupsDependsOn>
9924 </PropertyGroup>
9925 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9926 <DesktopBridgeCopyLocalOutputGroupDependsOn>
9927 $(DesktopBridgeOutputGroupsDependsOn);
9928 $(DesktopBridgeCopyLocalOutputGroupDependsOn);
9929 </DesktopBridgeCopyLocalOutputGroupDependsOn>
9930 </PropertyGroup>
9931 <Target Name="DesktopBridgeCopyLocalOutputGroup" DependsOnTargets="$(DesktopBridgeCopyLocalOutputGroupDependsOn)" Returns="@(DesktopBridgeCopyLocalOutputGroupOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9932 <ItemGroup>
9933 <DesktopBridgeCopyLocalOutputGroupOutput Include="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.Extension)' != '.xml'">
9934 <TargetPath>%(ReferenceCopyLocalPaths.DestinationSubDirectory)%(ReferenceCopyLocalPaths.Filename)%(ReferenceCopyLocalPaths.Extension)</TargetPath>
9935 </DesktopBridgeCopyLocalOutputGroupOutput>
9936 </ItemGroup>
9937 </Target>
9938 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9939 <DesktopBridgeComFilesOutputGroupDependsOn>
9940 $(DesktopBridgeOutputGroupsDependsOn)
9941 $(DesktopBridgeComFilesOutputGroupDependsOn);
9942 </DesktopBridgeComFilesOutputGroupDependsOn>
9943 </PropertyGroup>
9944 <Target Name="DesktopBridgeComFilesOutputGroup" DependsOnTargets="$(DesktopBridgeComFilesOutputGroupDependsOn)" Returns="@(DesktopBridgeComFilesOutputGroupOutputs)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9945 <ItemGroup>
9946 <DesktopBridgeComFilesOutputGroupOutputs Include="@(ReferenceComWrappersToCopyLocal)">
9947 <TargetPath>%(ReferenceComWrappersToCopyLocal.Filename)%(ReferenceComWrappersToCopyLocal.Extension)</TargetPath>
9948 </DesktopBridgeComFilesOutputGroupOutputs>
9949 <DesktopBridgeComFilesOutputGroupOutputs Include="@(ResolvedIsolatedComModules)">
9950 <TargetPath>%(ResolvedIsolatedComModules.Filename)%(ResolvedIsolatedComModules.Extension)</TargetPath>
9951 </DesktopBridgeComFilesOutputGroupOutputs>
9952 <DesktopBridgeComFilesOutputGroupOutputs Include="@(NativeReferenceFile)">
9953 <TargetPath>%(NativeReferenceFile.Filename)%(NativeReferenceFile.Extension)</TargetPath>
9954 </DesktopBridgeComFilesOutputGroupOutputs>
9955 </ItemGroup>
9956 </Target>
9957 <PropertyGroup Condition="'$(_WapBuildingInsideVisualStudio)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9958 <CoreCompileDependsOn>
9959 $(CoreCompileDependsOn);
9960 _WapComputeNonExistentFileProperty
9961 </CoreCompileDependsOn>
9962 </PropertyGroup>
9963 <!-- When building inside VisualStudio the CoreCompile task always gets run, this target is to replicate that behavior since we set 'BuildingInsideVisualStudio' to false -->
9964 <Target Name="_WapComputeNonExistentFileProperty" Condition="('$(BuildingOutOfProcess)' != 'true') and (('$(BuildingProject)' == 'false') or ('$(UseHostCompilerIfAvailable)' == 'true'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9965 <PropertyGroup>
9966 <NonExistentFile>__NonExistentSubDir__\__NonExistentFile__</NonExistentFile>
9967 </PropertyGroup>
9968 </Target>
9969 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9970 <DesktopBridgePublishItemsOutputGroupDependsOn>
9971 $(DesktopBridgeOutputGroupsDependsOn);
9972 $(DesktopBridgePublishItemsOutputGroupDependsOn);
9973 PublishItemsOutputGroup
9974 </DesktopBridgePublishItemsOutputGroupDependsOn>
9975 </PropertyGroup>
9976 <Target Name="DesktopBridgePublishItemsOutputGroup" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" DependsOnTargets="$(DesktopBridgePublishItemsOutputGroupDependsOn)" Returns="@(DesktopBridgePublishItemsOutputGroupOutputs)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9977 <ItemGroup>
9978 <DesktopBridgePublishItemsOutputGroupOutputs Include="@(PublishItemsOutputGroupOutputs->'%(OutputPath)')" TargetPath="%(PublishItemsOutputGroupOutputs.RelativePath)" OutputGroup="DesktopBridgePublishItemsOutputGroup" />
9979 </ItemGroup>
9980 </Target>
9981 <!-- If this project or any project that this references is a UAP project -->
9982 <Target Name="_CheckForGenerateAppxPackageOnBuild" DependsOnTargets="AssignProjectConfiguration" Returns="$(ReferencesUWPProject)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9983 <PropertyGroup>
9984 <ReferencesUWPProject Condition="'$(TargetPlatformIdentifier)' == 'UAP' AND ('$(OutputType)' == 'AppContainerExe' OR '$(OutputType)' == 'Exe')">true</ReferencesUWPProject>
9985 </PropertyGroup>
9986 <MSBuild Condition="'$(ReferencesUWPProject)' != 'true'" Projects="@(ProjectReferenceWithConfiguration)" Properties="%(ProjectReferenceWithConfiguration.SetConfiguration);%(ProjectReferenceWithConfiguration.SetPlatform)" Targets="_CheckForGenerateAppxPackageOnBuild" SkipNonexistentTargets="true">
9987 <Output TaskParameter="TargetOutputs" PropertyName="ReferencesUWPProject" />
9988 </MSBuild>
9989 </Target>
9990 <Target Name="GetDeployableContentReferenceOutputs" DependsOnTargets="AssignProjectConfiguration" Returns="@(DeployableContentReference)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9991 <ItemGroup>
9992 <DeployableContentReference Include="@(ProjectReferenceWithConfiguration)" Condition="'%(ProjectReferenceWithConfiguration.DeploymentContent)' == 'true'">
9993 <SourceDeployableProjectReference>$(ProjectName)</SourceDeployableProjectReference>
9994 </DeployableContentReference>
9995 </ItemGroup>
9996 </Target>
9997 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
9998 <DesktopBridgeFrameworkSDKRegistrationOutputGroupDependsOn>
9999 $(DesktopBridgeOutputGroupsDependsOn);
10000 $(DesktopBridgeFrameworkSDKRegistrationOutputGroupDependsOn)
10001 </DesktopBridgeFrameworkSDKRegistrationOutputGroupDependsOn>
10002 </PropertyGroup>
10003 <Target Name="DesktopBridgeFrameworkSDKRegistrationOutputGroup" DependsOnTargets="$(DesktopBridgeFrameworkSDKRegistrationOutputGroupDependsOn)" Returns="@(DesktopBridgeFrameworkSDKRegistrationOutputGroupOutputs)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10004 <ItemGroup>
10005 <DesktopBridgeFrameworkSDKRegistrationOutputGroupOutputs Include="@(FrameworkSdkReference)" />
10006 </ItemGroup>
10007 <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">
10008 <Output TaskParameter="TargetOutputs" ItemName="DesktopBridgeFrameworkSDKRegistrationOutputGroupOutputs" />
10009 </MSBuild>
10010 </Target>
10011 <!--
10012============================================================================================================================================
10013 </Import>
10014
10015C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.DesktopBridge.ImportAfter.targets
10016============================================================================================================================================
10017-->
10018 <!--
10019============================================================================================================================================
10020 </Import>
10021============================================================================================================================================
10022-->
10023 <!--
10024============================================================================================================================================
10025 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
10026
10027C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.Docker.ImportAfter.targets
10028============================================================================================================================================
10029-->
10030 <!--
10031***********************************************************************************************
10032Microsoft.Docker.ImportAfter.targets
10033
10034WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10035 created a backup copy. Incorrect changes to this file will make it
10036 impossible to load or build your projects from the command-line or the IDE.
10037
10038Copyright (C) Microsoft Corporation. All rights reserved.
10039***********************************************************************************************
10040-->
10041 <!--
10042============================================================================================================================================
10043 <Import Project="$(MSBuildExtensionsPath)\Sdks\Microsoft.Docker.Sdk\build\Microsoft.Docker.targets" Condition="Exists('$(MSBuildExtensionsPath)\Sdks\Microsoft.Docker.Sdk\build\Microsoft.Docker.targets')">
10044
10045C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Sdks\Microsoft.Docker.Sdk\build\Microsoft.Docker.targets
10046============================================================================================================================================
10047-->
10048 <!--
10049***********************************************************************************************
10050Microsoft.Docker.targets
10051
10052WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10053 created a backup copy. Incorrect changes to this file will make it
10054 impossible to load or build your projects from the command-line or the IDE.
10055
10056Copyright (C) Microsoft Corporation. All rights reserved.
10057***********************************************************************************************
10058-->
10059 <!--
10060 ***********************************************************************************************
10061
10062 Docker Common Properties
10063
10064 ***********************************************************************************************
10065 -->
10066 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10067 <DockerBuildTasksAssembly>$(MSBuildThisFileDirectory)..\tools\Microsoft.Docker.BuildTasks.dll</DockerBuildTasksAssembly>
10068 <DockerIntermediateOutputPath>obj\Docker</DockerIntermediateOutputPath>
10069 <DockerPublishDirectory>$(DockerIntermediateOutputPath)\publish</DockerPublishDirectory>
10070 </PropertyGroup>
10071 <!--
10072 ***********************************************************************************************
10073
10074 Docker Common Targets
10075
10076 ***********************************************************************************************
10077 -->
10078 <UsingTask TaskName="ComposeBuild" AssemblyFile="$(DockerBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10079 <UsingTask TaskName="ResolveAppType" AssemblyFile="$(DockerBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10080 <UsingTask TaskName="UpdateComposeVsGeneratedFiles" AssemblyFile="$(DockerBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10081 <UsingTask TaskName="ResolveTargetFramework" AssemblyFile="$(DockerBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10082 <!--
10083 ***********************************************************************************************
10084
10085 TARGET : DockerResolveAppType
10086
10087 ***********************************************************************************************
10088 -->
10089 <Target Name="DockerResolveAppType" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10090 <ResolveAppType ProjectDirectory="$(MSBuildProjectDirectory)" ProjectCapability="@(ProjectCapability)" OutputType="$(OutputType)" ProjectTypeGuids="$(ProjectTypeGuids)">
10091 <Output TaskParameter="AppType" PropertyName="DockerAppType" />
10092 </ResolveAppType>
10093 </Target>
10094 <!--
10095 ***********************************************************************************************
10096
10097 TARGET : DockerUpdateComposeVsGeneratedFiles
10098
10099 ***********************************************************************************************
10100 -->
10101 <Target Name="DockerUpdateComposeVsGeneratedFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10102 <UpdateComposeVsGeneratedFiles ProjectDirectory="$(MSBuildProjectDirectory)" DockerComposeProjectPath="$(DockerComposeProjectPath)" NuGetPackageRoot="$(NuGetPackageRoot)" NuGetPackageFolders="$(NuGetPackageFolders)" BlazorStaticWebAssetsManifest="$(_GeneratedStaticWebAssetsDevelopmentManifest)" DockerDevelopmentMode="$(DockerDevelopmentMode)" DockerTargetOS="$(DockerTargetOS)" />
10103 </Target>
10104 <!--
10105 ***********************************************************************************************
10106
10107 TARGET : DockerResolveTargetFramework
10108
10109 ***********************************************************************************************
10110 -->
10111 <Target Name="DockerResolveTargetFramework" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10112 <ResolveTargetFramework ProjectDirectory="$(MSBuildProjectDirectory)" ProjectCapability="@(ProjectCapability)">
10113 <Output TaskParameter="TargetFramework" PropertyName="DockerTargetFramework" />
10114 </ResolveTargetFramework>
10115 </Target>
10116 <!--
10117 ***********************************************************************************************
10118
10119 TARGET : DockerComposeBuild
10120
10121 ***********************************************************************************************
10122 -->
10123 <!-- 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. -->
10124 <Target Name="DockerComposeBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10125 <PropertyGroup>
10126 <_DockerDevelopmentMode Condition=" '$(DockerDevelopmentMode)' != '' ">$(DockerDevelopmentMode)</_DockerDevelopmentMode>
10127 <_DockerDevelopmentMode Condition=" '$(_DockerDevelopmentMode)' == '' ">Regular</_DockerDevelopmentMode>
10128 </PropertyGroup>
10129 <!-- Since Publish operation is not on dcproj target, this task executes the gets DockerComposeBaseFilePath property from the dcproj file. -->
10130 <MSBuild Projects="$(DockerComposeProjectPath)" Targets="DockerGetComposeBaseFilePath" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' != '' And '$(DockerComposeBaseFilePath)' == '' " Properties="Configuration=$(Configuration)">
10131 <Output TaskParameter="TargetOutputs" PropertyName="DockerComposeBaseFilePathOutput" />
10132 </MSBuild>
10133 <!-- Since Publish operation is not on dcproj target, this task executes the gets AdditionalComposeFilePaths property from the dcproj file. -->
10134 <MSBuild Projects="$(DockerComposeProjectPath)" Targets="DockerGetAdditionalComposeFilePaths" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' != '' And '$(AdditionalComposeFilePaths)' == '' " Properties="Configuration=$(Configuration)">
10135 <Output TaskParameter="TargetOutputs" PropertyName="DockerComposeAdditionalFilePathsOutput" />
10136 </MSBuild>
10137 <!-- Since Publish operation is not on dcproj target, this task executes the gets DockerComposeBuildArguments property from the dcproj file. -->
10138 <MSBuild Projects="$(DockerComposeProjectPath)" Targets="DockerGetBuildArguments" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' != '' And '$(DockerComposeBuildArguments)' == '' " Properties="Configuration=$(Configuration)">
10139 <Output TaskParameter="TargetOutputs" PropertyName="DockerComposeBuildArgumentsOutput" />
10140 </MSBuild>
10141 <!-- Since Publish operation is not on dcproj target, this task executes the gets DockerComposeProjectName property from the dcproj file. -->
10142 <MSBuild Projects="$(DockerComposeProjectPath)" Targets="DockerGetDockerComposeProjectName" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' != '' And '$(DockerComposeProjectName)' == '' " Properties="Configuration=$(Configuration)">
10143 <Output TaskParameter="TargetOutputs" PropertyName="DockerComposeProjectNameOutput" />
10144 </MSBuild>
10145 <ComposeBuild DockerComposeProjectPath="$(DockerComposeProjectPath)" DockerDevelopmentMode="$(_DockerDevelopmentMode)" ProjectPath="$(MSBuildProjectFullPath)" NoCache="$(DockerComposeBuildNoCache)" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' != '' " AdditionalComposeFilePaths="$([MSBuild]::ValueOrDefault('$(DockerComposeAdditionalFilePathsOutput)', '$(AdditionalComposeFilePaths)'))" DockerComposeBaseFilePath="$([MSBuild]::ValueOrDefault('$(DockerComposeBaseFilePathOutput)', '$(DockerComposeBaseFilePath)'))" DockerComposeBuildArguments="$([MSBuild]::ValueOrDefault('$(DockerComposeBuildArgumentsOutput)', '$(DockerComposeBuildArguments)'))" DockerComposeProjectName="$([MSBuild]::ValueOrDefault('$(DockerComposeProjectNameOutput)', '$(DockerComposeProjectName)'))" />
10146 <CallTarget Targets="ContainerBuild" Condition=" '$(_DockerDevelopmentMode)' == 'Regular' And '$(DockerComposeProjectPath)' == '' " />
10147 </Target>
10148 <!--
10149 ***********************************************************************************************
10150
10151 TARGET : DockerPackageService
10152
10153 ***********************************************************************************************
10154 -->
10155 <Target Name="DockerPackageService" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10156 <CallTarget Targets="DockerResolveAppType;DockerResolveTargetFramework" />
10157 <!-- ASP.NET Core -->
10158 <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Build" Properties="Configuration=$(Configuration);&#xD;&#xA; Platform=$(Platform);&#xD;&#xA; WebPublishMethod=FileSystem;&#xD;&#xA; DeployOnBuild=True;&#xD;&#xA; PublishUrl=$(DockerPublishDirectory)" Condition=" '$(DockerAppType)' == 'AspNetCore' " />
10159 <!-- ASP.NET -->
10160 <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' " />
10161 <!-- Console on .NET Core -->
10162 <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Publish" Properties="Configuration=$(Configuration);&#xD;&#xA; Platform=$(Platform);&#xD;&#xA; PublishDir=$(DockerPublishDirectory)" Condition=" '$(DockerAppType)' == 'ConsoleCore' And '$(DockerTargetFramework)' == 'DotNetCore' " />
10163 <!-- Console on .NET Framework -->
10164 <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Build" Properties="Configuration=$(Configuration);&#xD;&#xA; Platform=$(Platform)" Condition=" '$(DockerAppType)' == 'Console' And '$(DockerTargetFramework)' == 'DotNetFramework' " />
10165 <ItemGroup>
10166 <DockerOutputFiles Include="$(OutputPath)\**\*.*" />
10167 </ItemGroup>
10168 <Copy SourceFiles="@(DockerOutputFiles)" DestinationFiles="@(DockerOutputFiles->'$(DockerPublishDirectory)\%(RecursiveDir)%(Filename)%(Extension)')" Condition=" '$(DockerAppType)' == 'Console' And '$(DockerTargetFramework)' == 'DotNetFramework' " />
10169 </Target>
10170 <!--
10171============================================================================================================================================
10172 </Import>
10173
10174C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.Docker.ImportAfter.targets
10175============================================================================================================================================
10176-->
10177 <!--
10178============================================================================================================================================
10179 </Import>
10180============================================================================================================================================
10181-->
10182 <!--
10183============================================================================================================================================
10184 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
10185
10186C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.NET.Build.Extensions.targets
10187============================================================================================================================================
10188-->
10189 <!--
10190***********************************************************************************************
10191Microsoft.NET.Build.Extensions.targets
10192
10193WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10194 created a backup copy. Incorrect changes to this file will make it
10195 impossible to load or build your projects from the command-line or the IDE.
10196
10197Copyright (c) .NET Foundation. All rights reserved.
10198***********************************************************************************************
10199-->
10200 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10201 <MicrosoftNETBuildExtensionsTargets Condition="'$(MicrosoftNETBuildExtensionsTargets)' == ''">$(MSBuildExtensionsPath)\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.targets</MicrosoftNETBuildExtensionsTargets>
10202 </PropertyGroup>
10203 <!--
10204============================================================================================================================================
10205 <Import Project="$(MicrosoftNETBuildExtensionsTargets)" Condition="Exists('$(MicrosoftNETBuildExtensionsTargets)')">
10206
10207C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.targets
10208============================================================================================================================================
10209-->
10210 <!--
10211***********************************************************************************************
10212Microsoft.NET.Build.Extensions.targets
10213
10214WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10215 created a backup copy. Incorrect changes to this file will make it
10216 impossible to load or build your projects from the command-line or the IDE.
10217
10218Copyright (c) .NET Foundation. All rights reserved.
10219***********************************************************************************************
10220-->
10221 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10222 <_TargetFrameworkVersionWithoutV>$(TargetFrameworkVersion.TrimStart('vV'))</_TargetFrameworkVersionWithoutV>
10223 <MicrosoftNETBuildExtensionsTasksAssembly Condition="'$(MicrosoftNETBuildExtensionsTasksAssembly)' == '' AND '$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)\tools\net5.0\Microsoft.NET.Build.Extensions.Tasks.dll</MicrosoftNETBuildExtensionsTasksAssembly>
10224 <MicrosoftNETBuildExtensionsTasksAssembly Condition="'$(MicrosoftNETBuildExtensionsTasksAssembly)' == ''">$(MSBuildThisFileDirectory)\tools\net472\Microsoft.NET.Build.Extensions.Tasks.dll</MicrosoftNETBuildExtensionsTasksAssembly>
10225 <!-- Include conflict resolution targets for NETFramework and allow other frameworks to opt-in -->
10226 <ResolveAssemblyConflicts Condition="'$(ResolveAssemblyConflicts)' == '' AND '$(TargetFrameworkIdentifier)' == '.NETFramework'">true</ResolveAssemblyConflicts>
10227 </PropertyGroup>
10228 <!--<Import Project="Microsoft.NET.Build.Extensions.NETFramework.targets" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'" />-->
10229 <!-- Only import ConflictResolution targets for non-SDK projects, SDK projects have ConflictResolution built in -->
10230 <!--<Import Project="Microsoft.NET.Build.Extensions.ConflictResolution.targets" Condition="'$(ResolveAssemblyConflicts)' == 'true' AND '$(UsingMicrosoftNETSdk)' != 'true'" />-->
10231 <!--
10232============================================================================================================================================
10233 </Import>
10234
10235C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.NET.Build.Extensions.targets
10236============================================================================================================================================
10237-->
10238 <!--
10239============================================================================================================================================
10240 </Import>
10241============================================================================================================================================
10242-->
10243 <!--
10244============================================================================================================================================
10245 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
10246
10247C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.Net.CoreRuntime.ImportAfter.targets
10248============================================================================================================================================
10249-->
10250 <!--
10251***********************************************************************************************
10252Microsoft.Net.CoreRuntime.ImportAfter.targets
10253
10254WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10255 created a backup copy. Incorrect changes to this file will make it
10256 impossible to load or build your projects from the command-line or the IDE.
10257
10258Copyright (C) Microsoft Corporation. All rights reserved.
10259***********************************************************************************************
10260-->
10261 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10262 <NetfxCoreRuntimeTargets Condition="'$(NetfxCoreRuntimeTargets)'==''">$(ProgramFiles)\MSBuild\15.0\.Net\CoreRuntime\Microsoft.Net.CoreRuntime.targets</NetfxCoreRuntimeTargets>
10263 </PropertyGroup>
10264 <!--<Import Project="$(NetfxCoreRuntimeTargets)" Condition="'$(TargetPlatformIdentifier)' == 'UAP' and '$(AppxPackage)' == 'true' and exists('$(NetfxCoreRuntimeTargets)')" />-->
10265 <!--
10266============================================================================================================================================
10267 </Import>
10268============================================================================================================================================
10269-->
10270 <!--
10271============================================================================================================================================
10272 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
10273
10274C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.NetNative.ImportAfter.targets
10275============================================================================================================================================
10276-->
10277 <!--
10278***********************************************************************************************
10279Microsoft.NetNative.ImportAfter.targets
10280
10281WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10282 created a backup copy. Incorrect changes to this file will make it
10283 impossible to load or build your projects from the command-line or the IDE.
10284
10285Copyright (C) Microsoft Corporation. All rights reserved.
10286***********************************************************************************************
10287-->
10288 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10289 <UseCacheToolChain Condition="'$(DotNetNativeVersion)'!=''">true</UseCacheToolChain>
10290 <!-- In general, DotNetNativeVersion and DotNetNativeLibraryVersion should be the same, but keep some flexibility just in case -->
10291 <DotNetNativeLibraryVersion Condition="'$(DotNetNativeLibraryVersion)'==''">$(DotNetNativeVersion)</DotNetNativeLibraryVersion>
10292 </PropertyGroup>
10293 <!-- Projects that set DotNetNativeVersion get the offline package they requested -->
10294 <PropertyGroup Condition="'$(UseCacheToolChain)'=='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10295 <DotNetNativeCompilerProps Condition="'$(DotNetNativeCompilerProps)'==''">$(ProgramFiles)\Microsoft SDKs\NuGetPackages\Microsoft.Net.Native.Compiler\$(DotNetNativeVersion)\build\Microsoft.Net.Native.Compiler.props</DotNetNativeCompilerProps>
10296 <ProjectNTargets Condition="'$(ProjectNTargets)'==''">$(ProgramFiles)\Microsoft SDKs\NuGetPackages\Microsoft.Net.Native.Compiler\$(DotNetNativeVersion)\build\Microsoft.Net.Native.Compiler.targets</ProjectNTargets>
10297 <DotNetNativeSharedLibraryarmProps Condition="'$(DotNetNativeSharedLibraryarmProps)'==''">$(ProgramFiles)\Microsoft SDKs\NuGetPackages\Microsoft.Net.Native.SharedLibrary-arm\$(DotNetNativeLibraryVersion)\build\Microsoft.Net.Native.SharedLibrary-arm.props</DotNetNativeSharedLibraryarmProps>
10298 <DotNetNativeSharedLibraryx64Props Condition="'$(DotNetNativeSharedLibraryx64Props)'==''">$(ProgramFiles)\Microsoft SDKs\NuGetPackages\Microsoft.Net.Native.SharedLibrary-x64\$(DotNetNativeLibraryVersion)\build\Microsoft.Net.Native.SharedLibrary-x64.props</DotNetNativeSharedLibraryx64Props>
10299 <DotNetNativeSharedLibraryx86Props Condition="'$(DotNetNativeSharedLibraryx86Props)'==''">$(ProgramFiles)\Microsoft SDKs\NuGetPackages\Microsoft.Net.Native.SharedLibrary-x86\$(DotNetNativeLibraryVersion)\build\Microsoft.Net.Native.SharedLibrary-x86.props</DotNetNativeSharedLibraryx86Props>
10300 <DotNetNativeSharedLibraryarmTargets Condition="'$(DotNetNativeSharedLibraryarmTargets)'==''">$(ProgramFiles)\Microsoft SDKs\NuGetPackages\Microsoft.Net.Native.SharedLibrary-arm\$(DotNetNativeLibraryVersion)\build\Microsoft.Net.Native.SharedLibrary-arm.targets</DotNetNativeSharedLibraryarmTargets>
10301 <DotNetNativeSharedLibraryx64Targets Condition="'$(DotNetNativeSharedLibraryx64Targets)'==''">$(ProgramFiles)\Microsoft SDKs\NuGetPackages\Microsoft.Net.Native.SharedLibrary-x64\$(DotNetNativeLibraryVersion)\build\Microsoft.Net.Native.SharedLibrary-x64.targets</DotNetNativeSharedLibraryx64Targets>
10302 <DotNetNativeSharedLibraryx86Targets Condition="'$(DotNetNativeSharedLibraryx86Targets)'==''">$(ProgramFiles)\Microsoft SDKs\NuGetPackages\Microsoft.Net.Native.SharedLibrary-x86\$(DotNetNativeLibraryVersion)\build\Microsoft.Net.Native.SharedLibrary-x86.targets</DotNetNativeSharedLibraryx86Targets>
10303 </PropertyGroup>
10304 <PropertyGroup Condition="'$(UseCacheToolChain)'!='true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10305 <ProjectNTargets Condition="'$(ProjectNTargets)'=='' and '$(PlatformTarget)'!='ARM64'">$(ProgramFiles)\MSBuild\15.0\.Net\.NetNative\15.0.24211\Microsoft.NetNative.targets</ProjectNTargets>
10306 </PropertyGroup>
10307 <!--<Import Project="$(DotNetNativeCompilerProps)" Condition="'$(ProjectNProfileEnabled)' == 'true' and exists('$(DotNetNativeCompilerProps)')" />-->
10308 <!--<Import Project="$(ProjectNTargets)" Condition="'$(ProjectNProfileEnabled)' == 'true' and exists('$(ProjectNTargets)')" />-->
10309 <!--<Import Project="$(DotNetNativeSharedLibraryarmProps)" Condition="'$(ProjectNProfileEnabled)' == 'true' and exists('$(DotNetNativeSharedLibraryarmProps)')" />-->
10310 <!--<Import Project="$(DotNetNativeSharedLibraryx64Props)" Condition="'$(ProjectNProfileEnabled)' == 'true' and exists('$(DotNetNativeSharedLibraryx64Props)')" />-->
10311 <!--<Import Project="$(DotNetNativeSharedLibraryx86Props)" Condition="'$(ProjectNProfileEnabled)' == 'true' and exists('$(DotNetNativeSharedLibraryx86Props)')" />-->
10312 <!--<Import Project="$(DotNetNativeSharedLibraryarmTargets)" Condition="'$(ProjectNProfileEnabled)' == 'true' and exists('$(DotNetNativeSharedLibraryarmTargets)')" />-->
10313 <!--<Import Project="$(DotNetNativeSharedLibraryx64Targets)" Condition="'$(ProjectNProfileEnabled)' == 'true' and exists('$(DotNetNativeSharedLibraryx64Targets)')" />-->
10314 <!--<Import Project="$(DotNetNativeSharedLibraryx86Targets)" Condition="'$(ProjectNProfileEnabled)' == 'true' and exists('$(DotNetNativeSharedLibraryx86Targets)')" />-->
10315 <!--
10316============================================================================================================================================
10317 </Import>
10318============================================================================================================================================
10319-->
10320 <!--
10321============================================================================================================================================
10322 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
10323
10324C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.NuGet.ImportAfter.targets
10325============================================================================================================================================
10326-->
10327 <!--
10328***********************************************************************************************
10329Microsoft.NuGet.ImportAfter.targets
10330
10331WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10332 created a backup copy. Incorrect changes to this file will make it
10333 impossible to load or build your projects from the command-line or the IDE.
10334
10335Copyright (c) .NET Foundation. All rights reserved.
10336***********************************************************************************************
10337-->
10338 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10339 <NuGetTargets Condition="'$(NuGetTargets)'==''">$(MSBuildExtensionsPath)\Microsoft\NuGet\$(VisualStudioVersion)\Microsoft.NuGet.targets</NuGetTargets>
10340 </PropertyGroup>
10341 <!--<Import Project="$(NuGetTargets)" Condition="Exists('$(NuGetTargets)') and '$(SkipImportNuGetBuildTargets)' != 'true'" />-->
10342 <!--
10343============================================================================================================================================
10344 </Import>
10345============================================================================================================================================
10346-->
10347 <!--
10348============================================================================================================================================
10349 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
10350
10351C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.QualityTools.Testing.Fakes.ImportAfter.targets
10352============================================================================================================================================
10353-->
10354 <PropertyGroup Condition="$(FakesImported) != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10355 <FakesBinPath Condition="$(FakesBinPath) == ''">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Fakes</FakesBinPath>
10356 <FakesTargets>$(FakesBinPath)\Microsoft.QualityTools.Testing.Fakes.targets</FakesTargets>
10357 </PropertyGroup>
10358 <!--
10359============================================================================================================================================
10360 <Import Project="$(FakesTargets)" Condition="$(FakesImported) != 'true' and Exists('$(FakesTargets)')">
10361
10362C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\Fakes\Microsoft.QualityTools.Testing.Fakes.targets
10363============================================================================================================================================
10364-->
10365 <!-- Safeguard against importing this .targets file multiple times -->
10366 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10367 <FakesImported>true</FakesImported>
10368 </PropertyGroup>
10369 <!-- Build customization properties -->
10370 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10371 <FakesBinPath Condition="$(FakesBinPath) == ''">$(MSBuildProjectDirectory)</FakesBinPath>
10372 <FakesIntermediatePath>$([System.IO.Path]::Combine('$(ProjectDir)','$(IntermediateOutputPath)Fakes'))</FakesIntermediatePath>
10373 <FakesContinueOnError Condition="$(FakesContinueOnError) == ''">false</FakesContinueOnError>
10374 <FakesToolsPath Condition="$(FakesToolsPath) == ''">$(FakesBinPath)</FakesToolsPath>
10375 <FakesMSBuildPath Condition="'$(FakesMSBuildPath)' == ''">$(MSBuildToolsPath)\msbuild.exe</FakesMSBuildPath>
10376 <!-- Pass unit test project's PlatformTarget to GenerateFakes task *only if* PlatformTarget is present! -->
10377 <FakesCompilationProperties Condition="'$(PlatformTarget)' != ''">$(FakesCompilationProperties);PlatformTarget=$(PlatformTarget)</FakesCompilationProperties>
10378 <FakesCommandLineArguments Condition="'$(FakesCompilationProperties)' != ''">$(FakesCommandLineArguments) /Properties:"$(FakesCompilationProperties)"</FakesCommandLineArguments>
10379 <FakesCommandLineArguments>$(FakesCommandLineArguments) /msbuildpath:"$(FakesMSBuildPath)"</FakesCommandLineArguments>
10380 <FakesVerbosity Condition="'$(FakesVerbosity)' == ''">Critical</FakesVerbosity>
10381 <FakesTasks>$(FakesBinPath)\Microsoft.QualityTools.Testing.Fakes.Tasks.dll</FakesTasks>
10382 <!-- The following properties are exposed to the user as configurable -->
10383 <FakesRelativeOutputDir>$(FakesRelativeOutputDir)FakesAssemblies</FakesRelativeOutputDir>
10384 <FakesConfigurationDirectory Condition="$(FakesConfigurationDirectory) == ''">$(ProjectDir)Fakes</FakesConfigurationDirectory>
10385 <!-- If a user chooses to route all Fakes generation and runtime execution through Fakes V2 through an environment variable, honor that.
10386 A project's properties would take precedence over a global environment variable though. -->
10387 <FakesUseV2Generation Condition="'$(FakesUseV2Generation)' == '' AND '$(Fakes_Use_V2)' == 'true'">true</FakesUseV2Generation>
10388 <!--The default logic to choose Fakes V2 over V1.-->
10389 <FakesUseV2Generation Condition="'$(FakesUseV2Generation)' == ''">$(UsingMicrosoftNETSdk)</FakesUseV2Generation>
10390 <!-- FakesOutputPath is not allowed to be overridden in V2 generation. Instead, FakesRelativeOutputDir can be overridden.
10391 AdditionalDesignTimeBuildInput only works with relative paths, and so this change was needed.
10392 Tracking: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1150797 -->
10393 <FakesOutputPath Condition="$(FakesUseV2Generation) == 'true' OR $(FakesOutputPath) == ''">$(ProjectDir)$(FakesRelativeOutputDir)</FakesOutputPath>
10394 </PropertyGroup>
10395 <!--
10396 This item is used to indicate to the designtime build that the generated
10397 fakes assembly reference needs to be picked up to populate intellisense.
10398
10399 This property is not ideal to be used in the long run since the general
10400 recommendation is to use items generated in design time build within the
10401 design time build. But, fakes generation can take too long to run, and we
10402 choose to not run during design time build.
10403 -->
10404 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10405 <!--
10406 ContentSensitive => contents of file matters. If this is false, only
10407 addition and removal of files would trigger designtime build.
10408 We set this to false as Roslyn monitors the referenced dlls for changes, and so we
10409 do not need to trigger redundant design time builds.
10410 -->
10411 <AdditionalDesignTimeBuildInput Condition="$(FakesUseV2Generation) == 'true'" Include="$(FakesRelativeOutputDir)\*.dll" ContentSensitive="false" />
10412 </ItemGroup>
10413 <!-- Make "Fakes" item available as a "Build Action" in the Properties window -->
10414 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10415 <AvailableItemName Include="Fakes" />
10416 </ItemGroup>
10417 <UsingTask TaskName="Microsoft.QualityTools.Testing.Fakes.GenerateFakes" AssemblyFile="$(FakesTasks)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10418 <UsingTask TaskName="Microsoft.QualityTools.Testing.Fakes.ReportFakesWarnings" AssemblyFile="$(FakesTasks)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10419 <!-- This is the legacy generation of fakes that occurs before RAR in msbuild, and uses its own custom RAR -->
10420 <!-- Generate .Fakes assemblies before assembly references of the parent project are resolved -->
10421 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10422 <ResolveAssemblyReferencesDependsOn>
10423 $(ResolveAssemblyReferencesDependsOn);
10424 FakesGenerateBeforeBuild;
10425 </ResolveAssemblyReferencesDependsOn>
10426 </PropertyGroup>
10427 <!-- Define Fakes build steps -->
10428 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10429 <FakesGenerateBeforeBuildDependsOn>
10430 $(FakesGenerateBeforeBuildDependsOn);
10431 ResolveFakesReferences;
10432 BuildFakesAssemblies;
10433 </FakesGenerateBeforeBuildDependsOn>
10434 </PropertyGroup>
10435 <Target Name="FakesGenerateBeforeBuild" Condition="@(Fakes) != '' AND $(BuildingProject) AND $(FakesUseV2Generation) != 'true'" DependsOnTargets="$(FakesGenerateBeforeBuildDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10436 <!-- Collect the references excluding Fakes assembly files. -->
10437 <Target Name="ResolveFakesReferences" Condition="@(Fakes) != '' AND $(BuildingProject) AND $(FakesUseV2Generation) != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10438 <ItemGroup>
10439 <ReferenceWithoutFakes Include="@(Reference)" />
10440 <ReferenceWithoutFakes Remove="$(FakesOutputPath)\*.Fakes.dll" />
10441 </ItemGroup>
10442 <PropertyGroup>
10443 <FakesResolveAssemblyReferencesStateFile>$(IntermediateOutputPath)$(MSBuildProjectFile)FakesResolveAssemblyReference.cache</FakesResolveAssemblyReferencesStateFile>
10444 <FakesResolveAssemblyReferencesFindDependencies Condition="'$(FakesResolveAssemblyReferencesFindDependencies)' == ''">true</FakesResolveAssemblyReferencesFindDependencies>
10445 <FakesResolveAssemblyReferencesFindRelatedFiles Condition="'$(FakesResolveAssemblyReferencesFindRelatedFiles)' == ''">true</FakesResolveAssemblyReferencesFindRelatedFiles>
10446 </PropertyGroup>
10447 <ResolveAssemblyReference Assemblies="@(ReferenceWithoutFakes)" AssemblyFiles="@(_ResolvedProjectReferencePaths);@(_ExplicitReference)" TargetFrameworkDirectories="$(TargetFrameworkDirectory)" InstalledAssemblyTables="@(InstalledAssemblyTables);@(RedistList)" IgnoreDefaultInstalledAssemblyTables="$(IgnoreDefaultInstalledAssemblyTables)" IgnoreDefaultInstalledAssemblySubsetTables="$(IgnoreInstalledAssemblySubsetTables)" CandidateAssemblyFiles="@(Content);@(None)" SearchPaths="$(AssemblySearchPaths)" AllowedAssemblyExtensions="$(AllowedReferenceAssemblyFileExtensions)" AllowedRelatedFileExtensions="$(AllowedReferenceRelatedFileExtensions)" TargetProcessorArchitecture="$(ProcessorArchitecture)" AppConfigFile="@(_ResolveAssemblyReferencesApplicationConfigFileForExes)" AutoUnify="$(AutoUnifyAssemblyReferences)" IgnoreVersionForFrameworkReferences="$(IgnoreVersionForFrameworkReferences)" FindDependencies="$(FakesResolveAssemblyReferencesFindDependencies)" FindSatellites="false" FindSerializationAssemblies="false" FindRelatedFiles="$(FakesResolveAssemblyReferencesFindRelatedFiles)" Silent="true" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetFrameworkMonikerDisplayName="$(TargetFrameworkMonikerDisplayName)" TargetedRuntimeVersion="$(TargetedRuntimeVersion)" StateFile="$(FakesResolveAssemblyReferencesStateFile)" InstalledAssemblySubsetTables="@(InstalledAssemblySubsetTables)" TargetFrameworkSubsets="@(_ReferenceInstalledAssemblySubsets)" FullTargetFrameworkSubsetNames="$(FullReferenceAssemblyNames)" FullFrameworkFolders="$(_FullFrameworkReferenceAssemblyPaths)" FullFrameworkAssemblyTables="@(FullFrameworkAssemblyTables)" ProfileName="" LatestTargetFrameworkDirectories="@(LatestTargetFrameworkDirectories)" CopyLocalDependenciesWhenParentReferenceInGac="$(CopyLocalDependenciesWhenParentReferenceInGac)">
10448 <Output TaskParameter="ResolvedFiles" ItemName="FakesResolvedReferencePaths" />
10449 <Output TaskParameter="ResolvedDependencyFiles" ItemName="FakesResolvedReferenceDependencyPaths" />
10450 <Output TaskParameter="RelatedFiles" ItemName="FakesRelatedPaths" />
10451 <Output TaskParameter="SatelliteFiles" ItemName="FakesSatellitePaths" />
10452 <Output TaskParameter="SuggestedRedirects" ItemName="FakesSuggestedRedirects" />
10453 <Output TaskParameter="FilesWritten" ItemName="FileWrites" />
10454 </ResolveAssemblyReference>
10455 </Target>
10456 <!-- Generate fakes assembly files, if outdated. -->
10457 <Target Name="BuildFakesAssemblies" Condition="@(Fakes) != '' AND $(BuildingProject) AND $(FakesUseV2Generation) != 'true'" Inputs="&#xD;&#xA; @(Fakes);&#xD;&#xA; @(FakesReferencePaths);&#xD;&#xA; @(FakesResolvedReferencePaths);&#xD;&#xA; @(FakesResolvedReferenceDependencyPaths);&#xD;&#xA; @(FakesRelatedPaths);&#xD;&#xA; @(FakesSatellitePaths);&#xD;&#xA; @(FakesSuggestedRedirects);&#xD;&#xA; " Outputs="@(Fakes->'$(FakesOutputPath)\%(FileName).Fakes.dll')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10458 <GenerateFakes ContinueOnError="$(FakesContinueOnError)" Verbosity="$(FakesVerbosity)" ForceX86="$(FakesForceX86)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetRuntimeVersion="$(TargetedRuntimeVersion)" UseFakesV2="$(FakesUseV2Generation)" ReferenceFiles="&#xD;&#xA; @(FakesReferencePaths);&#xD;&#xA; @(FakesResolvedReferencePaths);&#xD;&#xA; @(FakesResolvedReferenceDependencyPaths);" SearchPaths="@(FakesSearchPaths)" CommandLineArguments="$(FakesCommandLineArguments)" OutputPath="$(FakesOutputPath)" IntermediatePath="$(FakesIntermediatePath)" Fakes="@(Fakes)" ToolsPath="$(FakesToolsPath)">
10459 <Output TaskParameter="FakesAssemblies" ItemName="FakesAssemblies" />
10460 <Output TaskParameter="FakesConfigurations" ItemName="FakesConfigurations" />
10461 <Output TaskParameter="FakesMessages" ItemName="FakesMessageFiles" />
10462 </GenerateFakes>
10463 <ReportFakesWarnings MessageFiles="@(FakesMessageFiles)" ContinueOnError="$(FakesContinueOnError)" />
10464 <ItemGroup>
10465 <FileWrites Include="$(FakesIntermediatePath)\**" />
10466 <ReferenceCopyLocalPaths Include="@(FakesConfigurations)" />
10467 </ItemGroup>
10468 <PropertyGroup>
10469 <!-- Append directory where .Fakes assemblies are generated to the end of the assembly search path -->
10470 <AssemblySearchPaths>
10471 $(AssemblySearchPaths);
10472 $(FakesOutputPath)
10473 </AssemblySearchPaths>
10474 </PropertyGroup>
10475 </Target>
10476 <!-- Define New Fakes Generation steps -->
10477 <!-- This occurs after the original RAR, retrieving references from it, instead of using its own RAR.
10478 This solves the problem of missing references in the SDK style projects, as the custom RAR doesn't find them-->
10479 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10480 <GenerateFakesDependsOn>
10481 $(GenerateFakesDependsOn);
10482 BeforeGenerateFakesAssemblies;
10483 GenerateFakesAssemblies;
10484 CopyFakesAssembliesToOutputDir;
10485 </GenerateFakesDependsOn>
10486 </PropertyGroup>
10487 <!--This should not run during design time build, and should only run for SDK-Style projects
10488 As this uses a new Roslyn based implementation that could break behaviour in legacy projects-->
10489 <Target Name="GenerateFakes" Condition="$(BuildingProject) AND $(FakesUseV2Generation) == 'true'" DependsOnTargets="$(GenerateFakesDependsOn)" AfterTargets="ResolveAssemblyReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10490 <Target Name="BeforeGenerateFakesAssemblies" Condition="$(BuildingProject) AND $(FakesUseV2Generation) == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10491 <ItemGroup>
10492 <!-- Add all present .Fakes files in the contained FakesConfigurationDirectory
10493 The list is appended to for compatibility reasons, and is a list of distinct items.
10494 Include and Exclude are used to deduplicate. -->
10495 <Fakes Include="$(FakesConfigurationDirectory)\*.Fakes" Exclude="@(Fakes)" />
10496 </ItemGroup>
10497 </Target>
10498 <!-- Generate fakes assembly files, if outdated. -->
10499 <Target Name="GenerateFakesAssemblies" Condition="@(Fakes) != '' AND $(BuildingProject) AND $(FakesUseV2Generation) == 'true'" Inputs="&#xD;&#xA; @(Fakes);&#xD;&#xA; @(FakesReferencePaths);&#xD;&#xA; @(_ResolveAssemblyReferenceResolvedFiles);&#xD;&#xA; @(ReferenceDependencyPaths);&#xD;&#xA; @(_ReferenceRelatedPaths);&#xD;&#xA; @(ReferenceSatellitePaths);&#xD;&#xA; @(SuggestedBindingRedirects);&#xD;&#xA; " Outputs="@(Fakes->'$(FakesOutputPath)\%(FileName).Fakes.dll')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10500 <GenerateFakes ContinueOnError="$(FakesContinueOnError)" Verbosity="$(FakesVerbosity)" ForceX86="$(FakesForceX86)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFramework="$(TargetFramework)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetRuntimeVersion="$(TargetedRuntimeVersion)" UseFakesV2="$(FakesUseV2Generation)" ReferenceFiles="&#xD;&#xA; @(FakesReferencePaths);&#xD;&#xA; @(_ResolveAssemblyReferenceResolvedFiles);&#xD;&#xA; @(ReferenceDependencyPaths);" SearchPaths="@(FakesSearchPaths)" CommandLineArguments="$(FakesCommandLineArguments)" OutputPath="$(FakesOutputPath)" IntermediatePath="$(FakesIntermediatePath)" Fakes="@(Fakes)" ToolsPath="$(FakesToolsPath)">
10501 <Output TaskParameter="FakesAssemblies" ItemName="FakesAssemblies" />
10502 <Output TaskParameter="FakesConfigurations" ItemName="FakesConfigurations" />
10503 <Output TaskParameter="FakesMessages" ItemName="FakesMessageFiles" />
10504 </GenerateFakes>
10505 <ReportFakesWarnings MessageFiles="@(FakesMessageFiles)" ContinueOnError="$(FakesContinueOnError)" />
10506 <ItemGroup>
10507 <FileWrites Include="$(FakesIntermediatePath)\**" />
10508 <ReferenceCopyLocalPaths Include="@(FakesConfigurations)" />
10509 </ItemGroup>
10510 </Target>
10511 <!--Copy Fakes Assemblies to Output Path next to built project.dll for test runs
10512 This is necessary since Fakes V2 generation doesn't add an assembly reference to the csproj-->
10513 <Target Name="CopyFakesAssembliesToOutputDir" Condition="$(FakesUseV2Generation) == 'true' AND Exists('$(FakesOutputPath)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10514 <ItemGroup>
10515 <!--If this list is created within the Content Include, then link doesn't work as expected
10516 which is why the list needs to be created before being creating Content items-->
10517 <FakesAssembliesToCopy Include="$(FakesOutputPath)\*.dll" />
10518 <Content Include="@(FakesAssembliesToCopy)" Condition="@(FakesAssembliesToCopy) != ''" Link="%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" IsAssembly="true" />
10519 </ItemGroup>
10520 </Target>
10521 <!--
10522 In the new implementation of Fakes, the task runs after RAR, and so the generated fakes assembly references
10523 are not passed on to the CSC task. This target appends to the list of references that the CSC task receives.
10524 -->
10525 <Target Name="AppendGeneratedFakesAssemblyReferences" Condition="$(FakesUseV2Generation) == 'true' AND Exists('$(FakesOutputPath)')" AfterTargets="FindReferenceAssembliesForReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10526 <ItemGroup>
10527 <!--
10528 ReferencePathWithRefAssemblies is the list of references passed into the CSC task.
10529 In cases where fakes assemblies would already exist in the FakesOutputPath, just appending the
10530 assemblies would create duplicates in the list. Include and Exclude are used to deduplicate.
10531 -->
10532 <ReferencePathWithRefAssemblies Include="$(FakesOutputPath)\*.dll" Exclude="@(ReferencePathWithRefAssemblies)" />
10533 </ItemGroup>
10534 </Target>
10535 <!--
10536============================================================================================================================================
10537 </Import>
10538
10539C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.QualityTools.Testing.Fakes.ImportAfter.targets
10540============================================================================================================================================
10541-->
10542 <!--
10543============================================================================================================================================
10544 </Import>
10545============================================================================================================================================
10546-->
10547 <!--
10548============================================================================================================================================
10549 <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')">
10550
10551C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets\ImportAfter\Microsoft.Web.ImportAfter.targets
10552============================================================================================================================================
10553-->
10554 <!--
10555***********************************************************************************************
10556Microsoft.Web.ImportAfter.targets
10557
10558WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10559 created a backup copy. Incorrect changes to this file will make it
10560 impossible to load or build your projects from the command-line or the IDE.
10561
10562Copyright (C) Microsoft Corporation. All rights reserved.
10563***********************************************************************************************
10564-->
10565 <!--<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')" />-->
10566 <!--
10567============================================================================================================================================
10568 </Import>
10569
10570C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets
10571============================================================================================================================================
10572-->
10573 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCommonTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.targets\ImportAfter')" />-->
10574 <!--
10575============================================================================================================================================
10576 </Import>
10577
10578C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.targets
10579============================================================================================================================================
10580-->
10581 <!--
10582 Prepare to import project extensions which usually come from packages. Package management systems will create a file at:
10583 $(MSBuildProjectExtensionsPath)\$(MSBuildProjectFile).<SomethingUnique>.targets
10584
10585 Each package management system should use a unique moniker to avoid collisions. It is a wild-card import so the package
10586 management system can write out multiple files but the order of the import is alphabetic because MSBuild sorts the list.
10587 -->
10588 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10589 <ImportProjectExtensionTargets Condition="'$(ImportProjectExtensionTargets)' == ''">true</ImportProjectExtensionTargets>
10590 </PropertyGroup>
10591 <!--<Import Project="$(MSBuildProjectExtensionsPath)$(MSBuildProjectFile).*.targets" Condition="'$(ImportProjectExtensionTargets)' == 'true' and exists('$(MSBuildProjectExtensionsPath)')" />-->
10592 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10593 <ImportDirectoryBuildTargets Condition="'$(ImportDirectoryBuildTargets)' == ''">true</ImportDirectoryBuildTargets>
10594 </PropertyGroup>
10595 <!--
10596 Determine the path to the directory build targets file if the user did not disable $(ImportDirectoryBuildTargets) and
10597 they did not already specify an absolute path to use via $(DirectoryBuildTargetsPath)
10598 -->
10599 <PropertyGroup Condition="'$(ImportDirectoryBuildTargets)' == 'true' and '$(DirectoryBuildTargetsPath)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10600 <_DirectoryBuildTargetsFile Condition="'$(_DirectoryBuildTargetsFile)' == ''">Directory.Build.targets</_DirectoryBuildTargetsFile>
10601 <_DirectoryBuildTargetsBasePath Condition="'$(_DirectoryBuildTargetsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), '$(_DirectoryBuildTargetsFile)'))</_DirectoryBuildTargetsBasePath>
10602 <DirectoryBuildTargetsPath Condition="'$(_DirectoryBuildTargetsBasePath)' != '' and '$(_DirectoryBuildTargetsFile)' != ''">$([System.IO.Path]::Combine('$(_DirectoryBuildTargetsBasePath)', '$(_DirectoryBuildTargetsFile)'))</DirectoryBuildTargetsPath>
10603 </PropertyGroup>
10604 <!--
10605============================================================================================================================================
10606 <Import Project="$(DirectoryBuildTargetsPath)" Condition="'$(ImportDirectoryBuildTargets)' == 'true' and exists('$(DirectoryBuildTargetsPath)')">
10607
10608D:\src\wix4\src\test\wix\TestProjects\Directory.Build.targets
10609============================================================================================================================================
10610-->
10611 <!-- 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. -->
10612 <!--
10613 This file prevents the import of WiX standard Directory.Build.targets
10614 from the root src directory
10615 -->
10616 <!--
10617============================================================================================================================================
10618 </Import>
10619
10620C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.targets
10621============================================================================================================================================
10622-->
10623 <!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">-->
10624 <!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportAfter\*" Condition="'$(ImportByWildcardAfter40MicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportAfter')" />-->
10625 <!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportAfter')" />-->
10626 <!--</ImportGroup>-->
10627 <!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">-->
10628 <!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfter40MicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.targets\ImportAfter')" />-->
10629 <!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.Common.targets\ImportAfter')" />-->
10630 <!--</ImportGroup>-->
10631 <!-- Fix up FrameworkPathOverride, which is primarily used to determine the location of mscorlib.dll in the
10632 (relatively uncommon) situation where the reference assemblies, in which it's usually found, are not
10633 installed. -->
10634 <PropertyGroup Condition="'$(MSBuildAssemblyVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10635 <FrameworkPathOverride Condition="!Exists('$(FrameworkPathOverride)\mscorlib.dll')">$(MSBuildFrameworkToolsPath)</FrameworkPathOverride>
10636 </PropertyGroup>
10637 <!--
10638============================================================================================================================================
10639 </Import>
10640
10641C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.CSharp.CurrentVersion.targets
10642============================================================================================================================================
10643-->
10644 <!--
10645============================================================================================================================================
10646 <Import Project="$(MSBuildToolsPath)\Microsoft.ServiceModel.targets" Condition="('$(TargetFrameworkVersion)' != 'v2.0' and '$(TargetFrameworkVersion)' != 'v3.0' and '$(TargetFrameworkVersion)' != 'v3.5') and Exists('$(MSBuildToolsPath)\Microsoft.ServiceModel.targets')">
10647
10648C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.ServiceModel.targets
10649============================================================================================================================================
10650-->
10651 <!--
10652 With MSBuild 12, we've changed MSBuildToolsPath to for the first time point to a directory
10653 outside of the .NET Framework. As a result of this, there were several targets files, of which
10654 this was one, that were being referenced as out of MSBuildToolsPath that are now no longer there.
10655
10656 Thus, we are shimming those targets files so that they do still appear in MSBuildToolsPath, so that
10657 consumers of them are not broken, but since the targets files themselves are still part of .NET,
10658 the shim will internally simply redirect to the real copy of the targets file in the .NET Framework.
10659 -->
10660 <!--
10661============================================================================================================================================
10662 <Import Project="$(MSBuildFrameworkToolsPath)\Microsoft.ServiceModel.targets" Condition="Exists('$(MSBuildFrameworkToolsPath)\Microsoft.ServiceModel.targets')">
10663
10664C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.ServiceModel.targets
10665============================================================================================================================================
10666-->
10667 <!--
10668***********************************************************************************************
10669Microsoft.ServiceModel.targets
10670
10671WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10672 created a backup copy. Incorrect changes to this file will make it
10673 impossible to load or build your projects from the command-line or the IDE.
10674
10675Copyright (C) Microsoft Corporation. All rights reserved.
10676***********************************************************************************************
10677-->
10678 <UsingTask TaskName="Microsoft.Build.Tasks.Xsd.XsdTypeImporterTask" AssemblyName="XsdBuildTask, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10679 <!-- sub build target, preceeding XsdCodeGen -->
10680 <Target Name="PreXsdCodeGen" BeforeTargets="CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10681 <ItemGroup>
10682 <XsdCodeGenInputXsdFiles Include="@(None)" Condition=" '%(None.Extension)' == '.xsd' and '%(None.Generator)' == '' " />
10683 </ItemGroup>
10684 <PropertyGroup>
10685 <XsdCodeGenPreCondition>False</XsdCodeGenPreCondition>
10686 <XsdCodeGenPreCondition Condition="'$(TargetFrameworkVersion)' != 'v2.0' and '$(TargetFrameworkVersion)' != 'v3.0' and '$(TargetFrameworkVersion)' != 'v3.5' and '$(TargetFrameworkVersion)' != 'v4.0' and ( '$(TargetFrameworkIdentifier)' == '.NETFramework' or '$(TargetFrameworkIdentifier)' == 'Silverlight' ) and '$(XsdCodeGenEnabled)' == 'True' and '@(XsdCodeGenInputXsdFiles)' != '' ">True</XsdCodeGenPreCondition>
10687 </PropertyGroup>
10688 <CallTarget Targets="CleanXsdCodeGen" Condition=" '$(XsdCodeGenPreCondition)' != 'True' " />
10689 </Target>
10690 <!-- main build target -->
10691 <Target Name="XsdCodeGen" DependsOnTargets="ResolveReferences" AfterTargets="PreXsdCodeGen" Condition=" '$(XsdCodeGenPreCondition)' == 'True' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10692 <!-- will show in VS output window, for discoverability -->
10693 <Message Importance="high" Text="Generating code from XSD: InputXsdFiles=@(XsdCodeGenInputXsdFiles)" />
10694 <PropertyGroup>
10695 <!-- assign default values -->
10696 <XsdCodeGenSerializerMode Condition=" '$(XsdCodeGenSerializerMode)' == '' ">XmlSerializer</XsdCodeGenSerializerMode>
10697 <XsdCodeGenReuseTypesFlag Condition=" '$(XsdCodeGenReuseTypesFlag)' == '' ">True</XsdCodeGenReuseTypesFlag>
10698 <XsdCodeGenReuseTypesMode Condition=" '$(XsdCodeGenReuseTypesMode)' == '' ">All</XsdCodeGenReuseTypesMode>
10699 <XsdCodeGenNamespaceMappings Condition=" '$(XsdCodeGenNamespaceMappings)' == '' and '$(Language)' == 'C#' and '$(RootNamespace)' != '' ">*, $(RootNamespace).ContractTypes</XsdCodeGenNamespaceMappings>
10700 <XsdCodeGenNamespaceMappings Condition=" '$(XsdCodeGenNamespaceMappings)' == '' ">*, ContractTypes</XsdCodeGenNamespaceMappings>
10701 <XsdCodeGenCollectionTypes Condition=" '$(XsdCodeGenCollectionTypes)' == '' ">System.Array;System.Collections.Generic.Dictionary`2</XsdCodeGenCollectionTypes>
10702 <XsdCodeGenImportXmlTypes Condition=" '$(XsdCodeGenImportXmlTypes)' == '' ">True</XsdCodeGenImportXmlTypes>
10703 <XsdCodeGenGenerateSerializableTypes Condition=" '$(XsdCodeGenGenerateSerializableTypes)' == '' ">True</XsdCodeGenGenerateSerializableTypes>
10704 <XsdCodeGenGenerateDataTypesOnly Condition=" '$(XsdCodeGenGenerateDataTypesOnly)' == '' ">False</XsdCodeGenGenerateDataTypesOnly>
10705 <XsdCodeGenGenerateInternalTypes Condition=" '$(XsdCodeGenGenerateInternalTypes)' == '' ">False</XsdCodeGenGenerateInternalTypes>
10706 <XsdCodeGenEnableDataBinding Condition=" '$(XsdCodeGenEnableDataBinding)' == '' ">False</XsdCodeGenEnableDataBinding>
10707 <!-- calc dynamic values -->
10708 <XsdCodeGenSupportFx35DataTypes Condition="'$(XsdCodeGenSupportFx35DataTypes)' == '' and '$(TargetFrameworkVersion)' == 'v2.0'">False</XsdCodeGenSupportFx35DataTypes>
10709 <XsdCodeGenSupportFx35DataTypes Condition="'$(XsdCodeGenSupportFx35DataTypes)' == '' and '$(TargetFrameworkVersion)' == 'v3.0'">False</XsdCodeGenSupportFx35DataTypes>
10710 <XsdCodeGenSupportFx35DataTypes Condition="'$(XsdCodeGenSupportFx35DataTypes)' == ''">True</XsdCodeGenSupportFx35DataTypes>
10711 </PropertyGroup>
10712 <!-- calc references for type reusing, resolve their paths from @(ReferencePath) from 'ResolveReferences' build target -->
10713 <ItemGroup>
10714 <XsdCodeGenReferencesResolved Include="@(ReferencePath)" Condition=" '$(XsdCodeGenReuseTypesFlag)' == 'True' and '$(XsdCodeGenReuseTypesMode)' == 'All' " />
10715 </ItemGroup>
10716 <CallTarget Targets="XsdResolveReferencePath" Condition=" '$(XsdCodeGenReuseTypesFlag)' == 'True' and '$(XsdCodeGenReuseTypesMode)' != 'All' ">
10717 <Output ItemName="XsdCodeGenReferencesResolved" TaskParameter="TargetOutputs" />
10718 </CallTarget>
10719 <!-- will show in VS output window, for discoverability -->
10720 <Message Importance="high" Text="Generating code from XSD: References=@(XsdCodeGenReferencesResolved)" />
10721 <!-- set property <MSBuildTargetsVerbose>True</MSBuildTargetsVerbose> to see following messages -->
10722 <Message Text="Generating code from XSD: OutputDirectory=$(IntermediateOutputPath)\XsdGeneratedCode" />
10723 <Message Text="Generating code from XSD: Language=$(Language)" />
10724 <Message Text="Generating code from XSD: NamespaceMappings=$(XsdCodeGenNamespaceMappings)" />
10725 <Message Text="Generating code from XSD: SerializerMode=$(XsdCodeGenSerializerMode)" />
10726 <Message Text="Generating code from XSD: CollectionTypes=$(XsdCodeGenCollectionTypes)" />
10727 <Message Text="Generating code from XSD: ExcludedTypes=$(XsdCodeGenExcludedTypes)" />
10728 <Message Text="Generating code from XSD: ImportXmlTypes=$(XsdCodeGenImportXmlTypes)" />
10729 <Message Text="Generating code from XSD: GenerateSerializableTypes=$(XsdCodeGenGenerateSerializableTypes)" />
10730 <Message Text="Generating code from XSD: GenerateInternalTypes=$(XsdCodeGenGenerateInternalTypes)" />
10731 <Message Text="Generating code from XSD: EnableDataBinding=$(XsdCodeGenEnableDataBinding)" />
10732 <Message Text="Generating code from XSD: SupportFx35DataTypes=$(XsdCodeGenSupportFx35DataTypes)" />
10733 <MakeDir Directories="$(IntermediateOutputPath)\XsdGeneratedCode" />
10734 <ItemGroup>
10735 <XsdCodeGenGeneratedFile Condition=" '@(XsdCodeGenGeneratedFile)' == '' And '$(Language)' == 'C#' " Include="$(IntermediateOutputPath)\XsdGeneratedCode\GeneratedXsdTypes.cs" />
10736 <XsdCodeGenGeneratedFile Condition=" '@(XsdCodeGenGeneratedFile)' == '' And '$(Language)' == 'VB' " Include="$(IntermediateOutputPath)\XsdGeneratedCode\GeneratedXsdTypes.vb" />
10737 </ItemGroup>
10738 <Touch Files="@(XsdCodeGenGeneratedFile)" AlwaysCreate="true" />
10739 <ItemGroup>
10740 <Compile Include="@(XsdCodeGenGeneratedFile)" />
10741 <FileWrites Include="@(XsdCodeGenGeneratedFile)" />
10742 </ItemGroup>
10743 <XsdTypeImporterTask InputXsdFiles="@(XsdCodeGenInputXsdFiles)" References="@(XsdCodeGenReferencesResolved)" OutputDirectory="$(IntermediateOutputPath)\XsdGeneratedCode" Language="$(Language)" NamespaceMappings="$(XsdCodeGenNamespaceMappings.Split(';'))" SerializerMode="$(XsdCodeGenSerializerMode)" CollectionTypes="$(XsdCodeGenCollectionTypes.Split(';'))" ExcludedTypes="$(XsdCodeGenExcludedTypes.Split(';'))" ImportXmlTypes="$(XsdCodeGenImportXmlTypes)" GenerateSerializableTypes="$(XsdCodeGenGenerateSerializableTypes)" GenerateInternalTypes="$(XsdCodeGenGenerateInternalTypes)" EnableDataBinding="$(XsdCodeGenEnableDataBinding)" SupportFx35DataTypes="$(XsdCodeGenSupportFx35DataTypes)" />
10744 <!-- will show in VS output window, for discoverability -->
10745 <Message Importance="high" Text="Generated code from XSD: GeneratedFile=@(XsdCodeGenGeneratedFile)" />
10746 </Target>
10747 <!-- sub build target, called by XsdCodeGen -->
10748 <Target Name="XsdResolveReferencePath" Outputs="@(XsdCodeGenReferencesResolved)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10749 <!-- filter @(ReferencePath) (full file path) by $(XsdCodeGenReferences) (file name without extension) -->
10750 <WriteLinesToFile File="$(IntermediateOutputPath)\XsdCodeGenTempA.txt" Lines="@(ReferencePath)" Overwrite="True" />
10751 <WriteLinesToFile File="$(IntermediateOutputPath)\XsdCodeGenTempB.txt" Lines="$(XsdCodeGenReferences.Split(';'))" Overwrite="True" />
10752 <Delete Files="$(IntermediateOutputPath)\XsdCodeGenTempC.txt" />
10753 <!-- for /f "tokens=*" %%a in ($(IntermediateOutputPath)\XsdCodeGenTempA.txt) do ( for /f "tokens=*" %%b in ($(IntermediateOutputPath)\XsdCodeGenTempB.txt) do ( if /i "%%~na" EQU "%%~b" ( echo %%a>>"$(IntermediateOutputPath)\XsdCodeGenTempC.txt" ) ) ) -->
10754 <Exec Command="for /f %22tokens=*%22 %%a in ($(IntermediateOutputPath)\XsdCodeGenTempA.txt) do ( for /f %22tokens=*%22 %%b in ($(IntermediateOutputPath)\XsdCodeGenTempB.txt) do ( if /i %22%%~na%22 EQU %22%%~b%22 ( echo %%a&gt;&gt;%22$(IntermediateOutputPath)\XsdCodeGenTempC.txt%22 ) ) )" />
10755 <ReadLinesFromFile File="$(IntermediateOutputPath)\XsdCodeGenTempC.txt">
10756 <Output ItemName="XsdCodeGenReferencesResolved" TaskParameter="Lines" />
10757 </ReadLinesFromFile>
10758 <Delete Files="$(IntermediateOutputPath)\XsdCodeGenTempA.txt;$(IntermediateOutputPath)\XsdCodeGenTempB.txt;$(IntermediateOutputPath)\XsdCodeGenTempC.txt" />
10759 </Target>
10760 <!-- clean build target for XsdCodeGen -->
10761 <Target Name="CleanXsdCodeGen" AfterTargets="Clean" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10762 <ItemGroup>
10763 <CleanXsdCodeGenFiles Include="$(IntermediateOutputPath)\XsdGeneratedCode\*" />
10764 </ItemGroup>
10765 <Delete Files="@(CleanXsdCodeGenFiles)" />
10766 </Target>
10767 <!--
10768============================================================================================================================================
10769 </Import>
10770
10771C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.ServiceModel.targets
10772============================================================================================================================================
10773-->
10774 <!--
10775============================================================================================================================================
10776 </Import>
10777
10778C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.CSharp.CurrentVersion.targets
10779============================================================================================================================================
10780-->
10781 <Target Name="_SetTargetFrameworkMonikerAttribute" BeforeTargets="GenerateTargetFrameworkMonikerAttribute" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10782 <PropertyGroup>
10783 <TargetFrameworkMonikerAssemblyAttributeText Condition="'$(TargetFrameworkMoniker)' != '' and '$(TargetingClr2Framework)' != 'true'">
10784// &lt;autogenerated /&gt;
10785using System%3b
10786using System.Reflection%3b
10787[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute("$(TargetFrameworkMoniker)", FrameworkDisplayName = "$(TargetFrameworkMonikerDisplayName)")]
10788 </TargetFrameworkMonikerAssemblyAttributeText>
10789 </PropertyGroup>
10790 </Target>
10791 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10792 <Utf8Output Condition="'$(Utf8Output)' == ''">true</Utf8Output>
10793 <!-- NoCompilerStandardLib maps to the compiler's /nostdlib option. By default we always
10794 want that switch to be passed to the compiler so that either we or the user
10795 provides the references
10796 NoStdLib on the other hand indicates that the user doesn't want standard references
10797 so only if NoStdLib isn't set to true, will we provide the standard references
10798 -->
10799 <NoCompilerStandardLib Condition=" '$(NoCompilerStandardLib)' == '' ">true</NoCompilerStandardLib>
10800 <ErrorEndLocation Condition="'$(BuildingInsideVisualStudio)' == 'true' and '$(ErrorEndLocation)' == ''">true</ErrorEndLocation>
10801 <!-- When building inside VS, by default use the same language for compiler messages as VS itself does. -->
10802 <PreferredUILang Condition="'$(BuildingInsideVisualStudio)' == 'true' and '$(PreferredUILang)' == ''">$([System.Globalization.CultureInfo]::CurrentUICulture.Name)</PreferredUILang>
10803 </PropertyGroup>
10804 <!-- Add any "automatic" compiler references that need to be resolved when NoCompilerStandardLib is set
10805 but the user hasn't told us to not include standard references -->
10806 <ItemGroup Condition=" '$(NoCompilerStandardLib)' == 'true' and '$(NoStdLib)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10807 <!-- Note that unlike VB, C# does not automatically locate System.dll as a "standard library"
10808 instead the reference is always passed from the project. Also, for mscorlib.dll
10809 we need to provide the explicit location in order to avoid resolving from, e.g.,
10810 {CandidateAssemblyFiles}.
10811 -->
10812 <_ExplicitReference Include="$(FrameworkPathOverride)\mscorlib.dll" />
10813 </ItemGroup>
10814 <!--<Import Project="$(CustomAfterMicrosoftCSharpTargets)" Condition="'$(CustomAfterMicrosoftCSharpTargets)' != '' and Exists('$(CustomAfterMicrosoftCSharpTargets)')" />-->
10815 <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.CSharp.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftCSharpTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.CSharp.targets\ImportAfter')" />-->
10816 <!--<Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.CSharp.targets\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftCSharpTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.CSharp.targets\ImportAfter')" />-->
10817 <!--
10818============================================================================================================================================
10819 </Import>
10820
10821C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.CSharp.targets
10822============================================================================================================================================
10823-->
10824 <!--
10825============================================================================================================================================
10826 <Import Project="$(MSBuildToolsPath)\Microsoft.Managed.After.targets">
10827
10828C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Managed.After.targets
10829============================================================================================================================================
10830-->
10831 <!--
10832***********************************************************************************************
10833WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10834 created a backup copy. Incorrect changes to this file will make it
10835 impossible to load or build your projects from the command-line or the IDE.
10836
10837This file defines common build logic for all managed languaged: C#, VisualBasic, F#
10838It is imported after the common targets have been imported.
10839
10840Copyright (C) Microsoft Corporation. All rights reserved.
10841***********************************************************************************************
10842-->
10843 <!-- Define crosstargeting for static graph, so it can identify inner and outer build graph nodes -->
10844 <PropertyGroup>
10845 <InnerBuildProperty>TargetFramework</InnerBuildProperty>
10846 <InnerBuildPropertyValues>TargetFrameworks</InnerBuildPropertyValues>
10847 </PropertyGroup>
10848 <PropertyGroup Condition="'$(IsGraphBuild)' == 'true'">
10849 <AddTransitiveProjectReferencesInStaticGraph Condition="'$(AddTransitiveProjectReferencesInStaticGraph)' == '' and '$(UsingMicrosoftNETSdk)' == 'true' and '$(DisableTransitiveProjectReferences)' != 'true'">true</AddTransitiveProjectReferencesInStaticGraph>
10850 </PropertyGroup>
10851 <ItemGroup Condition="'$(IsGraphBuild)' == 'true'">
10852 <!-- WPF projects generate a project with a random name at build time and then build the project via the IBuildEngine callbacks.
10853 Detect WPF, and exclude the generated project from static graph isolation constraint checking.
10854 Escape the item to avoid eager evaluation of the wildcards.
10855 -->
10856 <GraphIsolationExemptReference Condition="'$(UseWPF)' == 'true' or '@(Page)' != '' or '@(ApplicationDefinition)' != '' or '@(XamlPage)' != '' or '@(XamlAppDef)' != ''" Include="$([MSBuild]::Escape('$(MSBuildProjectDirectory)\$(MSBuildProjectName)*_wpftmp$(MSBuildProjectExtension)'))" />
10857 </ItemGroup>
10858 <!--
10859 Properties for extension of ProjectReferenceTargets.
10860 Append any current value which may have been provided in a Directory.Build.props since the intent was likely to append, not prepend.
10861 -->
10862 <PropertyGroup Condition="'$(IsGraphBuild)' == 'true'">
10863 <!-- Empty case is for outer builds which do not import the target files that set BuildProjectReferences -->
10864 <_MainReferenceTarget Condition="'$(BuildProjectReferences)' == '' or '$(BuildProjectReferences)' == 'true'">.projectReferenceTargetsOrDefaultTargets</_MainReferenceTarget>
10865 <_MainReferenceTarget Condition="'$(_MainReferenceTarget)' == ''">GetTargetPath</_MainReferenceTarget>
10866 <ProjectReferenceTargetsForBuildInOuterBuild>GetTargetFrameworks;$(ProjectReferenceTargetsForBuildInOuterBuild)</ProjectReferenceTargetsForBuildInOuterBuild>
10867 <ProjectReferenceTargetsForBuild>$(_MainReferenceTarget);GetNativeManifest;$(_RecursiveTargetForContentCopying);GetTargetFrameworksWithPlatformForSingleTargetFramework;$(ProjectReferenceTargetsForBuild)</ProjectReferenceTargetsForBuild>
10868 <ProjectReferenceTargetsForCleanInOuterBuild>GetTargetFrameworks;$(ProjectReferenceTargetsForCleanInOuterBuild)</ProjectReferenceTargetsForCleanInOuterBuild>
10869 <ProjectReferenceTargetsForClean>Clean;GetTargetFrameworksWithPlatformForSingleTargetFramework;$(ProjectReferenceTargetsForClean)</ProjectReferenceTargetsForClean>
10870 <ProjectReferenceTargetsForRebuildInOuterBuild>$(ProjectReferenceTargetsForCleanInOuterBuild);$(ProjectReferenceTargetsForBuildInOuterBuild);$(ProjectReferenceTargetsForRebuildInOuterBuild)</ProjectReferenceTargetsForRebuildInOuterBuild>
10871 <ProjectReferenceTargetsForRebuild>$(ProjectReferenceTargetsForClean);$(ProjectReferenceTargetsForBuild);$(ProjectReferenceTargetsForRebuild)</ProjectReferenceTargetsForRebuild>
10872 <ProjectReferenceTargetsForPublish>GetCopyToPublishDirectoryItems;$(ProjectReferenceTargetsForPublish)</ProjectReferenceTargetsForPublish>
10873 <ProjectReferenceTargetsForGetCopyToPublishDirectoryItems>GetCopyToPublishDirectoryItems;$(ProjectReferenceTargetsForGetCopyToPublishDirectoryItems)</ProjectReferenceTargetsForGetCopyToPublishDirectoryItems>
10874 </PropertyGroup>
10875 <ItemGroup Condition="'$(IsGraphBuild)' == 'true'">
10876 <ProjectReferenceTargets Include="Build" Targets="$(ProjectReferenceTargetsForBuildInOuterBuild)" Condition=" '$(ProjectReferenceTargetsForBuildInOuterBuild)' != '' " OuterBuild="true" />
10877 <ProjectReferenceTargets Include="Build" Targets="$(ProjectReferenceTargetsForBuild)" Condition=" '$(ProjectReferenceTargetsForBuild)' != '' " />
10878 <ProjectReferenceTargets Include="Clean" Targets="$(ProjectReferenceTargetsForCleanInOuterBuild)" Condition=" '$(ProjectReferenceTargetsForCleanInOuterBuild)' != '' " OuterBuild="true" />
10879 <ProjectReferenceTargets Include="Clean" Targets="$(ProjectReferenceTargetsForClean)" Condition=" '$(ProjectReferenceTargetsForClean)' != '' " />
10880 <ProjectReferenceTargets Include="Rebuild" Targets="$(ProjectReferenceTargetsForRebuildInOuterBuild)" Condition=" '$(ProjectReferenceTargetsForRebuildInOuterBuild)' != '' " />
10881 <ProjectReferenceTargets Include="Rebuild" Targets="$(ProjectReferenceTargetsForRebuild)" Condition=" '$(ProjectReferenceTargetsForRebuild)' != '' " />
10882 <ProjectReferenceTargets Include="Publish" Targets="$(ProjectReferenceTargetsForPublish)" Condition=" '$(ProjectReferenceTargetsForPublish)' != '' " />
10883 <ProjectReferenceTargets Include="GetCopyToPublishDirectoryItems" Targets="$(ProjectReferenceTargetsForGetCopyToPublishDirectoryItems)" Condition=" '$(ProjectReferenceTargetsForGetCopyToPublishDirectoryItems)' != '' " />
10884 </ItemGroup>
10885 <!--
10886============================================================================================================================================
10887 </Import>
10888
10889C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.CSharp.targets
10890============================================================================================================================================
10891-->
10892 <!-- Really should be imported right after Microsoft.NETFramework.props, but because Microsoft.CSharp.targets imports
10893 Microsoft.Common.targets from the current directory rather than using MSBuildToolsPath (which would redirect to our
10894 targets), and Microsoft.Common.targets does likewise with Microsoft.NETFramework.props, we're stuck doing it this
10895 way instead. -->
10896 <!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">-->
10897 <!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportAfter\*" Condition="'$(ImportByWildcardAfter40MicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportAfter')" />-->
10898 <!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftNetFrameworkProps)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.NETFramework.props\ImportAfter')" />-->
10899 <!--</ImportGroup>-->
10900 <!-- Really should be imported right after Microsoft.Common.targets, but because Microsoft.CSharp.targets imports
10901 Microsoft.Common.targets from the current directory rather than using MSBuildToolsPath (which would redirect to our
10902 targets), we're stuck doing it this way instead. -->
10903 <!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">-->
10904 <!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfter40MicrosoftCommonTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.Common.targets\ImportAfter')" />-->
10905 <!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.Common.targets\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCommonTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.Common.targets\ImportAfter')" />-->
10906 <!--</ImportGroup>-->
10907 <!--<ImportGroup Condition="'$(MSBuildAssemblyVersion)' == ''">-->
10908 <!--<Import Project="$(MSBuildExtensionsPath)\4.0\Microsoft.CSharp.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfter40MicrosoftCSharpTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\4.0\Microsoft.CSharp.targets\ImportAfter')" />-->
10909 <!--<Import Project="$(MSBuildUserExtensionsPath)\4.0\Microsoft.CSharp.targets\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfter40MicrosoftCSharpTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\4.0\Microsoft.CSharp.targets\ImportAfter')" />-->
10910 <!--</ImportGroup>-->
10911 <!-- Fix up FrameworkPathOverride, which is primarily used to determine the location of mscorlib.dll in the
10912 (relatively uncommon) situation where the reference assemblies, in which it's usually found, are not
10913 installed. Defined here rather than in Microsoft.Common.targets because the .NET Microsoft.CSharp.targets
10914 imports Microsoft.Common.targets from the current directory. -->
10915 <PropertyGroup Condition="'$(MSBuildAssemblyVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10916 <FrameworkPathOverride Condition="!Exists('$(FrameworkPathOverride)\mscorlib.dll')">$(MSBuildFrameworkToolsPath)</FrameworkPathOverride>
10917 </PropertyGroup>
10918 <!--
10919============================================================================================================================================
10920 </Import>
10921
10922C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
10923============================================================================================================================================
10924-->
10925 <!--<Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.CrossTargeting.targets" Condition="'$(IsCrossTargetingBuild)' == 'true'" />-->
10926 <!--
10927============================================================================================================================================
10928 <Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.targets" Condition="'$(IsCrossTargetingBuild)' != 'true'">
10929
10930C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
10931============================================================================================================================================
10932-->
10933 <!--
10934***********************************************************************************************
10935Microsoft.NET.Sdk.targets
10936WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10937 created a backup copy. Incorrect changes to this file will make it
10938 impossible to load or build your projects from the command-line or the IDE.
10939Copyright (c) .NET Foundation. All rights reserved.
10940***********************************************************************************************
10941-->
10942 <!--
10943============================================================================================================================================
10944 <Import Project="Microsoft.NET.Sdk.Common.targets">
10945
10946C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.Common.targets
10947============================================================================================================================================
10948-->
10949 <!--
10950***********************************************************************************************
10951Microsoft.NET.Sdk.Common.targets
10952
10953WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
10954 created a backup copy. Incorrect changes to this file will make it
10955 impossible to load or build your projects from the command-line or the IDE.
10956
10957Copyright (c) .NET Foundation. All rights reserved.
10958***********************************************************************************************
10959-->
10960 <!-- This file is imported by both cross-targeting and inner builds. Set properties that need to be available to both here. -->
10961 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10962 <MicrosoftNETBuildTasksDirectoryRoot>$(MSBuildThisFileDirectory)..\tools\</MicrosoftNETBuildTasksDirectoryRoot>
10963 <MicrosoftNETBuildTasksTFM Condition=" '$(MSBuildRuntimeType)' == 'Core'">net6.0</MicrosoftNETBuildTasksTFM>
10964 <MicrosoftNETBuildTasksTFM Condition=" '$(MicrosoftNETBuildTasksTFM)' == ''">net472</MicrosoftNETBuildTasksTFM>
10965 <MicrosoftNETBuildTasksDirectory>$(MicrosoftNETBuildTasksDirectoryRoot)$(MicrosoftNETBuildTasksTFM)\</MicrosoftNETBuildTasksDirectory>
10966 <MicrosoftNETBuildTasksAssembly>$(MicrosoftNETBuildTasksDirectory)Microsoft.NET.Build.Tasks.dll</MicrosoftNETBuildTasksAssembly>
10967 <!--
10968 Hardcoded list of known implicit packages that are added to project from default SDK targets implicitly.
10969 Should be re-visited when multiple TFM support is added to Dependencies logic.
10970 -->
10971 <DefaultImplicitPackages>Microsoft.NETCore.App;NETStandard.Library</DefaultImplicitPackages>
10972 </PropertyGroup>
10973 <!--
10974 Some versions of Microsoft.NET.Test.Sdk.targets change the OutputType after we've set _IsExecutable and
10975 HasRuntimeOutput default in Microsoft.NET.Sdk.BeforeCommon.targets. Refresh these value here for backwards
10976 compatibilty with that.
10977 -->
10978 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10979 <_IsExecutable Condition="'$(OutputType)' == 'Exe' or '$(OutputType)'=='WinExe'">true</_IsExecutable>
10980 <HasRuntimeOutput Condition="'$(_UsingDefaultForHasRuntimeOutput)' == 'true'">$(_IsExecutable)</HasRuntimeOutput>
10981 </PropertyGroup>
10982 <PropertyGroup Condition="'$(DotnetCliToolTargetFramework)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10983 <!-- Maximum supported target framework for DotnetCliProjectTools is .NET Core 2.2 -->
10984 <DotnetCliToolTargetFramework>netcoreapp2.2</DotnetCliToolTargetFramework>
10985 </PropertyGroup>
10986 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10987 <IncludeBuildOutput Condition=" '$(PackAsTool)' == 'true' ">false</IncludeBuildOutput>
10988 <PackageType Condition=" '$(PackAsTool)' == 'true' ">DotnetTool</PackageType>
10989 <RuntimeIdentifiers Condition=" '$(PackAsTool)' == 'true' ">$(RuntimeIdentifiers);$(PackAsToolShimRuntimeIdentifiers)</RuntimeIdentifiers>
10990 </PropertyGroup>
10991 <PropertyGroup Condition="'$(EnablePreviewFeatures)' == 'true' And '$(IsNetCoreAppTargetingLatestTFM)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
10992 <LangVersion>Preview</LangVersion>
10993 </PropertyGroup>
10994 <UsingTask TaskName="NETSdkError" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10995 <UsingTask TaskName="NETSdkWarning" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10996 <UsingTask TaskName="NETSdkInformation" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10997 <UsingTask TaskName="ShowPreviewMessage" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
10998 <!--
10999============================================================================================================================================
11000 </Import>
11001
11002C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
11003============================================================================================================================================
11004-->
11005 <!--<ImportGroup>-->
11006 <!--
11007============================================================================================================================================
11008 <Import Project="$(MSBuildThisFileDirectory)Microsoft.PackageDependencyResolution.targets" Condition="Exists('$(MSBuildThisFileDirectory)Microsoft.PackageDependencyResolution.targets') and ('$(Language)' != 'C++' or '$(_EnablePackageReferencesInVCProjects)' == 'true')">
11009
11010C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets
11011============================================================================================================================================
11012-->
11013 <!--
11014***********************************************************************************************
11015Microsoft.PackageDependencyResolution.targets
11016
11017WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
11018 created a backup copy. Incorrect changes to this file will make it
11019 impossible to load or build your projects from the command-line or the IDE.
11020
11021Copyright (c) .NET Foundation. All rights reserved.
11022***********************************************************************************************
11023-->
11024 <!--
11025 *************************************
11026 1. INPUT PROPERTIES
11027 - That configure the PackageDependency targets
11028 *************************************
11029 -->
11030 <!-- General Properties -->
11031 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11032 <ProjectAssetsFile Condition="'$(ProjectAssetsFile)' == ''">$(MSBuildProjectExtensionsPath)/project.assets.json</ProjectAssetsFile>
11033 <ProjectAssetsFile>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(ProjectAssetsFile)))</ProjectAssetsFile>
11034 <!-- Note that the assets.cache file has contents that are unique to the current TFM and configuration and therefore cannot
11035 be stored in a shared directory next to the assets.json file -->
11036 <ProjectAssetsCacheFile Condition="'$(ProjectAssetsCacheFile)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).assets.cache</ProjectAssetsCacheFile>
11037 <ProjectAssetsCacheFile>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(ProjectAssetsCacheFile)))</ProjectAssetsCacheFile>
11038 <!-- Don't copy local for netstandard projects. -->
11039 <CopyLocalLockFileAssemblies Condition="'$(CopyLocalLockFileAssemblies)' == '' and&#xD;&#xA; '$(TargetFrameworkIdentifier)' == '.NETStandard'">false</CopyLocalLockFileAssemblies>
11040 <!-- Don't copy local for netcoreapp projects before 3.0 or non-exe and non-component projects. -->
11041 <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>
11042 <!-- All other project types should copy local. -->
11043 <CopyLocalLockFileAssemblies Condition="'$(CopyLocalLockFileAssemblies)' == ''">true</CopyLocalLockFileAssemblies>
11044 <ContentPreprocessorOutputDirectory Condition="'$(ContentPreprocessorOutputDirectory)' == ''">$(IntermediateOutputPath)NuGet\</ContentPreprocessorOutputDirectory>
11045 <UseTargetPlatformAsNuGetTargetMoniker Condition="'$(UseTargetPlatformAsNuGetTargetMoniker)' == '' AND '$(TargetFrameworkMoniker)' == '.NETCore,Version=v5.0'">true</UseTargetPlatformAsNuGetTargetMoniker>
11046 <NuGetTargetMoniker Condition="'$(NuGetTargetMoniker)' == '' AND '$(UseTargetPlatformAsNuGetTargetMoniker)' == 'true'">$(TargetPlatformIdentifier),Version=v$([System.Version]::Parse('$(TargetPlatformMinVersion)').ToString(3))</NuGetTargetMoniker>
11047 <NuGetTargetMoniker Condition="'$(NuGetTargetMoniker)' == '' AND '$(UseTargetPlatformAsNuGetTargetMoniker)' != 'true'">$(TargetFrameworkMoniker)</NuGetTargetMoniker>
11048 <EmitAssetsLogMessages Condition="'$(EmitAssetsLogMessages)' == ''">true</EmitAssetsLogMessages>
11049 <!-- Setting this property to true restores pre-16.7 behaviour of ResolvePackageDependencies to produce
11050 TargetDefinitions, FileDefinitions and FileDependencies items. -->
11051 <EmitLegacyAssetsFileItems Condition="'$(EmitLegacyAssetsFileItems)' == ''">false</EmitLegacyAssetsFileItems>
11052 <!-- A flag that NuGet packages containing multi-targeted analyzers can check to see if the NuGet package needs to do
11053 its own multi-targeting logic, or if the current SDK targets will pick the assets correctly. -->
11054 <SupportsRoslynComponentVersioning>true</SupportsRoslynComponentVersioning>
11055 </PropertyGroup>
11056 <!-- Target Moniker + RID-->
11057 <PropertyGroup Condition="'$(_NugetTargetMonikerAndRID)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11058 <_NugetTargetMonikerAndRID Condition="'$(RuntimeIdentifier)' == ''">$(NuGetTargetMoniker)</_NugetTargetMonikerAndRID>
11059 <_NugetTargetMonikerAndRID Condition="'$(RuntimeIdentifier)' != ''">$(NuGetTargetMoniker)/$(RuntimeIdentifier)</_NugetTargetMonikerAndRID>
11060 </PropertyGroup>
11061 <!-- Embed all project.assets.json files into the binary log when building with /bl -->
11062 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11063 <EmbedInBinlog Include="$(ProjectAssetsFile)" Condition="$(EmbedProjectAssetsFile) != false AND Exists('$(ProjectAssetsFile)')" />
11064 </ItemGroup>
11065 <!--
11066 *************************************
11067 2. EXTERNAL PROPERTIES and ITEMS
11068 - Override or add to external targets
11069 *************************************
11070 -->
11071 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11072 <ResolveAssemblyReferencesDependsOn>
11073 $(ResolveAssemblyReferencesDependsOn);
11074 ResolvePackageDependenciesForBuild;
11075 _HandlePackageFileConflicts;
11076 </ResolveAssemblyReferencesDependsOn>
11077 <PrepareResourcesDependsOn>
11078 ResolvePackageDependenciesForBuild;
11079 _HandlePackageFileConflicts;
11080 $(PrepareResourcesDependsOn)
11081 </PrepareResourcesDependsOn>
11082 </PropertyGroup>
11083 <!-- Common tokens used in preprocessed content files -->
11084 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11085 <PreprocessorValue Include="rootnamespace">
11086 <Value>$(RootNamespace)</Value>
11087 </PreprocessorValue>
11088 <PreprocessorValue Include="assemblyname">
11089 <Value>$(AssemblyName)</Value>
11090 </PreprocessorValue>
11091 <PreprocessorValue Include="fullpath">
11092 <Value>$(MSBuildProjectDirectory)</Value>
11093 </PreprocessorValue>
11094 <PreprocessorValue Include="outputfilename">
11095 <Value>$(TargetFileName)</Value>
11096 </PreprocessorValue>
11097 <PreprocessorValue Include="filename">
11098 <Value>$(MSBuildProjectFile)</Value>
11099 </PreprocessorValue>
11100 <PreprocessorValue Include="@(NuGetPreprocessorValue)" Exclude="@(PreprocessorValue)" />
11101 </ItemGroup>
11102 <!--
11103 This will prevent RAR from spending time locating dependencies and related files for assemblies
11104 that came from packages. PackageReference should already be promoted to a closure of Reference
11105 items and we are responsible for adding package relates files to CopyLocal items, not RAR. This
11106 is only configurable as a compat opt-out in case skipping the slow RAR code breaks something.
11107 -->
11108 <PropertyGroup Condition="'$(MarkPackageReferencesAsExternallyResolved)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11109 <MarkPackageReferencesAsExternallyResolved>true</MarkPackageReferencesAsExternallyResolved>
11110 </PropertyGroup>
11111 <!--
11112 *************************************
11113 3. BUILD TARGETS
11114 - Override the Depends-On properties, or the individual targets
11115 *************************************
11116 -->
11117 <!--
11118 ============================================================
11119 ResolvePackageDependenciesForBuild
11120
11121 Populate items for build. This is triggered before target
11122 "AssignProjectConfiguration" to ensure ProjectReference items
11123 are populated before ResolveProjectReferences is run.
11124 ============================================================
11125 -->
11126 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11127 <ResolvePackageDependenciesForBuildDependsOn>
11128 ResolveLockFileReferences;
11129 ResolveLockFileAnalyzers;
11130 ResolveLockFileCopyLocalFiles;
11131 ResolveRuntimePackAssets;
11132 RunProduceContentAssets;
11133 IncludeTransitiveProjectReferences
11134 </ResolvePackageDependenciesForBuildDependsOn>
11135 </PropertyGroup>
11136 <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" />
11137 <!--
11138 *************************************
11139 4. Package Dependency TASK and TARGETS
11140 - Raise the lock file to MSBuild Items and create derived items
11141 *************************************
11142 -->
11143 <!--
11144 ============================================================
11145 RunResolvePackageDependencies
11146
11147 Generate Definitions and Dependencies based on ResolvePackageDependencies task
11148 ============================================================
11149 -->
11150 <UsingTask TaskName="Microsoft.NET.Build.Tasks.ResolvePackageDependencies" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11151 <UsingTask TaskName="Microsoft.NET.Build.Tasks.CheckForTargetInAssetsFile" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11152 <UsingTask TaskName="Microsoft.NET.Build.Tasks.JoinItems" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11153 <UsingTask TaskName="Microsoft.NET.Build.Tasks.ResolvePackageAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11154 <!-- The condition on this target causes it to be skipped during design-time builds if
11155 the restore operation hasn't run yet. This is to avoid displaying an error in
11156 the Visual Studio error list when a project is created before NuGet restore has
11157 run and created the assets file. -->
11158 <Target Name="RunResolvePackageDependencies" Condition=" '$(DesignTimeBuild)' != 'true' Or Exists('$(ProjectAssetsFile)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11159 <!-- Verify that the assets file has a target for the right framework. Otherwise, if we restored for the
11160 wrong framework, we'd end up finding no references to pass to the compiler, and we'd get a ton of
11161 compile errors. -->
11162 <CheckForTargetInAssetsFile AssetsFilePath="$(ProjectAssetsFile)" TargetFramework="$(TargetFramework)" RuntimeIdentifier="$(RuntimeIdentifier)" Condition=" '$(DesignTimeBuild)' != 'true'" />
11163 <ResolvePackageDependencies ProjectPath="$(MSBuildProjectFullPath)" ProjectAssetsFile="$(ProjectAssetsFile)" ProjectLanguage="$(Language)" EmitLegacyAssetsFileItems="$(EmitLegacyAssetsFileItems)" TargetFramework="$(TargetFramework)" ContinueOnError="ErrorAndContinue">
11164 <Output TaskParameter="PackageDefinitions" ItemName="PackageDefinitions" />
11165 <Output TaskParameter="PackageDependencies" ItemName="PackageDependencies" />
11166 <!-- These outputs only produced when EmitLegacyAssetsFileItems is true -->
11167 <Output TaskParameter="TargetDefinitions" ItemName="TargetDefinitions" />
11168 <Output TaskParameter="FileDefinitions" ItemName="FileDefinitions" />
11169 <Output TaskParameter="FileDependencies" ItemName="FileDependencies" />
11170 </ResolvePackageDependencies>
11171 </Target>
11172 <!-- Reads the version of the compiler APIs that are currently being used in order to pick the correct Roslyn components. -->
11173 <Target Name="_ResolveCompilerVersion" Condition="'$(CompilerApiVersion)' == '' And&#xD;&#xA; ('$(Language)' == 'C#' Or '$(Language)' == 'VB') And&#xD;&#xA; Exists('$(RoslynTargetsPath)\Microsoft.Build.Tasks.CodeAnalysis.dll')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11174 <GetAssemblyIdentity AssemblyFiles="$(RoslynTargetsPath)\Microsoft.Build.Tasks.CodeAnalysis.dll">
11175 <Output TaskParameter="Assemblies" ItemName="_CodeAnalysisIdentity" />
11176 </GetAssemblyIdentity>
11177 <PropertyGroup>
11178 <_RoslynApiVersion>$([System.Version]::Parse(%(_CodeAnalysisIdentity.Version)).Major).$([System.Version]::Parse(%(_CodeAnalysisIdentity.Version)).Minor)</_RoslynApiVersion>
11179 <CompilerApiVersion>roslyn$(_RoslynApiVersion)</CompilerApiVersion>
11180 </PropertyGroup>
11181 </Target>
11182 <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">
11183 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0'&#xD;&#xA; and '$(UseAppHostFromAssetsFile)' == ''">
11184 <!-- For .NET Core 3.0 and higher, we'll get the apphost from an apphost pack (via ProcessFrameworkReferences) -->
11185 <UseAppHostFromAssetsFile>false</UseAppHostFromAssetsFile>
11186 </PropertyGroup>
11187 <PropertyGroup Condition="'$(UseAppHostFromAssetsFile)' == ''">
11188 <UseAppHostFromAssetsFile>true</UseAppHostFromAssetsFile>
11189 </PropertyGroup>
11190 <PropertyGroup Condition="'$(EnsureRuntimePackageDependencies)' == ''&#xD;&#xA; and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and '$(_TargetFrameworkVersionWithoutV)' &lt; '3.0'&#xD;&#xA; and '$(EnsureNETCoreAppRuntime)' != 'false'">
11191 <EnsureRuntimePackageDependencies>true</EnsureRuntimePackageDependencies>
11192 </PropertyGroup>
11193 <!-- Only copy local runtime target assets if targeting netcoreapp -->
11194 <PropertyGroup Condition="'$(CopyLocalRuntimeTargetAssets)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
11195 <CopyLocalRuntimeTargetAssets>true</CopyLocalRuntimeTargetAssets>
11196 </PropertyGroup>
11197 <ItemGroup>
11198 <_PackAsToolShimRuntimeIdentifiers Condition="@(_PackAsToolShimRuntimeIdentifiers) ==''" Include="$(PackAsToolShimRuntimeIdentifiers)" />
11199 <!-- Pass these packages into the ResolvePackageAssets task to verify that the restored versions of the packages
11200 match the expected version -->
11201 <ExpectedPlatformPackages Include="@(PackageReference)" Condition="'%(Identity)' == 'Microsoft.NETCore.App'" />
11202 <ExpectedPlatformPackages Include="@(PackageReference)" Condition="'%(Identity)' == 'Microsoft.AspNetCore.App'" />
11203 <ExpectedPlatformPackages Include="@(PackageReference)" Condition="'%(Identity)' == 'Microsoft.AspNetCore.All'" />
11204 </ItemGroup>
11205 <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)">
11206 <!-- NOTE: items names here are inconsistent because they match prior implementation
11207 (that was spread across different tasks/targets) for backwards compatibility. -->
11208 <Output TaskParameter="Analyzers" ItemName="ResolvedAnalyzers" />
11209 <Output TaskParameter="ApphostsForShimRuntimeIdentifiers" ItemName="_ApphostsForShimRuntimeIdentifiersResolvePackageAssets" />
11210 <Output TaskParameter="ContentFilesToPreprocess" ItemName="_ContentFilesToPreprocess" />
11211 <Output TaskParameter="FrameworkAssemblies" ItemName="ResolvedFrameworkAssemblies" />
11212 <Output TaskParameter="FrameworkReferences" ItemName="TransitiveFrameworkReference" />
11213 <Output TaskParameter="NativeLibraries" ItemName="NativeCopyLocalItems" />
11214 <Output TaskParameter="ResourceAssemblies" ItemName="ResourceCopyLocalItems" />
11215 <Output TaskParameter="RuntimeAssemblies" ItemName="RuntimeCopyLocalItems" />
11216 <Output TaskParameter="RuntimeTargets" ItemName="RuntimeTargetsCopyLocalItems" />
11217 <Output TaskParameter="CompileTimeAssemblies" ItemName="ResolvedCompileFileDefinitions" />
11218 <Output TaskParameter="TransitiveProjectReferences" ItemName="_TransitiveProjectReferences" />
11219 <Output TaskParameter="PackageFolders" ItemName="AssetsFilePackageFolder" />
11220 <Output TaskParameter="PackageDependencies" ItemName="PackageDependencies" />
11221 </ResolvePackageAssets>
11222 <ItemGroup Condition="'$(UseAppHostFromAssetsFile)' == 'true'">
11223 <_NativeRestoredAppHostNETCore Include="@(NativeCopyLocalItems)" Condition="'%(NativeCopyLocalItems.FileName)%(NativeCopyLocalItems.Extension)' == '$(_DotNetAppHostExecutableName)'" />
11224 </ItemGroup>
11225 <ItemGroup Condition="'@(_ApphostsForShimRuntimeIdentifiers)' == ''">
11226 <_ApphostsForShimRuntimeIdentifiers Include="@(_ApphostsForShimRuntimeIdentifiersResolvePackageAssets)" />
11227 </ItemGroup>
11228 </Target>
11229 <!--
11230 ============================================================
11231 ResolvePackageDependenciesDesignTime
11232
11233 Aggregate the dependencies produced by ResolvePackageDependencies to a form
11234 that's consumable by an IDE to display package dependencies.
11235 ============================================================
11236 -->
11237 <UsingTask TaskName="Microsoft.NET.Build.Tasks.PreprocessPackageDependenciesDesignTime" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11238 <Target Name="ResolvePackageDependenciesDesignTime" Returns="@(_PackageDependenciesDesignTime)" DependsOnTargets="RunResolvePackageDependencies;ResolveAssemblyReferencesDesignTime" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11239 <PreprocessPackageDependenciesDesignTime PackageDefinitions="@(PackageDefinitions)" PackageDependencies="@(PackageDependencies)" DefaultImplicitPackages="$(DefaultImplicitPackages)" TargetFramework="$(TargetFramework)">
11240 <Output TaskParameter="PackageDependenciesDesignTime" ItemName="_PackageDependenciesDesignTime" />
11241 </PreprocessPackageDependenciesDesignTime>
11242 </Target>
11243 <!--
11244 ============================================================
11245 CollectSDKReferencesDesignTime
11246
11247 Aggregates the sdk specified as project items and implicit
11248 packages references.
11249 ============================================================
11250 -->
11251 <UsingTask TaskName="Microsoft.NET.Build.Tasks.CollectSDKReferencesDesignTime" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11252 <Target Name="CollectSDKReferencesDesignTime" Returns="@(_SDKReference)" DependsOnTargets="CollectPackageReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11253 <CollectSDKReferencesDesignTime SdkReferences="@(SdkReference)" PackageReferences="@(PackageReference)" DefaultImplicitPackages="$(DefaultImplicitPackages)">
11254 <Output TaskParameter="SDKReferencesDesignTime" ItemName="_SDKReference" />
11255 </CollectSDKReferencesDesignTime>
11256 </Target>
11257 <!--
11258 ============================================================
11259 CollectResolvedSDKReferencesDesignTime
11260
11261 Aggregates the sdk specified as project items and implicit
11262 packages produced by ResolvePackageDependencies.
11263 ============================================================
11264 -->
11265 <Target Name="CollectResolvedSDKReferencesDesignTime" Returns="@(_ResolvedSDKReference)" DependsOnTargets="ResolveSDKReferencesDesignTime;CollectPackageReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11266 <CollectSDKReferencesDesignTime SdkReferences="@(ResolvedSdkReference)" PackageReferences="@(PackageReference)" DefaultImplicitPackages="$(DefaultImplicitPackages)">
11267 <Output TaskParameter="SDKReferencesDesignTime" ItemName="_ResolvedSDKReference" />
11268 </CollectSDKReferencesDesignTime>
11269 </Target>
11270 <!--
11271 ============================================================
11272 RunProduceContentAssets
11273
11274 Process content assets by handling preprocessing tokens where necessary, and
11275 produce copy local items, content items grouped by "build action" and file writes
11276 ============================================================
11277 -->
11278 <UsingTask TaskName="Microsoft.NET.Build.Tasks.ProduceContentAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11279 <Target Name="RunProduceContentAssets" DependsOnTargets="ResolvePackageAssets" Condition="'@(_ContentFilesToPreprocess)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11280 <ProduceContentAssets ContentFileDependencies="@(_ContentFilesToPreprocess)" ContentPreprocessorValues="@(PreprocessorValue)" ContentPreprocessorOutputDirectory="$(ContentPreprocessorOutputDirectory)" ProduceOnlyPreprocessorFiles="true" ProjectLanguage="$(Language)">
11281 <Output TaskParameter="CopyLocalItems" ItemName="_ContentCopyLocalItems" />
11282 <Output TaskParameter="ProcessedContentItems" ItemName="_ProcessedContentItems" />
11283 <Output TaskParameter="FileWrites" ItemName="FileWrites" />
11284 </ProduceContentAssets>
11285 <!-- The items in _ProcessedContentItems need to go into the appropriately-named item group,
11286 but the names depend upon the items themselves. Split it apart. -->
11287 <CreateItem Include="@(_ProcessedContentItems)" Condition="'@(_ProcessedContentItems)' != ''">
11288 <Output TaskParameter="Include" ItemName="%(_ProcessedContentItems.ProcessedItemType)" />
11289 </CreateItem>
11290 </Target>
11291 <!--
11292 ============================================================
11293 Reference Targets: For populating References based on lock file
11294 - ResolveLockFileReferences
11295 ============================================================
11296 -->
11297 <Target Name="ResolveLockFileReferences" DependsOnTargets="ResolvePackageAssets" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11298 <ItemGroup Condition="'$(MarkPackageReferencesAsExternallyResolved)' == 'true'">
11299 <!--
11300 Update Reference items with NuGetPackageId metadata to set ExternallyResolved appropriately.
11301 NetStandard.Library adds its assets in targets this way and not in the standard way that
11302 would get ExternallyResolved set in ResolvePackageAssets.
11303 -->
11304 <Reference Condition="'%(Reference.NuGetPackageId)' != ''">
11305 <ExternallyResolved>true</ExternallyResolved>
11306 </Reference>
11307 <!-- Add framework references from NuGet packages here, so that if there is also a matching reference from a NuGet package,
11308 it will be treated the same as a reference from the project file. If there is already an explicit Reference from the
11309 project, use that, in order to preserve metadata (such as aliases). -->
11310 <Reference Include="@(ResolvedFrameworkAssemblies)" Exclude="@(Reference)" />
11311 </ItemGroup>
11312 <!-- If there are any references from a NuGet package that match a simple reference which
11313 would resolve to a framework assembly, then update the NuGet references to use the
11314 simple name as the ItemSpec. This will prevent the VS project system from marking
11315 a reference with a warning. See https://github.com/dotnet/sdk/issues/1499 -->
11316 <JoinItems Left="@(ResolvedCompileFileDefinitions)" LeftKey="FileName" LeftMetadata="*" Right="@(Reference)" RightKey="" RightMetadata="*">
11317 <Output TaskParameter="JoinResult" ItemName="_JoinedResolvedCompileFileDefinitions" />
11318 </JoinItems>
11319 <ItemGroup>
11320 <Reference Remove="@(_JoinedResolvedCompileFileDefinitions)" />
11321 <Reference Include="@(_JoinedResolvedCompileFileDefinitions)" />
11322 </ItemGroup>
11323 <ItemGroup>
11324 <ResolvedCompileFileDefinitionsToAdd Include="@(ResolvedCompileFileDefinitions)" />
11325 <ResolvedCompileFileDefinitionsToAdd Remove="%(_JoinedResolvedCompileFileDefinitions.HintPath)" />
11326 <!-- Add the references we computed -->
11327 <Reference Include="@(ResolvedCompileFileDefinitionsToAdd)" />
11328 </ItemGroup>
11329 </Target>
11330 <!--
11331 ============================================================
11332 ProjectReference Targets: Include transitive project references before
11333 ResolveProjectReferences is called
11334 - IncludeTransitiveProjectReferences
11335 ============================================================
11336 -->
11337 <Target Name="IncludeTransitiveProjectReferences" DependsOnTargets="ResolvePackageAssets" Condition="'$(DisableTransitiveProjectReferences)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11338 <ItemGroup>
11339 <ProjectReference Include="@(_TransitiveProjectReferences)" />
11340 </ItemGroup>
11341 </Target>
11342 <!--
11343 ============================================================
11344 Analyzer Targets: For populating Analyzers based on lock file
11345 - ResolveLockFileAnalyzers
11346 ============================================================
11347 -->
11348 <Target Name="ResolveLockFileAnalyzers" DependsOnTargets="ResolvePackageAssets" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11349 <ItemGroup>
11350 <Analyzer Include="@(ResolvedAnalyzers)" />
11351 </ItemGroup>
11352 </Target>
11353 <!--
11354 ============================================================
11355 ResolveLockFileCopyLocalFiles
11356 Resolves the files from the assets file to copy for build and publish.
11357 ============================================================
11358 -->
11359 <Target Name="ResolveLockFileCopyLocalFiles" DependsOnTargets="ResolvePackageAssets;RunProduceContentAssets" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11360 <ItemGroup>
11361 <_ResolvedCopyLocalBuildAssets Include="@(RuntimeCopyLocalItems)" Condition="'%(RuntimeCopyLocalItems.CopyLocal)' == 'true'" />
11362 <_ResolvedCopyLocalBuildAssets Include="@(ResourceCopyLocalItems)" Condition="'%(ResourceCopyLocalItems.CopyLocal)' == 'true'" />
11363 <!-- Always exclude the apphost executable from copy local assets; we will copy the generated apphost instead. -->
11364 <_ResolvedCopyLocalBuildAssets Include="@(NativeCopyLocalItems)" Exclude="@(_NativeRestoredAppHostNETCore)" Condition="'%(NativeCopyLocalItems.CopyLocal)' == 'true'" />
11365 <_ResolvedCopyLocalBuildAssets Include="@(RuntimeTargetsCopyLocalItems)" Condition="'%(RuntimeTargetsCopyLocalItems.CopyLocal)' == 'true'" />
11366 <ReferenceCopyLocalPaths Include="@(_ContentCopyLocalItems)" />
11367 <ReferenceCopyLocalPaths Include="@(_ResolvedCopyLocalBuildAssets)" Condition="'$(CopyLocalLockFileAssemblies)' == 'true'" />
11368 </ItemGroup>
11369 </Target>
11370 <!-- Override EnsureNETCoreAppRuntime target which is included in Microsoft.NETCore.App NuGet package for
11371 .NET Core 2.x. It no longer works with the .NET 5.0.100 SDK, as the ParentTarget metadata has changed format
11372 but the targets in the NuGet package still expect the old format.
11373
11374 So here we just override that target. We have logic in the SDK that covers this scenario and generates
11375 NETSDK1056. -->
11376 <Target Name="EnsureNETCoreAppRuntime" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11377 <!--
11378============================================================================================================================================
11379 </Import>
11380
11381C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
11382============================================================================================================================================
11383-->
11384 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.PackageDependencyResolutionStubs.targets" Condition="Exists('$(MSBuildThisFileDirectory)Microsoft.PackageDependencyResolutionStubs.targets') and ('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true')" />-->
11385 <!--</ImportGroup>-->
11386 <!--
11387============================================================================================================================================
11388 <Import Project="Microsoft.NET.Sdk.DefaultItems.targets">
11389
11390C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets
11391============================================================================================================================================
11392-->
11393 <!--
11394***********************************************************************************************
11395Microsoft.NET.Sdk.DefaultItems.targets
11396
11397WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
11398 created a backup copy. Incorrect changes to this file will make it
11399 impossible to load or build your projects from the command-line or the IDE.
11400
11401Copyright (c) .NET Foundation. All rights reserved.
11402***********************************************************************************************
11403-->
11404 <!-- Don't get the default item globs by default when the flag is not set. -->
11405 <PropertyGroup Condition="'$(UsingNETSdkDefaults)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11406 <EnableDefaultItems Condition=" '$(EnableDefaultItems)' == '' ">true</EnableDefaultItems>
11407 <EnableDefaultCompileItems Condition=" '$(EnableDefaultCompileItems)' == '' ">true</EnableDefaultCompileItems>
11408 <EnableDefaultEmbeddedResourceItems Condition=" '$(EnableDefaultEmbeddedResourceItems)' == '' ">true</EnableDefaultEmbeddedResourceItems>
11409 <EnableDefaultNoneItems Condition=" '$(EnableDefaultNoneItems)' == '' ">true</EnableDefaultNoneItems>
11410 </PropertyGroup>
11411 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11412 <!-- Set DefaultItemExcludes property for items that should be excluded from the default Compile, etc items.
11413 This is in the .targets because it needs to come after the final BaseOutputPath has been evaluated. -->
11414 <!-- bin folder, by default -->
11415 <DefaultItemExcludes>$(DefaultItemExcludes);$(BaseOutputPath)/**</DefaultItemExcludes>
11416 <!-- obj folder, by default -->
11417 <DefaultItemExcludes>$(DefaultItemExcludes);$(BaseIntermediateOutputPath)/**</DefaultItemExcludes>
11418 <!-- Various files that should generally always be ignored -->
11419 <DefaultItemExcludes>$(DefaultItemExcludes);**/*.user</DefaultItemExcludes>
11420 <DefaultItemExcludes>$(DefaultItemExcludes);**/*.*proj</DefaultItemExcludes>
11421 <DefaultItemExcludes>$(DefaultItemExcludes);**/*.sln</DefaultItemExcludes>
11422 <DefaultItemExcludes>$(DefaultItemExcludes);**/*.vssscc</DefaultItemExcludes>
11423 <!-- WARNING: This pattern is there to ignore folders such as .git and .vs, but it will also match items included with a
11424 relative path outside the project folder (for example "..\Shared\Shared.cs"). So be sure only to apply it to items
11425 that are in the project folder. -->
11426 <DefaultExcludesInProjectFolder>$(DefaultItemExcludesInProjectFolder);**/.*/**</DefaultExcludesInProjectFolder>
11427 </PropertyGroup>
11428 <!-- Set the default versions of the NETStandard.Library or Microsoft.NETCore.App packages to reference.
11429 The implicit package references themselves are defined in Microsoft.NET.Sdk.props, so that they can be overridden
11430 in the project file. -->
11431 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard' And '$(_TargetFrameworkVersionWithoutV)' &lt; '2.1'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11432 <!-- 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
11433 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
11434 produced, so we will roll forward to the latest version. -->
11435 <NETStandardImplicitPackageVersion Condition="'$(NETStandardImplicitPackageVersion)' =='' And '$(_TargetFrameworkVersionWithoutV)' &lt; '2.0'">1.6.1</NETStandardImplicitPackageVersion>
11436 <!-- Default to use the latest stable 2.0.x release. -->
11437 <NETStandardImplicitPackageVersion Condition="'$(NETStandardImplicitPackageVersion)' ==''">2.0.3</NETStandardImplicitPackageVersion>
11438 </PropertyGroup>
11439 <!--
11440============================================================================================================================================
11441 <Import Project="Microsoft.NET.Sdk.DefaultItems.Shared.targets">
11442
11443C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.Shared.targets
11444============================================================================================================================================
11445-->
11446 <!--
11447***********************************************************************************************
11448Microsoft.NET.Sdk.DefaultItems.Shared.targets: Properties and targets pulled from Microsoft.NET.Sdk.DefaultItems.targets
11449 to be shared by the WAP project system
11450
11451
11452WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
11453 created a backup copy. Incorrect changes to this file will make it
11454 impossible to load or build your projects from the command-line or the IDE.
11455
11456Copyright (c) .NET Foundation. All rights reserved.
11457***********************************************************************************************
11458-->
11459 <!--
11460 Determine the version (including patch) of .NET Core to target.
11461
11462 When targeting .NET Core, the TargetFramework is used to specify the major and minor version of the runtime to use. By default,
11463 the patch version is inferred. The general logic is that self-contained apps will target the latest patch that the SDK
11464 knows about, while framework-dependent apps will target the ".0" patch (and roll forward to the latest patch installed at
11465 runtime).
11466
11467 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
11468 with previous releases that bumped the self-contained and framework-dependent versions together.
11469
11470 The TargetLatestRuntimePatch property can be set to true or false to explicitly opt in or out of the logic to roll forward
11471 to the latest patch, regardless of whether the app is self-contained or framework-dependent.
11472
11473 The RuntimeFrameworkVersion is where the actual version of the .NET Core runtime to target can be set. If set, it will be
11474 used in the implicit PackageReference to Microsoft.NETCore.App.
11475
11476 The framework version that is written to the runtimeconfig.json file is based on the actual resolved package version
11477 of Microsoft.NETCore.App. This is to allow floating the verion number (ie the RuntimeFrameworkVersion could be set to
11478 "2.0-*".
11479
11480 -->
11481 <PropertyGroup Condition="'$(TargetLatestRuntimePatch)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11482 <TargetLatestRuntimePatch Condition="'$(SelfContained)' == 'true' ">true</TargetLatestRuntimePatch>
11483 <TargetLatestRuntimePatch Condition="'$(SelfContained)' != 'true' ">false</TargetLatestRuntimePatch>
11484 <_TargetLatestRuntimePatchIsDefault>true</_TargetLatestRuntimePatchIsDefault>
11485 </PropertyGroup>
11486 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(DisableImplicitFrameworkReferences)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11487 <VerifyMatchingImplicitPackageVersion Condition="'$(VerifyMatchingImplicitPackageVersion)' == ''">true</VerifyMatchingImplicitPackageVersion>
11488 </PropertyGroup>
11489 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11490 <!-- Set implicit metadata on ASP.NET package references -->
11491 <PackageReference Update="Microsoft.AspNetCore.App">
11492 <PrivateAssets Condition="'%(PackageReference.Version)' == ''">all</PrivateAssets>
11493 <Publish Condition="'%(PackageReference.Version)' == ''">true</Publish>
11494 </PackageReference>
11495 <PackageReference Update="Microsoft.AspNetCore.All">
11496 <PrivateAssets Condition="'%(PackageReference.Version)' == ''">all</PrivateAssets>
11497 <Publish Condition="'%(PackageReference.Version)' == ''">true</Publish>
11498 </PackageReference>
11499 <!-- Allow RuntimeFrameworkVersion to be used to explicitly specify the version of Microsoft.NETCore.App -->
11500 <PackageReference Update="Microsoft.NETCore.App" Version="$(RuntimeFrameworkVersion)" Condition="'$(RuntimeFrameworkVersion)' != ''" AllowExplicitVersion="true" />
11501 <!-- If implicit PackageReferences are disabled, then don't warn about explicit versions at all -->
11502 <PackageReference Update="@(PackageReference)" Condition="'$(DisableImplicitFrameworkReferences)' == 'true'" AllowExplicitVersion="true" />
11503 </ItemGroup>
11504 <UsingTask TaskName="ApplyImplicitVersions" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11505 <UsingTask TaskName="CheckIfPackageReferenceShouldBeFrameworkReference" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11506 <Target Name="UpdateAspNetToFrameworkReference" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11507 <CheckIfPackageReferenceShouldBeFrameworkReference PackageReferences="@(PackageReference)" FrameworkReferences="@(FrameworkReference)" PackageReferenceToReplace="Microsoft.AspNetCore.All" FrameworkReferenceToUse="Microsoft.AspNetCore.App">
11508 <Output TaskParameter="ShouldRemovePackageReference" PropertyName="_ShouldRemoveAspNetCoreAll" />
11509 </CheckIfPackageReferenceShouldBeFrameworkReference>
11510 <!-- NETSDK1079: The Microsoft.AspNetCore.All package is not supported when targeting .NET Core 3.0 or higher.
11511 A FrameworkReference to Microsoft.AspNetCore.App should be used instead, and will be implicitly included by Microsoft.NET.Sdk.Web. -->
11512 <NETSdkError Condition="'$(_ShouldRemoveAspNetCoreAll)' == 'true'" ResourceName="AspNetCoreAllNotSupported" />
11513 <CheckIfPackageReferenceShouldBeFrameworkReference PackageReferences="@(PackageReference)" FrameworkReferences="@(FrameworkReference)" PackageReferenceToReplace="Microsoft.AspNetCore.App" FrameworkReferenceToUse="Microsoft.AspNetCore.App">
11514 <Output TaskParameter="ShouldRemovePackageReference" PropertyName="_ShouldRemoveAspNetCoreApp" />
11515 <Output TaskParameter="ShouldAddFrameworkReference" PropertyName="_ShouldAddAspNetCoreAppFrameworkReference" />
11516 </CheckIfPackageReferenceShouldBeFrameworkReference>
11517 <ItemGroup>
11518 <PackageReference Remove="Microsoft.AspNetCore.App" Condition="'$(_ShouldRemoveAspNetCoreApp)' == 'true'" />
11519 <FrameworkReference Include="Microsoft.AspNetCore.App" Condition="'$(_ShouldAddAspNetCoreAppFrameworkReference)' == 'true'" />
11520 </ItemGroup>
11521 <!-- NETSDK1080: A PackageReference to Microsoft.AspNetCore.App is not necessary when targeting .NET Core 3.0 or higher.
11522 If Microsoft.NET.Sdk.Web is used, the shared framework will be referenced automatically. Otherwise, the PackageReference
11523 should be replaced with a FrameworkReference. -->
11524 <NETSdkWarning Condition="'$(_ShouldRemoveAspNetCoreApp)' == 'true'" ResourceName="AspNetCoreUsesFrameworkReference" />
11525 </Target>
11526 <Target Name="ApplyImplicitVersions" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CollectPackageReferences;ProcessFrameworkReferences" DependsOnTargets="UpdateAspNetToFrameworkReference;CheckForImplicitPackageReferenceOverrides" Condition="'@(PackageReference)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11527 <ApplyImplicitVersions TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" TargetLatestRuntimePatch="$(TargetLatestRuntimePatch)" PackageReferences="@(PackageReference)" ImplicitPackageReferenceVersions="@(ImplicitPackageReferenceVersion)">
11528 <Output TaskParameter="PackageReferencesToUpdate" ItemName="PackageReferenceToUpdate" />
11529 <Output TaskParameter="SdkBuildWarnings" ItemName="SdkBuildWarning" />
11530 </ApplyImplicitVersions>
11531 <ItemGroup>
11532 <PackageReference Remove="@(PackageReferenceToUpdate)" />
11533 <PackageReference Include="@(PackageReferenceToUpdate)" />
11534 </ItemGroup>
11535 <ItemGroup>
11536 <!-- Support using a patch version in the TargetFramework, ie netcoreapp1.1.1
11537 Note that this isn't officially supported, but it worked in the past so
11538 this should prevent breaking it. -->
11539 <PackageReference Condition="'%(PackageReference.Identity)' == 'Microsoft.NETCore.App'">
11540 <Version Condition="'%(PackageReference.Version)' == ''">$(_TargetFrameworkVersionWithoutV)</Version>
11541 </PackageReference>
11542 </ItemGroup>
11543 </Target>
11544 <UsingTask TaskName="CheckForImplicitPackageReferenceOverrides" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11545 <!-- Remove package references with metadata IsImplicitlyDefined = true, if there are other PackageReference items with the same identity -->
11546 <Target Name="CheckForImplicitPackageReferenceOverrides" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CollectPackageReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11547 <PropertyGroup>
11548 <ImplicitPackageReferenceInformationLink>https://aka.ms/sdkimplicitrefs</ImplicitPackageReferenceInformationLink>
11549 </PropertyGroup>
11550 <CheckForImplicitPackageReferenceOverrides PackageReferenceItems="@(PackageReference)" MoreInformationLink="$(ImplicitPackageReferenceInformationLink)">
11551 <Output TaskParameter="ItemsToRemove" ItemName="_PackageReferenceToRemove" />
11552 <Output TaskParameter="ItemsToAdd" ItemName="_PackageReferenceToAdd" />
11553 </CheckForImplicitPackageReferenceOverrides>
11554 <ItemGroup>
11555 <!-- Remove and add the PackageReference items according to the output from the task -->
11556 <PackageReference Remove="@(_PackageReferenceToRemove)" />
11557 <PackageReference Include="@(_PackageReferenceToAdd)" />
11558 <!-- Clear items for other targets to use -->
11559 <_PackageReferenceToAdd Remove="@(_PackageReferenceToAdd)" />
11560 </ItemGroup>
11561 <!-- If any implicit package references were overridden, then don't check that RuntimeFrameworkVersion matches the package version -->
11562 <PropertyGroup Condition="'@(_PackageReferenceToRemove)' != ''">
11563 <VerifyMatchingImplicitPackageVersion>false</VerifyMatchingImplicitPackageVersion>
11564 </PropertyGroup>
11565 </Target>
11566 <UsingTask TaskName="CheckForDuplicateItems" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11567 <Target Name="CheckForDuplicateItems" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CoreCompile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11568 <PropertyGroup>
11569 <DefaultItemsMoreInformationLink>https://aka.ms/sdkimplicititems</DefaultItemsMoreInformationLink>
11570 </PropertyGroup>
11571 <!-- NOTE for design-time builds we continue on errors and remove the duplicate items.
11572 This is because otherwise there won't be any references to pass to the compiler, leading to design-time
11573 compilation errors for every API that is used in the project. Amidst all the compile errors, it would
11574 be easy to miss the duplicate items error which is the real source of the problem. -->
11575 <CheckForDuplicateItems Items="@(Compile)" ItemName="Compile" DefaultItemsEnabled="$(EnableDefaultItems)" DefaultItemsOfThisTypeEnabled="$(EnableDefaultCompileItems)" PropertyNameToDisableDefaultItems="EnableDefaultCompileItems" MoreInformationLink="$(DefaultItemsMoreInformationLink)" ContinueOnError="$(ContinueOnError)">
11576 <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedCompileItems" />
11577 </CheckForDuplicateItems>
11578 <CheckForDuplicateItems Items="@(EmbeddedResource)" ItemName="EmbeddedResource" DefaultItemsEnabled="$(EnableDefaultItems)" DefaultItemsOfThisTypeEnabled="$(EnableDefaultEmbeddedResourceItems)" PropertyNameToDisableDefaultItems="EnableDefaultEmbeddedResourceItems" MoreInformationLink="$(DefaultItemsMoreInformationLink)" ContinueOnError="$(ContinueOnError)">
11579 <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedEmbeddedResourceItems" />
11580 </CheckForDuplicateItems>
11581 <!-- Default content items are enabled by the Web SDK, not the .NET SDK, but we check it here for simplicity -->
11582 <CheckForDuplicateItems Items="@(Content)" ItemName="Content" DefaultItemsEnabled="$(EnableDefaultItems)" DefaultItemsOfThisTypeEnabled="$(EnableDefaultContentItems)" PropertyNameToDisableDefaultItems="EnableDefaultContentItems" MoreInformationLink="$(DefaultItemsMoreInformationLink)" ContinueOnError="$(ContinueOnError)">
11583 <Output TaskParameter="DeduplicatedItems" ItemName="DeduplicatedContentItems" />
11584 </CheckForDuplicateItems>
11585 <ItemGroup Condition="'$(DesignTimeBuild)' == 'true' And '@(DeduplicatedCompileItems)' != ''">
11586 <Compile Remove="@(Compile)" />
11587 <Compile Include="@(DeduplicatedCompileItems)" />
11588 </ItemGroup>
11589 <ItemGroup Condition="'$(DesignTimeBuild)' == 'true' And '@(DeduplicatedEmbeddedResourceItems)' != ''">
11590 <EmbeddedResource Remove="@(EmbeddedResource)" />
11591 <EmbeddedResource Include="@(DeduplicatedEmbeddedResourceItems)" />
11592 </ItemGroup>
11593 <ItemGroup Condition="'$(DesignTimeBuild)' == 'true' And '@(DeduplicatedContentItems)' != ''">
11594 <Content Remove="@(Content)" />
11595 <Content Include="@(DeduplicatedContentItems)" />
11596 </ItemGroup>
11597 </Target>
11598 <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">
11599 <ItemGroup>
11600 <_WindowsDesktopTransitiveFrameworkReference Include="@(TransitiveFrameworkReference)" Condition="'%(Identity)' == 'Microsoft.WindowsDesktop.App' Or&#xD;&#xA; '%(Identity)' == 'Microsoft.WindowsDesktop.App.WPF' Or&#xD;&#xA; '%(Identity)' == 'Microsoft.WindowsDesktop.App.WindowsForms'" />
11601 </ItemGroup>
11602 <NetSdkError Condition="'@(_WindowsDesktopTransitiveFrameworkReference)' != ''" ResourceName="WindowsDesktopTargetPlatformMustBeWindows" />
11603 </Target>
11604 <!--
11605============================================================================================================================================
11606 </Import>
11607
11608C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets
11609============================================================================================================================================
11610-->
11611 <!-- This target runs before build but not before restore, to avoid duplicating these warnings
11612 if building with an implicit restore. -->
11613 <Target Name="WarnForExplicitVersions" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" DependsOnTargets="ApplyImplicitVersions" Condition="'@(SdkBuildWarning)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11614 <NetSdkWarning FormattedText="%(SdkBuildWarning.Identity)" />
11615 </Target>
11616 <!--
11617 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.
11618 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
11619 the items will appear in the Solution Explorer under the folder specified by LinkBase.
11620 -->
11621 <ItemGroup Condition="'$(SetLinkMetadataAutomatically)' != 'false'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11622 <Compile Update="@(Compile)">
11623 <!-- First, add a trailing slash to the LinkBase metadata if necessary. This allows us to use the same value
11624 for the Link metadata whether or not LinkBase metadata is set: %(LinkBase)%(RecursiveDir)%(Filename)%(Extension)
11625
11626 Note that RecursiveDir already includes the trailing slash.
11627 -->
11628 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
11629 <!-- 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.
11630 Check whether the item was defined in a shared project by checking whether the extension of the defining project was .projitems.
11631 Check whether an item is inside the project directory by seeing if the FullPath starts with EnsureTrailingSlash(MSBuildProjectDirectory)
11632 The FullPath and the MSBuildProjectDirectory will both already be normalized full paths.
11633 The call to [MSBuild]::ValueOrDefault() is there in order to allow calling StartsWith on the FullPath value, since it's
11634 not possible to call a string method on a metadata item directly. The intrinsic ValueOrDefault() will be more
11635 performant than calling String.Copy(), which has been used for this in other contexts, but actually makes a copy
11636 of the string data.
11637 -->
11638 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
11639 </Compile>
11640 <AdditionalFiles Update="@(AdditionalFiles)">
11641 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
11642 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
11643 </AdditionalFiles>
11644 <None Update="@(None)">
11645 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
11646 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
11647 </None>
11648 <Content Update="@(Content)">
11649 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
11650 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
11651 </Content>
11652 <EmbeddedResource Update="@(EmbeddedResource)">
11653 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
11654 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
11655 </EmbeddedResource>
11656 <Page Update="@(Page)">
11657 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
11658 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
11659 </Page>
11660 <Resource Update="@(Resource)">
11661 <LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
11662 <Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
11663 </Resource>
11664 </ItemGroup>
11665 <Target Name="_CheckForFailedSDKResolution" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(SdkResolverHonoredGlobalJson)' == 'false'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11666 <NetSdkError ResourceName="GlobalJsonSDKResolutionFailed" FormatArguments="$(SdkResolverGlobalJsonPath)" />
11667 </Target>
11668 <Target Name="_WarnWhenUsingNET6AndVSPriorTo17" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="$([MSBuild]::VersionLessThan($(VisualStudioVersion), '17.0')) and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '6.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11669 <NetSdkWarning ResourceName="Net6NotCompatibleWithDev16" />
11670 </Target>
11671 <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">
11672 <NETSdkError Condition="'$(TargetPlatformIdentifier)' != 'Windows'" ResourceName="WindowsDesktopTargetPlatformMustBeWindows" />
11673 </Target>
11674 <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">
11675 <NETSdkWarning ResourceName="UnnecessaryWindowsDesktopSDK" />
11676 </Target>
11677 <!--
11678============================================================================================================================================
11679 </Import>
11680
11681C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
11682============================================================================================================================================
11683-->
11684 <!--
11685============================================================================================================================================
11686 <Import Project="Microsoft.NET.Sdk.FrameworkReferenceResolution.targets">
11687
11688C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets
11689============================================================================================================================================
11690-->
11691 <!--
11692***********************************************************************************************
11693Microsoft.NET.Sdk.FrameworkReferenceResolution.targets
11694
11695WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
11696 created a backup copy. Incorrect changes to this file will make it
11697 impossible to load or build your projects from the command-line or the IDE.
11698
11699Copyright (c) .NET Foundation. All rights reserved.
11700***********************************************************************************************
11701-->
11702 <PropertyGroup>
11703 <ResolveAssemblyReferencesDependsOn>
11704 $(ResolveAssemblyReferencesDependsOn);
11705 ResolveTargetingPackAssets;
11706 </ResolveAssemblyReferencesDependsOn>
11707 </PropertyGroup>
11708 <UsingTask TaskName="CreateWindowsSdkKnownFrameworkReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
11709 <UsingTask TaskName="CheckForDuplicateFrameworkReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
11710 <UsingTask TaskName="ProcessFrameworkReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
11711 <UsingTask TaskName="ResolveAppHosts" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
11712 <Target Name="AddWindowsSdkKnownFrameworkReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(TargetPlatformIdentifier)' == 'Windows'">
11713 <!-- Remove Windows SDK KnownFrameworkReference items from BundledVersions.props (they will eventually be removed, but that is in a different repo so
11714 we can't do the change atomically -->
11715 <ItemGroup>
11716 <KnownFrameworkReference Remove="Microsoft.Windows.SDK.NET.Ref" />
11717 </ItemGroup>
11718 <!-- Generate KnownFrameworkReference items for the Windows SDK pack -->
11719 <CreateWindowsSdkKnownFrameworkReferences UseWindowsSDKPreview="$(UseWindowsSDKPreview)" WindowsSdkPackageVersion="$(WindowsSdkPackageVersion)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" TargetPlatformVersion="$(TargetPlatformVersion)" WindowsSdkSupportedTargetPlatformVersions="@(WindowsSdkSupportedTargetPlatformVersion)">
11720 <Output TaskParameter="KnownFrameworkReferences" ItemName="KnownFrameworkReference" />
11721 </CreateWindowsSdkKnownFrameworkReferences>
11722 </Target>
11723 <!--
11724 ============================================================
11725 ProcessFrameworkReferences
11726
11727 Matches FrameworkReference items with KnownFrameworkReference items to determine the corresponding
11728 targeting pack and if necessary the runtime pack. If the packs aren't available in the NetCoreTargetingPackRoot
11729 folder, then generate PackageDownload items in order to download the packs during restore.
11730
11731 Also resolves app host packs in a similar fashion, and checks for duplicate FrameworkReference items.
11732 ============================================================
11733 -->
11734 <Target Name="ProcessFrameworkReferences" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CollectPackageReferences;CollectPackageDownloads" DependsOnTargets="AddWindowsSdkKnownFrameworkReferences" Condition="'@(FrameworkReference)' != ''">
11735 <CheckForDuplicateFrameworkReferences FrameworkReferences="@(FrameworkReference)" MoreInformationLink="https://aka.ms/sdkimplicitrefs">
11736 <Output TaskParameter="ItemsToRemove" ItemName="_FrameworkReferenceToRemove" />
11737 <Output TaskParameter="ItemsToAdd" ItemName="_FrameworkReferenceToAdd" />
11738 </CheckForDuplicateFrameworkReferences>
11739 <ItemGroup>
11740 <FrameworkReference Remove="@(_FrameworkReferenceToRemove)" />
11741 <FrameworkReference Include="@(_FrameworkReferenceToAdd)" />
11742 </ItemGroup>
11743 <PropertyGroup>
11744 <EnableTargetingPackDownload Condition="'$(EnableTargetingPackDownload)' == ''">true</EnableTargetingPackDownload>
11745 <EnableRuntimePackDownload Condition="'$(EnableRuntimePackDownload)' == ''">true</EnableRuntimePackDownload>
11746 </PropertyGroup>
11747 <PropertyGroup>
11748 <_NuGetRestoreSupported Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true')">false</_NuGetRestoreSupported>
11749 </PropertyGroup>
11750 <ItemGroup>
11751 <_PackAsToolShimRuntimeIdentifiers Condition="@(_PackAsToolShimRuntimeIdentifiers) ==''" Include="$(PackAsToolShimRuntimeIdentifiers)" />
11752 </ItemGroup>
11753 <ProcessFrameworkReferences FrameworkReferences="@(FrameworkReference)" KnownFrameworkReferences="@(KnownFrameworkReference)" KnownRuntimePacks="@(KnownRuntimePack)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetingPackRoot="$(NetCoreTargetingPackRoot)" RuntimeGraphPath="$(BundledRuntimeIdentifierGraphFile)" SelfContained="$(SelfContained)" ReadyToRunEnabled="$(PublishReadyToRun)" ReadyToRunUseCrossgen2="$(PublishReadyToRunUseCrossgen2)" RuntimeIdentifier="$(RuntimeIdentifier)" RuntimeIdentifiers="$(RuntimeIdentifiers)" RuntimeFrameworkVersion="$(RuntimeFrameworkVersion)" TargetLatestRuntimePatch="$(TargetLatestRuntimePatch)" TargetLatestRuntimePatchIsDefault="$(_TargetLatestRuntimePatchIsDefault)" EnableTargetingPackDownload="$(EnableTargetingPackDownload)" EnableRuntimePackDownload="$(EnableRuntimePackDownload)" KnownCrossgen2Packs="@(KnownCrossgen2Pack)" NETCoreSdkRuntimeIdentifier="$(NETCoreSdkRuntimeIdentifier)" NetCoreRoot="$(NetCoreRoot)" NETCoreSdkVersion="$(NETCoreSdkVersion)">
11754 <Output TaskParameter="PackagesToDownload" ItemName="_PackageToDownload" />
11755 <Output TaskParameter="RuntimeFrameworks" ItemName="RuntimeFramework" />
11756 <Output TaskParameter="TargetingPacks" ItemName="TargetingPack" />
11757 <Output TaskParameter="RuntimePacks" ItemName="RuntimePack" />
11758 <Output TaskParameter="Crossgen2Packs" ItemName="Crossgen2Pack" />
11759 <Output TaskParameter="UnavailableRuntimePacks" ItemName="UnavailableRuntimePack" />
11760 </ProcessFrameworkReferences>
11761 <PropertyGroup Condition="'$(AppHostRuntimeIdentifier)' == '' And&#xD;&#xA; ('$(UseAppHost)' == 'true' Or '$(EnableComHosting)' == 'true' Or '$(UseIJWHost)' == 'true')">
11762 <AppHostRuntimeIdentifier>$(RuntimeIdentifier)</AppHostRuntimeIdentifier>
11763 <AppHostRuntimeIdentifier Condition="'$(AppHostRuntimeIdentifier)' == ''">$(DefaultAppHostRuntimeIdentifier)</AppHostRuntimeIdentifier>
11764 </PropertyGroup>
11765 <ResolveAppHosts TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" TargetingPackRoot="$(NetCoreTargetingPackRoot)" AppHostRuntimeIdentifier="$(AppHostRuntimeIdentifier)" OtherRuntimeIdentifiers="$(RuntimeIdentifiers)" RuntimeFrameworkVersion="$(RuntimeFrameworkVersion)" PackAsToolShimRuntimeIdentifiers="@(_PackAsToolShimRuntimeIdentifiers)" DotNetAppHostExecutableNameWithoutExtension="$(_DotNetAppHostExecutableNameWithoutExtension)" DotNetSingleFileHostExecutableNameWithoutExtension="$(_DotNetSingleFileHostExecutableNameWithoutExtension)" DotNetComHostLibraryNameWithoutExtension="$(_DotNetComHostLibraryNameWithoutExtension)" DotNetIjwHostLibraryNameWithoutExtension="$(_DotNetIjwHostLibraryNameWithoutExtension)" RuntimeGraphPath="$(BundledRuntimeIdentifierGraphFile)" KnownAppHostPacks="@(KnownAppHostPack)" NuGetRestoreSupported="$(_NuGetRestoreSupported)" NetCoreTargetingPackRoot="$(NetCoreTargetingPackRoot)">
11766 <Output TaskParameter="PackagesToDownload" ItemName="_PackageToDownload" />
11767 <Output TaskParameter="AppHost" ItemName="AppHostPack" />
11768 <Output TaskParameter="SingleFileHost" ItemName="SingleFileHostPack" />
11769 <Output TaskParameter="ComHost" ItemName="ComHostPack" />
11770 <Output TaskParameter="IjwHost" ItemName="IjwHostPack" />
11771 <Output TaskParameter="PackAsToolShimAppHostPacks" ItemName="PackAsToolShimAppHostPack" />
11772 </ResolveAppHosts>
11773 <PropertyGroup Condition="'$(UsePackageDownload)' == ''">
11774 <UsePackageDownload Condition="'$(MSBuildRuntimeType)' == 'Core'">true</UsePackageDownload>
11775 <UsePackageDownload Condition="'$(PackageDownloadSupported)' == 'true'">true</UsePackageDownload>
11776 <UsePackageDownload Condition="'$(UsePackageDownload)' == ''">false</UsePackageDownload>
11777 </PropertyGroup>
11778 <ItemGroup Condition="'$(UsePackageDownload)' == 'true'">
11779 <PackageDownload Include="@(_PackageToDownload)">
11780 <Version>[%(_PackageToDownload.Version)]</Version>
11781 </PackageDownload>
11782 </ItemGroup>
11783 <ItemGroup Condition="'$(UsePackageDownload)' != 'true'">
11784 <PackageReference Include="@(_PackageToDownload)" IsImplicitlyDefined="true" PrivateAssets="all" ExcludeAssets="all" />
11785 </ItemGroup>
11786 </Target>
11787 <!--
11788 ============================================================
11789 AddTransitiveFrameworkReferences
11790
11791 Adds FrameworkReference items for shared frameworks which weren't directly referenced,
11792 but were referenced transitively via a project or package reference. NuGet writes these
11793 to the assets file, and the ResolvePackageAssets target adds them to the TransitiveFrameworkReference
11794 item. Here, we add them to FrameworkReference if they aren't already referenced.
11795 We add a transitive attribute to the FrameworkReferences so NuGet can filter them out from CollectFrameworkReferences.
11796 ============================================================
11797 -->
11798 <Target Name="AddTransitiveFrameworkReferences" AfterTargets="ResolvePackageAssets" Condition="'@(TransitiveFrameworkReference)' != ''">
11799 <ItemGroup>
11800 <FrameworkReference Include="@(TransitiveFrameworkReference)" Exclude="@(FrameworkReference)" IsTransitiveFrameworkReference="true" />
11801 </ItemGroup>
11802 </Target>
11803 <UsingTask TaskName="ResolveFrameworkReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
11804 <!--
11805 ============================================================
11806 ResolveFrameworkReferences
11807
11808 Resolves paths to various FrameworkReference-related items (targeting packs, runtime packs,
11809 app host packs). Some of these may already have had the path set if they were in the
11810 NetCoreTargetingPackRoot folder. Others which were downloaded as NuGet packages will
11811 need to have the path set here.
11812 ============================================================
11813 -->
11814 <Target Name="ResolveFrameworkReferences" DependsOnTargets="ProcessFrameworkReferences;ResolvePackageAssets" Condition="'@(FrameworkReference)' != ''" Returns="@(ResolvedFrameworkReference)">
11815 <GetPackageDirectory Items="@(TargetingPack)" PackageFolders="@(AssetsFilePackageFolder)">
11816 <Output TaskParameter="Output" ItemName="ResolvedTargetingPack" />
11817 </GetPackageDirectory>
11818 <ItemGroup>
11819 <ResolvedTargetingPack Condition="'%(ResolvedTargetingPack.Path)' == '' and '%(ResolvedTargetingPack.PackageDirectory)' != ''">
11820 <Path>%(ResolvedTargetingPack.PackageDirectory)</Path>
11821 </ResolvedTargetingPack>
11822 </ItemGroup>
11823 <GetPackageDirectory Items="@(AppHostPack)" PackageFolders="@(AssetsFilePackageFolder)">
11824 <Output TaskParameter="Output" ItemName="ResolvedAppHostPack" />
11825 </GetPackageDirectory>
11826 <GetPackageDirectory Items="@(SingleFileHostPack)" PackageFolders="@(AssetsFilePackageFolder)">
11827 <Output TaskParameter="Output" ItemName="ResolvedSingleFileHostPack" />
11828 </GetPackageDirectory>
11829 <GetPackageDirectory Items="@(Crossgen2Pack)" PackageFolders="@(AssetsFilePackageFolder)">
11830 <Output TaskParameter="Output" ItemName="ResolvedCrossgen2Pack" />
11831 </GetPackageDirectory>
11832 <GetPackageDirectory Items="@(PackAsToolShimAppHostPack)" PackageFolders="@(AssetsFilePackageFolder)">
11833 <Output TaskParameter="Output" ItemName="_ApphostsForShimRuntimeIdentifiersGetPackageDirectory" />
11834 </GetPackageDirectory>
11835 <GetPackageDirectory Items="@(ComHostPack)" PackageFolders="@(AssetsFilePackageFolder)">
11836 <Output TaskParameter="Output" ItemName="ResolvedComHostPack" />
11837 </GetPackageDirectory>
11838 <GetPackageDirectory Items="@(IjwHostPack)" PackageFolders="@(AssetsFilePackageFolder)">
11839 <Output TaskParameter="Output" ItemName="ResolvedIjwHostPack" />
11840 </GetPackageDirectory>
11841 <ItemGroup>
11842 <_ApphostsForShimRuntimeIdentifiers Include="%(_ApphostsForShimRuntimeIdentifiersGetPackageDirectory.PackageDirectory)\%(_ApphostsForShimRuntimeIdentifiersGetPackageDirectory.PathInPackage)">
11843 <RuntimeIdentifier>%(_ApphostsForShimRuntimeIdentifiersGetPackageDirectory.RuntimeIdentifier)</RuntimeIdentifier>
11844 </_ApphostsForShimRuntimeIdentifiers>
11845 </ItemGroup>
11846 <ItemGroup>
11847 <ResolvedAppHostPack Condition="'%(ResolvedAppHostPack.Path)' == '' and '%(ResolvedAppHostPack.PackageDirectory)' != ''">
11848 <Path>%(ResolvedAppHostPack.PackageDirectory)\%(ResolvedAppHostPack.PathInPackage)</Path>
11849 </ResolvedAppHostPack>
11850 </ItemGroup>
11851 <PropertyGroup Condition="'@(ResolvedAppHostPack)' != '' And '$(AppHostSourcePath)' == ''">
11852 <AppHostSourcePath>@(ResolvedAppHostPack->'%(Path)')</AppHostSourcePath>
11853 </PropertyGroup>
11854 <ItemGroup>
11855 <ResolvedSingleFileHostPack Condition="'%(ResolvedSingleFileHostPack.Path)' == '' and '%(ResolvedSingleFileHostPack.PackageDirectory)' != ''">
11856 <Path>%(ResolvedSingleFileHostPack.PackageDirectory)\%(ResolvedSingleFileHostPack.PathInPackage)</Path>
11857 </ResolvedSingleFileHostPack>
11858 </ItemGroup>
11859 <PropertyGroup Condition="'@(ResolvedSingleFileHostPack)' != '' And '$(SingleFileHostSourcePath)' == ''">
11860 <SingleFileHostSourcePath>@(ResolvedSingleFileHostPack->'%(Path)')</SingleFileHostSourcePath>
11861 </PropertyGroup>
11862 <ItemGroup>
11863 <ResolvedComHostPack Condition="'%(ResolvedComHostPack.Path)' == '' and '%(ResolvedComHostPack.PackageDirectory)' != ''">
11864 <Path>%(ResolvedComHostPack.PackageDirectory)\%(ResolvedComHostPack.PathInPackage)</Path>
11865 </ResolvedComHostPack>
11866 </ItemGroup>
11867 <PropertyGroup Condition="'@(ResolvedComHostPack)' != '' And '$(ComHostSourcePath)' == ''">
11868 <ComHostSourcePath>@(ResolvedComHostPack->'%(Path)')</ComHostSourcePath>
11869 </PropertyGroup>
11870 <ItemGroup>
11871 <ResolvedIjwHostPack Condition="'%(ResolvedIjwHostPack.Path)' == '' and '%(ResolvedIjwHostPack.PackageDirectory)' != ''">
11872 <Path>%(ResolvedIjwHostPack.PackageDirectory)\%(ResolvedIjwHostPack.PathInPackage)</Path>
11873 </ResolvedIjwHostPack>
11874 </ItemGroup>
11875 <PropertyGroup Condition="'@(ResolvedIjwHostPack)' != '' And '$(IjwHostSourcePath)' == ''">
11876 <IjwHostSourcePath>@(ResolvedIjwHostPack->'%(Path)')</IjwHostSourcePath>
11877 </PropertyGroup>
11878 <GetPackageDirectory Items="@(RuntimePack)" PackageFolders="@(AssetsFilePackageFolder)">
11879 <Output TaskParameter="Output" ItemName="ResolvedRuntimePack" />
11880 </GetPackageDirectory>
11881 <ResolveFrameworkReferences FrameworkReferences="@(FrameworkReference)" ResolvedTargetingPacks="@(ResolvedTargetingPack)" ResolvedRuntimePacks="@(ResolvedRuntimePack)">
11882 <Output TaskParameter="ResolvedFrameworkReferences" ItemName="ResolvedFrameworkReference" />
11883 </ResolveFrameworkReferences>
11884 </Target>
11885 <UsingTask TaskName="GetPackageDirectory" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
11886 <UsingTask TaskName="ResolveTargetingPackAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
11887 <!--
11888 ============================================================
11889 ResolveTargetingPackAssets
11890
11891 Resolve assets (primarily references) from targeting packs.
11892 ============================================================
11893 -->
11894 <Target Name="ResolveTargetingPackAssets" DependsOnTargets="ResolveFrameworkReferences" Condition="'@(FrameworkReference)' != ''">
11895 <!-- For design-time builds, don't generate an error if a targeting pack isn't available (ie because it hasn't been restored yet) -->
11896 <PropertyGroup Condition="'$(GenerateErrorForMissingTargetingPacks)' == ''">
11897 <GenerateErrorForMissingTargetingPacks>true</GenerateErrorForMissingTargetingPacks>
11898 <GenerateErrorForMissingTargetingPacks Condition="'$(DesignTimeBuild)' == 'true'">false</GenerateErrorForMissingTargetingPacks>
11899 </PropertyGroup>
11900 <ResolveTargetingPackAssets FrameworkReferences="@(FrameworkReference)" ProjectLanguage="$(Language)" ResolvedTargetingPacks="@(ResolvedTargetingPack)" RuntimeFrameworks="@(RuntimeFramework)" GenerateErrorForMissingTargetingPacks="$(GenerateErrorForMissingTargetingPacks)" NuGetRestoreSupported="$(_NuGetRestoreSupported)" NetCoreTargetingPackRoot="$(NetCoreTargetingPackRoot)">
11901 <Output TaskParameter="ReferencesToAdd" ItemName="Reference" />
11902 <Output TaskParameter="AnalyzersToAdd" ItemName="Analyzer" />
11903 <Output TaskParameter="PlatformManifests" ItemName="PlatformManifestsFromTargetingPacks" />
11904 <Output TaskParameter="PackageConflictPreferredPackages" PropertyName="PackageConflictPreferredPackages" />
11905 <Output TaskParameter="PackageConflictOverrides" ItemName="PackageConflictOverrides" />
11906 <Output TaskParameter="UsedRuntimeFrameworks" ItemName="_UsedRuntimeFramework" />
11907 </ResolveTargetingPackAssets>
11908 <PropertyGroup>
11909 <!-- Unescape this semicolon-delimited ordered list so that it's passed as a list to targets
11910 that consume it. -->
11911 <PackageConflictPreferredPackages>$([MSBuild]::Unescape($(PackageConflictPreferredPackages)))</PackageConflictPreferredPackages>
11912 </PropertyGroup>
11913 <ItemGroup Condition="'$(RuntimeIdentifier)' == '' or '$(SelfContained)' != 'true'">
11914 <PackageConflictPlatformManifests Include="@(PlatformManifestsFromTargetingPacks)" />
11915 </ItemGroup>
11916 <ItemGroup>
11917 <RuntimeFramework Remove="@(RuntimeFramework)" />
11918 <RuntimeFramework Include="@(_UsedRuntimeFramework)" />
11919 </ItemGroup>
11920 </Target>
11921 <UsingTask TaskName="ResolveRuntimePackAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />
11922 <!--
11923 ============================================================
11924 IncludeTargetingPackReference
11925
11926 Add package reference for required targeting pack if necessary
11927 ============================================================
11928 -->
11929 <Target Name="IncludeTargetingPackReference" BeforeTargets="_CheckForInvalidConfigurationAndPlatform;CollectPackageReferences;CheckForImplicitPackageReferenceOverrides" Condition="'$(TargetFrameworkMoniker)' != '' and '$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(AutomaticallyUseReferenceAssemblyPackages)' == 'true'">
11930 <GetReferenceAssemblyPaths TargetFrameworkMoniker="$(TargetFrameworkMoniker)" RootPath="$(TargetFrameworkRootPath)" TargetFrameworkFallbackSearchPaths="$(TargetFrameworkFallbackSearchPaths)" BypassFrameworkInstallChecks="true" SuppressNotFoundError="true">
11931 <Output TaskParameter="FullFrameworkReferenceAssemblyPaths" PropertyName="_FullFrameworkReferenceAssemblyPaths" />
11932 </GetReferenceAssemblyPaths>
11933 <ItemGroup>
11934 <_ExistingReferenceAssembliesPackageReference Include="@(PackageReference)" Condition="'%(PackageReference.Identity)' == 'Microsoft.NETFramework.ReferenceAssemblies'" />
11935 <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="$(MicrosoftNETFrameworkReferenceAssembliesLatestPackageVersion)" IsImplicitlyDefined="true" PrivateAssets="All" Condition="'$(_FullFrameworkReferenceAssemblyPaths)' == '' and '@(_ExistingReferenceAssembliesPackageReference)' == ''" />
11936 </ItemGroup>
11937 </Target>
11938 <!--
11939 ============================================================
11940 ResolveRuntimePackAssets
11941
11942 Resolve assets from runtime packs.
11943 ============================================================
11944 -->
11945 <Target Name="ResolveRuntimePackAssets" DependsOnTargets="ResolveFrameworkReferences" Condition="'@(RuntimePack)' != ''">
11946 <ResolveRuntimePackAssets FrameworkReferences="@(FrameworkReference)" ResolvedRuntimePacks="@(ResolvedRuntimePack)" UnavailableRuntimePacks="@(UnavailableRuntimePack)" SatelliteResourceLanguages="$(SatelliteResourceLanguages)" DesignTimeBuild="$(DesignTimeBuild)">
11947 <Output TaskParameter="RuntimePackAssets" ItemName="RuntimePackAsset" />
11948 </ResolveRuntimePackAssets>
11949 <ItemGroup>
11950 <ReferenceCopyLocalPaths Include="@(RuntimePackAsset)" Condition="'$(CopyLocalLockFileAssemblies)' == 'true' and ('$(SelfContained)' == 'true' or '%(RuntimePackAsset.RuntimePackAlwaysCopyLocal)' == 'true') and '%(RuntimePackAsset.AssetType)' != 'pgodata'" />
11951 </ItemGroup>
11952 </Target>
11953 <!--
11954 Adds metadata so the SDK will generate the UserSecretsIdAttribute.
11955
11956 This is associated with ASP.NET Core, but may be used in projects that don't use the Web SDK (especially test projects).
11957 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
11958 pack we don't support importing build logic from it directly).
11959
11960 If GeneratedUserSecretsAttributeFile is set, that means Microsoft.Extensions.Configuration.UserSecrets 2.1
11961 or earlier was referenced as a package. This didn't use the AssemblyAttribute item group, so we cannot
11962 avoid duplicate AssemblyAttribute items without skipping this target altogether..
11963 -->
11964 <Target Name="_GetUserSecretsAssemblyAttribute" BeforeTargets="GetAssemblyAttributes" Condition=" '$(UserSecretsId)' != '' AND '$(GenerateUserSecretsAttribute)' != 'false' AND '$(GeneratedUserSecretsAttributeFile)' == '' ">
11965 <!--
11966 If the Microsoft.Extensions.Configuration.UserSecrets package 2.2 or higher is referenced directly,
11967 it will also add an AssemblyAttribute item. Since this attribute only allows one per assembly, do not
11968 duplicate the item.
11969
11970 Also don't add the attribute if there is neither a Microsoft.AspNetCore.App FrameworkReference nor a
11971 Microsoft.Extensions.Configuration.UserSecrets PackageReference, in order to preserve 2.x SDK behavior
11972 where projects would successfully build if they define the UserSecretsId property but don't reference
11973 the corresponding API.
11974
11975 -->
11976 <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)">
11977 <AssemblyAttribute Include="Microsoft.Extensions.Configuration.UserSecrets.UserSecretsIdAttribute">
11978 <_Parameter1>$(UserSecretsId.Trim())</_Parameter1>
11979 </AssemblyAttribute>
11980 </ItemGroup>
11981 </Target>
11982 <!--
11983============================================================================================================================================
11984 </Import>
11985
11986C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
11987============================================================================================================================================
11988-->
11989 <UsingTask TaskName="GenerateDepsFile" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11990 <UsingTask TaskName="GenerateRuntimeConfigurationFiles" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11991 <UsingTask TaskName="GetAssemblyVersion" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11992 <UsingTask TaskName="GenerateSatelliteAssemblies" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
11993 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11994 <DisableStandardFrameworkResolution Condition="'$(DisableStandardFrameworkResolution)' == ''">$(_IsNETCoreOrNETStandard)</DisableStandardFrameworkResolution>
11995 </PropertyGroup>
11996 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11997 <EnableDynamicLoading Condition="'$(EnableDynamicLoading)' == '' and '$(EnableComHosting)' == 'true'">true</EnableDynamicLoading>
11998 <GenerateRuntimeConfigurationFiles Condition=" '$(GenerateRuntimeConfigurationFiles)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and ('$(HasRuntimeOutput)' == 'true' or '$(EnableComHosting)' == 'true' or '$(EnableDynamicLoading)' == 'true') ">true</GenerateRuntimeConfigurationFiles>
11999 <AlwaysIncludeCoreFrameworkInRuntimeConfig Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionLessThan('$(TargetFrameworkVersion)', '6.0'))">false</AlwaysIncludeCoreFrameworkInRuntimeConfig>
12000 <AlwaysIncludeCoreFrameworkInRuntimeConfig Condition="'$(AlwaysIncludeCoreFrameworkInRuntimeConfig)' == ''">true</AlwaysIncludeCoreFrameworkInRuntimeConfig>
12001 <UserRuntimeConfig Condition=" '$(UserRuntimeConfig)' == '' ">$(MSBuildProjectDirectory)/runtimeconfig.template.json</UserRuntimeConfig>
12002 <GenerateSatelliteAssembliesForCore Condition=" '$(GenerateSatelliteAssembliesForCore)' == '' and '$(MSBuildRuntimeType)' == 'Core' ">true</GenerateSatelliteAssembliesForCore>
12003 <ComputeNETCoreBuildOutputFiles Condition=" '$(ComputeNETCoreBuildOutputFiles)' == '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'">true</ComputeNETCoreBuildOutputFiles>
12004 <_GenerateRuntimeConfigurationPropertyInputsCache Condition="'$(_GenerateRuntimeConfigurationPropertyInputsCache)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).genruntimeconfig.cache</_GenerateRuntimeConfigurationPropertyInputsCache>
12005 <_GenerateRuntimeConfigurationPropertyInputsCache>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(_GenerateRuntimeConfigurationPropertyInputsCache)))</_GenerateRuntimeConfigurationPropertyInputsCache>
12006 </PropertyGroup>
12007 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12008 <GenerateRuntimeConfigurationFilesInputs Include="$(ProjectAssetsFile)" />
12009 <GenerateRuntimeConfigurationFilesInputs Include="$(ProjectAssetsCacheFile)" />
12010 <GenerateRuntimeConfigurationFilesInputs Include="$(UserRuntimeConfig)" Condition=" Exists($(UserRuntimeConfig)) " />
12011 </ItemGroup>
12012 <PropertyGroup Condition="'$(GenerateRuntimeConfigDevFile)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12013 <GenerateRuntimeConfigDevFile>true</GenerateRuntimeConfigDevFile>
12014 <!-- Post-net6.0, stop generating *.runtimeconfig.dev.json files to reduce probing paths. -->
12015 <!-- https://github.com/dotnet/sdk/issues/16818 -->
12016 <GenerateRuntimeConfigDevFile Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0'))">false</GenerateRuntimeConfigDevFile>
12017 </PropertyGroup>
12018 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12019 <ProjectDepsFileName Condition="'$(ProjectDepsFileName)' == ''">$(AssemblyName).deps.json</ProjectDepsFileName>
12020 <ProjectDepsFilePath Condition="'$(ProjectDepsFilePath)' == ''">$(TargetDir)$(ProjectDepsFileName)</ProjectDepsFilePath>
12021 <ProjectRuntimeConfigFileName Condition="'$(ProjectRuntimeConfigFileName)' == ''">$(AssemblyName).runtimeconfig.json</ProjectRuntimeConfigFileName>
12022 <ProjectRuntimeConfigFilePath Condition="'$(ProjectRuntimeConfigFilePath)' == ''">$(TargetDir)$(ProjectRuntimeConfigFileName)</ProjectRuntimeConfigFilePath>
12023 <ProjectRuntimeConfigDevFilePath Condition="'$(ProjectRuntimeConfigDevFilePath)' == '' and $(GenerateRuntimeConfigDevFile) == 'true'">$(TargetDir)$(AssemblyName).runtimeconfig.dev.json</ProjectRuntimeConfigDevFilePath>
12024 <IncludeMainProjectInDepsFile Condition=" '$(IncludeMainProjectInDepsFile)' == '' ">true</IncludeMainProjectInDepsFile>
12025 </PropertyGroup>
12026 <!--
12027============================================================================================================================================
12028 <Import Project="Microsoft.NET.Sdk.Shared.targets">
12029
12030C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.Shared.targets
12031============================================================================================================================================
12032-->
12033 <!--
12034***********************************************************************************************
12035Microsoft.NET.Sdk.Shared.targets: The properties and targets shared by the WAP project system.
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) .NET Foundation. All rights reserved.
12042***********************************************************************************************
12043-->
12044 <PropertyGroup Condition="'$(UsingNETSdkDefaults)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12045 <!-- Skip import of Microsoft.NuGet.props and Microsoft.NuGet.targets -->
12046 <SkipImportNuGetProps>true</SkipImportNuGetProps>
12047 <SkipImportNuGetBuildTargets>true</SkipImportNuGetBuildTargets>
12048 </PropertyGroup>
12049 <!-- Workaround: https://github.com/Microsoft/msbuild/issues/1293 -->
12050 <PropertyGroup Condition="'$(MSBuildRuntimeType)' == 'Core' Or '$(TargetFrameworkIdentifier)' != '.NETFramework'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12051 <GenerateResourceMSBuildArchitecture Condition=" '$(GenerateResourceMSBuildArchitecture)' == '' ">CurrentArchitecture</GenerateResourceMSBuildArchitecture>
12052 <GenerateResourceMSBuildRuntime Condition=" '$(GenerateResourceMSBuildRuntime)' == '' ">CurrentRuntime</GenerateResourceMSBuildRuntime>
12053 </PropertyGroup>
12054 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12055 <_NativeLibraryPrefix Condition="'$(_NativeLibraryPrefix)' == '' and !$(RuntimeIdentifier.StartsWith('win'))">lib</_NativeLibraryPrefix>
12056 <_NativeLibraryExtension Condition="'$(_NativeLibraryExtension)' == '' and $(RuntimeIdentifier.StartsWith('win'))">.dll</_NativeLibraryExtension>
12057 <_NativeLibraryExtension Condition="'$(_NativeLibraryExtension)' == '' and $(RuntimeIdentifier.StartsWith('osx'))">.dylib</_NativeLibraryExtension>
12058 <_NativeLibraryExtension Condition="'$(_NativeLibraryExtension)' == ''">.so</_NativeLibraryExtension>
12059 <_NativeExecutableExtension Condition="'$(_NativeExecutableExtension)' == '' and ($(RuntimeIdentifier.StartsWith('win')) or $(DefaultAppHostRuntimeIdentifier.StartsWith('win')))">.exe</_NativeExecutableExtension>
12060 <_ComHostLibraryExtension Condition="'$(_ComHostLibraryExtension)' == '' and ($(RuntimeIdentifier.StartsWith('win')) or $(DefaultAppHostRuntimeIdentifier.StartsWith('win')))">.dll</_ComHostLibraryExtension>
12061 <_IjwHostLibraryExtension Condition="'$(_IjwHostLibraryExtension)' == '' and ($(RuntimeIdentifier.StartsWith('win')) or $(DefaultAppHostRuntimeIdentifier.StartsWith('win')))">.dll</_IjwHostLibraryExtension>
12062 <_DotNetHostExecutableName>dotnet$(_NativeExecutableExtension)</_DotNetHostExecutableName>
12063 <_DotNetAppHostExecutableNameWithoutExtension>apphost</_DotNetAppHostExecutableNameWithoutExtension>
12064 <_DotNetAppHostExecutableName>$(_DotNetAppHostExecutableNameWithoutExtension)$(_NativeExecutableExtension)</_DotNetAppHostExecutableName>
12065 <_DotNetSingleFileHostExecutableNameWithoutExtension>singlefilehost</_DotNetSingleFileHostExecutableNameWithoutExtension>
12066 <_DotNetComHostLibraryNameWithoutExtension>comhost</_DotNetComHostLibraryNameWithoutExtension>
12067 <_DotNetComHostLibraryName>$(_DotNetComHostLibraryNameWithoutExtension)$(_ComHostLibraryExtension)</_DotNetComHostLibraryName>
12068 <_DotNetIjwHostLibraryNameWithoutExtension>Ijwhost</_DotNetIjwHostLibraryNameWithoutExtension>
12069 <_DotNetIjwHostLibraryName>$(_DotNetIjwHostLibraryNameWithoutExtension)$(_IjwHostLibraryExtension)</_DotNetIjwHostLibraryName>
12070 <_DotNetHostPolicyLibraryName>$(_NativeLibraryPrefix)hostpolicy$(_NativeLibraryExtension)</_DotNetHostPolicyLibraryName>
12071 <_DotNetHostFxrLibraryName>$(_NativeLibraryPrefix)hostfxr$(_NativeLibraryExtension)</_DotNetHostFxrLibraryName>
12072 </PropertyGroup>
12073 <Target Name="_ComputePackageReferencePublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12074 <ItemGroup>
12075 <!-- PrivateAssets="All" means exclude from publish, unless Publish metadata is specified separately -->
12076 <PackageReference Publish="false" Condition="('%(PackageReference.PrivateAssets)' == 'All') And ('%(PackageReference.Publish)' == '')" />
12077 <_ExcludeFromPublishPackageReference Include="@(PackageReference)" Condition="('%(PackageReference.Publish)' == 'false')" />
12078 </ItemGroup>
12079 </Target>
12080 <!--
12081 ============================================================
12082 _DefaultMicrosoftNETPlatformLibrary
12083
12084 .NET Core apps can have shared frameworks that are pre-installed on the target machine, thus the app is "portable"
12085 to any machine that already has the shared framework installed. For .NET Core 1.x and 2.x, a "platform" library
12086 is declared. The platform library and its dependencies will be excluded from the publish output.
12087
12088 For .NET Core 3 and up, targeting packs and runtime packs are used for shared framework assets instead of PackageReference
12089 ============================================================
12090 -->
12091 <Target Name="_DefaultMicrosoftNETPlatformLibrary" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12092 <PropertyGroup Condition="'$(MicrosoftNETPlatformLibrary)' == ''">
12093 <MicrosoftNETPlatformLibrary Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(_TargetFrameworkVersionWithoutV)' &lt; '3.0'">Microsoft.NETCore.App</MicrosoftNETPlatformLibrary>
12094 </PropertyGroup>
12095 </Target>
12096 <!--
12097============================================================================================================================================
12098 </Import>
12099
12100C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
12101============================================================================================================================================
12102-->
12103 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12104 <_DefaultUserProfileRuntimeStorePath>$(HOME)</_DefaultUserProfileRuntimeStorePath>
12105 <_DefaultUserProfileRuntimeStorePath Condition="$([MSBuild]::IsOSPlatform(`Windows`))">$(USERPROFILE)</_DefaultUserProfileRuntimeStorePath>
12106 <_DefaultUserProfileRuntimeStorePath>$([System.IO.Path]::Combine($(_DefaultUserProfileRuntimeStorePath), '.dotnet', 'store'))</_DefaultUserProfileRuntimeStorePath>
12107 <UserProfileRuntimeStorePath Condition="'$(UserProfileRuntimeStorePath)' == ''">$(_DefaultUserProfileRuntimeStorePath)</UserProfileRuntimeStorePath>
12108 </PropertyGroup>
12109 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12110 <PredefinedCulturesOnly Condition="'$(PredefinedCulturesOnly)' == '' and '$(InvariantGlobalization)' == 'true'">true</PredefinedCulturesOnly>
12111 </PropertyGroup>
12112 <!-- Opt into .NET Core resource-serialization strategy by default when targeting frameworks
12113 that support it by default.
12114 -->
12115 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12116 <GenerateResourceUsePreserializedResources Condition="'$(GenerateResourceUsePreserializedResources)' == '' and&#xD;&#xA; ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0')">true</GenerateResourceUsePreserializedResources>
12117 </PropertyGroup>
12118 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12119 <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>
12120 </PropertyGroup>
12121 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.1'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12122 <AvailablePlatforms>$(AvailablePlatforms),ARM32</AvailablePlatforms>
12123 </PropertyGroup>
12124 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '3.1'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12125 <AvailablePlatforms>$(AvailablePlatforms),ARM64</AvailablePlatforms>
12126 </PropertyGroup>
12127 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12128 <!-- Turn off support for metadata updates in non-Debug builds by default. -->
12129 <MetadataUpdaterSupport Condition="'$(MetadataUpdaterSupport)' == '' and '$(Configuration)' != 'Debug'">false</MetadataUpdaterSupport>
12130 </PropertyGroup>
12131 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12132 <CoreBuildDependsOn>
12133 _CheckForBuildWithNoBuild;
12134 $(CoreBuildDependsOn);
12135 GenerateBuildDependencyFile;
12136 GenerateBuildRuntimeConfigurationFiles
12137 </CoreBuildDependsOn>
12138 </PropertyGroup>
12139 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12140 <CoreCleanDependsOn>
12141 _SdkBeforeClean;
12142 $(CoreCleanDependsOn)
12143 </CoreCleanDependsOn>
12144 </PropertyGroup>
12145 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12146 <RebuildDependsOn>
12147 _SdkBeforeRebuild;
12148 $(RebuildDependsOn)
12149 </RebuildDependsOn>
12150 </PropertyGroup>
12151 <!-- TODO: this target should not check GeneratePackageOnBuild.
12152 remove when https://github.com/NuGet/Home/issues/7801 is fixed.
12153 -->
12154 <Target Name="_CheckForBuildWithNoBuild" Condition="'$(NoBuild)' == 'true' and '$(GeneratePackageOnBuild)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12155 <NETSdkError ResourceName="NoBuildRequested" />
12156 </Target>
12157 <!--
12158 ============================================================
12159 GenerateBuildDependencyFile
12160 Generates the $(project).deps.json file during Build
12161 ============================================================
12162 -->
12163 <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">
12164 <!-- Set a dummy Version if it hasn't been set by DefaultAssemblyInfo.targets -->
12165 <PropertyGroup Condition="'$(UsingNETSdkDefaults)' != 'true'">
12166 <Version Condition="'$(Version)' == ''">1.0.0</Version>
12167 </PropertyGroup>
12168 <ItemGroup>
12169 <ResolvedCompileFileDefinitions Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' == 'Reference'" />
12170 <NativeCopyLocalItems Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" />
12171 <ResourceCopyLocalItems Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" />
12172 <RuntimeCopyLocalItems Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" />
12173 <RuntimeTargetsCopyLocalItems Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" />
12174 <RuntimePackAsset Remove="@(_ConflictPackageFiles)" Condition="'%(_ConflictPackageFiles.ConflictItemType)' != 'Reference'" />
12175 </ItemGroup>
12176 <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)" RuntimeIdentifier="$(RuntimeIdentifier)" PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" RuntimeFrameworks="@(RuntimeFramework)" CompilerOptions="@(DependencyFileCompilerOptions)" CompileReferences="@(ResolvedCompileFileDefinitions)" ResolvedNuGetFiles="@(NativeCopyLocalItems);@(ResourceCopyLocalItems);@(RuntimeCopyLocalItems)" UserRuntimeAssemblies="@(UserRuntimeAssembly)" ResolvedRuntimeTargetsFiles="@(RuntimeTargetsCopyLocalItems)" IsSelfContained="$(SelfContained)" IncludeRuntimeFileVersions="$(IncludeFileVersionsInDependencyFile)" RuntimeGraphPath="$(BundledRuntimeIdentifierGraphFile)" />
12177 <ItemGroup>
12178 <!-- 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
12179 during incremental builds when the task is skipped -->
12180 <FileWrites Include="$(ProjectDepsFilePath)" Condition="Exists('$(ProjectDepsFilePath)')" />
12181 </ItemGroup>
12182 </Target>
12183 <!-- To achieve incremental build with property change. When any property changes, WriteOnlyWhenDifferent will be triggered to write cache file.
12184 And the cache file's timestamp will be later, and it then triggers the incremental build.-->
12185 <Target Name="_GenerateRuntimeConfigurationFilesInputCache" DependsOnTargets="_DefaultMicrosoftNETPlatformLibrary" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12186 <ItemGroup>
12187 <GenerateRuntimeConfigurationFilesInputs Include="$(_GenerateRuntimeConfigurationPropertyInputsCache)" />
12188 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="@(AdditionalProbingPath->'%(Identity)')" />
12189 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(EnableDynamicLoading)" />
12190 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(RollForward)" />
12191 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="@(RuntimeHostConfigurationOption->'%(Identity)%(Value)')" />
12192 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(RuntimeIdentifier)" />
12193 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(SelfContained)" />
12194 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(TargetFramework)" />
12195 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(UserRuntimeConfig)" />
12196 <_GenerateRuntimeConfigurationPropertyInputsCacheToHash Include="$(_WriteIncludedFrameworks)" />
12197 </ItemGroup>
12198 <Hash ItemsToHash="@(_GenerateRuntimeConfigurationPropertyInputsCacheToHash)">
12199 <Output TaskParameter="HashResult" PropertyName="_GenerateRuntimeConfigurationPropertyInputsCacheHash" />
12200 </Hash>
12201 <WriteLinesToFile Lines="$(_GenerateRuntimeConfigurationPropertyInputsCacheHash)" File="$(_GenerateRuntimeConfigurationPropertyInputsCache)" Overwrite="True" WriteOnlyWhenDifferent="True" />
12202 <ItemGroup>
12203 <FileWrites Include="$(_GenerateRuntimeConfigurationPropertyInputsCache)" />
12204 </ItemGroup>
12205 </Target>
12206 <!--
12207 ============================================================
12208 GenerateBuildRuntimeConfigurationFiles
12209 Generates the $(project).runtimeconfig.json and $(project).runtimeconfig.dev.json files during Build
12210 ============================================================
12211 -->
12212 <Target Name="GenerateBuildRuntimeConfigurationFiles" DependsOnTargets="_GenerateRuntimeConfigurationFilesInputCache" BeforeTargets="CopyFilesToOutputDirectory" Condition=" '$(GenerateRuntimeConfigurationFiles)' == 'true'" Inputs="@(GenerateRuntimeConfigurationFilesInputs)" Outputs="$(ProjectRuntimeConfigFilePath);$(ProjectRuntimeConfigDevFilePath)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12213 <PropertyGroup>
12214 <_IsRollForwardSupported Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0'">true</_IsRollForwardSupported>
12215 <RollForward Condition="'$(RollForward)' == '' and '$(EnableDynamicLoading)' == 'true' and '$(_IsRollForwardSupported)' == 'true'">LatestMinor</RollForward>
12216 </PropertyGroup>
12217 <!-- RollForward is only supported since .NET Core 3.0, but we should allow limited usage when the app is targeting even lower versions
12218 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
12219 other values should still keep failing as they won't have any effect when run on 2.*. -->
12220 <NETSdkError Condition="'$(RollForward)' != '' and '$(RollForward)' != 'Major' and '$(RollForward)' != 'LatestMajor' and '$(_IsRollForwardSupported)' != 'true'" ResourceName="RollForwardRequiresVersion30" />
12221 <PropertyGroup>
12222 <_WriteIncludedFrameworks Condition="'$(SelfContained)' == 'true' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.1'">true</_WriteIncludedFrameworks>
12223 </PropertyGroup>
12224 <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)" />
12225 <ItemGroup>
12226 <!-- 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
12227 during incremental builds when the task is skipped -->
12228 <FileWrites Include="$(ProjectRuntimeConfigFilePath)" Condition="Exists('$(ProjectRuntimeConfigFilePath)')" />
12229 <FileWrites Include="$(ProjectRuntimeConfigDevFilePath)" Condition="Exists('$(ProjectRuntimeConfigDevFilePath)')" />
12230 </ItemGroup>
12231 </Target>
12232 <!-- Add runtimeconfig.json file to BuiltProjectOutputGroupOutput, so that it will get included in the NuGet package by the Pack target -->
12233 <Target Name="AddRuntimeConfigFileToBuiltProjectOutputGroupOutput" Condition=" '$(GenerateRuntimeConfigurationFiles)' == 'true'" BeforeTargets="BuiltProjectOutputGroup" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12234 <ItemGroup>
12235 <BuiltProjectOutputGroupOutput Include="$(ProjectRuntimeConfigFilePath)" TargetPath="$(ProjectRuntimeConfigFileName)" FinalOutputPath="$(ProjectRuntimeConfigFilePath)" />
12236 </ItemGroup>
12237 </Target>
12238 <Target Name="AddDepsJsonAndRuntimeConfigToCopyItemsForReferencingProjects" BeforeTargets="GetCopyToOutputDirectoryItems;_GetCopyToOutputDirectoryItemsFromThisProject" Condition="'$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12239 <ItemGroup Condition="'$(GenerateDependencyFile)' == 'true'">
12240 <AllItemsFullPathWithTargetPath Include="$(ProjectDepsFilePath)" TargetPath="$([System.IO.Path]::GetFileName($(ProjectDepsFilePath)))" CopyToOutputDirectory="PreserveNewest" />
12241 </ItemGroup>
12242 <ItemGroup Condition=" '$(GenerateRuntimeConfigurationFiles)' == 'true'">
12243 <AllItemsFullPathWithTargetPath Include="$(ProjectRuntimeConfigFilePath)" TargetPath="$([System.IO.Path]::GetFileName($(ProjectRuntimeConfigFilePath)))" CopyToOutputDirectory="PreserveNewest" />
12244 <AllItemsFullPathWithTargetPath Include="$(ProjectRuntimeConfigDevFilePath)" TargetPath="$([System.IO.Path]::GetFileName($(ProjectRuntimeConfigDevFilePath)))" CopyToOutputDirectory="PreserveNewest" />
12245 </ItemGroup>
12246 </Target>
12247 <Target Name="AddDepsJsonAndRuntimeConfigToPublishItemsForReferencingProjects" DependsOnTargets="_ComputeUseBuildDependencyFile" BeforeTargets="GetCopyToPublishDirectoryItems" Condition="'$(HasRuntimeOutput)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12248 <ItemGroup Condition="'$(GenerateDependencyFile)' == 'true'">
12249 <AllPublishItemsFullPathWithTargetPath Include="$(ProjectDepsFilePath)" TargetPath="$([System.IO.Path]::GetFileName($(ProjectDepsFilePath)))" CopyToPublishDirectory="PreserveNewest" Condition="'$(_UseBuildDependencyFile)' == 'true'" />
12250 <AllPublishItemsFullPathWithTargetPath Include="$(PublishDepsFilePath)" TargetPath="$([System.IO.Path]::GetFileName($(PublishDepsFilePath)))" CopyToPublishDirectory="PreserveNewest" Condition="'$(PublishDepsFilePath)' != '' and '$(_UseBuildDependencyFile)' != 'true'" />
12251 </ItemGroup>
12252 <ItemGroup Condition=" '$(GenerateRuntimeConfigurationFiles)' == 'true'">
12253 <AllPublishItemsFullPathWithTargetPath Include="$(ProjectRuntimeConfigFilePath)" TargetPath="$([System.IO.Path]::GetFileName($(ProjectRuntimeConfigFilePath)))" CopyToPublishDirectory="PreserveNewest" />
12254 </ItemGroup>
12255 </Target>
12256 <Target Name="_SdkBeforeClean" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12257 <PropertyGroup Condition="'$(_CleaningWithoutRebuilding)' == ''">
12258 <_CleaningWithoutRebuilding>true</_CleaningWithoutRebuilding>
12259 <EmitAssetsLogMessages>false</EmitAssetsLogMessages>
12260 </PropertyGroup>
12261 </Target>
12262 <Target Name="_SdkBeforeRebuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12263 <PropertyGroup>
12264 <_CleaningWithoutRebuilding>false</_CleaningWithoutRebuilding>
12265 </PropertyGroup>
12266 </Target>
12267 <!--
12268 ============================================================
12269 DefaultRuntimeHostConfigurationOptions
12270 Defaults @(RuntimeHostConfigurationOption) items based on MSBuild properties.
12271 ============================================================
12272 -->
12273 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12274 <RuntimeHostConfigurationOption Include="Microsoft.Extensions.DependencyInjection.VerifyOpenGenericServiceTrimmability" Condition="'$(VerifyDependencyInjectionOpenGenericServiceTrimmability)' != ''" Value="$(VerifyDependencyInjectionOpenGenericServiceTrimmability)" Trim="true" />
12275 <RuntimeHostConfigurationOption Include="System.AggressiveAttributeTrimming" Condition="'$(_AggressiveAttributeTrimming)' != ''" Value="$(_AggressiveAttributeTrimming)" Trim="true" />
12276 <RuntimeHostConfigurationOption Include="System.ComponentModel.TypeConverter.EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization" Condition="'$(EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization)' != ''" Value="$(EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization)" Trim="true" />
12277 <RuntimeHostConfigurationOption Include="System.Diagnostics.Debugger.IsSupported" Condition="'$(DebuggerSupport)' != ''" Value="$(DebuggerSupport)" Trim="true" />
12278 <RuntimeHostConfigurationOption Include="System.Diagnostics.Tracing.EventSource.IsSupported" Condition="'$(EventSourceSupport)' != ''" Value="$(EventSourceSupport)" Trim="true" />
12279 <RuntimeHostConfigurationOption Include="System.GC.Concurrent" Condition="'$(ConcurrentGarbageCollection)' != ''" Value="$(ConcurrentGarbageCollection)" />
12280 <RuntimeHostConfigurationOption Include="System.GC.Server" Condition="'$(ServerGarbageCollection)' != ''" Value="$(ServerGarbageCollection)" />
12281 <RuntimeHostConfigurationOption Include="System.GC.RetainVM" Condition="'$(RetainVMGarbageCollection)' != ''" Value="$(RetainVMGarbageCollection)" />
12282 <RuntimeHostConfigurationOption Include="System.Globalization.Invariant" Condition="'$(InvariantGlobalization)' != ''" Value="$(InvariantGlobalization)" Trim="true" />
12283 <RuntimeHostConfigurationOption Include="System.Globalization.PredefinedCulturesOnly" Condition="'$(PredefinedCulturesOnly)' != ''" Value="$(PredefinedCulturesOnly)" Trim="true" />
12284 <RuntimeHostConfigurationOption Include="System.Net.Http.EnableActivityPropagation" Condition="'$(HttpActivityPropagationSupport)' != ''" Value="$(HttpActivityPropagationSupport)" Trim="true" />
12285 <RuntimeHostConfigurationOption Include="System.Net.Http.UseNativeHttpHandler" Condition="'$(UseNativeHttpHandler)' != ''" Value="$(UseNativeHttpHandler)" Trim="true" />
12286 <RuntimeHostConfigurationOption Include="System.Reflection.Metadata.MetadataUpdater.IsSupported" Condition="'$(MetadataUpdaterSupport)' != ''" Value="$(MetadataUpdaterSupport)" Trim="true" />
12287 <RuntimeHostConfigurationOption Include="System.Reflection.NullabilityInfoContext.IsSupported" Condition="'$(NullabilityInfoContextSupport)' != ''" Value="$(NullabilityInfoContextSupport)" Trim="true" />
12288 <RuntimeHostConfigurationOption Include="System.Resources.ResourceManager.AllowCustomResourceTypes" Condition="'$(CustomResourceTypesSupport)' != ''" Value="$(CustomResourceTypesSupport)" Trim="true" />
12289 <RuntimeHostConfigurationOption Include="System.Resources.UseSystemResourceKeys" Condition="'$(UseSystemResourceKeys)' != ''" Value="$(UseSystemResourceKeys)" Trim="true" />
12290 <RuntimeHostConfigurationOption Include="System.Runtime.InteropServices.BuiltInComInterop.IsSupported" Condition="'$(BuiltInComInteropSupport)' != ''" Value="$(BuiltInComInteropSupport)" Trim="true" />
12291 <RuntimeHostConfigurationOption Include="System.Runtime.InteropServices.EnableConsumingManagedCodeFromNativeHosting" Condition="'$(_EnableConsumingManagedCodeFromNativeHosting)' != ''" Value="$(_EnableConsumingManagedCodeFromNativeHosting)" Trim="true" />
12292 <RuntimeHostConfigurationOption Include="System.Runtime.InteropServices.EnableCppCLIHostActivation" Condition="'$(EnableCppCLIHostActivation)' != ''" Value="$(EnableCppCLIHostActivation)" Trim="true" />
12293 <RuntimeHostConfigurationOption Include="System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization" Condition="'$(EnableUnsafeBinaryFormatterSerialization)' != ''" Value="$(EnableUnsafeBinaryFormatterSerialization)" Trim="true" />
12294 <RuntimeHostConfigurationOption Include="System.Runtime.TieredCompilation" Condition="'$(TieredCompilation)' != ''" Value="$(TieredCompilation)" />
12295 <RuntimeHostConfigurationOption Include="System.Runtime.TieredCompilation.QuickJit" Condition="'$(TieredCompilationQuickJit)' != ''" Value="$(TieredCompilationQuickJit)" />
12296 <RuntimeHostConfigurationOption Include="System.Runtime.TieredCompilation.QuickJitForLoops" Condition="'$(TieredCompilationQuickJitForLoops)' != ''" Value="$(TieredCompilationQuickJitForLoops)" />
12297 <RuntimeHostConfigurationOption Include="System.StartupHookProvider.IsSupported" Condition="'$(StartupHookSupport)' != ''" Value="$(StartupHookSupport)" Trim="true" />
12298 <RuntimeHostConfigurationOption Include="System.Threading.Thread.EnableAutoreleasePool" Condition="'$(AutoreleasePoolSupport)' != ''" Value="$(AutoreleasePoolSupport)" Trim="true" />
12299 <RuntimeHostConfigurationOption Include="System.Text.Encoding.EnableUnsafeUTF7Encoding" Condition="'$(EnableUnsafeUTF7Encoding)' != ''" Value="$(EnableUnsafeUTF7Encoding)" Trim="true" />
12300 <RuntimeHostConfigurationOption Include="System.Threading.ThreadPool.MinThreads" Condition="'$(ThreadPoolMinThreads)' != ''" Value="$(ThreadPoolMinThreads)" />
12301 <RuntimeHostConfigurationOption Include="System.Threading.ThreadPool.MaxThreads" Condition="'$(ThreadPoolMaxThreads)' != ''" Value="$(ThreadPoolMaxThreads)" />
12302 </ItemGroup>
12303 <!--
12304 ============================================================
12305 DefaultAdditionalProbingPaths
12306 Adds the default @(AdditionalProbingPath) items.
12307 ============================================================
12308 -->
12309 <ItemGroup Condition="'$(GenerateRuntimeConfigurationFiles)' == 'true' and '$(SkipDefaultAdditionalProbingPaths)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12310 <!-- Note: can't use Path.Combine here since `|` is an illegal path character -->
12311 <AdditionalProbingPath Include="$(UserProfileRuntimeStorePath)$([System.IO.Path]::DirectorySeparatorChar)|arch|$([System.IO.Path]::DirectorySeparatorChar)|tfm|" />
12312 </ItemGroup>
12313 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12314 <CompileDependsOn>
12315 $(CompileDependsOn);
12316 _CreateAppHost;
12317 _CreateComHost;
12318 _GetIjwHostPaths;
12319 </CompileDependsOn>
12320 </PropertyGroup>
12321 <!--
12322 ============================================================
12323 _CreateAppHost
12324 If we found a restored apphost, create the modified destination apphost
12325 with options from the project.
12326 ============================================================
12327 -->
12328 <UsingTask TaskName="CreateAppHost" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12329 <Target Name="_CreateAppHost" Inputs="@(IntermediateAssembly);$(AppHostSourcePath)" Outputs="$(AppHostIntermediatePath)" DependsOnTargets="_ChooseAppHost;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">
12330 <PropertyGroup>
12331 <_UseWindowsGraphicalUserInterface Condition="($(RuntimeIdentifier.StartsWith('win')) or $(DefaultAppHostRuntimeIdentifier.StartsWith('win'))) and '$(OutputType)'=='WinExe'">true</_UseWindowsGraphicalUserInterface>
12332 <_EnableMacOSCodeSign Condition="'$(_EnableMacOSCodeSign)' == '' and $([MSBuild]::IsOSPlatform(`OSX`)) and Exists('/usr/bin/codesign') and&#xD;&#xA; ($(RuntimeIdentifier.StartsWith('osx')) or $(AppHostRuntimeIdentifier.StartsWith('osx')))">true</_EnableMacOSCodeSign>
12333 </PropertyGroup>
12334 <CreateAppHost AppHostSourcePath="$(AppHostSourcePath)" AppHostDestinationPath="$(AppHostIntermediatePath)" AppBinaryName="$(AssemblyName)$(TargetExt)" IntermediateAssembly="@(IntermediateAssembly->'%(FullPath)')" WindowsGraphicalUserInterface="$(_UseWindowsGraphicalUserInterface)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" EnableMacOSCodeSign="$(_EnableMacOSCodeSign)" />
12335 </Target>
12336 <!--
12337 ============================================================
12338 _ChooseAppHost
12339 Choose the correct app-host for the build scenario:
12340 * SingleFileHost if an app being published as a self-contained single-file .net5+ app
12341 * AppHost otherwise
12342 ============================================================
12343 -->
12344 <Target Name="_ChooseAppHost" DependsOnTargets="_GetAppHostPaths" Condition="'$(UseAppHost)' == 'true' and '$(_IsExecutable)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12345 <PropertyGroup Condition="'$(PublishSingleFile)' == 'true' and&#xD;&#xA; '$(SelfContained)' == 'true' and&#xD;&#xA; '$(_TargetFrameworkVersionWithoutV)' &gt;= '5.0' and&#xD;&#xA; '$(SingleFileHostSourcePath)' != ''">
12346 <AppHostSourcePath>$(SingleFileHostSourcePath)</AppHostSourcePath>
12347 <AppHostIntermediatePath>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)singlefilehost$(_NativeExecutableExtension)'))</AppHostIntermediatePath>
12348 </PropertyGroup>
12349 </Target>
12350 <!--
12351 ============================================================
12352 _GetAppHostPaths
12353 Gets the path to apphost (restored via packages or in an apphost pack),
12354 and computes the path for the destination apphost.
12355 ============================================================
12356 -->
12357 <Target Name="_GetAppHostPaths" DependsOnTargets="ResolvePackageAssets;ResolveFrameworkReferences" Condition="'$(UseAppHost)' == 'true' and '$(_IsExecutable)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12358 <NETSdkError Condition="'@(_NativeRestoredAppHostNETCore-&gt;Count())' &gt; 1" ResourceName="MultipleFilesResolved" FormatArguments="$(_DotNetAppHostExecutableName)" />
12359 <PropertyGroup>
12360 <!-- AppHostSourcePath will be set from ProcessFrameworkReferences if not using the apphost from the assets file -->
12361 <AppHostSourcePath Condition="'$(UseAppHostFromAssetsFile)' == 'true'">@(_NativeRestoredAppHostNETCore)</AppHostSourcePath>
12362 </PropertyGroup>
12363 <PropertyGroup Condition="'$(UseAppHostFromAssetsFile)' == 'false' Or '@(_NativeRestoredAppHostNETCore)' != ''">
12364 <AppHostIntermediatePath>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)apphost$(_NativeExecutableExtension)'))</AppHostIntermediatePath>
12365 </PropertyGroup>
12366 </Target>
12367 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12368 <ClsidMap Include="$(IntermediateOutputPath)$(AssemblyName).clsidmap" />
12369 <RegFreeComManifest Include="$(IntermediateOutputPath)$(AssemblyName).X.manifest" />
12370 </ItemGroup>
12371 <!--
12372 ============================================================
12373 _GenerateClsidMap
12374 Generates a *.clsidmap file from the built assembly.
12375 ============================================================
12376 -->
12377 <UsingTask TaskName="GenerateClsidMap" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12378 <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">
12379 <GenerateClsidMap IntermediateAssembly="@(IntermediateAssembly->'%(FullPath)')" CLsidMapDestinationPath="@(ClsidMap->'%(FullPath)')" />
12380 </Target>
12381 <UsingTask TaskName="CreateComHost" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12382 <!--
12383 ============================================================
12384 _CreateComHost
12385 If we found a restored comhost, create the modified destination apphost
12386 with options from the project.
12387 ============================================================
12388 -->
12389 <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">
12390 <CreateComHost ComHostSourcePath="$(ComHostSourcePath)" ComHostDestinationPath="$(ComHostIntermediatePath)" ClsidMapPath="@(ClsidMap)" TypeLibraries="@(ComHostTypeLibrary)" />
12391 </Target>
12392 <UsingTask TaskName="GenerateRegFreeComManifest" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12393 <!--
12394 ============================================================
12395 _GenerateRegFreeComManifest
12396 Gets the path to the restored comhost, and if the restored comhost
12397 was present, computes the path for the destination comhost.
12398 ============================================================
12399 -->
12400 <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">
12401 <GenerateRegFreeComManifest IntermediateAssembly="@(IntermediateAssembly)" ComHostName="$(ComHostFileName)" ClsidMapPath="@(ClsidMap)" TypeLibraries="@(ComHostTypeLibrary)" ComManifestPath="@(RegFreeComManifest)" />
12402 </Target>
12403 <!--
12404 ============================================================
12405 _GetComHostPaths
12406 Gets the path to the restored comhost, and if the restored comhost
12407 was present, computes the path for the destination comhost.
12408 ============================================================
12409 -->
12410 <Target Name="_GetComHostPaths" DependsOnTargets="ResolvePackageAssets;ResolveFrameworkReferences" Condition="'$(EnableComHosting)' == 'true' and '$(_IsExecutable)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12411 <PropertyGroup>
12412 <ComHostFileName>$(AssemblyName).comhost$(_ComHostLibraryExtension)</ComHostFileName>
12413 <ComHostIntermediatePath>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)$(ComHostFileName)'))</ComHostIntermediatePath>
12414 </PropertyGroup>
12415 <NETSdkError Condition="'$(ComHostSourcePath)' == '' or !Exists('$(ComHostSourcePath)')" ResourceName="CannotFindComhost" />
12416 </Target>
12417 <!--
12418 ============================================================
12419 _GetIjwHostPaths
12420 Gets the path to the restored Ijwhost, and if the restored Ijwhost
12421 was present, Computes the path for the destination Ijwhost.
12422 ============================================================
12423 -->
12424 <Target Name="_GetIjwHostPaths" DependsOnTargets="ResolvePackageAssets;ResolveFrameworkReferences" Condition="'$(UseIJWHost)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12425 <NETSdkError Condition="'$(IjwHostSourcePath)' == '' or !Exists('$(IjwHostSourcePath)')" ResourceName="CannotFindIjwhost" />
12426 </Target>
12427 <!--
12428 ============================================================
12429 _ComputeNETCoreBuildOutputFiles
12430 Computes any files that need to be copied to the build output folder for .NET Core.
12431 ============================================================
12432 -->
12433 <Target Name="_ComputeNETCoreBuildOutputFiles" DependsOnTargets="_ChooseAppHost;_GetComHostPaths;_GetIjwHostPaths" BeforeTargets="AssignTargetPaths" Condition="'$(ComputeNETCoreBuildOutputFiles)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12434 <!-- Fallback to renaming the dotnet host if there is no apphost for self-contained builds. -->
12435 <PropertyGroup Condition="'$(AppHostIntermediatePath)' == '' and '$(SelfContained)' == 'true'">
12436 <_CopyAndRenameDotnetHost Condition="'$(_CopyAndRenameDotnetHost)' == ''">true</_CopyAndRenameDotnetHost>
12437 </PropertyGroup>
12438 <ItemGroup Condition="'$(_CopyAndRenameDotnetHost)' == 'true'">
12439 <None Include="@(NativeCopyLocalItems)" Condition="'%(NativeCopyLocalItems.FileName)%(NativeCopyLocalItems.Extension)' == '$(_DotNetHostExecutableName)'">
12440 <Link>$(AssemblyName)$(_NativeExecutableExtension)</Link>
12441 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
12442 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
12443 </None>
12444 </ItemGroup>
12445 <ItemGroup Condition="'$(AppHostIntermediatePath)' != '' or '$(_CopyAndRenameDotnetHost)' == 'true'">
12446 <!--
12447 If not copying local lock file assemblies, copy the host policy and host fxr libraries for self-contained builds.
12448 This is required to allow the host to activate in self-contained mode.
12449 -->
12450 <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)')">
12451 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
12452 <CopyToPublishDirectory>Never</CopyToPublishDirectory>
12453 </None>
12454 </ItemGroup>
12455 <ItemGroup Condition="'$(AppHostIntermediatePath)' != ''">
12456 <None Include="$(AppHostIntermediatePath)">
12457 <Link>$(AssemblyName)$(_NativeExecutableExtension)</Link>
12458 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
12459 <!-- Always copy the AppHost because the contents of the apphost binary can change during the publish step (due to single-file bundling).
12460 Always copying the apphost ensures that that the sequence
12461 dotnet publish /p:PublishSingleFile=true
12462 dotnet publish /p:PublishSingleFile=false
12463 places the correct unbundled apphost in the publish directory. -->
12464 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
12465 </None>
12466 </ItemGroup>
12467 <ItemGroup Condition="'$(ComHostIntermediatePath)' != ''">
12468 <None Include="$(ComHostIntermediatePath)">
12469 <Link>$(AssemblyName).$(_DotNetComHostLibraryName)</Link>
12470 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
12471 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
12472 </None>
12473 <None Include="@(RegFreeComManifest)" Condition="'$(EnableRegFreeCom)' == 'true'">
12474 <Link>%(FileName)%(Extension)</Link>
12475 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
12476 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
12477 </None>
12478 </ItemGroup>
12479 <ItemGroup Condition="'$(IjwHostSourcePath)' != '' and '$(UseIJWHost)' == 'true'">
12480 <None Include="$(IjwHostSourcePath)">
12481 <Link>$(_DotNetIjwHostLibraryName)</Link>
12482 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
12483 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
12484 </None>
12485 </ItemGroup>
12486 </Target>
12487 <!--
12488 ============================================================
12489 _ComputeReferenceAssemblies
12490 Computes references that are only used at compile-time.
12491 ============================================================
12492 -->
12493 <Target Name="_ComputeReferenceAssemblies" DependsOnTargets="ResolveAssemblyReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12494 <ItemGroup>
12495 <_FrameworkReferenceAssemblies Include="@(ReferencePath)" Condition="(%(ReferencePath.FrameworkFile) == 'true' or&#xD;&#xA; %(ReferencePath.ResolvedFrom) == 'ImplicitlyExpandDesignTimeFacades')&#xD;&#xA; and ('%(ReferencePath.NuGetSourceType)' == '' or&#xD;&#xA; '%(ReferencePath.NuGetIsFrameworkReference)' == 'true')" />
12496 <!--
12497 "ReferenceOnly" assemblies are assemblies that are only used at compile-time, and they can't be resolved
12498 by the normal compile-assembly resolvers at runtime:
12499 1. App local
12500 2. NuGet/Package layout
12501 3. ProgramFiles\Reference Assemblies
12502 These assemblies need to be copied to the 'refs' folder for both build and publish.
12503 -->
12504 <_ReferenceOnlyAssemblies Include="@(ReferencePath)" Exclude="@(_FrameworkReferenceAssemblies)" Condition="%(ReferencePath.CopyLocal) != 'true' and&#xD;&#xA; %(ReferencePath.NuGetSourceType) == ''" />
12505 <_ReferenceAssemblies Include="@(_FrameworkReferenceAssemblies)" />
12506 <_ReferenceAssemblies Include="@(_ReferenceOnlyAssemblies)" />
12507 </ItemGroup>
12508 </Target>
12509 <!--
12510 ============================================================
12511 _ComputeUserRuntimeAssemblies
12512 Computes references or reference dependencies that are copy local.
12513 NOTE: NuGet and framework references are never copy local so those are not included here.
12514 These will be project references and direct references and their copy local dependencies.
12515 ============================================================
12516 -->
12517 <Target Name="_ComputeUserRuntimeAssemblies" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12518 <ItemGroup>
12519 <!-- IncludeRuntimeDependency=true metadata is escape hatch to include a non-copy local reference in deps file as a runtime dependency -->
12520 <ReferencePath>
12521 <IncludeRuntimeDependency Condition="'%(ReferencePath.IncludeRuntimeDependency)' == '' and '%(ReferencePath.CopyLocal)' == 'true'">true</IncludeRuntimeDependency>
12522 </ReferencePath>
12523 <ReferenceDependencyPaths>
12524 <IncludeRuntimeDependency Condition="'%(ReferenceDependencyPaths.IncludeRuntimeDependency)' == '' and '%(ReferenceDependencyPaths.CopyLocal)' == 'true'">true</IncludeRuntimeDependency>
12525 </ReferenceDependencyPaths>
12526 <UserRuntimeAssembly Include="@(ReferencePath-&gt;WithMetadataValue('IncludeRuntimeDependency', 'true'))" />
12527 <UserRuntimeAssembly Include="@(ReferenceDependencyPaths-&gt;WithMetadataValue('IncludeRuntimeDependency', 'true'))" />
12528 </ItemGroup>
12529 </Target>
12530 <!--
12531 ============================================================
12532 Run Information
12533 The ProcessStart information that can be used to run this project.
12534 ============================================================
12535 -->
12536 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12537 <RunWorkingDirectory Condition="'$(RunWorkingDirectory)' == ''">$(StartWorkingDirectory)</RunWorkingDirectory>
12538 </PropertyGroup>
12539 <Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12540 <When Condition="'$(StartAction)' == 'Program'">
12541 <PropertyGroup>
12542 <RunCommand Condition="'$(RunCommand)' == ''">$(StartProgram)</RunCommand>
12543 <RunArguments Condition="'$(RunArguments)' == ''">$(StartArguments)</RunArguments>
12544 </PropertyGroup>
12545 </When>
12546 <When Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_IsExecutable)' == 'true'">
12547 <PropertyGroup Condition="'$(UseAppHost)' != 'true'">
12548 <!-- TODO: https://github.com/dotnet/sdk/issues/20 Need to get the DotNetHost path from MSBuild -->
12549 <RunCommand Condition="'$(RunCommand)' == ''">dotnet</RunCommand>
12550 <_NetCoreRunArguments>exec "$(TargetPath)"</_NetCoreRunArguments>
12551 <RunArguments Condition="'$(RunArguments)' == '' and '$(StartArguments)' != ''">$(_NetCoreRunArguments) $(StartArguments)</RunArguments>
12552 <RunArguments Condition="'$(RunArguments)' == ''">$(_NetCoreRunArguments)</RunArguments>
12553 </PropertyGroup>
12554 <PropertyGroup Condition="'$(UseAppHost)' == 'true'">
12555 <RunCommand Condition="'$(RunCommand)' == ''">$(TargetDir)$(AssemblyName)$(_NativeExecutableExtension)</RunCommand>
12556 <RunArguments Condition="'$(RunArguments)' == ''">$(StartArguments)</RunArguments>
12557 </PropertyGroup>
12558 </When>
12559 <When Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(_IsExecutable)' == 'true'">
12560 <PropertyGroup Condition="$([MSBuild]::IsOSPlatform(`Windows`))">
12561 <RunCommand Condition="'$(RunCommand)' == ''">$(TargetPath)</RunCommand>
12562 <RunArguments Condition="'$(RunArguments)' == ''">$(StartArguments)</RunArguments>
12563 </PropertyGroup>
12564 <PropertyGroup Condition="$([MSBuild]::IsOSUnixLike())">
12565 <RunCommand Condition="'$(RunCommand)' == ''">mono</RunCommand>
12566 <RunArguments Condition="'$(RunArguments)' == ''">"$(TargetPath)" $(StartArguments)</RunArguments>
12567 </PropertyGroup>
12568 </When>
12569 </Choose>
12570 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12571 <!-- Ensure $(RunWorkingDirectory) is a full path -->
12572 <RunWorkingDirectory Condition="'$(RunWorkingDirectory)' != '' and '$([System.IO.Path]::IsPathRooted($(RunWorkingDirectory)))' != 'true'">$([System.IO.Path]::GetFullPath($([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', '$(RunWorkingDirectory)'))))</RunWorkingDirectory>
12573 </PropertyGroup>
12574 <!-- Override MSBuild Run Target -->
12575 <Target Name="Run" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12576 <Exec Command="$(RunCommand) $(RunArguments)" WorkingDirectory="$(RunWorkingDirectory)" />
12577 </Target>
12578 <!--
12579 ============================================================
12580 CoreGenerateSatelliteAssemblies
12581 ============================================================
12582 -->
12583 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12584 <CreateSatelliteAssembliesDependsOn>
12585 $(CreateSatelliteAssembliesDependsOn);
12586 CoreGenerateSatelliteAssemblies
12587 </CreateSatelliteAssembliesDependsOn>
12588 </PropertyGroup>
12589 <UsingTask TaskName="GetAssemblyAttributes" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12590 <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">
12591 <MakeDir Directories="@(_SatelliteAssemblyResourceInputs->'$(IntermediateOutputPath)%(Culture)')" />
12592 <PropertyGroup>
12593 <_AssemblyInfoFile>$(IntermediateOutputPath)%(_SatelliteAssemblyResourceInputs.Culture)\$(TargetName).resources.cs</_AssemblyInfoFile>
12594 <_OutputAssembly>$(IntermediateOutputPath)%(_SatelliteAssemblyResourceInputs.Culture)\$(TargetName).resources.dll</_OutputAssembly>
12595 </PropertyGroup>
12596 <ItemGroup>
12597 <SatelliteAssemblyAttribute Include="System.Reflection.AssemblyCultureAttribute" Condition="'%(_SatelliteAssemblyResourceInputs.Culture)' != ''">
12598 <_Parameter1>%(_SatelliteAssemblyResourceInputs.Culture)</_Parameter1>
12599 </SatelliteAssemblyAttribute>
12600 </ItemGroup>
12601 <WriteCodeFragment AssemblyAttributes="@(SatelliteAssemblyAttribute)" Language="C#" OutputFile="$(_AssemblyInfoFile)">
12602 <Output TaskParameter="OutputFile" ItemName="FileWrites" />
12603 </WriteCodeFragment>
12604 <PropertyGroup Condition="'$(UseSharedCompilation)' == ''">
12605 <UseSharedCompilation>true</UseSharedCompilation>
12606 </PropertyGroup>
12607 <Csc Resources="@(_SatelliteAssemblyResourceInputs)" Sources="$(_AssemblyInfoFile)" OutputAssembly="$(_OutputAssembly)" References="@(ReferencePath)" KeyContainer="$(KeyContainerName)" KeyFile="$(KeyOriginatorFile)" NoConfig="true" NoLogo="$(NoLogo)" NoStandardLib="$(NoCompilerStandardLib)" Optimize="$(Optimize)" PublicSign="$(PublicSign)" DelaySign="$(DelaySign)" Deterministic="$(Deterministic)" DisabledWarnings="$(DisabledWarnings)" WarningLevel="$(WarningLevel)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" TargetType="Library" ToolExe="$(CscToolExe)" ToolPath="$(CscToolPath)" UseSharedCompilation="$(UseSharedCompilation)">
12608 <Output TaskParameter="OutputAssembly" ItemName="FileWrites" />
12609 </Csc>
12610 </Target>
12611 <Target Name="_GetAssemblyInfoFromTemplateFile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12612 <GetAssemblyAttributes PathToTemplateFile="$(IntermediateOutputPath)$(TargetName)$(TargetExt)">
12613 <Output TaskParameter="AssemblyAttributes" ItemName="_AssemblyAttributesFromTemplateFile" />
12614 </GetAssemblyAttributes>
12615 <ItemGroup>
12616 <SatelliteAssemblyAttribute Include="@(_AssemblyAttributesFromTemplateFile)" />
12617 </ItemGroup>
12618 </Target>
12619 <!--
12620 ============================================================
12621 GetAllRuntimeIdentifiers
12622 ============================================================
12623 -->
12624 <Target Name="GetAllRuntimeIdentifiers" Returns="$(RuntimeIdentifiers);$(RuntimeIdentifier)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12625 <!--
12626 ============================================================
12627 _BlockWinMDsOnUnsupportedTFMs
12628 Block referencing or producing
12629 Windows Metadata files (.winmd) for target frameworks
12630 that do not support loading winmds directly
12631 into the runtime as assemblies
12632 ============================================================
12633 -->
12634 <UsingTask TaskName="CheckForUnsupportedWinMDReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12635 <Target Name="_BlockWinMDsOnUnsupportedTFMs" AfterTargets="PreBuildEvent" DependsOnTargets="ResolveReferences" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '5.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12636 <CheckForUnsupportedWinMDReferences TargetFrameworkMoniker="$(TargetFrameworkMoniker)" ReferencePaths="@(ReferencePath)" />
12637 <NETSdkError Condition="'$(OutputType)' == 'winmdobj'" ResourceName="WinMDObjNotSupportedOnTargetFramework" FormatArguments="$(TargetFrameworkMoniker)" />
12638 </Target>
12639 <!--
12640 ============================================================
12641 InjectTargetPathMetadata
12642 Update TargetPathWithTargetPlatformMoniker with target framework
12643 identifier and version metadata. This is so that the
12644 ImplicitlyExpandNETStandardFacades target can determine if a
12645 referenced project needs the .NET Standard facades even if
12646 the project hasn't been compiled to disk yet.
12647 See https://github.com/dotnet/sdk/issues/1403 for more context
12648 ============================================================
12649 -->
12650 <ItemDefinitionGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12651 <TargetPathWithTargetPlatformMoniker>
12652 <TargetFrameworkIdentifier>$(TargetFrameworkIdentifier)</TargetFrameworkIdentifier>
12653 <TargetFrameworkVersion>$(_TargetFrameworkVersionWithoutV)</TargetFrameworkVersion>
12654 </TargetPathWithTargetPlatformMoniker>
12655 </ItemDefinitionGroup>
12656 <!--
12657 ============================================================
12658 GenerateSupportedTargetFrameworkAlias
12659 Generate a list of valid TargetFramework aliases for the project
12660 system to consume for the target framework properties page drop down
12661 ============================================================
12662 -->
12663 <UsingTask TaskName="GenerateSupportedTargetFrameworkAlias" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12664 <Target Name="GenerateSupportedTargetFrameworkAlias" Returns="@(SupportedTargetFrameworkAlias)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12665 <GenerateSupportedTargetFrameworkAlias SupportedTargetFramework="@(SupportedTargetFramework)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetPlatformMoniker="$(TargetPlatformMoniker)" UseWpf="$(UseWpf)" UseWindowsForms="$(UseWindowsForms)">
12666 <Output TaskParameter="SupportedTargetFrameworkAlias" ItemName="SupportedTargetFrameworkAlias" />
12667 </GenerateSupportedTargetFrameworkAlias>
12668 </Target>
12669 <!--
12670 ============================================================
12671 ValidateExecutableReferences
12672 ============================================================
12673 -->
12674 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12675 <AdditionalTargetFrameworkInfoProperty Include="SelfContained" />
12676 <AdditionalTargetFrameworkInfoProperty Include="_IsExecutable" />
12677 <AdditionalTargetFrameworkInfoProperty Include="ShouldBeValidatedAsExecutableReference" />
12678 </ItemGroup>
12679 <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12680 <!-- Don't generate a NETSDK1151 error if a non self-contained Exe references a Blazor wasm Exe -->
12681 <ShouldBeValidatedAsExecutableReference>false</ShouldBeValidatedAsExecutableReference>
12682 </PropertyGroup>
12683 <PropertyGroup Condition="'$(IsTestProject)' == 'true' And '$(ValidateExecutableReferencesMatchSelfContained)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12684 <!-- Don't generate an error if a test project references a self-contained Exe. Test projects
12685 use an OutputType of Exe but will usually call APIs in a referenced Exe rather than try
12686 to run it. -->
12687 <ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained>
12688 </PropertyGroup>
12689 <PropertyGroup Condition="'$(IsTestProject)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12690 <!-- Don't generate an error if an Exe project references a test project. -->
12691 <ShouldBeValidatedAsExecutableReference>false</ShouldBeValidatedAsExecutableReference>
12692 </PropertyGroup>
12693 <UsingTask TaskName="ValidateExecutableReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12694 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12695 <_UseAttributeForTargetFrameworkInfoPropertyNames Condition="$([MSBuild]::VersionGreaterThanOrEquals($(MSBuildVersion), '17.0'))">true</_UseAttributeForTargetFrameworkInfoPropertyNames>
12696 </PropertyGroup>
12697 <Target Name="ValidateExecutableReferences" AfterTargets="_GetProjectReferenceTargetFrameworkProperties" Condition="'$(ValidateExecutableReferencesMatchSelfContained)' != 'false'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12698 <ValidateExecutableReferences SelfContained="$(SelfContained)" IsExecutable="$(_IsExecutable)" ReferencedProjects="@(_MSBuildProjectReferenceExistent)" UseAttributeForTargetFrameworkInfoPropertyNames="$(_UseAttributeForTargetFrameworkInfoPropertyNames)" />
12699 </Target>
12700 <!--
12701 ============================================================
12702 Command Line Configuration Validation
12703 ============================================================
12704 -->
12705 <Target Name="ValidateCommandLineProperties" AfterTargets="_CheckForInvalidConfigurationAndPlatform" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12706 <NETSdkWarning Condition="'$(_CommandLineDefinedSelfContained)' != 'true' and&#xD;&#xA; '$(_CommandLineDefinedRuntimeIdentifier)' == 'true' and&#xD;&#xA; '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and&#xD;&#xA; $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0'))" ResourceName="SelfContainedOptionShouldBeUsedWithRuntime" />
12707 </Target>
12708 <!--
12709 ============================================================
12710 Project Capabilities
12711 ============================================================
12712 -->
12713 <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_IsExecutable)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12714 <ProjectCapability Include="CrossPlatformExecutable" />
12715 </ItemGroup>
12716 <!-- Reference Manager capabilities -->
12717 <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12718 <ProjectCapability Remove="ReferenceManagerAssemblies" />
12719 </ItemGroup>
12720 <!--
12721============================================================================================================================================
12722 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DisableStandardFrameworkResolution.targets" Condition="'$(DisableStandardFrameworkResolution)' == 'true'">
12723
12724C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DisableStandardFrameworkResolution.targets
12725============================================================================================================================================
12726-->
12727 <!--
12728***********************************************************************************************
12729Microsoft.NET.DisableStandardFrameworkResolution.targets
12730
12731WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12732 created a backup copy. Incorrect changes to this file will make it
12733 impossible to load or build your projects from the command-line or the IDE.
12734
12735Copyright (c) .NET Foundation. All rights reserved.
12736***********************************************************************************************
12737-->
12738 <Target Name="GetReferenceAssemblyPaths" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12739 <Target Name="GetFrameworkPaths" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12740 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12741 <_TargetFrameworkDirectories />
12742 <FrameworkPathOverride />
12743 <TargetFrameworkDirectory />
12744 <!-- all references (even the StdLib) come from packages -->
12745 <NoStdLib>true</NoStdLib>
12746 </PropertyGroup>
12747 <!--
12748============================================================================================================================================
12749 </Import>
12750
12751C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
12752============================================================================================================================================
12753-->
12754 <!--
12755============================================================================================================================================
12756 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.DesignerSupport.targets">
12757
12758C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DesignerSupport.targets
12759============================================================================================================================================
12760-->
12761 <!--
12762***********************************************************************************************
12763Microsoft.NET.DesignerSupport.targets
12764
12765WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12766 created a backup copy. Incorrect changes to this file will make it
12767 impossible to load or build your projects from the command-line or the IDE.
12768
12769Copyright (c) .NET Foundation. All rights reserved.
12770***********************************************************************************************
12771-->
12772 <PropertyGroup Condition="'$(DesignerRuntimeImplementationProjectOutputGroupDependsOn)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12773 <DesignerRuntimeImplementationProjectOutputGroupDependsOn>
12774 $(CommonOutputGroupsDependsOn);
12775 </DesignerRuntimeImplementationProjectOutputGroupDependsOn>
12776 </PropertyGroup>
12777 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12778 <DesignerRuntimeImplementationProjectOutputGroupDependsOn>
12779 $(DesignerRuntimeImplementationProjectOutputGroupDependsOn);
12780 _GenerateDesignerDepsFile;
12781 _GenerateDesignerRuntimeConfigFile;
12782 _GatherDesignerShadowCopyFiles;
12783 </DesignerRuntimeImplementationProjectOutputGroupDependsOn>
12784 <_DesignerDepsFileName>$(AssemblyName).designer.deps.json</_DesignerDepsFileName>
12785 <_DesignerRuntimeConfigFileName>$(AssemblyName).designer.runtimeconfig.json</_DesignerRuntimeConfigFileName>
12786 <_DesignerDepsFilePath>$(IntermediateOutputPath)$(_DesignerDepsFileName)</_DesignerDepsFilePath>
12787 <_DesignerRuntimeConfigFilePath>$(IntermediateOutputPath)$(_DesignerRuntimeConfigFileName)</_DesignerRuntimeConfigFilePath>
12788 </PropertyGroup>
12789 <Target Name="DesignerRuntimeImplementationProjectOutputGroup" DependsOnTargets="$(DesignerRuntimeImplementationProjectOutputGroupDependsOn)" Returns="@(DesignerRuntimeImplementationProjectOutputGroupOutput)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12790 <Target Name="_GenerateDesignerDepsFile" Inputs="$(MSBuildAllProjectFiles);$(ProjectAssetsFile)" Outputs="$(_DesignerDepsFilePath)" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12791 <!--
12792 NOTE: We do not include the main assembly info or non-NuGet dependencies
12793 in designer deps file as these files may not be built yet at design time.
12794 Instead, we rely on SetAppPaths in runtimeconfig to allow loading of
12795 non-NuGet assets from shadow copied app base directory. This further
12796 allows loading of designer dll(s) that are not seen by the build.
12797 -->
12798 <GenerateDepsFile AssemblyName="_" AssemblyExtension="_" AssemblyVersion="_" AssetsFilePath="$(ProjectAssetsFile)" DepsFilePath="$(_DesignerDepsFilePath)" IncludeMainProject="false" IncludeRuntimeFileVersions="$(IncludeFileVersionsInDependencyFile)" IsSelfContained="false" PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" ProjectPath="$(MSBuildProjectFullPath)" RuntimeFrameworks="@(RuntimeFramework)" CompileReferences="@(ResolvedCompileFileDefinitions)" ResolvedNuGetFiles="@(NativeCopyLocalItems);@(ResourceCopyLocalItems);@(RuntimeCopyLocalItems)" ResolvedRuntimeTargetsFiles="@(RuntimeTargetsCopyLocalItems)" TargetFramework="$(TargetFramework)" RuntimeGraphPath="$(BundledRuntimeIdentifierGraphFile)" />
12799 <ItemGroup>
12800 <!-- Designer will rename to <surface process name>.deps.json -->
12801 <DesignerRuntimeImplementationProjectOutputGroupOutput Include="$([MSBuild]::NormalizePath($(_DesignerDepsFilePath)))" TargetPath="$(_DesignerDepsFileName)" />
12802 <FileWrites Include="$(_DesignerDepsFilePath)" />
12803 </ItemGroup>
12804 </Target>
12805 <Target Name="_GenerateDesignerRuntimeConfigFile" Inputs="$(MSBuildAllProjectFiles);$(ProjectAssetsFile)" Outputs="$(_DesignerRuntimeConfigFilePath)" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12806 <ItemGroup>
12807 <_DesignerHostConfigurationOption Include="Microsoft.NETCore.DotNetHostPolicy.SetAppPaths" Value="true" />
12808 </ItemGroup>
12809 <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)" />
12810 <ItemGroup>
12811 <!-- Designer will rename to <surface process name>.runtimeconfig.json -->
12812 <DesignerRuntimeImplementationProjectOutputGroupOutput Include="$([MSBuild]::NormalizePath($(_DesignerRuntimeConfigFilePath)))" TargetPath="$(_DesignerRuntimeConfigFileName)" />
12813 <FileWrites Include="$(_DesignerRuntimeConfigFilePath)" />
12814 </ItemGroup>
12815 </Target>
12816 <Target Name="_GatherDesignerShadowCopyFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12817 <ItemGroup>
12818 <_DesignerShadowCopy Include="@(ReferenceCopyLocalPaths)" />
12819 <!--
12820 For .NET Core, we do not include NuGet package assets or runtime pack
12821 assets, irrespective of self-contained / copy-local settings. Designer
12822 will load these from the NuGet cache or shared framework always.
12823 -->
12824 <_DesignerShadowCopy Remove="@(_ResolvedCopyLocalBuildAssets);@(RuntimePackAsset)" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'" />
12825 <DesignerRuntimeImplementationProjectOutputGroupOutput Include="@(_DesignerShadowCopy->'%(FullPath)')" TargetPath="%(_DesignerShadowCopy.DestinationSubDirectory)%(_DesignerShadowCopy.Filename)%(_DesignerShadowCopy.Extension)" />
12826 </ItemGroup>
12827 </Target>
12828 <!--
12829============================================================================================================================================
12830 </Import>
12831
12832C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
12833============================================================================================================================================
12834-->
12835 <!--
12836============================================================================================================================================
12837 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.GenerateAssemblyInfo.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'">
12838
12839C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.GenerateAssemblyInfo.targets
12840============================================================================================================================================
12841-->
12842 <!--
12843***********************************************************************************************
12844Microsoft.NET.GenerateAssemblyInfo.targets
12845
12846WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
12847 created a backup copy. Incorrect changes to this file will make it
12848 impossible to load or build your projects from the command-line or the IDE.
12849
12850Copyright (c) .NET Foundation. All rights reserved.
12851***********************************************************************************************
12852-->
12853 <!--
12854 ============================================================
12855 GenerateAssemblyInfo
12856
12857 Generates assembly info source to intermediate directory
12858 ============================================================
12859 -->
12860 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12861 <GeneratedAssemblyInfoFile Condition="'$(GeneratedAssemblyInfoFile)' ==''">$(IntermediateOutputPath)$(MSBuildProjectName).AssemblyInfo$(DefaultLanguageSourceExtension)</GeneratedAssemblyInfoFile>
12862 <GenerateAssemblyInfo Condition="'$(GenerateAssemblyInfo)' == ''">true</GenerateAssemblyInfo>
12863 </PropertyGroup>
12864 <PropertyGroup Condition="'$(GenerateAssemblyInfo)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12865 <GenerateAssemblyCompanyAttribute Condition="'$(GenerateAssemblyCompanyAttribute)' == ''">true</GenerateAssemblyCompanyAttribute>
12866 <GenerateAssemblyConfigurationAttribute Condition="'$(GenerateAssemblyConfigurationAttribute)' == ''">true</GenerateAssemblyConfigurationAttribute>
12867 <GenerateAssemblyCopyrightAttribute Condition="'$(GenerateAssemblyCopyrightAttribute)' == ''">true</GenerateAssemblyCopyrightAttribute>
12868 <GenerateAssemblyDescriptionAttribute Condition="'$(GenerateAssemblyDescriptionAttribute)' == ''">true</GenerateAssemblyDescriptionAttribute>
12869 <GenerateAssemblyFileVersionAttribute Condition="'$(GenerateAssemblyFileVersionAttribute)' == ''">true</GenerateAssemblyFileVersionAttribute>
12870 <GenerateAssemblyInformationalVersionAttribute Condition="'$(GenerateAssemblyInformationalVersionAttribute)' == ''">true</GenerateAssemblyInformationalVersionAttribute>
12871 <GenerateAssemblyProductAttribute Condition="'$(GenerateAssemblyProductAttribute)' == ''">true</GenerateAssemblyProductAttribute>
12872 <GenerateAssemblyTitleAttribute Condition="'$(GenerateAssemblyTitleAttribute)' == ''">true</GenerateAssemblyTitleAttribute>
12873 <GenerateAssemblyVersionAttribute Condition="'$(GenerateAssemblyVersionAttribute)' == ''">true</GenerateAssemblyVersionAttribute>
12874 <GenerateRepositoryUrlAttribute Condition="'$(GenerateRepositoryUrlAttribute)' == '' and !('$(TargetFrameworkIdentifier)' == '.NETFramework' and $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), 4.5)))">true</GenerateRepositoryUrlAttribute>
12875 <GenerateNeutralResourcesLanguageAttribute Condition="'$(GenerateNeutralResourcesLanguageAttribute)' == ''">true</GenerateNeutralResourcesLanguageAttribute>
12876 <GenerateAssemblyMetadataAttributes Condition="'$(GenerateAssemblyMetadataAttributes)' == ''">true</GenerateAssemblyMetadataAttributes>
12877 <IncludeSourceRevisionInInformationalVersion Condition="'$(IncludeSourceRevisionInInformationalVersion)' == ''">true</IncludeSourceRevisionInInformationalVersion>
12878 <GenerateInternalsVisibleToAttributes Condition="'$(GenerateInternalsVisibleToAttributes)' == ''">true</GenerateInternalsVisibleToAttributes>
12879 <GenerateRequiresPreviewFeaturesAttribute Condition="'$(GenerateRequiresPreviewFeaturesAttribute)' == '' and '$(IsNetCoreAppTargetingLatestTFM)' == 'true'">true</GenerateRequiresPreviewFeaturesAttribute>
12880 </PropertyGroup>
12881 <!--
12882 Note that this must run before every invocation of CoreCompile to ensure that all compiler
12883 runs see the generated assembly info. There is at least one scenario involving Xaml
12884 where CoreCompile is invoked without other potential hooks such as Compile or CoreBuild,
12885 etc., so we hook directly on to CoreCompile. Furthermore, we must run *after*
12886 PrepareForBuild to ensure that the intermediate directory has been created.
12887
12888 Targets that generate Compile items are also expected to run before
12889 BeforeCompile targets (common targets convention).
12890 -->
12891 <Target Name="GenerateAssemblyInfo" BeforeTargets="BeforeCompile;CoreCompile" DependsOnTargets="PrepareForBuild;CoreGenerateAssemblyInfo" Condition="'$(GenerateAssemblyInfo)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
12892 <Target Name="AddSourceRevisionToInformationalVersion" DependsOnTargets="GetAssemblyVersion;InitializeSourceControlInformation" Condition="'$(SourceControlInformationFeatureSupported)' == 'true' and '$(IncludeSourceRevisionInInformationalVersion)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12893 <PropertyGroup Condition="'$(SourceRevisionId)' != ''">
12894 <!-- Follow SemVer 2.0 rules -->
12895 <_InformationalVersionContainsPlus>false</_InformationalVersionContainsPlus>
12896 <_InformationalVersionContainsPlus Condition="$(InformationalVersion.Contains('+'))">true</_InformationalVersionContainsPlus>
12897 <InformationalVersion Condition="!$(_InformationalVersionContainsPlus)">$(InformationalVersion)+$(SourceRevisionId)</InformationalVersion>
12898 <InformationalVersion Condition="$(_InformationalVersionContainsPlus)">$(InformationalVersion).$(SourceRevisionId)</InformationalVersion>
12899 </PropertyGroup>
12900 </Target>
12901 <Target Name="GetAssemblyAttributes" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12902 <ItemGroup>
12903 <AssemblyAttribute Include="System.Reflection.AssemblyCompanyAttribute" Condition="'$(Company)' != '' and '$(GenerateAssemblyCompanyAttribute)' == 'true'">
12904 <_Parameter1>$(Company)</_Parameter1>
12905 </AssemblyAttribute>
12906 <AssemblyAttribute Include="System.Reflection.AssemblyConfigurationAttribute" Condition="'$(Configuration)' != '' and '$(GenerateAssemblyConfigurationAttribute)' == 'true'">
12907 <_Parameter1>$(Configuration)</_Parameter1>
12908 </AssemblyAttribute>
12909 <AssemblyAttribute Include="System.Reflection.AssemblyCopyrightAttribute" Condition="'$(Copyright)' != '' and '$(GenerateAssemblyCopyrightAttribute)' == 'true'">
12910 <_Parameter1>$(Copyright)</_Parameter1>
12911 </AssemblyAttribute>
12912 <AssemblyAttribute Include="System.Reflection.AssemblyDescriptionAttribute" Condition="'$(Description)' != '' and '$(GenerateAssemblyDescriptionAttribute)' == 'true'">
12913 <_Parameter1>$(Description)</_Parameter1>
12914 </AssemblyAttribute>
12915 <AssemblyAttribute Include="System.Reflection.AssemblyFileVersionAttribute" Condition="'$(FileVersion)' != '' and '$(GenerateAssemblyFileVersionAttribute)' == 'true'">
12916 <_Parameter1>$(FileVersion)</_Parameter1>
12917 </AssemblyAttribute>
12918 <AssemblyAttribute Include="System.Reflection.AssemblyInformationalVersionAttribute" Condition="'$(InformationalVersion)' != '' and '$(GenerateAssemblyInformationalVersionAttribute)' == 'true'">
12919 <_Parameter1>$(InformationalVersion)</_Parameter1>
12920 </AssemblyAttribute>
12921 <AssemblyAttribute Include="System.Reflection.AssemblyProductAttribute" Condition="'$(Product)' != '' and '$(GenerateAssemblyProductAttribute)' == 'true'">
12922 <_Parameter1>$(Product)</_Parameter1>
12923 </AssemblyAttribute>
12924 <AssemblyAttribute Include="System.Reflection.AssemblyTitleAttribute" Condition="'$(AssemblyTitle)' != '' and '$(GenerateAssemblyTitleAttribute)' == 'true'">
12925 <_Parameter1>$(AssemblyTitle)</_Parameter1>
12926 </AssemblyAttribute>
12927 <AssemblyAttribute Include="System.Reflection.AssemblyVersionAttribute" Condition="'$(AssemblyVersion)' != '' and '$(GenerateAssemblyVersionAttribute)' == 'true'">
12928 <_Parameter1>$(AssemblyVersion)</_Parameter1>
12929 </AssemblyAttribute>
12930 <AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute" Condition="'$(GenerateRepositoryUrlAttribute)' == 'true' and ('$(RepositoryUrl)' != '' or '$(PublishRepositoryUrl)' == 'true')">
12931 <_Parameter1>RepositoryUrl</_Parameter1>
12932 <_Parameter2 Condition="'$(RepositoryUrl)' != ''">$(RepositoryUrl)</_Parameter2>
12933 <_Parameter2 Condition="'$(RepositoryUrl)' == ''">$(PrivateRepositoryUrl)</_Parameter2>
12934 </AssemblyAttribute>
12935 <AssemblyAttribute Include="System.Resources.NeutralResourcesLanguageAttribute" Condition="'$(NeutralLanguage)' != '' and '$(GenerateNeutralResourcesLanguageAttribute)' == 'true'">
12936 <_Parameter1>$(NeutralLanguage)</_Parameter1>
12937 </AssemblyAttribute>
12938 <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo" Condition="%(InternalsVisibleTo.Identity) != '' and '$(GenerateInternalsVisibleToAttributes)' == 'true'">
12939 <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' != ''">%(InternalsVisibleTo.Identity), PublicKey=%(InternalsVisibleTo.Key)</_Parameter1>
12940 <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' == '' and '$(PublicKey)' != ''">%(InternalsVisibleTo.Identity), PublicKey=$(PublicKey)</_Parameter1>
12941 <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' == '' and '$(PublicKey)' == ''">%(InternalsVisibleTo.Identity)</_Parameter1>
12942 </AssemblyAttribute>
12943 <AssemblyAttribute Include="System.Reflection.AssemblyMetadata" Condition="%(AssemblyMetadata.Identity) != '' and '$(GenerateAssemblyMetadataAttributes)' == 'true'">
12944 <_Parameter1>%(AssemblyMetadata.Identity)</_Parameter1>
12945 <_Parameter2>%(AssemblyMetadata.Value)</_Parameter2>
12946 </AssemblyAttribute>
12947 <AssemblyAttribute Include="System.Runtime.Versioning.RequiresPreviewFeaturesAttribute" Condition="'$(EnablePreviewFeatures)' == 'true' and '$(GenerateRequiresPreviewFeaturesAttribute)' == 'true'" />
12948 </ItemGroup>
12949 <ItemGroup Condition="'$(TargetPlatformIdentifier)' != ''&#xD;&#xA; and '$(TargetPlatformVersion)' != ''&#xD;&#xA; and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '5.0'))">
12950 <AssemblyAttribute Include="System.Runtime.Versioning.TargetPlatformAttribute">
12951 <_Parameter1>$(TargetPlatformIdentifier)$(TargetPlatformVersion)</_Parameter1>
12952 </AssemblyAttribute>
12953 </ItemGroup>
12954 <ItemGroup Condition="'$(TargetPlatformIdentifier)' != ''&#xD;&#xA; and '$(SupportedOSPlatformVersion)' != ''&#xD;&#xA; and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '5.0'))">
12955 <AssemblyAttribute Include="System.Runtime.Versioning.SupportedOSPlatformAttribute" Condition="!$([MSBuild]::VersionEquals($(SupportedOSPlatformVersion), '0.0'))">
12956 <_Parameter1>$(TargetPlatformIdentifier)$(SupportedOSPlatformVersion)</_Parameter1>
12957 </AssemblyAttribute>
12958 <AssemblyAttribute Include="System.Runtime.Versioning.SupportedOSPlatformAttribute" Condition="$([MSBuild]::VersionEquals($(SupportedOSPlatformVersion), '0.0'))">
12959 <_Parameter1>$(TargetPlatformIdentifier)</_Parameter1>
12960 </AssemblyAttribute>
12961 </ItemGroup>
12962 </Target>
12963 <!--
12964 To allow version changes to be respected on incremental builds (e.g. through CLI parameters),
12965 create a hash of all assembly attributes so that the cache file will change with the calculated
12966 assembly attribute values and msbuild will then execute CoreGenerateAssembly to generate a new file.
12967 -->
12968 <Target Name="CreateGeneratedAssemblyInfoInputsCacheFile" DependsOnTargets="GetAssemblyAttributes" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12969 <PropertyGroup>
12970 <GeneratedAssemblyInfoInputsCacheFile>$(IntermediateOutputPath)$(MSBuildProjectName).AssemblyInfoInputs.cache</GeneratedAssemblyInfoInputsCacheFile>
12971 </PropertyGroup>
12972 <!-- We only use up to _Parameter1 for most attributes, but other targets may add additional assembly attributes with multiple parameters. -->
12973 <Hash ItemsToHash="@(AssemblyAttribute->'%(Identity)%(_Parameter1)%(_Parameter2)%(_Parameter3)%(_Parameter4)%(_Parameter5)%(_Parameter6)%(_Parameter7)%(_Parameter8)')">
12974 <Output TaskParameter="HashResult" PropertyName="_AssemblyAttributesHash" />
12975 </Hash>
12976 <WriteLinesToFile Lines="$(_AssemblyAttributesHash)" File="$(GeneratedAssemblyInfoInputsCacheFile)" Overwrite="True" WriteOnlyWhenDifferent="True" />
12977 <ItemGroup>
12978 <FileWrites Include="$(GeneratedAssemblyInfoInputsCacheFile)" />
12979 </ItemGroup>
12980 </Target>
12981 <Target Name="CoreGenerateAssemblyInfo" Condition="'$(Language)'=='VB' or '$(Language)'=='C#'" DependsOnTargets="CreateGeneratedAssemblyInfoInputsCacheFile" Inputs="$(GeneratedAssemblyInfoInputsCacheFile)" Outputs="$(GeneratedAssemblyInfoFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12982 <ItemGroup>
12983 <!-- Ensure the generated assemblyinfo file is not already part of the Compile sources, as a workaround for https://github.com/dotnet/sdk/issues/114 -->
12984 <Compile Remove="$(GeneratedAssemblyInfoFile)" />
12985 </ItemGroup>
12986 <WriteCodeFragment AssemblyAttributes="@(AssemblyAttribute)" Language="$(Language)" OutputFile="$(GeneratedAssemblyInfoFile)">
12987 <Output TaskParameter="OutputFile" ItemName="Compile" />
12988 <Output TaskParameter="OutputFile" ItemName="FileWrites" />
12989 </WriteCodeFragment>
12990 </Target>
12991 <!--
12992 ==================================================================
12993 GetAssemblyVersion
12994
12995 Parses the nuget package version set in $(Version) and returns
12996 the implied $(AssemblyVersion) and $(FileVersion).
12997
12998 e.g.:
12999 <Version>1.2.3-beta.4</Version>
13000
13001 implies:
13002 <AssemblyVersion>1.2.3</AssemblyVersion>
13003 <FileVersion>1.2.3</FileVersion>
13004
13005 Note that if $(AssemblyVersion) or $(FileVersion) are are already set, it
13006 is considered an override of the default inference from $(Version) and they
13007 are left unchanged by this target.
13008 ==================================================================
13009 -->
13010 <Target Name="GetAssemblyVersion" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13011 <GetAssemblyVersion Condition="'$(AssemblyVersion)' == ''" NuGetVersion="$(Version)">
13012 <Output TaskParameter="AssemblyVersion" PropertyName="AssemblyVersion" />
13013 </GetAssemblyVersion>
13014 <PropertyGroup>
13015 <FileVersion Condition="'$(FileVersion)' == ''">$(AssemblyVersion)</FileVersion>
13016 <InformationalVersion Condition="'$(InformationalVersion)' == ''">$(Version)</InformationalVersion>
13017 </PropertyGroup>
13018 </Target>
13019 <!--
13020============================================================================================================================================
13021 </Import>
13022
13023C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
13024============================================================================================================================================
13025-->
13026 <!--
13027============================================================================================================================================
13028 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.GenerateGlobalUsings.targets" Condition="'$(Language)' == 'C#'">
13029
13030C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.GenerateGlobalUsings.targets
13031============================================================================================================================================
13032-->
13033 <!--
13034***********************************************************************************************
13035Microsoft.NET.GenerateGlobalUsings.targets
13036
13037WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
13038 created a backup copy. Incorrect changes to this file will make it
13039 impossible to load or build your projects from the command-line or the IDE.
13040
13041Copyright (c) .NET Foundation. All rights reserved.
13042***********************************************************************************************
13043-->
13044 <!--
13045 ============================================================
13046 GenerateGlobalUsings
13047
13048 Generates implicit namespace imports source to intermediate directory for C# projects
13049 ============================================================
13050 -->
13051 <UsingTask TaskName="GenerateGlobalUsings" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13052 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13053 <GeneratedGlobalUsingsFile Condition="'$(GeneratedGlobalUsingsFile)' ==''">$(IntermediateOutputPath)$(MSBuildProjectName).GlobalUsings.g$(DefaultLanguageSourceExtension)</GeneratedGlobalUsingsFile>
13054 </PropertyGroup>
13055 <!--
13056 Note that this must run before every invocation of CoreCompile to ensure that all compiler
13057 runs see the generated global usings. There is at least one scenario involving Xaml
13058 where CoreCompile is invoked without other potential hooks such as Compile or CoreBuild,
13059 etc., so we hook directly on to CoreCompile. Furthermore, we must run *after*
13060 PrepareForBuild to ensure that the intermediate directory has been created.
13061
13062 Targets that generate Compile items are also expected to run before
13063 BeforeCompile targets (common targets convention).
13064 -->
13065 <Target Name="GenerateGlobalUsings" BeforeTargets="BeforeCompile;CoreCompile" AfterTargets="PrepareForBuild" Condition="@(Using-&gt;Count()) != 0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13066 <GenerateGlobalUsings Usings="@(Using)">
13067 <Output TaskParameter="Lines" ItemName="_GlobalUsingLines" />
13068 </GenerateGlobalUsings>
13069 <WriteLinesToFile File="$(GeneratedGlobalUsingsFile)" Lines="@(_GlobalUsingLines)" Overwrite="true" WriteOnlyWhenDifferent="true" />
13070 <ItemGroup>
13071 <Compile Include="$(GeneratedGlobalUsingsFile)" />
13072 <!-- Performing a clean and waiting without a build results in build warnings in VS due to all the missing namespaces, so we'll avoid recording it in FileWrites -->
13073 </ItemGroup>
13074 </Target>
13075 <!--
13076============================================================================================================================================
13077 </Import>
13078
13079C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
13080============================================================================================================================================
13081-->
13082 <!--
13083============================================================================================================================================
13084 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.GenerateSupportedRuntime.targets">
13085
13086C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.GenerateSupportedRuntime.targets
13087============================================================================================================================================
13088-->
13089 <!--
13090***********************************************************************************************
13091Microsoft.NET.GenerateSupportedRuntime.targets
13092
13093WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
13094 created a backup copy. Incorrect changes to this file will make it
13095 impossible to load or build your projects from the command-line or the IDE.
13096
13097Copyright (c) .NET Foundation. All rights reserved.
13098***********************************************************************************************
13099-->
13100 <UsingTask TaskName="WriteAppConfigWithSupportedRuntime" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13101 <UsingTask TaskName="SetGeneratedAppConfigMetadata" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13102 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13103 <_GenerateSupportedRuntimeIntermediateAppConfig>$(IntermediateOutputPath)$(TargetFileName).withSupportedRuntime.config</_GenerateSupportedRuntimeIntermediateAppConfig>
13104 </PropertyGroup>
13105 <Target Name="GenerateSupportedRuntime" Condition="'$(GenerateSupportedRuntime)' != 'false' and '$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(HasRuntimeOutput)' == 'true'" DependsOnTargets="_WriteAppConfigWithSupportedRuntime" BeforeTargets="GenerateBindingRedirects" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13106 <SetGeneratedAppConfigMetadata AppConfigFile="@(AppConfigWithTargetPath)" TargetName="$(TargetFileName).config" GeneratedAppConfigFile="$(_GenerateSupportedRuntimeIntermediateAppConfig)">
13107 <Output TaskParameter="OutputAppConfigFileWithMetadata" ItemName="_GenerateSupportedRuntimeAppConfigWithTargetPath" />
13108 </SetGeneratedAppConfigMetadata>
13109 <!--Override the AppConfigWithTargetPath for downstream target-->
13110 <ItemGroup>
13111 <AppConfigWithTargetPath Remove="@(AppConfigWithTargetPath)" />
13112 <AppConfigWithTargetPath Include="@(_GenerateSupportedRuntimeAppConfigWithTargetPath)" />
13113 </ItemGroup>
13114 </Target>
13115 <Target Name="_WriteAppConfigWithSupportedRuntime" Inputs="$(MSBuildAllProjects);@(AppConfigWithTargetPath)" Outputs="$(_GenerateSupportedRuntimeIntermediateAppConfig)" DependsOnTargets="PrepareForBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13116 <WriteAppConfigWithSupportedRuntime AppConfigFile="@(AppConfigWithTargetPath)" TargetFrameworkIdentifier="$(TargetFrameworkIdentifier)" TargetFrameworkVersion="$(TargetFrameworkVersion)" TargetFrameworkProfile="$(TargetFrameworkProfile)" OutputAppConfigFile="$(_GenerateSupportedRuntimeIntermediateAppConfig)" />
13117 <ItemGroup>
13118 <FileWrites Include="@(_GenerateSupportedRuntimeAppConfigWithTargetPath)" />
13119 </ItemGroup>
13120 </Target>
13121 <!--
13122============================================================================================================================================
13123 </Import>
13124
13125C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
13126============================================================================================================================================
13127-->
13128 <!--
13129============================================================================================================================================
13130 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ComposeStore.targets" Condition="'$(UsingNETSdkDefaults)' == 'true'">
13131
13132C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ComposeStore.targets
13133============================================================================================================================================
13134-->
13135 <!--
13136***********************************************************************************************
13137Microsoft.NET.ComposeStore.targets
13138
13139WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
13140 created a backup copy. Incorrect changes to this file will make it
13141 impossible to load or build your projects from the command-line or the IDE.
13142
13143Copyright (c) .NET Foundation. All rights reserved.
13144***********************************************************************************************
13145-->
13146 <!--
13147 ============================================================
13148 ComposeStore
13149
13150 The main store entry point.
13151 ============================================================
13152 -->
13153 <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" />
13154 <!--
13155 ============================================================
13156 StoreWorkerMain
13157
13158 Processes the store project files
13159 ============================================================
13160 -->
13161 <Target Name="StoreWorkerMain" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13162 <ItemGroup>
13163 <_AllProjects Include="$(AdditionalProjects.Split('%3B'))" />
13164 <_AllProjects Include="$(MSBuildProjectFullPath)" />
13165 </ItemGroup>
13166 <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)">
13167 <Output ItemName="AllResolvedPackagesPublished" TaskParameter="TargetOutputs" />
13168 </MSBuild>
13169 </Target>
13170 <!--
13171 ============================================================
13172 StoreWorkerMapper
13173
13174 Processes each package specified in a store project file
13175 ============================================================
13176 -->
13177 <Target Name="StoreWorkerMapper" Returns="@(ResolvedPackagesFromMapper)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13178 <ItemGroup>
13179 <PackageReferencesToStore Include="$(MSBuildProjectFullPath)">
13180 <PackageName>%(PackageReference.Identity)</PackageName>
13181 <PackageVersion>%(PackageReference.Version)</PackageVersion>
13182 <AdditionalProperties>
13183 StorePackageName=%(PackageReference.Identity);
13184 StorePackageVersion=%(PackageReference.Version);
13185 ComposeWorkingDir=$(ComposeWorkingDir);
13186 PublishDir=$(PublishDir);
13187 StoreStagingDir=$(StoreStagingDir);
13188 TargetFramework=$(TargetFramework);
13189 RuntimeIdentifier=$(RuntimeIdentifier);
13190 JitPath=$(JitPath);
13191 Crossgen=$(Crossgen);
13192 SkipUnchangedFiles=$(SkipUnchangedFiles);
13193 PreserveStoreLayout=$(PreserveStoreLayout);
13194 CreateProfilingSymbols=$(CreateProfilingSymbols);
13195 StoreSymbolsStagingDir=$(StoreSymbolsStagingDir);
13196 DisableImplicitFrameworkReferences=false;
13197 </AdditionalProperties>
13198 </PackageReferencesToStore>
13199 </ItemGroup>
13200 <!-- Restore phase -->
13201 <MSBuild Projects="@(PackageReferencesToStore)" Targets="RestoreForComposeStore" BuildInParallel="$(BuildInParallel)" />
13202 <!-- Resolve phase-->
13203 <MSBuild Projects="@(PackageReferencesToStore)" Targets="StoreResolver" Properties="SelfContained=false;UseAppHost=false;MSBuildProjectExtensionsPath=$(ComposeWorkingDir)\%(PackageReferencesToStore.PackageName)_$([System.String]::Copy('%(PackageReferencesToStore.PackageVersion)').Replace('*','-'))\;" BuildInParallel="$(BuildInParallel)">
13204 <Output ItemName="ResolvedPackagesFromMapper" TaskParameter="TargetOutputs" />
13205 </MSBuild>
13206 </Target>
13207 <Target Name="StoreResolver" Returns="@(ResolvedPackagesPublished)" DependsOnTargets="PrepforRestoreForComposeStore;&#xD;&#xA; StoreWorkerPerformWork" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13208 <Target Name="StoreWorkerPerformWork" DependsOnTargets="ComputeAndCopyFilesToStoreDirectory;" Condition="Exists($(StoreWorkerWorkingDir))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13209 <!--
13210 ============================================================
13211 StoreFinalizer
13212
13213 Cleans up and produces artifacts after completion of store
13214 ============================================================
13215 -->
13216 <UsingTask TaskName="RemoveDuplicatePackageReferences" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13217 <Target Name="StoreFinalizer" DependsOnTargets="StoreWorkerMain;&#xD;&#xA; _CopyResolvedOptimizedFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13218 <RemoveDuplicatePackageReferences InputPackageReferences="@(AllResolvedPackagesPublished)">
13219 <Output TaskParameter="UniquePackageReferences" ItemName="AllResolvedPackagesPublishedAfterFilter" />
13220 </RemoveDuplicatePackageReferences>
13221 <ItemGroup>
13222 <ListOfPackageReference Include="@(AllResolvedPackagesPublishedAfterFilter -> '%20%20&lt;Package Id=&quot;%(Identity)&quot; Version=&quot;%(Version)&quot; /&gt;')" />
13223 </ItemGroup>
13224 <PropertyGroup>
13225 <_StoreArtifactContent><![CDATA[
13226<StoreArtifacts>
13227@(ListOfPackageReference)
13228</StoreArtifacts>
13229]]></_StoreArtifactContent>
13230 </PropertyGroup>
13231 <WriteLinesToFile File="$(StoreArtifactXml)" Lines="$(_StoreArtifactContent)" Overwrite="true" />
13232 <Message Text="Files were composed in $(PublishDir)" Importance="high" />
13233 <Message Text="The list of packages stored is in $(StoreArtifactXml) " Importance="high" />
13234 <RemoveDir Condition="'$(PreserveComposeWorkingDir)' != 'true'" Directories="$(ComposeWorkingDir)" />
13235 </Target>
13236 <!--
13237 ============================================================
13238 _CopyResolvedUnOptimizedFiles
13239
13240 Copy OptimizedResolvedFileToPublish items to the publish directory.
13241 ============================================================
13242 -->
13243 <Target Name="_CopyResolvedOptimizedFiles" DependsOnTargets="StoreWorkerMain;" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13244 <ItemGroup>
13245 <_OptimizedResolvedFileToPublish Include="$(StoreStagingDir)\**\*.*" />
13246 <_OptimizedSymbolFileToPublish Include="$(StoreSymbolsStagingDir)\**\*.*" />
13247 </ItemGroup>
13248 <Copy SourceFiles="@(_OptimizedResolvedFileToPublish)" DestinationFolder="$(PublishDir)%(_OptimizedResolvedFileToPublish.RecursiveDir)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" Condition="'@(_OptimizedResolvedFileToPublish)' != ''" SkipUnchangedFiles="$(SkipUnchangedFiles)">
13249 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
13250 </Copy>
13251 <Copy SourceFiles="@(_OptimizedSymbolFileToPublish)" DestinationFolder="$(ProfilingSymbolsDir)%(_OptimizedSymbolFileToPublish.RecursiveDir)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" Condition="'@(_OptimizedSymbolFileToPublish)' != ''" SkipUnchangedFiles="$(SkipUnchangedFiles)">
13252 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
13253 </Copy>
13254 </Target>
13255 <!--
13256 ============================================================
13257 PrepareForComposeStore
13258
13259 Prepare the prerequisites for ComposeStore.
13260 ============================================================
13261 -->
13262 <Target Name="PrepareForComposeStore" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13263 <PropertyGroup>
13264 <PreserveStoreLayout Condition="'$(PreserveStoreLayout)' == ''">true</PreserveStoreLayout>
13265 <SkipOptimization Condition="'$(RuntimeIdentifier)' == ''">true</SkipOptimization>
13266 <_TFM Condition="'$(_TFM)' == ''">$(TargetFramework)</_TFM>
13267 <SkipUnchangedFiles Condition="'$(SkipUnchangedFiles)' == ''">true</SkipUnchangedFiles>
13268 </PropertyGroup>
13269 <NETSdkError Condition="'2.0' &gt; '$(_TargetFrameworkVersionWithoutV)'" ResourceName="UnuspportedFramework" FormatArguments="$(TargetFrameworkMoniker)" />
13270 <NETSdkError Condition="'$(RuntimeIdentifier)' =='' and '$(_PureManagedAssets)' == ''" ResourceName="RuntimeIdentifierWasNotSpecified" />
13271 <NETSdkError Condition="'$(_TFM)' ==''" ResourceName="AtLeastOneTargetFrameworkMustBeSpecified" />
13272 <PropertyGroup>
13273 <DefaultComposeDir>$(UserProfileRuntimeStorePath)</DefaultComposeDir>
13274 <_ProfilingSymbolsDirectoryName>symbols</_ProfilingSymbolsDirectoryName>
13275 <DefaultProfilingSymbolsDir>$([System.IO.Path]::Combine($(DefaultComposeDir), $(_ProfilingSymbolsDirectoryName)))</DefaultProfilingSymbolsDir>
13276 <ProfilingSymbolsDir Condition="'$(ProfilingSymbolsDir)' == '' and '$(ComposeDir)' != ''">$([System.IO.Path]::Combine($(ComposeDir), $(_ProfilingSymbolsDirectoryName)))</ProfilingSymbolsDir>
13277 <ProfilingSymbolsDir Condition="'$(ProfilingSymbolsDir)' != '' and '$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ProfilingSymbolsDir), $(PlatformTarget)))</ProfilingSymbolsDir>
13278 <ProfilingSymbolsDir Condition="'$(ProfilingSymbolsDir)' == ''">$(DefaultProfilingSymbolsDir)</ProfilingSymbolsDir>
13279 <ProfilingSymbolsDir Condition="'$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ProfilingSymbolsDir), $(_TFM)))</ProfilingSymbolsDir>
13280 <ProfilingSymbolsDir Condition="!HasTrailingSlash('$(ProfilingSymbolsDir)')">$(ProfilingSymbolsDir)\</ProfilingSymbolsDir>
13281 <ComposeDir Condition="'$(ComposeDir)' == ''">$(DefaultComposeDir)</ComposeDir>
13282 <ComposeDir Condition="'$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ComposeDir), $(PlatformTarget)))</ComposeDir>
13283 <ComposeDir Condition="'$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ComposeDir), $(_TFM)))</ComposeDir>
13284 <StoreArtifactXml>$([System.IO.Path]::Combine($(ComposeDir),"artifact.xml"))</StoreArtifactXml>
13285 <PublishDir>$([System.IO.Path]::GetFullPath($(ComposeDir)))</PublishDir>
13286 <_RandomFileName>$([System.IO.Path]::GetRandomFileName())</_RandomFileName>
13287 <TEMP Condition="'$(TEMP)' == ''">$([System.IO.Path]::GetTempPath())</TEMP>
13288 <ComposeWorkingDir Condition="'$(ComposeWorkingDir)' == ''">$([System.IO.Path]::Combine($(TEMP), $(_RandomFileName)))</ComposeWorkingDir>
13289 <ComposeWorkingDir>$([System.IO.Path]::GetFullPath($(ComposeWorkingDir)))</ComposeWorkingDir>
13290 <StoreStagingDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"StagingDir"))</StoreStagingDir>
13291 <!-- Will contain optimized managed assemblies in nuget cache layout -->
13292 <StoreSymbolsStagingDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"SymbolsStagingDir"))</StoreSymbolsStagingDir>
13293 <!-- Ensure any PublishDir has a trailing slash, so it can be concatenated -->
13294 <PublishDir Condition="!HasTrailingSlash('$(PublishDir)')">$(PublishDir)\</PublishDir>
13295 </PropertyGroup>
13296 <PropertyGroup Condition="'$(CreateProfilingSymbols)' == ''">
13297 <!-- There is no support for profiling symbols on OSX -->
13298 <CreateProfilingSymbols Condition="$(RuntimeIdentifier.StartsWith('osx'))">false</CreateProfilingSymbols>
13299 <CreateProfilingSymbols Condition="'$(CreateProfilingSymbols)' == ''">true</CreateProfilingSymbols>
13300 </PropertyGroup>
13301 <NETSdkError Condition="Exists($(ComposeWorkingDir))" ResourceName="FolderAlreadyExists" FormatArguments="$(ComposeWorkingDir)" />
13302 <MakeDir Directories="$(PublishDir)" />
13303 <MakeDir Directories="$(StoreStagingDir)" />
13304 </Target>
13305 <Target Name="PrepforRestoreForComposeStore" DependsOnTargets="_DefaultMicrosoftNETPlatformLibrary" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13306 <PropertyGroup>
13307 <StorePackageVersionForFolderName>$(StorePackageVersion.Replace('*','-'))</StorePackageVersionForFolderName>
13308 <StoreWorkerWorkingDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"$(StorePackageName)_$(StorePackageVersionForFolderName)"))</StoreWorkerWorkingDir>
13309 <_PackageProjFile>$([System.IO.Path]::Combine($(StoreWorkerWorkingDir), "Restore.csproj"))</_PackageProjFile>
13310 <BaseIntermediateOutputPath>$(StoreWorkerWorkingDir)\</BaseIntermediateOutputPath>
13311 <ProjectAssetsFile>$(BaseIntermediateOutputPath)\project.assets.json</ProjectAssetsFile>
13312 </PropertyGroup>
13313 <PropertyGroup>
13314 <PackagesToPrune>$(MicrosoftNETPlatformLibrary)</PackagesToPrune>
13315 <SelfContained Condition="'$(SelfContained)' == ''">true</SelfContained>
13316 </PropertyGroup>
13317 </Target>
13318 <!--
13319 ============================================================
13320 RestoreForComposeStore
13321
13322 Restores the package
13323 ============================================================
13324 -->
13325 <Target Name="RestoreForComposeStore" DependsOnTargets="PrepforRestoreForComposeStore;" Condition="!Exists($(StoreWorkerWorkingDir))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13326 <MakeDir Directories="$(StoreWorkerWorkingDir)" />
13327 <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);" />
13328 </Target>
13329 <!--
13330 ============================================================
13331 ComputeAndCopyFilesToStoreDirectory
13332
13333 Computes the list of all files to copy to the publish directory and then publishes them.
13334 ============================================================
13335 -->
13336 <Target Name="ComputeAndCopyFilesToStoreDirectory" DependsOnTargets="ComputeFilesToStore;&#xD;&#xA; CopyFilesToStoreDirectory" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13337 <!--
13338 ============================================================
13339 CopyFilesToStoreDirectory
13340
13341 Copy all build outputs, satellites and other necessary files to the publish directory.
13342 ============================================================
13343 -->
13344 <Target Name="CopyFilesToStoreDirectory" DependsOnTargets="_CopyResolvedUnOptimizedFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13345 <!--
13346 ============================================================
13347 _CopyResolvedUnOptimizedFiles
13348
13349 Copy _UnOptimizedResolvedFileToPublish items to the publish directory.
13350 ============================================================
13351 -->
13352 <Target Name="_CopyResolvedUnOptimizedFiles" DependsOnTargets="_ComputeResolvedFilesToStoreTypes;&#xD;&#xA; _RunOptimizer" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13353 <Copy SourceFiles="@(_UnOptimizedResolvedFileToPublish)" DestinationFiles="$(PublishDir)%(_UnOptimizedResolvedFileToPublish.DestinationSubPath)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" SkipUnchangedFiles="$(SkipUnchangedFiles)">
13354 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
13355 </Copy>
13356 </Target>
13357 <!--
13358 ============================================================
13359 _ComputeResolvedFilesToStoreTypes
13360 ============================================================
13361 -->
13362 <Target Name="_ComputeResolvedFilesToStoreTypes" DependsOnTargets="_GetResolvedFilesToStore;_SplitResolvedFiles;" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13363 <!--
13364 ============================================================
13365 _SplitResolvedFiles
13366
13367 Splits ResolvedFileToPublish items into 'managed' and 'unmanaged' buckets.
13368 ============================================================
13369 -->
13370 <Target Name="_SplitResolvedFiles" Condition="$(SkipOptimization) !='true' " DependsOnTargets="_GetResolvedFilesToStore" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13371 <ItemGroup>
13372 <_ManagedResolvedFileToPublishCandidates Include="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.AssetType)'=='runtime'" />
13373 <_UnOptimizedResolvedFileToPublish Include="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.AssetType)'!='runtime'" />
13374 </ItemGroup>
13375 <PropertyGroup>
13376 <SkipOptimization Condition="'@(_ManagedResolvedFileToPublishCandidates)'==''">true</SkipOptimization>
13377 </PropertyGroup>
13378 </Target>
13379 <!--
13380 ============================================================
13381 _GetResolvedFilesToStore
13382 ============================================================
13383 -->
13384 <Target Name="_GetResolvedFilesToStore" Condition="$(SkipOptimization) == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13385 <ItemGroup>
13386 <_UnOptimizedResolvedFileToPublish Include="@(ResolvedFileToPublish)" />
13387 </ItemGroup>
13388 </Target>
13389 <!--
13390 ============================================================
13391 ComputeFilesToStore
13392
13393 Gathers all the files that need to be copied to the publish directory.
13394 ============================================================
13395 -->
13396 <UsingTask TaskName="FilterResolvedFiles" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13397 <Target Name="ComputeFilesToStore" DependsOnTargets="_ComputeResolvedCopyLocalPublishAssets;&#xD;&#xA; _ComputeCopyToPublishDirectoryItems" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13398 <PropertyGroup>
13399 <CopyBuildOutputToPublishDirectory Condition="'$(CopyBuildOutputToPublishDirectory)'==''">true</CopyBuildOutputToPublishDirectory>
13400 <CopyOutputSymbolsToPublishDirectory Condition="'$(CopyOutputSymbolsToPublishDirectory)'==''">true</CopyOutputSymbolsToPublishDirectory>
13401 </PropertyGroup>
13402 <FilterResolvedFiles AssetsFilePath="$(ProjectAssetsFile)" ResolvedFiles="@(_ResolvedCopyLocalPublishAssets)" PackagesToPrune="$(PackagesToPrune)" TargetFramework="$(TargetFramework)" RuntimeIdentifier="$(RuntimeIdentifier)" IsSelfContained="$(SelfContained)">
13403 <Output TaskParameter="AssembliesToPublish" ItemName="ResolvedFileToPublish" />
13404 <Output TaskParameter="PublishedPackages" ItemName="PackagesThatWereResolved" />
13405 </FilterResolvedFiles>
13406 <ItemGroup>
13407 <ResolvedPackagesPublished Include="@(PackagesThatWereResolved)" Condition="$(DoNotTrackPackageAsResolved) !='true'" />
13408 </ItemGroup>
13409 </Target>
13410 <!--
13411 ============================================================
13412 PrepRestoreForStoreProjects
13413
13414 Removes specified PackageReference for store and inserts the specified StorePackageName
13415 ============================================================
13416 -->
13417 <Target Name="PrepRestoreForStoreProjects" BeforeTargets="_GenerateProjectRestoreGraphPerFramework;" Condition="'$(StorePackageName)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13418 <ItemGroup>
13419 <PackageReference Remove="@(PackageReference)" Condition="'%(PackageReference.IsImplicitlyDefined)' != 'true'" />
13420 <PackageReference Include="$(StorePackageName)" Version="$(StorePackageVersion)" />
13421 </ItemGroup>
13422 </Target>
13423 <!--
13424============================================================================================================================================
13425 </Import>
13426
13427C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
13428============================================================================================================================================
13429-->
13430 <!--
13431============================================================================================================================================
13432 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.CrossGen.targets">
13433
13434C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.CrossGen.targets
13435============================================================================================================================================
13436-->
13437 <!--
13438***********************************************************************************************
13439Microsoft.NET.CrossGen.targets
13440
13441WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
13442 created a backup copy. Incorrect changes to this file will make it
13443 impossible to load or build your projects from the command-line or the IDE.
13444
13445Copyright (c) .NET Foundation. All rights reserved.
13446***********************************************************************************************
13447-->
13448 <!--
13449 For ReadyToRun compilation, default to Crossgen for .NET Core 3.x and .NET 5. If PublishReadyToRunUseCrossgen2
13450 is set to true in the project or on the command line, use Crossgen2 and default to composite mode. For .NET 6
13451 and higher, always use Crossgen2 and default to non-composite mode.
13452 -->
13453 <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13454 <PublishReadyToRunUseCrossgen2 Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '6.0'">true</PublishReadyToRunUseCrossgen2>
13455 <PublishReadyToRunComposite Condition="'$(PublishReadyToRunComposite)' == '' and '$(_TargetFrameworkVersionWithoutV)' &gt;= '6.0'">false</PublishReadyToRunComposite>
13456 <PublishReadyToRunComposite Condition="'$(PublishReadyToRunComposite)' == ''">true</PublishReadyToRunComposite>
13457 <PublishReadyToRunComposite Condition="'$(PublishReadyToRunUseCrossgen2)' != 'true' or '$(SelfContained)' != 'true'">false</PublishReadyToRunComposite>
13458 <PublishReadyToRunUseRuntimePackOptimizationData Condition="'$(PublishReadyToRunUseRuntimePackOptimizationData)' == ''">true</PublishReadyToRunUseRuntimePackOptimizationData>
13459 <PublishReadyToRunPerfmapFormatVersion Condition="'$(PublishReadyToRunPerfmapFormatVersion)' == ''">1</PublishReadyToRunPerfmapFormatVersion>
13460 </PropertyGroup>
13461 <!--
13462 ============================================================
13463 PrepOptimizer
13464
13465 Sets up the common infrastructure for the optimization phase
13466 Outputs:
13467 JitPath
13468 Crossgen
13469 ============================================================
13470 -->
13471 <Target Name="PrepOptimizer" DependsOnTargets="_RestoreCrossgen;" Condition="$(SkipOptimization) != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13472 <!-- Get the coreclr path -->
13473 <ItemGroup>
13474 <_CoreclrResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)" Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='coreclr'" />
13475 <_CoreclrResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)" Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='libcoreclr'" />
13476 <_JitResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)" Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='clrjit'" />
13477 <_JitResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)" Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='libclrjit'" />
13478 </ItemGroup>
13479 <NETSdkError Condition="'@(_CoreclrResolvedPath-&gt;Count())' &gt; 1" ResourceName="MultipleFilesResolved" FormatArguments="coreclr" />
13480 <NETSdkError Condition="'@(_CoreclrResolvedPath)'== ''" ResourceName="UnableToFindResolvedPath" FormatArguments="coreclr" />
13481 <NETSdkError Condition="'@(_JitResolvedPath-&gt;Count())' &gt; 1" ResourceName="MultipleFilesResolved" FormatArguments="jit" />
13482 <NETSdkError Condition="'@(_JitResolvedPath)'== ''" ResourceName="UnableToFindResolvedPath" FormatArguments="jit" />
13483 <!-- Get the crossgen and jit path-->
13484 <PropertyGroup>
13485 <_CoreclrPath>@(_CoreclrResolvedPath)</_CoreclrPath>
13486 <JitPath>@(_JitResolvedPath)</JitPath>
13487 <_CoreclrDir>$([System.IO.Path]::GetDirectoryName($(_CoreclrPath)))</_CoreclrDir>
13488 <_CoreclrPkgDir>$([System.IO.Path]::Combine($(_CoreclrDir),"..\..\..\"))</_CoreclrPkgDir>
13489 <CrossgenDir>$([System.IO.Path]::Combine($(_CoreclrPkgDir),"tools"))</CrossgenDir>
13490 <!-- TODO override with rid specific tools path for x-arch -->
13491 <Crossgen>$([System.IO.Path]::Combine($(CrossgenDir),"crossgen"))</Crossgen>
13492 <Crossgen Condition="$([MSBuild]::IsOSPlatform(`Windows`))">$([System.IO.Path]::Combine($(CrossgenDir),"crossgen.exe"))</Crossgen>
13493 </PropertyGroup>
13494 <NETSdkError Condition="!Exists($(Crossgen))" ResourceName="UnableToFindResolvedPath" FormatArguments="$(Crossgen)" />
13495 <!-- Copy crossgen into the netcoreapp folder to ensure it can load Microsoft.DiaSymReader.Native when creating PDBs -->
13496 <Copy SourceFiles="$(Crossgen)" DestinationFolder="$(_NetCoreRefDir)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">
13497 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
13498 </Copy>
13499 <PropertyGroup>
13500 <Crossgen>$([System.IO.Path]::GetFullPath($([System.IO.Path]::Combine($(_NetCoreRefDir), $([System.IO.Path]::GetFileName($(Crossgen)))))))</Crossgen>
13501 </PropertyGroup>
13502 </Target>
13503 <!--
13504 ============================================================
13505 _RunOptimizer
13506
13507 Start the optimization phase
13508 ============================================================
13509 -->
13510 <Target Name="_RunOptimizer" DependsOnTargets="_InitializeBasicProps;&#xD;&#xA; _ComputeResolvedFilesToStoreTypes;&#xD;&#xA; _SetupStageForCrossgen" Condition="$(SkipOptimization) != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13511 <ItemGroup>
13512 <AssembliestoCrossgen Include="$(MSBuildProjectFullPath)">
13513 <Properties>
13514 CrossgenExe=$(Crossgen);
13515 CrossgenJit=$(JitPath);
13516 CrossgenInputAssembly=%(_ManagedResolvedFilesToOptimize.Fullpath);
13517 CrossgenOutputAssembly=$(_RuntimeOptimizedDir)$(DirectorySeparatorChar)%(_ManagedResolvedFilesToOptimize.FileName)%(_ManagedResolvedFilesToOptimize.Extension);
13518 CrossgenSubOutputPath=%(_ManagedResolvedFilesToOptimize.DestinationSubPath);
13519 _RuntimeOptimizedDir=$(_RuntimeOptimizedDir);
13520 PublishDir=$(StoreStagingDir);
13521 CrossgenPlatformAssembliesPath=$(_RuntimeRefDir)$(PathSeparator)$(_NetCoreRefDir);
13522 CreateProfilingSymbols=$(CreateProfilingSymbols);
13523 StoreSymbolsStagingDir=$(StoreSymbolsStagingDir);
13524 _RuntimeSymbolsDir=$(_RuntimeSymbolsDir)
13525 </Properties>
13526 </AssembliestoCrossgen>
13527 </ItemGroup>
13528 <!-- CrossGen the assemblies -->
13529 <MSBuild Projects="@(AssembliestoCrossgen)" Targets="RunCrossGen" BuildInParallel="$(BuildInParallel)" Condition="'@(_ManagedResolvedFilesToOptimize)' != ''" />
13530 </Target>
13531 <!--
13532 ============================================================
13533 RunCrossGen
13534 Target Encapsulating the crossgen command
13535 ============================================================
13536 -->
13537 <Target Name="RunCrossGen" DependsOnTargets="_InitializeBasicProps;" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13538 <PropertyGroup>
13539 <CrossgenProfilingSymbolsOutputDirectory>$([System.IO.Path]::GetDirectoryName($(_RuntimeSymbolsDir)\$(CrossgenSubOutputPath)))</CrossgenProfilingSymbolsOutputDirectory>
13540 <CrossgenSymbolsStagingDirectory>$([System.IO.Path]::GetDirectoryName($(StoreSymbolsStagingDir)\$(CrossgenSubOutputPath)))</CrossgenSymbolsStagingDirectory>
13541 <CrossgenCommandline>$(CrossgenExe) -nologo -readytorun -in "$(CrossgenInputAssembly)" -out "$(CrossgenOutputAssembly)" -jitpath "$(CrossgenJit)" -platform_assemblies_paths "$(CrossgenPlatformAssembliesPath)"</CrossgenCommandline>
13542 <CreateProfilingSymbolsOptionName Condition="$([MSBuild]::IsOSPlatform(`Windows`))">CreatePDB</CreateProfilingSymbolsOptionName>
13543 <CreateProfilingSymbolsOptionName Condition="'$(CreateProfilingSymbolsOptionName)' == ''">CreatePerfMap</CreateProfilingSymbolsOptionName>
13544 </PropertyGroup>
13545 <Message Text="CrossgenCommandline: $(CrossgenCommandline)" />
13546 <!--Optimization skip if the assembly is already present in the final output directory-->
13547 <Exec Command="$(CrossgenCommandline)" Condition="!Exists($([System.IO.Path]::Combine($(PublishDir),$(CrossgenSubOutputPath))))" IgnoreStandardErrorWarningFormat="true" />
13548 <Copy SourceFiles="$(CrossgenOutputAssembly)" DestinationFiles="$(PublishDir)\$(CrossgenSubOutputPath)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" Condition="!Exists($([System.IO.Path]::Combine($(PublishDir),$(CrossgenSubOutputPath))))">
13549 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
13550 </Copy>
13551 <!-- Create profiling symbols if requested -->
13552 <MakeDir Directories="$(CrossgenProfilingSymbolsOutputDirectory)" Condition="'$(CreateProfilingSymbols)' == 'true' and Exists($(CrossgenOutputAssembly))" />
13553 <Exec Command="$(CrossgenExe) -nologo -readytorun -platform_assemblies_paths $(CrossgenPlatformAssembliesPath) -$(CreateProfilingSymbolsOptionName) $(CrossgenProfilingSymbolsOutputDirectory) $(CrossgenOutputAssembly)" Condition="'$(CreateProfilingSymbols)' == 'true' and Exists($(CrossgenOutputAssembly))" IgnoreStandardErrorWarningFormat="true" />
13554 <ItemGroup>
13555 <_ProfilingSymbols Include="$(CrossgenProfilingSymbolsOutputDirectory)\*" Condition="'$(CreateProfilingSymbols)' == 'true'" />
13556 </ItemGroup>
13557 <Copy SourceFiles="@(_ProfilingSymbols)" DestinationFolder="$(CrossgenSymbolsStagingDirectory)" Condition="'$(CreateProfilingSymbols)' == 'true'" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)">
13558 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
13559 </Copy>
13560 </Target>
13561 <Target Name="_InitializeBasicProps" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13562 <PropertyGroup>
13563 <PathSeparator>$([System.IO.Path]::PathSeparator)</PathSeparator>
13564 <DirectorySeparatorChar>$([System.IO.Path]::DirectorySeparatorChar)</DirectorySeparatorChar>
13565 </PropertyGroup>
13566 </Target>
13567 <!--
13568 ============================================================
13569 _GetCrossgenProps
13570 Generates props used by Crossgen
13571 ============================================================
13572 -->
13573 <Target Name="_GetCrossgenProps" Condition="$(SkipOptimization) != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13574 <PropertyGroup>
13575 <_CrossProjFileDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"Optimize"))</_CrossProjFileDir>
13576 <_NetCoreRefDir>$([System.IO.Path]::Combine($(_CrossProjFileDir), "netcoreapp"))</_NetCoreRefDir>
13577 <!-- flat netcore app assemblies-->
13578 </PropertyGroup>
13579 <MakeDir Directories="$(_CrossProjFileDir)" />
13580 <PropertyGroup>
13581 <_CrossProjAssetsFile>$([System.IO.Path]::Combine($(_CrossProjFileDir), project.assets.json))</_CrossProjAssetsFile>
13582 </PropertyGroup>
13583 </Target>
13584 <!--
13585 ============================================================
13586 _SetupStageForCrossgen
13587 ============================================================
13588 -->
13589 <Target Name="_SetupStageForCrossgen" DependsOnTargets="_GetCrossgenProps;" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13590 <PropertyGroup>
13591 <_RuntimeRefDir>$([System.IO.Path]::Combine($(StoreWorkerWorkingDir), "runtimeref"))</_RuntimeRefDir>
13592 <!-- flat app managed assemblies -->
13593 <_RuntimeOptimizedDir>$([System.IO.Path]::Combine($(StoreWorkerWorkingDir), "runtimopt"))</_RuntimeOptimizedDir>
13594 <!-- optimized app managed assemblies in nuget cache layout -->
13595 <_RuntimeSymbolsDir>$([System.IO.Path]::Combine($(StoreWorkerWorkingDir), "runtimesymbols"))</_RuntimeSymbolsDir>
13596 </PropertyGroup>
13597 <ItemGroup>
13598 <_ManagedResolvedFilesToOptimize Include="@(_ManagedResolvedFileToPublishCandidates)" />
13599 </ItemGroup>
13600 <MakeDir Directories="$(_RuntimeOptimizedDir)" />
13601 <MakeDir Directories="$(_RuntimeSymbolsDir)" Condition="'$(CreateProfilingSymbols)' == 'true'" />
13602 <!-- Copy managed files to a flat temp directory for passing it as ref -->
13603 <Copy SourceFiles="@(_ManagedResolvedFilesToOptimize)" DestinationFolder="$(_RuntimeRefDir)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">
13604 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
13605 </Copy>
13606 </Target>
13607 <!--
13608 ============================================================
13609 _RestoreCrossgen
13610 Restores netcoreapp and publishes it to a temp directory
13611 ============================================================
13612 -->
13613 <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">
13614 <ItemGroup>
13615 <!-- Filter package references to the one for the platform library, in order to find the right version -->
13616 <PackageReferenceForCrossGen Include="@(PackageReference)" Condition="'%(Identity)' == '$(MicrosoftNETPlatformLibrary)'" />
13617 </ItemGroup>
13618 <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);" />
13619 <!-- For future: Use ResolvePackageAssets instead of ResolveCopyLocalAssets, delete ResolveCopyLocalAssets task -->
13620 <ResolveCopyLocalAssets Condition="'$(_TargetFrameworkVersionWithoutV)' &lt; '3.0'" AssetsFilePath="$(_CrossProjAssetsFile)" TargetFramework="$(_TFM)" RuntimeIdentifier="$(RuntimeIdentifier)" PlatformLibraryName="$(MicrosoftNETPlatformLibrary)" RuntimeFrameworks="@(RuntimeFramework)" ExcludedPackageReferences="@(_ExcludeFromPublishPackageReference)" IsSelfContained="$(SelfContained)" PreserveStoreLayout="false">
13621 <Output TaskParameter="ResolvedAssets" ItemName="CrossgenResolvedAssembliesToPublish" />
13622 </ResolveCopyLocalAssets>
13623 <GetPackageDirectory Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0'" Items="@(RuntimePack)" AssetsFileWithAdditionalPackageFolders="$(_CrossProjAssetsFile)">
13624 <Output TaskParameter="Output" ItemName="_CrossgenRuntimePack" />
13625 </GetPackageDirectory>
13626 <ResolveRuntimePackAssets Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0'" FrameworkReferences="@(FrameworkReference)" ResolvedRuntimePacks="@(_CrossgenRuntimePack)">
13627 <Output TaskParameter="RuntimePackAssets" ItemName="CrossgenResolvedAssembliesToPublish" />
13628 </ResolveRuntimePackAssets>
13629 <!-- Copy managed files to a flat temp directory for passing it as ref for crossgen -->
13630 <Copy SourceFiles="@(CrossgenResolvedAssembliesToPublish)" DestinationFolder="$(_NetCoreRefDir)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">
13631 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
13632 </Copy>
13633 </Target>
13634 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13635 <MicrosoftNETCrossgenBuildTasksAssembly Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tasks\net6.0\Microsoft.NET.Sdk.Crossgen.dll</MicrosoftNETCrossgenBuildTasksAssembly>
13636 <MicrosoftNETCrossgenBuildTasksAssembly Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tasks\net472\Microsoft.NET.Sdk.Crossgen.dll</MicrosoftNETCrossgenBuildTasksAssembly>
13637 </PropertyGroup>
13638 <!--
13639 ============================================================
13640 CreateReadyToRunImages
13641
13642 Create ReadyToRun images for managed assemblies in _ResolvedFileToPublishAlways and _ResolvedFileToPublishPreserveNewest.
13643 ============================================================
13644 -->
13645 <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">
13646 <AllowEmptyTelemetry EventName="ReadyToRun" EventData="PublishReadyToRunUseCrossgen2=$(PublishReadyToRunUseCrossgen2);Crossgen2PackVersion=%(ResolvedCrossgen2Pack.NuGetPackageVersion);CompileListCount=@(_ReadyToRunCompileList-&gt;Count());FailedCount=@(_ReadyToRunCompilationFailures-&gt;Count())" />
13647 <NETSdkError Condition="'@(_ReadyToRunCompilationFailures)' != ''" ResourceName="ReadyToRunCompilationFailed" />
13648 <NETSdkInformation Condition="'$(_ReadyToRunCompilerHasWarnings)' != ''" ResourceName="ReadyToRunCompilationHasWarnings_Info" />
13649 <ItemGroup>
13650 <!--
13651 Note: we only remove the entries for the IL images and replace them with the entries for the R2R images.
13652 We do not do the same for PDBs, because the native PDBs created by the R2R compiler complement the IL PDBs
13653 and do not replace them. IL PDBs are still required for debugging. Native PDBs emitted by the R2R compiler are
13654 only used for profiling purposes.
13655 -->
13656 <ResolvedFileToPublish Remove="@(_ReadyToRunCompositeBuildInput)" />
13657 <ResolvedFileToPublish Remove="@(_ReadyToRunCompileList)" />
13658 <ResolvedFileToPublish Include="@(_ReadyToRunFilesToPublish)" />
13659 </ItemGroup>
13660 </Target>
13661 <!--
13662 ============================================================
13663 _PrepareForReadyToRunCompilation
13664
13665 Prepare build for ReadyToRun compilations. Builds list of assemblies to compile, and computes paths to ReadyToRun compiler bits
13666 ============================================================
13667 -->
13668 <UsingTask Condition="'$(Crossgen2TasksOverriden)' != 'true'" TaskName="PrepareForReadyToRunCompilation" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13669 <Target Name="_PrepareForReadyToRunCompilation" DependsOnTargets="ResolveReadyToRunCompilers;_ComputeManagedRuntimePackAssemblies;_ComputeAssembliesToPostprocessOnPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13670 <PropertyGroup>
13671 <_ReadyToRunOutputPath>$(IntermediateOutputPath)R2R</_ReadyToRunOutputPath>
13672 </PropertyGroup>
13673 <MakeDir Directories="$(_ReadyToRunOutputPath)" />
13674 <ItemGroup>
13675 <_ReadyToRunImplementationAssemblies Include="@(ResolvedFileToPublish-&gt;WithMetadataValue('PostprocessAssembly', 'true'))" />
13676 </ItemGroup>
13677 <!-- Even if app is not self-contained, crossgen requires closure of implementation assemblies. Resolve conflicts
13678 of the runtime pack assets as though we were copying them locally, and add them to the R2R implementation
13679 assembly list. -->
13680 <ItemGroup Condition="'$(SelfContained)' != 'true'">
13681 <_ReadyToRunImplementationAssemblies Include="@(_ManagedRuntimePackAssembly)" ReferenceOnly="true" />
13682 </ItemGroup>
13683 <ResolvePackageFileConflicts Condition="'$(SelfContained)' != 'true'" ReferenceCopyLocalPaths="@(_ReadyToRunImplementationAssemblies)">
13684 <Output TaskParameter="ReferenceCopyLocalPathsWithoutConflicts" ItemName="_ReadyToRunImplementationAssembliesWithoutConflicts" />
13685 </ResolvePackageFileConflicts>
13686 <ItemGroup Condition="'$(SelfContained)' != 'true'">
13687 <_ReadyToRunImplementationAssemblies Remove="@(_ReadyToRunImplementationAssemblies)" />
13688 <_ReadyToRunImplementationAssemblies Include="@(_ReadyToRunImplementationAssembliesWithoutConflicts)" />
13689 </ItemGroup>
13690 <ItemGroup>
13691 <_ReadyToRunPgoFiles Include="@(PublishReadyToRunPgoFiles)" />
13692 <_ReadyToRunPgoFiles Include="@(RuntimePackAsset)" Condition="'%(RuntimePackAsset.AssetType)' == 'pgodata' and '%(RuntimePackAsset.Extension)' == '.mibc' and '$(PublishReadyToRunUseRuntimePackOptimizationData)' == 'true'" />
13693 </ItemGroup>
13694 <PrepareForReadyToRunCompilation CrossgenTool="@(CrossgenTool)" Crossgen2Tool="@(Crossgen2Tool)" OutputPath="$(_ReadyToRunOutputPath)" MainAssembly="@(IntermediateAssembly)" Assemblies="@(_ReadyToRunImplementationAssemblies)" ExcludeList="@(PublishReadyToRunExclude)" EmitSymbols="$(PublishReadyToRunEmitSymbols)" IncludeSymbolsInSingleFile="$(IncludeSymbolsInSingleFile)" ReadyToRunUseCrossgen2="$(PublishReadyToRunUseCrossgen2)" Crossgen2Composite="$(PublishReadyToRunComposite)" PublishReadyToRunCompositeExclusions="@(PublishReadyToRunCompositeExclusions)">
13695 <Output TaskParameter="ReadyToRunCompileList" ItemName="_ReadyToRunCompileList" />
13696 <Output TaskParameter="ReadyToRunSymbolsCompileList" ItemName="_ReadyToRunSymbolsCompileList" />
13697 <Output TaskParameter="ReadyToRunFilesToPublish" ItemName="_ReadyToRunFilesToPublish" />
13698 <Output TaskParameter="ReadyToRunAssembliesToReference" ItemName="_ReadyToRunAssembliesToReference" />
13699 <Output TaskParameter="ReadyToRunCompositeBuildReferences" ItemName="_ReadyToRunCompositeBuildReferences" />
13700 <Output TaskParameter="ReadyToRunCompositeBuildInput" ItemName="_ReadyToRunCompositeBuildInput" />
13701 </PrepareForReadyToRunCompilation>
13702 </Target>
13703 <UsingTask Condition="'$(Crossgen2TasksOverriden)' != 'true'" TaskName="ResolveReadyToRunCompilers" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13704 <Target Name="ResolveReadyToRunCompilers" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13705 <ResolveReadyToRunCompilers RuntimePacks="@(ResolvedRuntimePack)" Crossgen2Packs="@(ResolvedCrossgen2Pack)" TargetingPacks="@(ResolvedTargetingPack)" RuntimeGraphPath="$(BundledRuntimeIdentifierGraphFile)" NETCoreSdkRuntimeIdentifier="$(NETCoreSdkRuntimeIdentifier)" EmitSymbols="$(PublishReadyToRunEmitSymbols)" ReadyToRunUseCrossgen2="$(PublishReadyToRunUseCrossgen2)" PerfmapFormatVersion="$(PublishReadyToRunPerfmapFormatVersion)">
13706 <Output TaskParameter="CrossgenTool" ItemName="CrossgenTool" />
13707 <Output TaskParameter="Crossgen2Tool" ItemName="Crossgen2Tool" />
13708 </ResolveReadyToRunCompilers>
13709 </Target>
13710 <!--
13711 ============================================================
13712 _CreateR2RImages
13713
13714 Compiles assemblies in the _ReadyToRunCompileList list into ReadyToRun images
13715 ============================================================
13716 -->
13717 <UsingTask Condition="'$(Crossgen2TasksOverriden)' != 'true'" TaskName="RunReadyToRunCompiler" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13718 <Target Name="_CreateR2RImages" Inputs="@(_ReadyToRunCompileList);@(_ReadyToRunCompositeBuildInput);@(_ReadyToRunPgoFiles)" Outputs="%(_ReadyToRunCompileList.OutputR2RImage);%(_ReadyToRunCompileList.OutputPDBImage)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13719 <RunReadyToRunCompiler CrossgenTool="@(CrossgenTool)" Crossgen2Tool="@(Crossgen2Tool)" UseCrossgen2="$(PublishReadyToRunUseCrossgen2)" Crossgen2PgoFiles="@(_ReadyToRunPgoFiles)" Crossgen2ExtraCommandLineArgs="$(PublishReadyToRunCrossgen2ExtraArgs)" ImplementationAssemblyReferences="@(_ReadyToRunAssembliesToReference)" ShowCompilerWarnings="$(PublishReadyToRunShowWarnings)" CompilationEntry="@(_ReadyToRunCompileList)" ContinueOnError="ErrorAndContinue" ReadyToRunCompositeBuildReferences="@(_ReadyToRunCompositeBuildReferences)" ReadyToRunCompositeBuildInput="@(_ReadyToRunCompositeBuildInput)">
13720 <Output TaskParameter="ExitCode" PropertyName="_ReadyToRunCompilerExitCode" />
13721 <Output TaskParameter="WarningsDetected" PropertyName="_ReadyToRunWarningsDetected" />
13722 </RunReadyToRunCompiler>
13723 <PropertyGroup>
13724 <!-- Use distinct property here as any of the invocations can set it -->
13725 <_ReadyToRunCompilerHasWarnings Condition="'$(_ReadyToRunWarningsDetected)' == 'true'">true</_ReadyToRunCompilerHasWarnings>
13726 </PropertyGroup>
13727 <ItemGroup>
13728 <_ReadyToRunCompilationFailures Condition="'$(_ReadyToRunCompilerExitCode)' != '' And $(_ReadyToRunCompilerExitCode) != 0" Include="@(_ReadyToRunCompileList)" />
13729 </ItemGroup>
13730 </Target>
13731 <!--
13732 ============================================================
13733 _CreateR2RSymbols
13734
13735 Emit native symbols for ReadyToRun images in the _ReadyToRunSymbolsCompileList list
13736 ============================================================
13737 -->
13738 <Target Name="_CreateR2RSymbols" Inputs="@(_ReadyToRunSymbolsCompileList)" Outputs="%(_ReadyToRunSymbolsCompileList.OutputPDBImage)" Condition="'$(PublishReadyToRunUseCrossgen2)' != 'true' or '@(Crossgen2Tool -> '%(IsVersion5)')' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13739 <RunReadyToRunCompiler CrossgenTool="@(CrossgenTool)" Crossgen2Tool="@(Crossgen2Tool)" UseCrossgen2="$(PublishReadyToRunUseCrossgen2)" Crossgen2ExtraCommandLineArgs="$(PublishReadyToRunCrossgen2ExtraArgs)" ImplementationAssemblyReferences="@(_ReadyToRunAssembliesToReference)" ShowCompilerWarnings="$(PublishReadyToRunShowWarnings)" CompilationEntry="@(_ReadyToRunSymbolsCompileList)" ContinueOnError="ErrorAndContinue">
13740 <Output TaskParameter="ExitCode" PropertyName="_ReadyToRunCompilerExitCode" />
13741 <Output TaskParameter="WarningsDetected" PropertyName="_ReadyToRunWarningsDetected" />
13742 </RunReadyToRunCompiler>
13743 <PropertyGroup>
13744 <!-- Use distinct property here as any of the invocations can set it -->
13745 <_ReadyToRunCompilerHasWarnings Condition="'$(_ReadyToRunWarningsDetected)' == 'true'">true</_ReadyToRunCompilerHasWarnings>
13746 </PropertyGroup>
13747 <ItemGroup>
13748 <_ReadyToRunCompilationFailures Condition="'$(_ReadyToRunCompilerExitCode)' != '' And $(_ReadyToRunCompilerExitCode) != 0" Include="@(_ReadyToRunSymbolsCompileList)" />
13749 </ItemGroup>
13750 </Target>
13751 <!--
13752============================================================================================================================================
13753 </Import>
13754
13755C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
13756============================================================================================================================================
13757-->
13758 <!--
13759============================================================================================================================================
13760 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ObsoleteReferences.targets">
13761
13762C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ObsoleteReferences.targets
13763============================================================================================================================================
13764-->
13765 <!--
13766***********************************************************************************************
13767Microsoft.NET.ObsoleteReferences.targets
13768
13769WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
13770 created a backup copy. Incorrect changes to this file will make it
13771 impossible to load or build your projects from the command-line or the IDE.
13772
13773Copyright (c) .NET Foundation. All rights reserved.
13774***********************************************************************************************
13775-->
13776 <PropertyGroup Condition="'$(NETCoreSdkBundledCliToolsProps)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13777 <NETCoreSdkBundledCliToolsProps>$(MSBuildThisFileDirectory)..\..\..\Microsoft.NETCoreSdk.BundledCliTools.props</NETCoreSdkBundledCliToolsProps>
13778 </PropertyGroup>
13779 <!--
13780============================================================================================================================================
13781 <Import Project="$(NETCoreSdkBundledCliToolsProps)" Condition="Exists('$(NETCoreSdkBundledCliToolsProps)')">
13782
13783C:\Program Files\dotnet\sdk\6.0.100\Microsoft.NETCoreSdk.BundledCliTools.props
13784============================================================================================================================================
13785-->
13786 <!--
13787***********************************************************************************************
13788Microsoft.NETCoreSdk.BundledCliTools.props
13789
13790WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
13791 created a backup copy. Incorrect changes to this file will make it
13792 impossible to load or build your projects from the command-line or the IDE.
13793
13794Copyright (c) .NET Foundation. All rights reserved.
13795***********************************************************************************************
13796-->
13797 <ItemGroup />
13798 <!--
13799============================================================================================================================================
13800 </Import>
13801
13802C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ObsoleteReferences.targets
13803============================================================================================================================================
13804-->
13805 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13806 <_ReferenceToObsoleteDotNetCliTool Include="@(DotNetCliToolReference)" />
13807 <DotNetCliToolReference Remove="@(BundledDotNetCliToolReference)" />
13808 <_ReferenceToObsoleteDotNetCliTool Remove="@(DotNetCliToolReference)" />
13809 </ItemGroup>
13810 <Target Name="_CheckForObsoleteDotNetCliToolReferences" BeforeTargets="CollectPackageReferences" Condition=" '$(SuppressObsoleteDotNetCliToolWarning)' != 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13811 <NETSdkWarning Condition=" '%(_ReferenceToObsoleteDotNetCliTool.Identity)' != '' " ResourceName="ProjectContainsObsoleteDotNetCliTool" FormatArguments="%(_ReferenceToObsoleteDotNetCliTool.Identity)" />
13812 </Target>
13813 <!--
13814============================================================================================================================================
13815 </Import>
13816
13817C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
13818============================================================================================================================================
13819-->
13820 <!--
13821============================================================================================================================================
13822 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Publish.targets">
13823
13824C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Publish.targets
13825============================================================================================================================================
13826-->
13827 <!--
13828***********************************************************************************************
13829Microsoft.NET.Publish.targets
13830
13831WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
13832 created a backup copy. Incorrect changes to this file will make it
13833 impossible to load or build your projects from the command-line or the IDE.
13834
13835Copyright (c) .NET Foundation. All rights reserved.
13836***********************************************************************************************
13837-->
13838 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13839 <DefaultCopyToPublishDirectoryMetadata Condition="'$(DefaultCopyToPublishDirectoryMetadata)' == ''">true</DefaultCopyToPublishDirectoryMetadata>
13840 <_GetChildProjectCopyToPublishDirectoryItems Condition="'$(_GetChildProjectCopyToPublishDirectoryItems)' == ''">true</_GetChildProjectCopyToPublishDirectoryItems>
13841 <IsPublishable Condition="'$(IsPublishable)' == ''">true</IsPublishable>
13842 </PropertyGroup>
13843 <ItemDefinitionGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13844 <ResolvedFileToPublish>
13845 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
13846 </ResolvedFileToPublish>
13847 </ItemDefinitionGroup>
13848 <!--
13849 ============================================================
13850 Publish
13851
13852 The main publish entry point.
13853 ============================================================
13854 -->
13855 <!--<Import Project="Microsoft.NET.ClickOnce.targets" Condition="'$(PublishProtocol)' == 'ClickOnce'" />-->
13856 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13857 <!-- We still need to resolve references even if we are not building during publish. -->
13858 <!-- BuildOnlySettings are required for RAR to find satellites and dependencies -->
13859 <_BeforePublishNoBuildTargets>
13860 BuildOnlySettings;
13861 _PreventProjectReferencesFromBuilding;
13862 ResolveReferences;
13863 PrepareResourceNames;
13864 ComputeIntermediateSatelliteAssemblies;
13865 ComputeEmbeddedApphostPaths;
13866 </_BeforePublishNoBuildTargets>
13867 <_CorePublishTargets>
13868 PrepareForPublish;
13869 ComputeAndCopyFilesToPublishDirectory;
13870 $(PublishProtocolProviderTargets);
13871 PublishItemsOutputGroup;
13872 </_CorePublishTargets>
13873 <_PublishNoBuildAlternativeDependsOn>$(_BeforePublishNoBuildTargets);$(_CorePublishTargets)</_PublishNoBuildAlternativeDependsOn>
13874 </PropertyGroup>
13875 <Target Name="_PublishBuildAlternative" Condition="'$(NoBuild)' != 'true'" DependsOnTargets="Build;$(_CorePublishTargets)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13876 <Target Name="_PublishNoBuildAlternative" Condition="'$(NoBuild)' == 'true'" DependsOnTargets="$(_PublishNoBuildAlternativeDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13877 <Target Name="Publish" Condition="$(IsPublishable) == 'true'" DependsOnTargets="_PublishBuildAlternative;_PublishNoBuildAlternative" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13878 <!-- Ensure there is minimal verbosity output pointing to the publish directory and not just the
13879 build step's minimal output. Otherwise there is no indication at minimal verbosity of where
13880 the published assets were copied. -->
13881 <Message Importance="High" Text="$(MSBuildProjectName) -&gt; $([System.IO.Path]::GetFullPath('$(PublishDir)'))" />
13882 <AllowEmptyTelemetry EventName="PublishProperties" EventData="PublishReadyToRun=$(PublishReadyToRun);PublishTrimmed=$(PublishTrimmed);PublishSingleFile=$(PublishSingleFile)" />
13883 </Target>
13884 <!-- Don't let project reference resolution build project references in NoBuild case. -->
13885 <Target Name="_PreventProjectReferencesFromBuilding" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13886 <PropertyGroup>
13887 <BuildProjectReferences>false</BuildProjectReferences>
13888 </PropertyGroup>
13889 </Target>
13890 <!--
13891 ============================================================
13892 PrepareForPublish
13893
13894 Prepare the prerequisites for publishing.
13895 ============================================================
13896 -->
13897 <Target Name="PrepareForPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13898 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' And '$(_IsExecutable)' != 'true'" ResourceName="CannotHaveSingleFileWithoutExecutable" />
13899 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' And '$(_IsExecutable)' == 'true' And '$(TargetFrameworkIdentifier)' != '.NETCoreApp'" ResourceName="CanOnlyHaveSingleFileWithNetCoreApp" />
13900 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' And&#xD;&#xA; '$(IncludeSymbolsInSingleFile)' == 'true' And&#xD;&#xA; '$(_TargetFrameworkVersionWithoutV)' &gt;= '5.0' And '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" ResourceName="CannotIncludeSymbolsInSingleFile" />
13901 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' and '$(RuntimeIdentifier)' == ''" ResourceName="CannotHaveSingleFileWithoutRuntimeIdentifier" />
13902 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' and '$(UseAppHost)' != 'true'" ResourceName="CannotHaveSingleFileWithoutAppHost" />
13903 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' And&#xD;&#xA; '$(EnableCompressionInSingleFile)' == 'true' And&#xD;&#xA; '$(_TargetFrameworkVersionWithoutV)' &lt; '6.0'" ResourceName="CompressionInSingleFileRequires60" />
13904 <NETSdkError Condition="'$(PublishSingleFile)' == 'true' And&#xD;&#xA; '$(EnableCompressionInSingleFile)' == 'true' And&#xD;&#xA; '$(SelfContained)' != 'true'" ResourceName="CompressionInSingleFileRequiresSelfContained" />
13905 <PropertyGroup>
13906 <!-- Ensure any PublishDir has a trailing slash, so it can be concatenated -->
13907 <PublishDir Condition="!HasTrailingSlash('$(PublishDir)')">$(PublishDir)\</PublishDir>
13908 </PropertyGroup>
13909 <MakeDir Directories="$(PublishDir)" />
13910 </Target>
13911 <!--
13912 ============================================================
13913 ComputeAndCopyFilesToPublishDirectory
13914
13915 Computes the list of all files to copy to the publish directory and then publishes them.
13916 ============================================================
13917 -->
13918 <Target Name="ComputeAndCopyFilesToPublishDirectory" DependsOnTargets="ComputeFilesToPublish;&#xD;&#xA; CopyFilesToPublishDirectory" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13919 <!--
13920 ============================================================
13921 CopyFilesToPublishDirectory
13922
13923 Copy all build outputs, satellites and other necessary files to the publish directory.
13924 When publishing to a single file, only those files that are not bundled are copied.
13925 The remaining files are directly written to the bundle file.
13926 ============================================================
13927 -->
13928 <Target Name="CopyFilesToPublishDirectory" DependsOnTargets="_IncrementalCleanPublishDirectory;&#xD;&#xA; _CopyResolvedFilesToPublishPreserveNewest;&#xD;&#xA; _CopyResolvedFilesToPublishAlways;&#xD;&#xA; _HandleFileConflictsForPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
13929 <!--
13930 ============================================================
13931 _IncrementalCleanPublishDirectory
13932
13933 Remove files that were produced in a prior publish but weren't produced in the current publish.
13934 ============================================================
13935 -->
13936 <Target Name="_IncrementalCleanPublishDirectory" DependsOnTargets="_GetCurrentAndPriorPublishFileWrites" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13937 <!-- Subtract list of files produced in the prior publish from list of files produced in this publish. -->
13938 <ItemGroup>
13939 <_OrphanPublishFileWrites Include="@(_PriorPublishFileWrites)" Exclude="@(_CurrentPublishFileWrites)" />
13940 </ItemGroup>
13941 <!-- Delete the orphaned files. -->
13942 <Delete Files="@(_OrphanPublishFileWrites)" TreatErrorsAsWarnings="true">
13943 <Output TaskParameter="DeletedFiles" ItemName="_OrphanFilesDeleted" />
13944 </Delete>
13945 <!-- Write new list of current files back to clean file. -->
13946 <WriteLinesToFile File="$(IntermediateOutputPath)$(_PublishCleanFile)" Lines="@(_CurrentPublishFileWrites)" Overwrite="true" />
13947 </Target>
13948 <!--
13949 ============================================================
13950 _GetCurrentAndPriorPublishFileWrites
13951 Get the list of files written in the previous publish and the list of files to be written in this publish.
13952 ============================================================
13953 -->
13954 <Target Name="_GetCurrentAndPriorPublishFileWrites" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13955 <PropertyGroup>
13956 <_NormalizedPublishDir>$([MSBuild]::NormalizeDirectory($(PublishDir)))</_NormalizedPublishDir>
13957 </PropertyGroup>
13958 <Hash ItemstoHash="$(_NormalizedPublishDir)">
13959 <Output TaskParameter="HashResult" PropertyName="_NormalizedPublishDirHash" />
13960 </Hash>
13961 <PropertyGroup>
13962 <_PublishCleanFile Condition="'$(PublishCleanFile)'==''">PublishOutputs.$(_NormalizedPublishDirHash.Substring(0, 10)).txt</_PublishCleanFile>
13963 </PropertyGroup>
13964 <!-- Read in writes made by prior publish. -->
13965 <ReadLinesFromFile File="$(IntermediateOutputPath)$(_PublishCleanFile)">
13966 <Output TaskParameter="Lines" ItemName="_UnfilteredPriorPublishFileWrites" />
13967 </ReadLinesFromFile>
13968 <ConvertToAbsolutePath Paths="@(_UnfilteredPriorPublishFileWrites)">
13969 <Output TaskParameter="AbsolutePaths" ItemName="_UnfilteredAbsolutePriorPublishFileWrites" />
13970 </ConvertToAbsolutePath>
13971 <!-- Find all files in the final output directory. -->
13972 <FindUnderPath Path="$(_NormalizedPublishDir)" Files="@(_UnfilteredAbsolutePriorPublishFileWrites)" UpdateToAbsolutePaths="true">
13973 <Output TaskParameter="InPath" ItemName="_PriorPublishFileWritesInOuput" />
13974 </FindUnderPath>
13975 <!-- Remove duplicates from files produced in the previous publish. -->
13976 <RemoveDuplicates Inputs="@(_PriorPublishFileWritesInOuput)">
13977 <Output TaskParameter="Filtered" ItemName="_PriorPublishFileWrites" />
13978 </RemoveDuplicates>
13979 <ItemGroup>
13980 <_CurrentPublishFileWritesUnfiltered Include="@(ResolvedFileToPublish->'$(_NormalizedPublishDir)%(RelativePath)')" />
13981 <_CurrentPublishFileWritesUnfiltered Include="$(_NormalizedPublishDir)$(AssemblyName)$(_NativeExecutableExtension)" Condition="'$(UseAppHost)' == 'true'" />
13982 </ItemGroup>
13983 <ConvertToAbsolutePath Paths="@(_CurrentPublishFileWritesUnfiltered)">
13984 <Output TaskParameter="AbsolutePaths" ItemName="_CurrentAbsolutePublishFileWritesUnfiltered" />
13985 </ConvertToAbsolutePath>
13986 <!-- Remove duplicates from the files produced in this publish-->
13987 <RemoveDuplicates Inputs="@(_CurrentAbsolutePublishFileWritesUnfiltered)">
13988 <Output TaskParameter="Filtered" ItemName="_CurrentPublishFileWrites" />
13989 </RemoveDuplicates>
13990 </Target>
13991 <!--
13992 ============================================================
13993 _CopyResolvedFilesToPublishPreserveNewest
13994
13995 Copy _ResolvedFileToPublishPreserveNewest items to the publish directory
13996 ============================================================
13997 -->
13998 <Target Name="_CopyResolvedFilesToPublishPreserveNewest" DependsOnTargets="_ComputeResolvedFilesToPublishTypes" Inputs="@(_ResolvedFileToPublishPreserveNewest)" Outputs="@(_ResolvedFileToPublishPreserveNewest->'$(PublishDir)%(RelativePath)')" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13999 <!--
14000 PreserveNewest means that we will only copy the source to the destination if the source is newer.
14001 SkipUnchangedFiles is not used for that purpose because it will copy if the source and destination
14002 differ by size too. Instead, this target uses inputs and outputs to only copy when the source is newer.
14003 -->
14004 <Copy SourceFiles="@(_ResolvedFileToPublishPreserveNewest)" DestinationFiles="@(_ResolvedFileToPublishPreserveNewest->'$(PublishDir)%(RelativePath)')" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">
14005 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
14006 </Copy>
14007 </Target>
14008 <!--
14009 ============================================================
14010 _CopyResolvedFilesToPublishAlways
14011
14012 Copy _ResolvedFileToPublishAlways items to the publish directory
14013 ============================================================
14014 -->
14015 <Target Name="_CopyResolvedFilesToPublishAlways" DependsOnTargets="_ComputeResolvedFilesToPublishTypes" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14016 <!--
14017 Use SkipUnchangedFiles to prevent unnecessary file copies. The copy will occur if the
14018 destination doesn't exist, the source is newer than the destination, or if the source and
14019 destination differ by file size.
14020 -->
14021 <Copy SourceFiles="@(_ResolvedFileToPublishAlways)" DestinationFiles="@(_ResolvedFileToPublishAlways->'$(PublishDir)%(RelativePath)')" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">
14022 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
14023 </Copy>
14024 </Target>
14025 <UsingTask TaskName="ResolveReadyToRunCompilers" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14026 <Target Name="ResolveReadyToRunCompilers" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14027 <ResolveReadyToRunCompilers RuntimePacks="@(ResolvedRuntimePack)" Crossgen2Packs="@(ResolvedCrossgen2Pack)" TargetingPacks="@(ResolvedTargetingPack)" RuntimeGraphPath="$(BundledRuntimeIdentifierGraphFile)" NETCoreSdkRuntimeIdentifier="$(NETCoreSdkRuntimeIdentifier)" EmitSymbols="$(PublishReadyToRunEmitSymbols)" ReadyToRunUseCrossgen2="$(PublishReadyToRunUseCrossgen2)" PerfmapFormatVersion="$(PublishReadyToRunPerfmapFormatVersion)">
14028 <Output TaskParameter="CrossgenTool" ItemName="CrossgenTool" />
14029 <Output TaskParameter="Crossgen2Tool" ItemName="Crossgen2Tool" />
14030 </ResolveReadyToRunCompilers>
14031 </Target>
14032 <!--
14033 ============================================================
14034 _ComputeResolvedFilesToPublishTypes
14035
14036 Splits ResolvedFileToPublish items into 'PreserveNewest' and 'Always' buckets.
14037 Then further splits those into 'Unbundled' buckets based on the single file setting.
14038 ============================================================
14039 -->
14040 <Target Name="_ComputeResolvedFilesToPublishTypes" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14041 <ItemGroup>
14042 <_ResolvedFileToPublishPreserveNewest Include="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.CopyToPublishDirectory)'=='PreserveNewest'" />
14043 <_ResolvedFileToPublishAlways Include="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.CopyToPublishDirectory)'=='Always'" />
14044 </ItemGroup>
14045 <ItemGroup>
14046 <_ResolvedUnbundledFileToPublishPreserveNewest Include="@(_ResolvedFileToPublishPreserveNewest)" Condition="'$(PublishSingleFile)' != 'true' or&#xD;&#xA; '%(_ResolvedFileToPublishPreserveNewest.ExcludeFromSingleFile)'=='true'" />
14047 <_ResolvedUnbundledFileToPublishAlways Include="@(_ResolvedFileToPublishAlways)" Condition="'$(PublishSingleFile)' != 'true' or&#xD;&#xA; '%(_ResolvedFileToPublishAlways.ExcludeFromSingleFile)'=='true'" />
14048 </ItemGroup>
14049 </Target>
14050 <!--
14051 ============================================================
14052 ComputeFilesToPublish
14053
14054 Gathers all the files that need to be copied to the publish directory, including R2R and ILLinker transformations
14055 ============================================================
14056 -->
14057 <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" />
14058 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14059 <CopyBuildOutputToPublishDirectory Condition="'$(CopyBuildOutputToPublishDirectory)'==''">true</CopyBuildOutputToPublishDirectory>
14060 <CopyOutputSymbolsToPublishDirectory Condition="'$(CopyOutputSymbolsToPublishDirectory)'==''">true</CopyOutputSymbolsToPublishDirectory>
14061 <IncludeSymbolsInSingleFile Condition="'$(IncludeSymbolsInSingleFile)' == ''">false</IncludeSymbolsInSingleFile>
14062 </PropertyGroup>
14063 <UsingTask TaskName="ResolveOverlappingItemGroupConflicts" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14064 <!--
14065 ============================================================
14066 ComputeResolvedFilesToPublishList
14067
14068 Gathers all the files that need to be copied to the publish directory.
14069 ============================================================
14070 -->
14071 <Target Name="ComputeResolvedFilesToPublishList" DependsOnTargets="_ComputeResolvedCopyLocalPublishAssets;&#xD;&#xA; _ComputeCopyToPublishDirectoryItems;&#xD;&#xA; ComputeRefAssembliesToPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14072 <ItemGroup>
14073 <!-- Copy the build product (.dll or .exe). -->
14074 <ResolvedFileToPublish Include="@(IntermediateAssembly)" Condition="'$(CopyBuildOutputToPublishDirectory)' == 'true'">
14075 <RelativePath>@(IntermediateAssembly->'%(Filename)%(Extension)')</RelativePath>
14076 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14077 </ResolvedFileToPublish>
14078 <!-- Copy the deps file if using the build deps file. -->
14079 <ResolvedFileToPublish Include="$(ProjectDepsFilePath)" Condition="'$(GenerateDependencyFile)' == 'true' and '$(_UseBuildDependencyFile)' == 'true'">
14080 <RelativePath>$(ProjectDepsFileName)</RelativePath>
14081 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14082 </ResolvedFileToPublish>
14083 <!-- Copy the runtime config file. -->
14084 <ResolvedFileToPublish Include="$(ProjectRuntimeConfigFilePath)" Condition="'$(GenerateRuntimeConfigurationFiles)' == 'true'">
14085 <RelativePath>$(ProjectRuntimeConfigFileName)</RelativePath>
14086 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14087 </ResolvedFileToPublish>
14088 <!-- Copy the app.config (if any) -->
14089 <ResolvedFileToPublish Include="@(AppConfigWithTargetPath)" Condition="'$(CopyBuildOutputToPublishDirectory)' == 'true'">
14090 <RelativePath>@(AppConfigWithTargetPath->'%(TargetPath)')</RelativePath>
14091 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14092 </ResolvedFileToPublish>
14093 <!-- Copy the debug information file (.pdb), if any -->
14094 <ResolvedFileToPublish Include="@(_DebugSymbolsIntermediatePath)" Condition="'$(_DebugSymbolsProduced)'=='true' and '$(CopyOutputSymbolsToPublishDirectory)'=='true'">
14095 <RelativePath>@(_DebugSymbolsIntermediatePath->'%(Filename)%(Extension)')</RelativePath>
14096 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14097 <ExcludeFromSingleFile Condition="'$(IncludeSymbolsInSingleFile)'!='true'">true</ExcludeFromSingleFile>
14098 </ResolvedFileToPublish>
14099 <!-- Copy satellite assemblies. -->
14100 <ResolvedFileToPublish Include="@(IntermediateSatelliteAssembliesWithTargetPath)">
14101 <RelativePath>%(IntermediateSatelliteAssembliesWithTargetPath.Culture)\%(Filename)%(Extension)</RelativePath>
14102 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14103 </ResolvedFileToPublish>
14104 <!-- Copy generated COM References. -->
14105 <ResolvedFileToPublish Include="@(ReferenceComWrappersToCopyLocal)">
14106 <RelativePath>%(Filename)%(Extension)</RelativePath>
14107 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14108 </ResolvedFileToPublish>
14109 </ItemGroup>
14110 <!-- Remove conflicting items that appear in both _ResolvedCopyLocalPublishAssets and ResolvedFileToPublish
14111 to ensure that we don't get duplicate files in the publish output. -->
14112 <ResolveOverlappingItemGroupConflicts ItemGroup1="@(_ResolvedCopyLocalPublishAssets-&gt;Distinct())" ItemGroup2="@(ResolvedFileToPublish-&gt;Distinct())" PreferredPackages="$(PackageConflictPreferredPackages)">
14113 <Output TaskParameter="RemovedItemGroup1" ItemName="_ResolvedCopyLocalPublishAssetsRemoved" />
14114 <Output TaskParameter="RemovedItemGroup2" ItemName="ResolvedFileToPublishRemoved" />
14115 </ResolveOverlappingItemGroupConflicts>
14116 <ItemGroup>
14117 <_ResolvedCopyLocalPublishAssets Remove="@(_ResolvedCopyLocalPublishAssetsRemoved)" />
14118 <ResolvedFileToPublish Remove="@(ResolvedFileToPublishRemoved)" />
14119 <!-- Copy the resolved copy local publish assets. -->
14120 <ResolvedFileToPublish Include="@(_ResolvedCopyLocalPublishAssets)">
14121 <RelativePath>%(_ResolvedCopyLocalPublishAssets.DestinationSubDirectory)%(Filename)%(Extension)</RelativePath>
14122 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14123 </ResolvedFileToPublish>
14124 <!-- Copy the xml documentation (if enabled) -->
14125 <ResolvedFileToPublish Include="@(FinalDocFile)" Condition="'$(PublishDocumentationFile)' == 'true'">
14126 <RelativePath>@(FinalDocFile->'%(Filename)%(Extension)')</RelativePath>
14127 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14128 </ResolvedFileToPublish>
14129 <!-- Copy all PackAsTool shims (if any) -->
14130 <ResolvedFileToPublish Include="@(_EmbeddedApphostPaths-&gt;Distinct())">
14131 <RelativePath>shims/%(_EmbeddedApphostPaths.ShimRuntimeIdentifier)/%(_EmbeddedApphostPaths.Filename)%(_EmbeddedApphostPaths.Extension)</RelativePath>
14132 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14133 </ResolvedFileToPublish>
14134 <!-- Filter files for PublishSingleFiles scenario -->
14135 <_FilesToDrop Include="@(ResolvedFileToPublish)" Condition="'$(PublishSingleFile)' == 'true' and&#xD;&#xA; '%(ResolvedFileToPublish.DropFromSingleFile)' == 'true'" />
14136 <ResolvedFileToPublish Remove="@(_FilesToDrop)" />
14137 </ItemGroup>
14138 </Target>
14139 <!--
14140 ============================================================
14141 _ResolveCopyLocalAssetsForPublish
14142 Resolves the assets from packages to copy locally for publish.
14143 We can just use the build's copy local assets if we can reuse the build deps file.
14144 ============================================================
14145 -->
14146 <UsingTask TaskName="ResolveCopyLocalAssets" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14147 <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">
14148 <!-- For future: Delete ResolveCopyLocalAssets task. Need to figure out how to get correct DestinationSubPath for
14149 PreserveStoreLayout without this task, and how to handle RuntimeStorePackages. -->
14150 <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)' != ''">
14151 <Output TaskParameter="ResolvedAssets" ItemName="_ResolvedCopyLocalPublishAssets" />
14152 </ResolveCopyLocalAssets>
14153 <ItemGroup>
14154 <_ResolvedCopyLocalPublishAssets Include="@(RuntimePackAsset)" Condition="('$(SelfContained)' == 'true' Or '%(RuntimePackAsset.RuntimePackAlwaysCopyLocal)' == 'true') and '%(RuntimePackAsset.AssetType)' != 'pgodata'" />
14155 </ItemGroup>
14156 <ItemGroup Condition="'$(_UseBuildDependencyFile)' != 'true'">
14157 <!-- Remove the apphost executable from publish copy local assets; we will copy the generated apphost instead -->
14158 <_ResolvedCopyLocalPublishAssets Remove="@(_NativeRestoredAppHostNETCore)" />
14159 </ItemGroup>
14160 <ItemGroup Condition="'$(PreserveStoreLayout)' != 'true' And '@(RuntimeStorePackages)' == ''">
14161 <_ResolvedCopyLocalPublishAssets Include="@(_ResolvedCopyLocalBuildAssets)" Condition="'%(_ResolvedCopyLocalBuildAssets.CopyToPublishDirectory)' != 'false' " />
14162 </ItemGroup>
14163 </Target>
14164 <!--
14165 ============================================================
14166 _ParseTargetManifestFiles
14167 Parses the $(TargetManifestFiles) which contains a list of files into @(RuntimeStorePackages) items
14168 which describes which packages should be excluded from publish since they are contained in the runtime store.
14169 ============================================================
14170 -->
14171 <UsingTask TaskName="ParseTargetManifests" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14172 <Target Name="_ParseTargetManifestFiles" Condition="'$(TargetManifestFiles)' != ''" Returns="@(RuntimeStorePackages)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14173 <ParseTargetManifests TargetManifestFiles="$(TargetManifestFiles)">
14174 <Output TaskParameter="RuntimeStorePackages" ItemName="RuntimeStorePackages" />
14175 </ParseTargetManifests>
14176 </Target>
14177 <!--
14178 ============================================================
14179 _FilterSatelliteResourcesForPublish
14180 Filters the resolved resource assets for build to the given resource languages.
14181 ============================================================
14182 -->
14183 <Target Name="_FilterSatelliteResourcesForPublish" Condition="'$(SatelliteResourceLanguages)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14184 <ItemGroup>
14185 <_PublishSatelliteResources Include="@(_ResolvedCopyLocalPublishAssets)" Condition="'%(_ResolvedCopyLocalPublishAssets.AssetType)' == 'resources'" />
14186 </ItemGroup>
14187 <JoinItems Left="@(_PublishSatelliteResources)" LeftKey="Culture" LeftMetadata="*" Right="$(SatelliteResourceLanguages)" RightKey="" RightMetadata="" ItemSpecToUse="Left">
14188 <Output TaskParameter="JoinResult" ItemName="_FilteredPublishSatelliteResources" />
14189 </JoinItems>
14190 <ItemGroup Condition="'@(_PublishSatelliteResources)' != ''">
14191 <_ResolvedCopyLocalPublishAssets Remove="@(_PublishSatelliteResources)" />
14192 <_ResolvedCopyLocalPublishAssets Include="@(_FilteredPublishSatelliteResources)" />
14193 </ItemGroup>
14194 </Target>
14195 <!--
14196 ============================================================
14197 _ComputeResolvedCopyLocalPublishAssets
14198 Computes the files from both project and package references.
14199 ============================================================
14200 -->
14201 <Target Name="_ComputeResolvedCopyLocalPublishAssets" DependsOnTargets="_ResolveCopyLocalAssetsForPublish;&#xD;&#xA; _FilterSatelliteResourcesForPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14202 <ItemGroup>
14203 <_ResolvedCopyLocalPublishAssets Include="@(ReferenceCopyLocalPaths)" Exclude="@(_ResolvedCopyLocalBuildAssets);@(RuntimePackAsset)" Condition="('$(PublishReferencesDocumentationFiles)' == 'true' or '%(ReferenceCopyLocalPaths.Extension)' != '.xml') and '%(ReferenceCopyLocalPaths.Private)' != 'false'">
14204 <DestinationSubPath>%(ReferenceCopyLocalPaths.DestinationSubDirectory)%(ReferenceCopyLocalPaths.Filename)%(ReferenceCopyLocalPaths.Extension)</DestinationSubPath>
14205 </_ResolvedCopyLocalPublishAssets>
14206 </ItemGroup>
14207 </Target>
14208 <!--
14209 ============================================================
14210 _ComputeCopyToPublishDirectoryItems
14211 ============================================================
14212 -->
14213 <Target Name="_ComputeCopyToPublishDirectoryItems" DependsOnTargets="GetCopyToPublishDirectoryItems" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14214 <ItemGroup>
14215 <ResolvedFileToPublish Include="@(_SourceItemsToCopyToPublishDirectoryAlways)">
14216 <RelativePath>%(_SourceItemsToCopyToPublishDirectoryAlways.TargetPath)</RelativePath>
14217 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
14218 <IsKeyOutput Condition="'%(_SourceItemsToCopyToPublishDirectoryAlways.FullPath)' == '$(AppHostIntermediatePath)'">True</IsKeyOutput>
14219 </ResolvedFileToPublish>
14220 <ResolvedFileToPublish Include="@(_SourceItemsToCopyToPublishDirectory)">
14221 <RelativePath>%(_SourceItemsToCopyToPublishDirectory.TargetPath)</RelativePath>
14222 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14223 <IsKeyOutput Condition="'%(_SourceItemsToCopyToPublishDirectory.FullPath)' == '$(AppHostIntermediatePath)'">True</IsKeyOutput>
14224 </ResolvedFileToPublish>
14225 </ItemGroup>
14226 </Target>
14227 <!--
14228 ============================================================
14229 GetCopyToPublishDirectoryItems
14230
14231 Get all project items that may need to be transferred to the publish directory.
14232 This includes baggage items from transitively referenced projects. It would appear
14233 that this target computes full transitive closure of content items for all referenced
14234 projects; however that is not the case. It only collects the content items from its
14235 immediate children and not children of children.
14236
14237 See comment on GetCopyToOutputDirectoryItems, from which this logic was taken.
14238 ============================================================
14239 -->
14240 <Target Name="GetCopyToPublishDirectoryItems" Returns="@(AllPublishItemsFullPathWithTargetPath)" KeepDuplicateOutputs=" '$(MSBuildDisableGetCopyToPublishDirectoryItemsOptimization)' == '' " DependsOnTargets="AssignTargetPaths;&#xD;&#xA; DefaultCopyToPublishDirectoryMetadata;&#xD;&#xA; _SplitProjectReferencesByFileExistence;&#xD;&#xA; _GetProjectReferenceTargetFrameworkProperties" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14241 <!-- 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
14242 cases, we can immediately discard the unwanted metadata, reducing memory usage, particularly in very large and interconnected systems of projects.
14243 However, if some client does require the original functionality, it is sufficient to set MSBuildDisableGetCopyToPublishDirectoryItemsOptimization to
14244 a non-empty value and the original behavior will be restored. -->
14245 <PropertyGroup Condition=" '$(MSBuildDisableGetCopyToPublishDirectoryItemsOptimization)' == '' ">
14246 <_GCTPDIKeepDuplicates>false</_GCTPDIKeepDuplicates>
14247 <_GCTPDIKeepMetadata>CopyToPublishDirectory;ExcludeFromSingleFile;TargetPath</_GCTPDIKeepMetadata>
14248 </PropertyGroup>
14249 <!-- Get items from child projects first. -->
14250 <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)">
14251 <Output TaskParameter="TargetOutputs" ItemName="_AllChildProjectPublishItemsWithTargetPath" />
14252 </MSBuild>
14253 <!-- Target outputs must be full paths because they will be consumed by a different project. -->
14254 <ItemGroup>
14255 <_SourceItemsToCopyToPublishDirectoryAlways KeepDuplicates=" '$(_GCTPDIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(_AllChildProjectPublishItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectPublishItemsWithTargetPath.CopyToPublishDirectory)'=='Always'" />
14256 <_SourceItemsToCopyToPublishDirectory KeepDuplicates=" '$(_GCTPDIKeepDuplicates)' != 'false' " KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(_AllChildProjectPublishItemsWithTargetPath->'%(FullPath)')" Condition="'%(_AllChildProjectPublishItemsWithTargetPath.CopyToPublishDirectory)'=='PreserveNewest'" />
14257 </ItemGroup>
14258 <!-- Remove items which we will never again use - they just sit around taking up memory otherwise -->
14259 <ItemGroup>
14260 <_AllChildProjectPublishItemsWithTargetPath Remove="@(_AllChildProjectPublishItemsWithTargetPath)" />
14261 </ItemGroup>
14262 <!-- Get items from this project last so that they will be copied last. -->
14263 <ItemGroup>
14264 <_SourceItemsToCopyToPublishDirectoryAlways KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToPublishDirectory)'=='Always'" />
14265 <_SourceItemsToCopyToPublishDirectory KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(ContentWithTargetPath->'%(FullPath)')" Condition="'%(ContentWithTargetPath.CopyToPublishDirectory)'=='PreserveNewest'" />
14266 </ItemGroup>
14267 <ItemGroup>
14268 <_SourceItemsToCopyToPublishDirectoryAlways KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToPublishDirectory)'=='Always'" />
14269 <_SourceItemsToCopyToPublishDirectory KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(EmbeddedResource->'%(FullPath)')" Condition="'%(EmbeddedResource.CopyToPublishDirectory)'=='PreserveNewest'" />
14270 </ItemGroup>
14271 <ItemGroup>
14272 <_CompileItemsToPublish Include="@(Compile->'%(FullPath)')" Condition="'%(Compile.CopyToPublishDirectory)'=='Always' or '%(Compile.CopyToPublishDirectory)'=='PreserveNewest'" />
14273 </ItemGroup>
14274 <AssignTargetPath Files="@(_CompileItemsToPublish)" RootFolder="$(MSBuildProjectDirectory)">
14275 <Output TaskParameter="AssignedFiles" ItemName="_CompileItemsToPublishWithTargetPath" />
14276 </AssignTargetPath>
14277 <ItemGroup>
14278 <_SourceItemsToCopyToPublishDirectoryAlways KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(_CompileItemsToPublishWithTargetPath)" Condition="'%(_CompileItemsToPublishWithTargetPath.CopyToPublishDirectory)'=='Always'" />
14279 <_SourceItemsToCopyToPublishDirectory KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(_CompileItemsToPublishWithTargetPath)" Condition="'%(_CompileItemsToPublishWithTargetPath.CopyToPublishDirectory)'=='PreserveNewest'" />
14280 </ItemGroup>
14281 <ItemGroup>
14282 <_SourceItemsToCopyToPublishDirectoryAlways KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToPublishDirectory)'=='Always'" />
14283 <_SourceItemsToCopyToPublishDirectory KeepMetadata="$(_GCTPDIKeepMetadata)" Include="@(_NoneWithTargetPath->'%(FullPath)')" Condition="'%(_NoneWithTargetPath.CopyToPublishDirectory)'=='PreserveNewest'" />
14284 </ItemGroup>
14285 <ItemGroup>
14286 <AllPublishItemsFullPathWithTargetPath Include="@(_SourceItemsToCopyToPublishDirectoryAlways->'%(FullPath)');@(_SourceItemsToCopyToPublishDirectory->'%(FullPath)')" />
14287 </ItemGroup>
14288 </Target>
14289 <!--
14290 ============================================================
14291 DefaultCopyToPublishDirectoryMetadata
14292
14293 If CopyToPublishDirectory isn't set on these items, the value should be taken from CopyToOutputDirectory.
14294 This way, projects can just set "CopyToOutputDirectory = Always/PreserveNewest" and by default the item will be copied
14295 to both the build output and publish directories.
14296 ============================================================
14297 -->
14298 <Target Name="DefaultCopyToPublishDirectoryMetadata" DependsOnTargets="AssignTargetPaths" Condition=" '$(DefaultCopyToPublishDirectoryMetadata)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14299 <ItemGroup>
14300 <ContentWithTargetPath Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='Always' and '%(ContentWithTargetPath.CopyToPublishDirectory)' == ''">
14301 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
14302 </ContentWithTargetPath>
14303 <ContentWithTargetPath Condition="'%(ContentWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' and '%(ContentWithTargetPath.CopyToPublishDirectory)' == ''">
14304 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14305 </ContentWithTargetPath>
14306 <EmbeddedResource Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='Always' and '%(EmbeddedResource.CopyToPublishDirectory)' == ''">
14307 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
14308 </EmbeddedResource>
14309 <EmbeddedResource Condition="'%(EmbeddedResource.CopyToOutputDirectory)'=='PreserveNewest' and '%(EmbeddedResource.CopyToPublishDirectory)' == ''">
14310 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14311 </EmbeddedResource>
14312 <Compile Condition="'%(Compile.CopyToOutputDirectory)'=='Always' and '%(Compile.CopyToPublishDirectory)' == ''">
14313 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
14314 </Compile>
14315 <Compile Condition="'%(Compile.CopyToOutputDirectory)'=='PreserveNewest' and '%(Compile.CopyToPublishDirectory)' == ''">
14316 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14317 </Compile>
14318 <_NoneWithTargetPath Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='Always' and '%(_NoneWithTargetPath.CopyToPublishDirectory)' == ''">
14319 <CopyToPublishDirectory>Always</CopyToPublishDirectory>
14320 </_NoneWithTargetPath>
14321 <_NoneWithTargetPath Condition="'%(_NoneWithTargetPath.CopyToOutputDirectory)'=='PreserveNewest' and '%(_NoneWithTargetPath.CopyToPublishDirectory)' == ''">
14322 <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
14323 </_NoneWithTargetPath>
14324 </ItemGroup>
14325 </Target>
14326 <PropertyGroup Condition="'$(SelfContained)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14327 <_ComputeManagedRuntimePackAssembliesIfSelfContained>_ComputeManagedRuntimePackAssemblies</_ComputeManagedRuntimePackAssembliesIfSelfContained>
14328 </PropertyGroup>
14329 <!-- Determine the managed assembly subset of ResolvedFileToPublish that should be post-processed by linker, and ready to run compilation -->
14330 <Target Name="_ComputeAssembliesToPostprocessOnPublish" DependsOnTargets="_ComputeUserRuntimeAssemblies;$(_ComputeManagedRuntimePackAssembliesIfSelfContained)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14331 <!--
14332 Default set of files to post-process correspond to the items that would be designated
14333 as managed runtime assemblies in .deps.json, and published to root of the application.
14334 RuntimeTargets and satellite assemblies are excluded. Currently, both linker and ready
14335 to run require a RID, so there will not be RuntimeTargets. Linker could conceptually
14336 operate without a RID, but would not know how to handle multiple assemblies with same
14337 identity.
14338 -->
14339 <ItemGroup>
14340 <!-- Assemblies from packages -->
14341 <_ManagedRuntimeAssembly Include="@(RuntimeCopyLocalItems)" />
14342 <!-- Assemblies from other references -->
14343 <_ManagedRuntimeAssembly Include="@(UserRuntimeAssembly)" />
14344 <!-- Assembly produced by this project -->
14345 <_ManagedRuntimeAssembly Include="@(IntermediateAssembly)" />
14346 </ItemGroup>
14347 <!-- Assemblies from runtime packs for self-contained apps -->
14348 <ItemGroup Condition="'$(SelfContained)' == 'true'">
14349 <_ManagedRuntimeAssembly Include="@(_ManagedRuntimePackAssembly)" />
14350 </ItemGroup>
14351 <!--
14352 Match above with ResolvedFileToPublish. Some of above would have been excluded from publish in
14353 various ways and should be excluded from the list of files to postprocess as well. Furthermore,
14354 the metadata must match ResolvedFileToPublish as the tools modify or remove these items in that
14355 list to implement their post-processing.
14356 -->
14357 <JoinItems Left="@(_ManagedRuntimeAssembly)" Right="@(ResolvedFileToPublish)" RightMetadata="*">
14358 <Output TaskParameter="JoinResult" ItemName="_AssemblyToPostprocessOnPublish" />
14359 </JoinItems>
14360 <!--
14361 Set PostprocessAssembly=true metadata on ResolvedFileToPublish, which will be honored by linker
14362 and crossgen.
14363
14364 Assemblies injected into ResolvedFileToPublish outside the set above (such as razor views) are
14365 responsible for setting this metadata to opt in to post-processing.
14366 -->
14367 <ItemGroup>
14368 <ResolvedFileToPublish Remove="@(_AssemblyToPostprocessOnPublish)" />
14369 <ResolvedFileToPublish Include="@(_AssemblyToPostprocessOnPublish)" PostprocessAssembly="true" />
14370 </ItemGroup>
14371 </Target>
14372 <Target Name="_ComputeManagedRuntimePackAssemblies" Returns="@(_ManagedRuntimePackAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14373 <ItemGroup>
14374 <!-- Special case for System.Private.Corelib due to https://github.com/dotnet/core-setup/issues/7728 -->
14375 <_ManagedRuntimePackAssembly Include="@(RuntimePackAsset)" Condition="'%(RuntimePackAsset.AssetType)' == 'runtime'&#xD;&#xA; or '%(RuntimePackAsset.Filename)' == 'System.Private.Corelib'" />
14376 </ItemGroup>
14377 </Target>
14378 <Target Name="_ComputeUseBuildDependencyFile" DependsOnTargets="_ComputePackageReferencePublish;&#xD;&#xA; _ParseTargetManifestFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14379 <!-- Check to see whether we can re-use the .deps.json file from the build for publish, or whether we have to
14380 generate a different one. -->
14381 <PropertyGroup>
14382 <_TrimRuntimeAssets Condition="'$(PublishSingleFile)' == 'true' and '$(SelfContained)' == 'true'">true</_TrimRuntimeAssets>
14383 <_UseBuildDependencyFile Condition="'@(_ExcludeFromPublishPackageReference)' == '' and&#xD;&#xA; '@(RuntimeStorePackages)' == '' and&#xD;&#xA; '$(PreserveStoreLayout)' != 'true' and&#xD;&#xA; '$(PublishTrimmed)' != 'true' and&#xD;&#xA; '$(_TrimRuntimeAssets)' != 'true'">true</_UseBuildDependencyFile>
14384 </PropertyGroup>
14385 </Target>
14386 <!--
14387 ============================================================
14388 GenerateSingleFileBundle
14389
14390 Bundle the ResolvedFileToPublish items into one file in PublishDir
14391 (except those marked ExcludeFromSingleFile)
14392 ============================================================
14393 -->
14394 <Target Name="_ComputeFilesToBundle" DependsOnTargets="_HandleFileConflictsForPublish" Condition="'$(PublishSingleFile)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14395 <ItemGroup>
14396 <_FilesToBundle Include="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.ExcludeFromSingleFile)' != 'true'" />
14397 <ResolvedFileToPublish Remove="@(_FilesToBundle)" />
14398 </ItemGroup>
14399 <PropertyGroup>
14400 <PublishedSingleFileName>$(AssemblyName)$(_NativeExecutableExtension)</PublishedSingleFileName>
14401 <PublishedSingleFilePath>$(PublishDir)$(PublishedSingleFileName)</PublishedSingleFilePath>
14402 </PropertyGroup>
14403 </Target>
14404 <Target Name="PrepareForBundle" DependsOnTargets="_ComputeFilesToBundle" Condition="'$(PublishSingleFile)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14405 <ItemGroup>
14406 <FilesToBundle Include="@(_FilesToBundle)" />
14407 </ItemGroup>
14408 <PropertyGroup>
14409 <AppHostFile>$(PublishedSingleFileName)</AppHostFile>
14410 </PropertyGroup>
14411 </Target>
14412 <UsingTask TaskName="GenerateBundle" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14413 <Target Name="GenerateSingleFileBundle" Condition="'$(PublishSingleFile)' == 'true'" DependsOnTargets="_ComputeFilesToBundle;PrepareForBundle" Inputs="@(FilesToBundle)" Outputs="$(PublishedSingleFilePath)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14414 <PropertyGroup>
14415 <TraceSingleFileBundler Condition="'$(TraceSingleFileBundler)' == ''">false</TraceSingleFileBundler>
14416 <IncludeSymbolsInSingleFile Condition="'$(IncludeSymbolsInSingleFile)' == ''">false</IncludeSymbolsInSingleFile>
14417 <IncludeAllContentForSelfExtract Condition="'$(IncludeAllContentForSelfExtract)' == ''">false</IncludeAllContentForSelfExtract>
14418 <IncludeNativeLibrariesForSelfExtract Condition="'$(IncludeNativeLibrariesForSelfExtract)' == ''">$(IncludeAllContentForSelfExtract)</IncludeNativeLibrariesForSelfExtract>
14419 <EnableCompressionInSingleFile Condition="'$(EnableCompressionInSingleFile)' == ''">false</EnableCompressionInSingleFile>
14420 </PropertyGroup>
14421 <NETSdkError Condition="'$(IncludeAllContentForSelfExtract)' == 'true' And '$(IncludeNativeLibrariesForSelfExtract)' != 'true'" ResourceName="CannotIncludeAllContentButNotNativeLibrariesInSingleFile" />
14422 <GenerateBundle FilesToBundle="@(FilesToBundle)" AppHostName="$(PublishedSingleFileName)" IncludeSymbols="$(IncludeSymbolsInSingleFile)" EnableCompressionInSingleFile="$(EnableCompressionInSingleFile)" IncludeNativeLibraries="$(IncludeNativeLibrariesForSelfExtract)" IncludeAllContent="$(IncludeAllContentForSelfExtract)" TargetFrameworkVersion="$(_TargetFrameworkVersionWithoutV)" RuntimeIdentifier="$(RuntimeIdentifier)" OutputDir="$(PublishDir)" ShowDiagnosticOutput="$(TraceSingleFileBundler)">
14423 <Output TaskParameter="ExcludedFiles" ItemName="_FilesExcludedFromBundle" />
14424 </GenerateBundle>
14425 <ItemGroup>
14426 <ResolvedFileToPublish Include="@(_FilesExcludedFromBundle)" />
14427 <!-- ResolvedFileToPublish shouldn't include PublishedSingleFilePath, since the single-file bundle is written directly to the publish directory -->
14428 </ItemGroup>
14429 </Target>
14430 <!--
14431 ============================================================
14432 _GeneratePublishDependencyFile
14433 Generates the $(project).deps.json file for a published app
14434 ============================================================
14435 -->
14436 <Target Name="GeneratePublishDependencyFile" DependsOnTargets="_ComputeUseBuildDependencyFile;&#xD;&#xA; _DefaultMicrosoftNETPlatformLibrary;&#xD;&#xA; _HandlePackageFileConflicts;&#xD;&#xA; _HandlePackageFileConflictsForPublish;&#xD;&#xA; _ComputeReferenceAssemblies;&#xD;&#xA; _ComputeUserRuntimeAssemblies;&#xD;&#xA; ResolveRuntimePackAssets;&#xD;&#xA; _ComputePackageReferencePublish" Condition="'$(GenerateDependencyFile)' == 'true' and '$(_UseBuildDependencyFile)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14437 <PropertyGroup>
14438 <!-- IntermediateDepsFilePath is the location where the deps.json file is originally created
14439 PublishDepsFilePath is the location where the deps.json resides when published
14440 PublishDepsFilePath is empty (by default) for PublishSingleFile, since the deps.json file is embedde within the single-file bundle -->
14441 <IntermediateDepsFilePath Condition=" '$(PublishDepsFilePath)' != ''">$(PublishDepsFilePath)</IntermediateDepsFilePath>
14442 <IntermediateDepsFilePath Condition=" '$(PublishDepsFilePath)' == ''">$(IntermediateOutputPath)$(ProjectDepsFileName)</IntermediateDepsFilePath>
14443 <PublishDepsFilePath Condition=" '$(PublishDepsFilePath)' == '' And '$(PublishSingleFile)' != 'true'">$(PublishDir)$(ProjectDepsFileName)</PublishDepsFilePath>
14444 <_IsSingleFilePublish Condition="'$(PublishSingleFile)' == ''">false</_IsSingleFilePublish>
14445 <_IsSingleFilePublish Condition="'$(PublishSingleFile)' != ''">$(PublishSingleFile)</_IsSingleFilePublish>
14446 </PropertyGroup>
14447 <ItemGroup>
14448 <ResolvedCompileFileDefinitions Remove="@(_PublishConflictPackageFiles)" Condition="'%(_PublishConflictPackageFiles.ConflictItemType)' == 'Reference'" />
14449 <RuntimeTargetsCopyLocalItems Remove="@(_PublishConflictPackageFiles)" Condition="'%(_PublishConflictPackageFiles.ConflictItemType)' != 'Reference'" />
14450 <RuntimePackAsset Remove="@(_PublishConflictPackageFiles)" Condition="'%(_PublishConflictPackageFiles.ConflictItemType)' != 'Reference'" />
14451 <_ResolvedNuGetFilesForPublish Include="@(NativeCopyLocalItems)" Condition="'%(NativeCopyLocalItems.CopyToPublishDirectory)' != 'false'" />
14452 <_ResolvedNuGetFilesForPublish Include="@(ResourceCopyLocalItems)" Condition="'%(ResourceCopyLocalItems.CopyToPublishDirectory)' != 'false'" />
14453 <_ResolvedNuGetFilesForPublish Include="@(RuntimeCopyLocalItems)" Condition="'%(RuntimeCopyLocalItems.CopyToPublishDirectory)' != 'false'" />
14454 <_ResolvedNuGetFilesForPublish Remove="@(_PublishConflictPackageFiles)" Condition="'%(_PublishConflictPackageFiles.ConflictItemType)' != 'Reference'" />
14455 </ItemGroup>
14456 <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)" 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="$(BundledRuntimeIdentifierGraphFile)" />
14457 <ItemGroup>
14458 <ResolvedFileToPublish Include="$(IntermediateDepsFilePath)">
14459 <RelativePath>$(ProjectDepsFileName)</RelativePath>
14460 </ResolvedFileToPublish>
14461 </ItemGroup>
14462 </Target>
14463 <!--
14464 ============================================================
14465 ComputeEmbeddedApphostPaths
14466
14467 When no build flag is set, EmbeddedApphostPaths is not available. Compute EmbeddedApphostPaths is required to find build asset.
14468 ============================================================
14469 -->
14470 <UsingTask TaskName="Microsoft.NET.Build.Tasks.GetEmbeddedApphostPaths" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14471 <Target Name="ComputeEmbeddedApphostPaths" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14472 <ItemGroup>
14473 <_PackAsToolShimRuntimeIdentifiers Condition="@(_PackAsToolShimRuntimeIdentifiers) ==''" Include="$(PackAsToolShimRuntimeIdentifiers)" />
14474 </ItemGroup>
14475 <GetEmbeddedApphostPaths PackagedShimOutputDirectory="$(PackagedShimOutputRootDirectory)/shims/$(TargetFramework)" ShimRuntimeIdentifiers="@(_PackAsToolShimRuntimeIdentifiers)" ToolCommandName="$(ToolCommandName)">
14476 <Output TaskParameter="EmbeddedApphostPaths" ItemName="_EmbeddedApphostPaths" />
14477 </GetEmbeddedApphostPaths>
14478 </Target>
14479 <!--
14480 ============================================================
14481 ComputeFilesCopiedToPublishDir
14482
14483 Gathers all the files that will be copied to the publish directory. This is used by wapproj and is required for back compat.
14484 ============================================================
14485 -->
14486 <Target Name="ComputeFilesCopiedToPublishDir" DependsOnTargets="ComputeResolvedFilesToPublishList;&#xD;&#xA; _ComputeFilesToBundle" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14487 <ItemGroup>
14488 <FilesCopiedToPublishDir Include="@(ResolvedFileToPublish)" />
14489 <FilesCopiedToPublishDir Include="$(PublishedSingleFilePath)" RelativePath="$(PublishedSingleFileName)" IsKeyOutput="true" Condition="'$(PublishSingleFile)' == 'true'" />
14490 <!-- Wapproj handles adding the correct deps.json file, so remove it here to avoid duplicates. -->
14491 <FilesCopiedToPublishDir Remove="@(FilesCopiedToPublishDir)" Condition="'%(FilesCopiedToPublishDir.Filename)%(FilesCopiedToPublishDir.Extension)' == '$(ProjectDepsFileName)'" />
14492 </ItemGroup>
14493 </Target>
14494 <!--
14495 ============================================================
14496 PublishItemsOutputGroup
14497
14498 Emit an output group containing all files that get published. This will be consumed by VS installer projects.
14499 ============================================================
14500 -->
14501 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14502 <PublishItemsOutputGroupDependsOn>
14503 $(PublishItemsOutputGroupDependsOn);
14504 ResolveReferences;
14505 ComputeResolvedFilesToPublishList;
14506 _ComputeFilesToBundle;
14507 </PublishItemsOutputGroupDependsOn>
14508 </PropertyGroup>
14509 <UsingTask TaskName="Microsoft.NET.Build.Tasks.GetPublishItemsOutputGroupOutputs" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14510 <Target Name="PublishItemsOutputGroup" DependsOnTargets="$(PublishItemsOutputGroupDependsOn)" Returns="@(PublishItemsOutputGroupOutputs)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14511 <GetPublishItemsOutputGroupOutputs ResolvedFileToPublish="@(ResolvedFileToPublish)" PublishDir="$(PublishDir)">
14512 <Output TaskParameter="PublishItemsOutputGroupOutputs" ItemName="PublishItemsOutputGroupOutputs" />
14513 </GetPublishItemsOutputGroupOutputs>
14514 <ItemGroup>
14515 <PublishItemsOutputGroupOutputs Include="$(PublishedSingleFilePath)" TargetPath="$(PublishedSingleFileName)" IsKeyOutput="true" Condition="'$(PublishSingleFile)' == 'true'" OutputPath="$(PublishedSingleFilePath)" OutputGroup="PublishItemsOutputGroup" />
14516 </ItemGroup>
14517 </Target>
14518 <!--
14519 This target exists for back-compat with Azure Functions SDK: https://github.com/dotnet/cli/issues/10363
14520 Because build copy-local now behaves the same as publish with respect to package dependency resolution,
14521 the Azure Functions SDK doesn't need to resolve publish assets for build.
14522 TODO: Remove this target when no longer needed as a workaround.
14523 -->
14524 <Target Name="RunResolvePublishAssemblies" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14525 <!--
14526 ============================================================
14527 _CheckForLanguageAndPublishFeatureCombinationSupport
14528
14529 Block unsupported language and feature combination.
14530 ============================================================
14531 -->
14532 <Target Name="_CheckForLanguageAndPublishFeatureCombinationSupport" BeforeTargets="Publish;PrepareForPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14533 <NETSdkError Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true') and '$(TargetFrameworkIdentifier)' == '.NETCoreApp'" ResourceName="NoSupportCppPublishDotnetCore" />
14534 </Target>
14535 <!--
14536============================================================================================================================================
14537 </Import>
14538
14539C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
14540============================================================================================================================================
14541-->
14542 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackStubs.targets" Condition="('$(Language)' == 'C++' and '$(_EnablePackageReferencesInVCProjects)' != 'true')" />-->
14543 <!--
14544============================================================================================================================================
14545 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackTool.targets">
14546
14547C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.PackTool.targets
14548============================================================================================================================================
14549-->
14550 <!--
14551***********************************************************************************************
14552Microsoft.NET.PackTool.targets
14553
14554WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
14555 created a backup copy. Incorrect changes to this file will make it
14556 impossible to load or build your projects from the command-line or the IDE.
14557
14558Copyright (c) .NET Foundation. All rights reserved.
14559***********************************************************************************************
14560-->
14561 <UsingTask TaskName="Microsoft.NET.Build.Tasks.GenerateToolsSettingsFile" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14562 <UsingTask TaskName="Microsoft.NET.Build.Tasks.GenerateShims" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14563 <UsingTask TaskName="Microsoft.NET.Build.Tasks.ResolveToolPackagePaths" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14564 <UsingTask TaskName="Microsoft.NET.Build.Tasks.GetEmbeddedApphostPaths" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14565 <UsingTask TaskName="Microsoft.NET.Build.Tasks.GetNuGetShortFolderName" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14566 <!--
14567 Mark all dependency as private assets. But keep them as Publish. So dependency DLLs will be included in NuGet package, while
14568 there is no dependency in nuspec. And add Microsoft.NETCore.Platforms, which is used to select correct RID assets.
14569 -->
14570 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14571 <_ToolsSettingsFilePath>$(BaseIntermediateOutputPath)DotnetToolSettings.xml</_ToolsSettingsFilePath>
14572 <SuppressDependenciesWhenPacking Condition=" '$(PackAsTool)' == 'true' ">true</SuppressDependenciesWhenPacking>
14573 <_PackToolPublishDependency Condition=" ('$(GeneratePackageOnBuild)' != 'true' and '$(NoBuild)' != 'true') and $(IsPublishable) == 'true' ">_PublishBuildAlternative</_PackToolPublishDependency>
14574 <_PackToolPublishDependency Condition=" ('$(GeneratePackageOnBuild)' == 'true' or '$(NoBuild)' == 'true') and $(IsPublishable) == 'true' ">$(_PublishNoBuildAlternativeDependsOn)</_PackToolPublishDependency>
14575 </PropertyGroup>
14576 <Target Name="PackTool" DependsOnTargets="GenerateToolsSettingsFileFromBuildProperty;$(_PackToolPublishDependency);_PackToolValidation" Condition=" '$(PackAsTool)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14577 <ItemGroup>
14578 <_GeneratedFiles Include="$(PublishDepsFilePath)" Condition="'$(GenerateDependencyFile)' != 'true' or '$(_UseBuildDependencyFile)' == 'true'" />
14579 <_GeneratedFiles Include="$(PublishRuntimeConfigFilePath)" />
14580 <_GeneratedFiles Include="$(_ToolsSettingsFilePath)" />
14581 </ItemGroup>
14582 <ResolveToolPackagePaths AppHostIntermediatePath="$(AppHostIntermediatePath)" ResolvedFileToPublish="@(ResolvedFileToPublish)" PublishDir="$(PublishDir)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetPlatformMoniker="$(TargetPlatformMoniker)">
14583 <Output TaskParameter="ResolvedFileToPublishWithPackagePath" ItemName="_ResolvedFileToPublishWithPackagePath" />
14584 </ResolveToolPackagePaths>
14585 <ItemGroup>
14586 <TfmSpecificPackageFile Include="@(_GeneratedFiles)">
14587 <PackagePath>tools/$(_NuGetShortFolderName)/any/%(_GeneratedFiles.RecursiveDir)%(_GeneratedFiles.Filename)%(_GeneratedFiles.Extension)</PackagePath>
14588 </TfmSpecificPackageFile>
14589 <TfmSpecificPackageFile Include="@(_ResolvedFileToPublishWithPackagePath)">
14590 <PackagePath>%(_ResolvedFileToPublishWithPackagePath.PackagePath)</PackagePath>
14591 </TfmSpecificPackageFile>
14592 </ItemGroup>
14593 </Target>
14594 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14595 <ToolCommandName Condition=" '$(ToolCommandName)' == '' ">$(TargetName)</ToolCommandName>
14596 <ToolEntryPoint Condition=" '$(ToolEntryPoint)' == '' ">$(TargetFileName)</ToolEntryPoint>
14597 </PropertyGroup>
14598 <Target Name="GenerateToolsSettingsFileFromBuildProperty" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14599 <GenerateToolsSettingsFile EntryPointRelativePath="$(ToolEntryPoint)" CommandName="$(ToolCommandName)" ToolsSettingsFilePath="$(_ToolsSettingsFilePath)" />
14600 </Target>
14601 <Target Name="_PackToolValidation" Condition=" '$(PackAsTool)' == 'true' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14602 <GetNuGetShortFolderName TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetPlatformMoniker="$(TargetPlatformMoniker)">
14603 <Output TaskParameter="NuGetShortFolderName" PropertyName="_NuGetShortFolderName" />
14604 </GetNuGetShortFolderName>
14605 <NETSdkError Condition=" '$(SelfContained)' == 'true' " ResourceName="PackAsToolCannotSupportSelfContained" />
14606 <NETSdkError Condition=" '$(TargetFrameworkIdentifier)' != '.NETCoreApp' " ResourceName="DotnetToolOnlySupportNetcoreapp" />
14607 <NETSdkError Condition=" '$(_TargetFrameworkVersionWithoutV)' &lt; '2.1' " ResourceName="DotnetToolDoesNotSupportTFMLowerThanNetcoreapp21" />
14608 <NETSdkError Condition=" '$(TargetPlatformIdentifier)' != '' and '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), 5.0))" ResourceName="PackAsToolCannotSupportTargetPlatformIdentifier" />
14609 </Target>
14610 <!--
14611 ============================================================
14612 GenerateShimsAssets
14613
14614 Generate packaged shims for signing when PackAsToolShimRuntimeIdentifiers is set
14615 ============================================================
14616 -->
14617 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14618 <_ShimInputCacheFile Condition="'$(_ShimInputCacheFile)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).shiminput.cache</_ShimInputCacheFile>
14619 <_ShimInputCacheFile>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(_ShimInputCacheFile)))</_ShimInputCacheFile>
14620 <_ShimCreatedSentinelFile Condition="'$(_ShimCreatedSentinelFile)' == ''">$(IntermediateOutputPath)$(MSBuildProjectName).shimcreated.sentinel</_ShimCreatedSentinelFile>
14621 <_ShimCreatedSentinelFile>$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(_ShimCreatedSentinelFile)))</_ShimCreatedSentinelFile>
14622 <PackagedShimOutputRootDirectory Condition=" '$(PackagedShimOutputRootDirectory)' == '' ">$(OutDir)</PackagedShimOutputRootDirectory>
14623 </PropertyGroup>
14624 <Target Name="GenerateShimsAssets" BeforeTargets="CopyFilesToOutputDirectory" DependsOnTargets="ResolvePackageAssets;_PackToolValidation;_GenerateShimInputCache;_ComputeExpectedEmbeddedApphostPaths" Condition="'$(PackAsTool)' == 'true' and $(PackAsToolShimRuntimeIdentifiers) != '' " Inputs="@(_GenerateShimsAssetsInput)" Outputs="$(_ShimCreatedSentinelFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14625 <GenerateShims ApphostsForShimRuntimeIdentifiers="@(_ApphostsForShimRuntimeIdentifiers)" IntermediateAssembly="@(IntermediateAssembly->'%(FullPath)')" OutputType="$(OutputType)" PackagedShimOutputDirectory="$(PackagedShimOutputRootDirectory)/shims/$(_NuGetShortFolderName)" PackageId="$(PackageId)" PackageVersion="$(PackageVersion)" ShimRuntimeIdentifiers="@(_PackAsToolShimRuntimeIdentifiers)" TargetFrameworkMoniker="$(NuGetTargetMoniker)" ToolCommandName="$(ToolCommandName)" ToolEntryPoint="$(ToolEntryPoint)">
14626 <Output TaskParameter="EmbeddedApphostPaths" ItemName="_EmbeddedApphostPaths" />
14627 </GenerateShims>
14628 <!-- Workaround for https://github.com/dotnet/corefx/issues/31379
14629 LastWriteTime in shims are not accurate. And _ShimInputCacheFile will have later timestamp than generated shims.
14630 Use a created file to "record" LastWriteTime. And only use it in "Outputs" field for timestamp comparison.
14631
14632 Touch Task uses the same API File.SetLastWriteTime underneath. So it also cannot be used.
14633 -->
14634 <WriteLinesToFile Lines="This file's LastWriteTime is used in incremental build" File="$(_ShimCreatedSentinelFile)" Overwrite="True" />
14635 <ItemGroup>
14636 <!-- Do this in an ItemGroup instead of as an output parameter so that it still gets added to the item set
14637 during incremental builds when the task is skipped -->
14638 <FileWrites Include="@(_EmbeddedApphostPaths)" />
14639 <FileWrites Include="$(_ShimCreatedSentinelFile)" />
14640 </ItemGroup>
14641 </Target>
14642 <Target Name="_ComputeExpectedEmbeddedApphostPaths" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14643 <GetEmbeddedApphostPaths PackagedShimOutputDirectory="$(PackagedShimOutputRootDirectory)/shims/$(_NuGetShortFolderName)" ShimRuntimeIdentifiers="@(_PackAsToolShimRuntimeIdentifiers)" ToolCommandName="$(ToolCommandName)">
14644 <Output TaskParameter="EmbeddedApphostPaths" ItemName="_EmbeddedApphostPaths" />
14645 </GetEmbeddedApphostPaths>
14646 </Target>
14647 <!-- To achieve incremental build with property change. When any property changes, WriteOnlyWhenDifferent will be triggered to write cache file.
14648 And the cache file's timestamp will be later, and it then triggers the incremental build.-->
14649 <Target Name="_GenerateShimInputCache" DependsOnTargets="ResolveAssemblyReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14650 <ItemGroup>
14651 <_GenerateShimsAssetsInput Include="$(_ShimInputCacheFile)" />
14652 <_GenerateShimsAssetsInput Include="@(_ApphostsForShimRuntimeIdentifiers)" />
14653 <_GenerateShimsAssetsInput Include="$(_ShimCreatedSentinelFile)" />
14654 <_GenerateShimsAssetsInput Include="$(ProjectAssetsFile)" />
14655 <_GenerateShimsAssetsInputCacheToHash Include="$(PackageId)" />
14656 <_GenerateShimsAssetsInputCacheToHash Include="$(Version)" />
14657 <_GenerateShimsAssetsInputCacheToHash Include="$(NuGetTargetMoniker)" />
14658 <_GenerateShimsAssetsInputCacheToHash Include="$(ToolCommandName)" />
14659 <_GenerateShimsAssetsInputCacheToHash Include="$(ToolEntryPoint)" />
14660 <_GenerateShimsAssetsInputCacheToHash Include="$(PackAsToolShimRuntimeIdentifiers)" />
14661 </ItemGroup>
14662 <Hash ItemsToHash="@(_GenerateShimsAssetsInputCacheToHash)">
14663 <Output TaskParameter="HashResult" PropertyName="_GenerateShimsAssetsInputCacheHash" />
14664 </Hash>
14665 <WriteLinesToFile Lines="$(_GenerateShimsAssetsInputCacheHash)" File="$(_ShimInputCacheFile)" Overwrite="True" WriteOnlyWhenDifferent="True" />
14666 <ItemGroup>
14667 <FileWrites Include="$(_ShimInputCacheFile)" />
14668 </ItemGroup>
14669 </Target>
14670 <!--
14671============================================================================================================================================
14672 </Import>
14673
14674C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
14675============================================================================================================================================
14676-->
14677 <!--
14678============================================================================================================================================
14679 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackProjectTool.targets">
14680
14681C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.PackProjectTool.targets
14682============================================================================================================================================
14683-->
14684 <!--
14685***********************************************************************************************
14686Microsoft.NET.PackProjectTool.targets
14687
14688WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
14689 created a backup copy. Incorrect changes to this file will make it
14690 impossible to load or build your projects from the command-line or the IDE.
14691
14692Copyright (c) .NET Foundation. All rights reserved.
14693***********************************************************************************************
14694-->
14695 <Target Name="_PackProjectToolValidation" Condition=" '$(PackageType)' == 'DotnetCliTool'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14696 <NETSdkError Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and '$(_TargetFrameworkVersionWithoutV)' &gt; '2.2' " ResourceName="ProjectToolOnlySupportTFMLowerThanNetcoreapp22" />
14697 </Target>
14698 <!--
14699============================================================================================================================================
14700 </Import>
14701
14702C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
14703============================================================================================================================================
14704-->
14705 <!--
14706============================================================================================================================================
14707 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PreserveCompilationContext.targets">
14708
14709C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.PreserveCompilationContext.targets
14710============================================================================================================================================
14711-->
14712 <!--
14713***********************************************************************************************
14714Microsoft.NET.PreserveCompilationContext.targets
14715
14716WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
14717 created a backup copy. Incorrect changes to this file will make it
14718 impossible to load or build your projects from the command-line or the IDE.
14719
14720Copyright (c) .NET Foundation. All rights reserved.
14721***********************************************************************************************
14722-->
14723 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14724 <RefAssembliesFolderName Condition="'$(RefAssembliesFolderName)' == ''">refs</RefAssembliesFolderName>
14725 <PreserveCompilationReferences Condition=" '$(PreserveCompilationReferences)' == ''">$(PreserveCompilationContext)</PreserveCompilationReferences>
14726 </PropertyGroup>
14727 <Target Name="ComputeDependencyFileCompilerOptions" Condition="'$(PreserveCompilationContext)' == 'true'" BeforeTargets="GenerateBuildDependencyFile;&#xD;&#xA; GeneratePublishDependencyFile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14728 <ItemGroup>
14729 <DependencyFileCompilerOptions Include="CompilerOptions">
14730 <DefineConstants>$(DefineConstants)</DefineConstants>
14731 <LangVersion>$(LangVersion)</LangVersion>
14732 <PlatformTarget>$(PlatformTarget)</PlatformTarget>
14733 <AllowUnsafeBlocks>$(AllowUnsafeBlocks)</AllowUnsafeBlocks>
14734 <TreatWarningsAsErrors>$(TreatWarningsAsErrors)</TreatWarningsAsErrors>
14735 <Optimize>$(Optimize)</Optimize>
14736 <AssemblyOriginatorKeyFile>$(AssemblyOriginatorKeyFile)</AssemblyOriginatorKeyFile>
14737 <DelaySign>$(DelaySign)</DelaySign>
14738 <PublicSign>$(DelaySign)</PublicSign>
14739 <DebugType>$(DebugType)</DebugType>
14740 <OutputType>$(OutputType)</OutputType>
14741 <GenerateDocumentationFile>$(GenerateDocumentationFile)</GenerateDocumentationFile>
14742 </DependencyFileCompilerOptions>
14743 </ItemGroup>
14744 </Target>
14745 <UsingTask TaskName="FindItemsFromPackages" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
14746 <Target Name="ComputeRefAssembliesToPublish" Condition="'$(PreserveCompilationReferences)' == 'true'" DependsOnTargets="ResolvePackageAssets;&#xD;&#xA; _ParseTargetManifestFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14747 <FindItemsFromPackages Items="@(RuntimeCopyLocalItems)" Packages="@(RuntimeStorePackages)">
14748 <Output TaskParameter="ItemsFromPackages" ItemName="_RuntimeItemsInRuntimeStore" />
14749 </FindItemsFromPackages>
14750 <ItemGroup>
14751 <!--
14752 Don't copy a compilation assembly if it's also a runtime assembly. There is no need to copy the same
14753 assembly to the 'refs' folder, if it is already in the publish directory.
14754 -->
14755 <_RefAssembliesToExclude Include="@(_ResolvedCopyLocalPublishAssets->'%(FullPath)')" />
14756 <!--
14757 Similarly, don't copy a compilation assembly if it's also a runtime assembly that is in a runtime store.
14758 It will be resolved from the runtime store directory at runtime.
14759 -->
14760 <_RefAssembliesToExclude Include="@(_RuntimeItemsInRuntimeStore)" />
14761 <ResolvedFileToPublish Include="@(ReferencePath)" Exclude="@(_RefAssembliesToExclude)">
14762 <RelativePath>$(RefAssembliesFolderName)\%(Filename)%(Extension)</RelativePath>
14763 </ResolvedFileToPublish>
14764 </ItemGroup>
14765 </Target>
14766 <!--
14767 ============================================================
14768 _CopyReferenceOnlyAssembliesForBuild
14769
14770 Copies reference assemblies that normally can't be resolved at runtime to the 'refs' folder in the build output.
14771 This is necessary in order for the running app to resolve these reference assemblies.
14772 ============================================================
14773 -->
14774 <Target Name="_CopyReferenceOnlyAssembliesForBuild" Condition="'$(PreserveCompilationReferences)' == 'true'" DependsOnTargets="_ComputeReferenceAssemblies" AfterTargets="CopyFilesToOutputDirectory" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14775 <Copy SourceFiles="@(_ReferenceOnlyAssemblies)" DestinationFolder="$(OutDir)$(RefAssembliesFolderName)" SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)" UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)">
14776 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
14777 </Copy>
14778 </Target>
14779 <!--
14780============================================================================================================================================
14781 </Import>
14782
14783C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
14784============================================================================================================================================
14785-->
14786 <!--
14787============================================================================================================================================
14788 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ConflictResolution.targets">
14789
14790C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ConflictResolution.targets
14791============================================================================================================================================
14792-->
14793 <!--
14794***********************************************************************************************
14795Microsoft.NET.ConflictResolution.targets
14796
14797WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
14798 created a backup copy. Incorrect changes to this file will make it
14799 impossible to load or build your projects from the command-line or the IDE.
14800
14801Copyright (c) .NET Foundation. All rights reserved.
14802***********************************************************************************************
14803-->
14804 <!--
14805============================================================================================================================================
14806 <Import Project="Microsoft.NET.DefaultPackageConflictOverrides.targets">
14807
14808C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.DefaultPackageConflictOverrides.targets
14809============================================================================================================================================
14810-->
14811 <!--
14812***********************************************************************************************
14813Microsoft.NET.DefaultPackageConflictOverrides.targets
14814
14815WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
14816 created a backup copy. Incorrect changes to this file will make it
14817 impossible to load or build your projects from the command-line or the IDE.
14818
14819Copyright (c) .NET Foundation. All rights reserved.
14820***********************************************************************************************
14821-->
14822 <ItemGroup Condition="'$(DisableDefaultPackageConflictOverrides)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
14823 <PackageConflictOverrides Include="Microsoft.NETCore.App" Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And ('$(_TargetFrameworkVersionWithoutV)' != '') And ('$(_TargetFrameworkVersionWithoutV)' &lt; '3.0')">
14824 <OverriddenPackages>
14825 Microsoft.CSharp|4.4.0;
14826 Microsoft.Win32.Primitives|4.3.0;
14827 Microsoft.Win32.Registry|4.4.0;
14828 runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
14829 runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
14830 runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
14831 runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
14832 runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
14833 runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple|4.3.0;
14834 runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
14835 runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
14836 runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
14837 runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
14838 runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl|4.3.0;
14839 System.AppContext|4.3.0;
14840 System.Buffers|4.4.0;
14841 System.Collections|4.3.0;
14842 System.Collections.Concurrent|4.3.0;
14843 System.Collections.Immutable|1.4.0;
14844 System.Collections.NonGeneric|4.3.0;
14845 System.Collections.Specialized|4.3.0;
14846 System.ComponentModel|4.3.0;
14847 System.ComponentModel.EventBasedAsync|4.3.0;
14848 System.ComponentModel.Primitives|4.3.0;
14849 System.ComponentModel.TypeConverter|4.3.0;
14850 System.Console|4.3.0;
14851 System.Data.Common|4.3.0;
14852 System.Diagnostics.Contracts|4.3.0;
14853 System.Diagnostics.Debug|4.3.0;
14854 System.Diagnostics.DiagnosticSource|4.4.0;
14855 System.Diagnostics.FileVersionInfo|4.3.0;
14856 System.Diagnostics.Process|4.3.0;
14857 System.Diagnostics.StackTrace|4.3.0;
14858 System.Diagnostics.TextWriterTraceListener|4.3.0;
14859 System.Diagnostics.Tools|4.3.0;
14860 System.Diagnostics.TraceSource|4.3.0;
14861 System.Diagnostics.Tracing|4.3.0;
14862 System.Dynamic.Runtime|4.3.0;
14863 System.Globalization|4.3.0;
14864 System.Globalization.Calendars|4.3.0;
14865 System.Globalization.Extensions|4.3.0;
14866 System.IO|4.3.0;
14867 System.IO.Compression|4.3.0;
14868 System.IO.Compression.ZipFile|4.3.0;
14869 System.IO.FileSystem|4.3.0;
14870 System.IO.FileSystem.AccessControl|4.4.0;
14871 System.IO.FileSystem.DriveInfo|4.3.0;
14872 System.IO.FileSystem.Primitives|4.3.0;
14873 System.IO.FileSystem.Watcher|4.3.0;
14874 System.IO.IsolatedStorage|4.3.0;
14875 System.IO.MemoryMappedFiles|4.3.0;
14876 System.IO.Pipes|4.3.0;
14877 System.IO.UnmanagedMemoryStream|4.3.0;
14878 System.Linq|4.3.0;
14879 System.Linq.Expressions|4.3.0;
14880 System.Linq.Queryable|4.3.0;
14881 System.Net.Http|4.3.0;
14882 System.Net.NameResolution|4.3.0;
14883 System.Net.Primitives|4.3.0;
14884 System.Net.Requests|4.3.0;
14885 System.Net.Security|4.3.0;
14886 System.Net.Sockets|4.3.0;
14887 System.Net.WebHeaderCollection|4.3.0;
14888 System.ObjectModel|4.3.0;
14889 System.Private.DataContractSerialization|4.3.0;
14890 System.Reflection|4.3.0;
14891 System.Reflection.Emit|4.3.0;
14892 System.Reflection.Emit.ILGeneration|4.3.0;
14893 System.Reflection.Emit.Lightweight|4.3.0;
14894 System.Reflection.Extensions|4.3.0;
14895 System.Reflection.Metadata|1.5.0;
14896 System.Reflection.Primitives|4.3.0;
14897 System.Reflection.TypeExtensions|4.3.0;
14898 System.Resources.ResourceManager|4.3.0;
14899 System.Runtime|4.3.0;
14900 System.Runtime.Extensions|4.3.0;
14901 System.Runtime.Handles|4.3.0;
14902 System.Runtime.InteropServices|4.3.0;
14903 System.Runtime.InteropServices.RuntimeInformation|4.3.0;
14904 System.Runtime.Loader|4.3.0;
14905 System.Runtime.Numerics|4.3.0;
14906 System.Runtime.Serialization.Formatters|4.3.0;
14907 System.Runtime.Serialization.Json|4.3.0;
14908 System.Runtime.Serialization.Primitives|4.3.0;
14909 System.Security.AccessControl|4.4.0;
14910 System.Security.Claims|4.3.0;
14911 System.Security.Cryptography.Algorithms|4.3.0;
14912 System.Security.Cryptography.Cng|4.4.0;
14913 System.Security.Cryptography.Csp|4.3.0;
14914 System.Security.Cryptography.Encoding|4.3.0;
14915 System.Security.Cryptography.OpenSsl|4.4.0;
14916 System.Security.Cryptography.Primitives|4.3.0;
14917 System.Security.Cryptography.X509Certificates|4.3.0;
14918 System.Security.Cryptography.Xml|4.4.0;
14919 System.Security.Principal|4.3.0;
14920 System.Security.Principal.Windows|4.4.0;
14921 System.Text.Encoding|4.3.0;
14922 System.Text.Encoding.Extensions|4.3.0;
14923 System.Text.RegularExpressions|4.3.0;
14924 System.Threading|4.3.0;
14925 System.Threading.Overlapped|4.3.0;
14926 System.Threading.Tasks|4.3.0;
14927 System.Threading.Tasks.Extensions|4.3.0;
14928 System.Threading.Tasks.Parallel|4.3.0;
14929 System.Threading.Thread|4.3.0;
14930 System.Threading.ThreadPool|4.3.0;
14931 System.Threading.Timer|4.3.0;
14932 System.ValueTuple|4.3.0;
14933 System.Xml.ReaderWriter|4.3.0;
14934 System.Xml.XDocument|4.3.0;
14935 System.Xml.XmlDocument|4.3.0;
14936 System.Xml.XmlSerializer|4.3.0;
14937 System.Xml.XPath|4.3.0;
14938 System.Xml.XPath.XDocument|4.3.0;
14939 </OverriddenPackages>
14940 </PackageConflictOverrides>
14941 <PackageConflictOverrides Include="NETStandard.Library">
14942 <OverriddenPackages>
14943 Microsoft.Win32.Primitives|4.3.0;
14944 System.AppContext|4.3.0;
14945 System.Collections|4.3.0;
14946 System.Collections.Concurrent|4.3.0;
14947 System.Collections.Immutable|1.4.0;
14948 System.Collections.NonGeneric|4.3.0;
14949 System.Collections.Specialized|4.3.0;
14950 System.ComponentModel|4.3.0;
14951 System.ComponentModel.EventBasedAsync|4.3.0;
14952 System.ComponentModel.Primitives|4.3.0;
14953 System.ComponentModel.TypeConverter|4.3.0;
14954 System.Console|4.3.0;
14955 System.Data.Common|4.3.0;
14956 System.Diagnostics.Contracts|4.3.0;
14957 System.Diagnostics.Debug|4.3.0;
14958 System.Diagnostics.FileVersionInfo|4.3.0;
14959 System.Diagnostics.Process|4.3.0;
14960 System.Diagnostics.StackTrace|4.3.0;
14961 System.Diagnostics.TextWriterTraceListener|4.3.0;
14962 System.Diagnostics.Tools|4.3.0;
14963 System.Diagnostics.TraceSource|4.3.0;
14964 System.Diagnostics.Tracing|4.3.0;
14965 System.Dynamic.Runtime|4.3.0;
14966 System.Globalization|4.3.0;
14967 System.Globalization.Calendars|4.3.0;
14968 System.Globalization.Extensions|4.3.0;
14969 System.IO|4.3.0;
14970 System.IO.Compression|4.3.0;
14971 System.IO.Compression.ZipFile|4.3.0;
14972 System.IO.FileSystem|4.3.0;
14973 System.IO.FileSystem.DriveInfo|4.3.0;
14974 System.IO.FileSystem.Primitives|4.3.0;
14975 System.IO.FileSystem.Watcher|4.3.0;
14976 System.IO.IsolatedStorage|4.3.0;
14977 System.IO.MemoryMappedFiles|4.3.0;
14978 System.IO.Pipes|4.3.0;
14979 System.IO.UnmanagedMemoryStream|4.3.0;
14980 System.Linq|4.3.0;
14981 System.Linq.Expressions|4.3.0;
14982 System.Linq.Queryable|4.3.0;
14983 System.Net.Http|4.3.0;
14984 System.Net.NameResolution|4.3.0;
14985 System.Net.Primitives|4.3.0;
14986 System.Net.Requests|4.3.0;
14987 System.Net.Security|4.3.0;
14988 System.Net.Sockets|4.3.0;
14989 System.Net.WebHeaderCollection|4.3.0;
14990 System.ObjectModel|4.3.0;
14991 System.Private.DataContractSerialization|4.3.0;
14992 System.Reflection|4.3.0;
14993 System.Reflection.Emit|4.3.0;
14994 System.Reflection.Emit.ILGeneration|4.3.0;
14995 System.Reflection.Emit.Lightweight|4.3.0;
14996 System.Reflection.Extensions|4.3.0;
14997 System.Reflection.Primitives|4.3.0;
14998 System.Reflection.TypeExtensions|4.3.0;
14999 System.Resources.ResourceManager|4.3.0;
15000 System.Runtime|4.3.0;
15001 System.Runtime.Extensions|4.3.0;
15002 System.Runtime.Handles|4.3.0;
15003 System.Runtime.InteropServices|4.3.0;
15004 System.Runtime.InteropServices.RuntimeInformation|4.3.0;
15005 System.Runtime.Loader|4.3.0;
15006 System.Runtime.Numerics|4.3.0;
15007 System.Runtime.Serialization.Formatters|4.3.0;
15008 System.Runtime.Serialization.Json|4.3.0;
15009 System.Runtime.Serialization.Primitives|4.3.0;
15010 System.Security.AccessControl|4.4.0;
15011 System.Security.Claims|4.3.0;
15012 System.Security.Cryptography.Algorithms|4.3.0;
15013 System.Security.Cryptography.Csp|4.3.0;
15014 System.Security.Cryptography.Encoding|4.3.0;
15015 System.Security.Cryptography.Primitives|4.3.0;
15016 System.Security.Cryptography.X509Certificates|4.3.0;
15017 System.Security.Cryptography.Xml|4.4.0;
15018 System.Security.Principal|4.3.0;
15019 System.Security.Principal.Windows|4.4.0;
15020 System.Text.Encoding|4.3.0;
15021 System.Text.Encoding.Extensions|4.3.0;
15022 System.Text.RegularExpressions|4.3.0;
15023 System.Threading|4.3.0;
15024 System.Threading.Overlapped|4.3.0;
15025 System.Threading.Tasks|4.3.0;
15026 System.Threading.Tasks.Extensions|4.3.0;
15027 System.Threading.Tasks.Parallel|4.3.0;
15028 System.Threading.Thread|4.3.0;
15029 System.Threading.ThreadPool|4.3.0;
15030 System.Threading.Timer|4.3.0;
15031 System.ValueTuple|4.3.0;
15032 System.Xml.ReaderWriter|4.3.0;
15033 System.Xml.XDocument|4.3.0;
15034 System.Xml.XmlDocument|4.3.0;
15035 System.Xml.XmlSerializer|4.3.0;
15036 System.Xml.XPath|4.3.0;
15037 System.Xml.XPath.XDocument|4.3.0;
15038 </OverriddenPackages>
15039 </PackageConflictOverrides>
15040 </ItemGroup>
15041 <!--
15042============================================================================================================================================
15043 </Import>
15044
15045C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ConflictResolution.targets
15046============================================================================================================================================
15047-->
15048 <UsingTask TaskName="ResolvePackageFileConflicts" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15049 <UsingTask TaskName="CheckForDuplicateItemMetadata" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15050 <!--
15051 _HandlePackageFileConflicts
15052 Handles package file conflict resolution for build.
15053 This will differ from the conflict resolution at publish time if the publish assets differ from build.
15054 -->
15055 <Target Name="_HandlePackageFileConflicts" DependsOnTargets="GetFrameworkPaths;GetReferenceAssemblyPaths;ResolveTargetingPackAssets" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15056 <ItemGroup>
15057 <!--
15058 All runtime assets for conflict resolution.
15059 Exclude the copy-local items since those are passed in separately.
15060 -->
15061 <_RuntimeAssetsForConflictResolution Include="@(RuntimeCopyLocalItems);&#xD;&#xA; @(NativeCopyLocalItems);&#xD;&#xA; @(ResourceCopyLocalItems);&#xD;&#xA; @(RuntimeTargetsCopyLocalItems)" Exclude="@(ReferenceCopyLocalPaths)" />
15062 </ItemGroup>
15063 <ResolvePackageFileConflicts References="@(Reference)" Analyzers="@(Analyzer)" ReferenceCopyLocalPaths="@(ReferenceCopyLocalPaths)" OtherRuntimeItems="@(_RuntimeAssetsForConflictResolution)" PlatformManifests="@(PackageConflictPlatformManifests)" TargetFrameworkDirectories="$(TargetFrameworkDirectory)" PackageOverrides="@(PackageConflictOverrides)" PreferredPackages="$(PackageConflictPreferredPackages)">
15064 <Output TaskParameter="ReferencesWithoutConflicts" ItemName="_ReferencesWithoutConflicts" />
15065 <Output TaskParameter="AnalyzersWithoutConflicts" ItemName="_AnalyzersWithoutConflicts" />
15066 <Output TaskParameter="ReferenceCopyLocalPathsWithoutConflicts" ItemName="_ReferenceCopyLocalPathsWithoutConflicts" />
15067 <Output TaskParameter="Conflicts" ItemName="_ConflictPackageFiles" />
15068 </ResolvePackageFileConflicts>
15069 <!-- Replace Reference / ReferenceCopyLocalPaths with the filtered lists.
15070 We must remove all and include rather than just remove since removal is based
15071 only on ItemSpec and duplicate ItemSpecs may exist with different metadata
15072 (eg: HintPath) -->
15073 <ItemGroup>
15074 <Reference Remove="@(Reference)" />
15075 <Reference Include="@(_ReferencesWithoutConflicts)" />
15076 <Analyzer Remove="@(Analyzer)" />
15077 <Analyzer Include="@(_AnalyzersWithoutConflicts)" />
15078 <ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" />
15079 <ReferenceCopyLocalPaths Include="@(_ReferenceCopyLocalPathsWithoutConflicts)" />
15080 </ItemGroup>
15081 </Target>
15082 <!--
15083 _HandlePackageFileConflictsForPublish
15084 Handles package file conflict resolution for publish.
15085 Currently, publish assets may differ due to the following reasons:
15086 * A package was marked as excluded from publishing (including PrivateAssets="all").
15087 * There are runtime store packages to publish against.
15088 * If we're preserving store layout, which alters the destination paths of files.
15089 When none of these things are true, then we can rely on the conflict resolution from build.
15090 -->
15091 <Target Name="_HandlePackageFileConflictsForPublish" AfterTargets="_ResolveCopyLocalAssetsForPublish;&#xD;&#xA; _FilterSatelliteResourcesForPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15092 <ResolvePackageFileConflicts ReferenceCopyLocalPaths="@(_ResolvedCopyLocalPublishAssets)" PlatformManifests="@(PackageConflictPlatformManifests)" TargetFrameworkDirectories="$(TargetFrameworkDirectory)" PreferredPackages="$(PackageConflictPreferredPackages)">
15093 <Output TaskParameter="ReferenceCopyLocalPathsWithoutConflicts" ItemName="_ResolvedCopyLocalPublishAssetsWithoutConflicts" />
15094 <Output TaskParameter="Conflicts" ItemName="_PublishConflictPackageFiles" />
15095 </ResolvePackageFileConflicts>
15096 <ItemGroup>
15097 <_ResolvedCopyLocalPublishAssets Remove="@(_ResolvedCopyLocalPublishAssets)" />
15098 <_ResolvedCopyLocalPublishAssets Include="@(_ResolvedCopyLocalPublishAssetsWithoutConflicts)" />
15099 </ItemGroup>
15100 </Target>
15101 <!--
15102 _HandleFileConflictsForPublish
15103 Ensures there are no duplicate files being written to the publish output.
15104 -->
15105 <Target Name="_HandleFileConflictsForPublish" AfterTargets="ComputeFilesToPublish" Condition="'$(ErrorOnDuplicatePublishOutputFiles)' != 'false'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15106 <CheckForDuplicateItemMetadata Items="@(ResolvedFileToPublish-&gt;Distinct())" MetadataName="RelativePath">
15107 <Output TaskParameter="DuplicatesExist" PropertyName="_ResolvedFileToPublishContainsDuplicates" />
15108 <Output TaskParameter="DuplicateItems" ItemName="_ResolvedFileToPublishDuplicatedItems" />
15109 </CheckForDuplicateItemMetadata>
15110 <NETSdkError Condition="'$(_ResolvedFileToPublishContainsDuplicates)' == 'true'" ResourceName="DuplicatePublishOutputFiles" FormatArguments="@(_ResolvedFileToPublishDuplicatedItems, ', ')" />
15111 </Target>
15112 <!--
15113============================================================================================================================================
15114 </Import>
15115
15116C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
15117============================================================================================================================================
15118-->
15119 <!--
15120============================================================================================================================================
15121 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.CSharp.targets" Condition="'$(Language)' == 'C#'">
15122
15123C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.CSharp.targets
15124============================================================================================================================================
15125-->
15126 <!--
15127***********************************************************************************************
15128Microsoft.NET.Sdk.CSharp.targets
15129
15130WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
15131 created a backup copy. Incorrect changes to this file will make it
15132 impossible to load or build your projects from the command-line or the IDE.
15133
15134Copyright (c) .NET Foundation. All rights reserved.
15135***********************************************************************************************
15136-->
15137 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15138 <AppDesignerFolder Condition="'$(AppDesignerFolder)' == ''">Properties</AppDesignerFolder>
15139 </PropertyGroup>
15140 <PropertyGroup Condition="'$(DisableImplicitConfigurationDefines)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15141 <ImplicitConfigurationDefine>$(Configuration.ToUpperInvariant())</ImplicitConfigurationDefine>
15142 <!-- Replace dashes and periods in the configuration with underscores. This makes it more likely that
15143 the resulting compilation constant will be a valid C# conditional compilation symbol. As the set
15144 of characters that aren't allowed is essentially open-ended, there's probably not a good way to
15145 fully sanitize the Configuration in MSBuild evaluation. If the resulting string still isn't a
15146 valid conditional combilation symbol, then the compiler will generate the following error and
15147 the define will be ignored:
15148 warning MSB3052: The parameter to the compiler is invalid, '/define:0BAD_DEFINE' will be ignored.
15149 -->
15150 <ImplicitConfigurationDefine>$(ImplicitConfigurationDefine.Replace('-', '_'))</ImplicitConfigurationDefine>
15151 <ImplicitConfigurationDefine>$(ImplicitConfigurationDefine.Replace('.', '_'))</ImplicitConfigurationDefine>
15152 <ImplicitConfigurationDefine>$(ImplicitConfigurationDefine.Replace(' ', '_'))</ImplicitConfigurationDefine>
15153 <DefineConstants>$(DefineConstants);$(ImplicitConfigurationDefine)</DefineConstants>
15154 </PropertyGroup>
15155 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15156 <DefineConstants>$(DefineConstants);$(VersionlessImplicitFrameworkDefine);$(ImplicitFrameworkDefine);$(BackwardsCompatFrameworkDefine)</DefineConstants>
15157 </PropertyGroup>
15158 <!-- Enable hot reload in 6.0 and newer C# projects -->
15159 <ItemGroup Condition="'$(SupportsHotReload)' != 'false' AND '$(TargetFrameworkIdentifier)' == '.NETCoreApp' AND $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '6.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15160 <ProjectCapability Include="SupportsHotReload" />
15161 </ItemGroup>
15162 <!--
15163============================================================================================================================================
15164 </Import>
15165
15166C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
15167============================================================================================================================================
15168-->
15169 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.VisualBasic.targets" Condition="'$(Language)' == 'VB'" />-->
15170 <!--<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.FSharp.targets" Condition="'$(Language)' == 'F#'" />-->
15171 <!--
15172============================================================================================================================================
15173 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.ILLink.targets" Condition="'$(Language)' != 'C++'">
15174
15175C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ILLink.targets
15176============================================================================================================================================
15177-->
15178 <!--
15179***********************************************************************************************
15180Microsoft.NET.ILLink.targets
15181
15182WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
15183 created a backup copy. Incorrect changes to this file will make it
15184 impossible to load or build your projects from the command-line or the IDE.
15185
15186Copyright (c) .NET Foundation. All rights reserved.
15187***********************************************************************************************
15188-->
15189 <!-- These properties should be set even if PublishTrimmed != true, to allow SDK components to
15190 set PublishTrimmed in targets which are imported after these targets. -->
15191 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15192 <IntermediateLinkDir Condition=" '$(IntermediateLinkDir)' == '' ">$(IntermediateOutputPath)linked\</IntermediateLinkDir>
15193 <IntermediateLinkDir Condition=" !HasTrailingSlash('$(IntermediateLinkDir)') ">$(IntermediateLinkDir)\</IntermediateLinkDir>
15194 <!-- Used to enable incremental build for the linker target. -->
15195 <_LinkSemaphore>$(IntermediateLinkDir)Link.semaphore</_LinkSemaphore>
15196 </PropertyGroup>
15197 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15198 <AssemblyAttribute Condition="'$(IsTrimmable)' == 'true'" Include="System.Reflection.AssemblyMetadata">
15199 <_Parameter1>IsTrimmable</_Parameter1>
15200 <_Parameter2>True</_Parameter2>
15201 </AssemblyAttribute>
15202 </ItemGroup>
15203 <!-- We disable features for trimmed apps here so that the feature
15204 switches can flow to the runtimeconfig.json. Features are disabled
15205 by default since they may require assemblies, types or members that
15206 could be removed by the linker, causing a trimmed app to crash. -->
15207 <PropertyGroup Condition="'$(PublishTrimmed)' == 'true' And&#xD;&#xA; $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '6.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15208 <StartupHookSupport Condition="'$(StartupHookSupport)' == ''">false</StartupHookSupport>
15209 <CustomResourceTypesSupport Condition="'$(CustomResourceTypesSupport)' == ''">false</CustomResourceTypesSupport>
15210 <EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization Condition="'$(EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization)' == ''">false</EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization>
15211 <EnableUnsafeBinaryFormatterSerialization Condition="'$(EnableUnsafeBinaryFormatterSerialization)' == ''">false</EnableUnsafeBinaryFormatterSerialization>
15212 <EnableUnsafeUTF7Encoding Condition="'$(EnableUnsafeUTF7Encoding)' == ''">false</EnableUnsafeUTF7Encoding>
15213 <BuiltInComInteropSupport Condition="'$(BuiltInComInteropSupport)' == ''">false</BuiltInComInteropSupport>
15214 <AutoreleasePoolSupport Condition="'$(AutoreleasePoolSupport)' == ''">false</AutoreleasePoolSupport>
15215 <EnableCppCLIHostActivation Condition="'$(EnableCppCLIHostActivation)' == ''">false</EnableCppCLIHostActivation>
15216 <_EnableConsumingManagedCodeFromNativeHosting Condition="'$(_EnableConsumingManagedCodeFromNativeHosting)' == ''">false</_EnableConsumingManagedCodeFromNativeHosting>
15217 <VerifyDependencyInjectionOpenGenericServiceTrimmability Condition="'$(VerifyDependencyInjectionOpenGenericServiceTrimmability)' == ''">true</VerifyDependencyInjectionOpenGenericServiceTrimmability>
15218 </PropertyGroup>
15219 <PropertyGroup Condition="'$(SuppressTrimAnalysisWarnings)' == '' And '$(PublishTrimmed)' == 'true' And '$(EnableTrimAnalyzer)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15220 <!-- Trim analysis warnings are suppressed for .NET < 6. -->
15221 <SuppressTrimAnalysisWarnings Condition="$([MSBuild]::VersionLessThan('$(TargetFrameworkVersion)', '6.0'))">true</SuppressTrimAnalysisWarnings>
15222 <!-- Suppress for WPF/WinForms (unless linking everything) -->
15223 <SuppressTrimAnalysisWarnings Condition="'$(TrimmerDefaultAction)' != 'link' And ('$(UseWpf)' == 'true' Or '$(UseWindowsForms)' == 'true')">true</SuppressTrimAnalysisWarnings>
15224 <!-- Otherwise, for .NET 6+, warnings are on by default -->
15225 <SuppressTrimAnalysisWarnings Condition="'$(SuppressTrimAnalysisWarnings)' == ''">false</SuppressTrimAnalysisWarnings>
15226 </PropertyGroup>
15227 <!-- Suppress warnings produced by the linker or by the ILLink Roslyn analyzer. -->
15228 <PropertyGroup Condition="'$(SuppressTrimAnalysisWarnings)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15229 <!-- RequiresUnreferenceCodeAttribute method called -->
15230 <NoWarn>$(NoWarn);IL2026</NoWarn>
15231 <!-- Invalid use of DynamicallyAccessedMembersAttribute -->
15232 <NoWarn>$(NoWarn);IL2041;IL2042;IL2043;IL2056</NoWarn>
15233 <!-- Reference to removed attribute type -->
15234 <NoWarn>$(NoWarn);IL2045</NoWarn>
15235 <!-- RequiresUnreferencedCodeAttribute mismatch on virtual override -->
15236 <NoWarn>$(NoWarn);IL2046</NoWarn>
15237 <!-- COM marshalling warning -->
15238 <NoWarn>$(NoWarn);IL2050</NoWarn>
15239 <!-- Reflection intrinsics with unknown arguments -->
15240 <NoWarn>$(NoWarn);IL2032;IL2055;IL2057;IL2058;IL2059;IL2060;IL2061;IL2096</NoWarn>
15241 <!-- Unknown values passed to locations with DynamicallyAccessedMemberTypes -->
15242 <NoWarn>$(NoWarn);IL2062;IL2063;IL2064;IL2065;IL2066</NoWarn>
15243 <!-- Unsatisfied DynamicallyAccessedMembers requirements -->
15244 <NoWarn>$(NoWarn);IL2067;IL2068;IL2069;IL2070;IL2071;IL2072;IL2073;IL2074;IL2075;IL2076;IL2077;IL2078;IL2079;IL2080;IL2081;IL2082;IL2083;IL2084;IL2085;IL2086;IL2087;IL2088;IL2089;IL2090;IL2091</NoWarn>
15245 <!-- DynamicallyAccessedMembersAttribute mismatch on virtual override -->
15246 <NoWarn>$(NoWarn);IL2092;IL2093;IL2094;IL2095</NoWarn>
15247 <!-- DynamicallyAccessedMembersAttribute used on unsupported member -->
15248 <NoWarn>$(NoWarn);IL2097;IL2098;IL2099;IL2106</NoWarn>
15249 <!-- Unknown value passed to Expression.Property -->
15250 <NoWarn>$(NoWarn);IL2103</NoWarn>
15251 <!-- Multiple methods associated with state machine type -->
15252 <NoWarn>$(NoWarn);IL2107</NoWarn>
15253 <!-- Unannotated type derived from base type with RequiresUnreferencedCode -->
15254 <NoWarn>$(NoWarn);IL2109</NoWarn>
15255 <!-- Reflection access to members with DynamicallyAccessedMembers requirements -->
15256 <NoWarn>$(NoWarn);IL2110;IL2111;IL2114;IL2115</NoWarn>
15257 <!-- Reflection access to members with RequiresUnreferencedCode -->
15258 <NoWarn>$(NoWarn);IL2112;IL2113</NoWarn>
15259 </PropertyGroup>
15260 <!--
15261 ============================================================
15262 ILLink
15263
15264 Replace the files to be published with versions that have been
15265 passed through the linker. Also prevent removed files from being
15266 included in the generated deps.json.
15267 ============================================================
15268 -->
15269 <Target Name="ILLink" Condition=" '$(PublishTrimmed)' == 'true' And&#xD;&#xA; '$(_TargetFrameworkVersionWithoutV)' &gt;= '3.0' And '$(TargetFrameworkIdentifier)' == '.NETCoreApp' " DependsOnTargets="_RunILLink" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15270 <NETSdkInformation ResourceName="ILLink_Info" />
15271 <NETSdkError Condition="'$(_ILLinkExitCode)' != '' And '$(_ILLinkExitCode)' != '0'" ResourceName="ILLinkFailed" />
15272 <ItemGroup>
15273 <_LinkedResolvedFileToPublish Include="@(_LinkedResolvedFileToPublishCandidate)" Condition="Exists('%(Identity)')" />
15274 <ResolvedFileToPublish Remove="@(ManagedAssemblyToLink)" />
15275 <ResolvedFileToPublish Remove="@(_PDBToLink)" />
15276 <ResolvedFileToPublish Include="@(_LinkedResolvedFileToPublish)" />
15277 </ItemGroup>
15278 <!-- Remove assemblies from inputs to GenerateDepsFile. See
15279 https://github.com/dotnet/sdk/pull/3086 -->
15280 <ItemGroup>
15281 <_RemovedManagedAssembly Include="@(ManagedAssemblyToLink)" Condition="!Exists('$(IntermediateLinkDir)%(Filename)%(Extension)')" />
15282 <ResolvedCompileFileDefinitions Remove="@(_RemovedManagedAssembly)" />
15283 <RuntimeCopyLocalItems Remove="@(_RemovedManagedAssembly)" />
15284 <RuntimeTargetsCopyLocalItems Remove="@(_RemovedManagedAssembly)" />
15285 <UserRuntimeAssembly Remove="@(_RemovedManagedAssembly)" />
15286 <RuntimePackAsset Remove="@(_RemovedManagedAssembly)" />
15287 </ItemGroup>
15288 </Target>
15289 <!--
15290 ============================================================
15291 _RunILLink
15292
15293 Execute the linker. This target runs incrementally, only executing
15294 if the output semaphore file is out of date with respect to the inputs.
15295 ============================================================
15296 -->
15297 <UsingTask TaskName="ILLink" AssemblyFile="$(ILLinkTasksAssembly)" Condition="'$(ILLinkTasksAssembly)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15298 <Target Name="_RunILLink" DependsOnTargets="_ComputeManagedAssemblyToLink;PrepareForILLink" Inputs="$(MSBuildAllProjects);@(ManagedAssemblyToLink);@(TrimmerRootDescriptor);@(ReferencePath)" Outputs="$(_LinkSemaphore)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15299 <!-- When running from Desktop MSBuild, DOTNET_HOST_PATH is not set.
15300 In this case, explicitly specify the path to the dotnet host. -->
15301 <PropertyGroup Condition=" '$(DOTNET_HOST_PATH)' == '' ">
15302 <_DotNetHostDirectory>$(NetCoreRoot)</_DotNetHostDirectory>
15303 <_DotNetHostFileName>dotnet</_DotNetHostFileName>
15304 <_DotNetHostFileName Condition="$([MSBuild]::IsOSPlatform(`Windows`))">dotnet.exe</_DotNetHostFileName>
15305 </PropertyGroup>
15306 <Delete Files="@(_LinkedResolvedFileToPublishCandidate)" />
15307 <ILLink AssemblyPaths="@(ManagedAssemblyToLink)" ReferenceAssemblyPaths="@(ReferencePath)" RootAssemblyNames="@(TrimmerRootAssembly)" TrimMode="$(TrimMode)" DefaultAction="$(TrimmerDefaultAction)" RemoveSymbols="$(TrimmerRemoveSymbols)" FeatureSettings="@(_TrimmerFeatureSettings)" CustomData="@(_TrimmerCustomData)" BeforeFieldInit="$(_TrimmerBeforeFieldInit)" OverrideRemoval="$(_TrimmerOverrideRemoval)" UnreachableBodies="$(_TrimmerUnreachableBodies)" UnusedInterfaces="$(_TrimmerUnusedInterfaces)" IPConstProp="$(_TrimmerIPConstProp)" Sealer="$(_TrimmerSealer)" Warn="$(ILLinkWarningLevel)" NoWarn="$(NoWarn)" TreatWarningsAsErrors="$(ILLinkTreatWarningsAsErrors)" WarningsAsErrors="$(WarningsAsErrors)" WarningsNotAsErrors="$(WarningsNotAsErrors)" SingleWarn="$(TrimmerSingleWarn)" CustomSteps="@(_TrimmerCustomSteps)" RootDescriptorFiles="@(TrimmerRootDescriptor)" OutputDirectory="$(IntermediateLinkDir)" DumpDependencies="$(_TrimmerDumpDependencies)" ExtraArgs="$(_ExtraTrimmerArgs)" ToolExe="$(_DotNetHostFileName)" ToolPath="$(_DotNetHostDirectory)" ContinueOnError="ErrorAndContinue">
15308 <Output TaskParameter="ExitCode" PropertyName="_ILLinkExitCode" />
15309 </ILLink>
15310 <Touch Files="$(_LinkSemaphore)" AlwaysCreate="true" Condition=" '$(_ILLinkExitCode)' == '0' " />
15311 </Target>
15312 <!--
15313 ============================================================
15314 PrepareForILLink
15315
15316 Set up the default options and inputs to ILLink. Other targets are expected to hook into
15317 this extension point via BeforeTargets/AfterTargets to opt assemblies into or out of trimming
15318 using global ILLink options, or per-assembly IsTrimmable and TrimMode metadata.
15319
15320 Note that adding items to or removing items from ManagedAssemblyToLink is unsupported. To change
15321 the set of inputs to the linker, instead use a different extension point to
15322 set PostprocessAssembly metadata on ResolvedFileToPublish.
15323 -->
15324 <Target Name="PrepareForILLink" DependsOnTargets="_ComputeManagedAssemblyToLink" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15325 <!-- The defaults currently root non-framework assemblies, which
15326 is a no-op for portable apps. If we later support more ways
15327 to customize the behavior we can allow linking portable apps
15328 in some cases. -->
15329 <NETSdkError Condition="'$(SelfContained)' != 'true'" ResourceName="ILLinkNotSupportedError" />
15330 <PropertyGroup Condition=" '$(ILLinkWarningLevel)' == '' ">
15331 <ILLinkWarningLevel Condition=" '$(EffectiveAnalysisLevel)' != '' And&#xD;&#xA; $([MSBuild]::VersionGreaterThanOrEquals($(EffectiveAnalysisLevel), '5.0')) ">5</ILLinkWarningLevel>
15332 <ILLinkWarningLevel Condition=" '$(ILLinkWarningLevel)' == '' ">0</ILLinkWarningLevel>
15333 </PropertyGroup>
15334 <!-- Defaults for .NET < 6 -->
15335 <PropertyGroup Condition=" $([MSBuild]::VersionLessThan('$(TargetFrameworkVersion)', '6.0')) ">
15336 <TrimMode Condition=" '$(TrimMode)' == '' ">copyused</TrimMode>
15337 <!-- Action is the same regardless of whether the assembly has an IsTrimmable attribute. (The attribute didn't exist until .NET 6.) -->
15338 <TrimmerDefaultAction>$(TrimMode)</TrimmerDefaultAction>
15339 </PropertyGroup>
15340 <PropertyGroup>
15341 <TrimMode Condition=" '$(TrimMode)' == '' ">link</TrimMode>
15342 <!-- For .NET 6+, assemblies without IsTrimmable attribute get the "copy" action. -->
15343 <TrimmerDefaultAction Condition=" '$(TrimmerDefaultAction)' == '' ">copy</TrimmerDefaultAction>
15344 <ILLinkTreatWarningsAsErrors Condition=" '$(ILLinkTreatWarningsAsErrors)' == '' ">$(TreatWarningsAsErrors)</ILLinkTreatWarningsAsErrors>
15345 <_ExtraTrimmerArgs>--skip-unresolved true $(_ExtraTrimmerArgs)</_ExtraTrimmerArgs>
15346 <TrimmerSingleWarn Condition=" '$(TrimmerSingleWarn)' == '' ">true</TrimmerSingleWarn>
15347 </PropertyGroup>
15348 <!-- Suppressions to work around issues in previous versions of the framework. See https://github.com/dotnet/runtime/issues/40336 -->
15349 <PropertyGroup Condition="'$(SuppressTrimAnalysisWarnings)' == 'true' And $([MSBuild]::VersionLessThan('$(TargetFrameworkVersion)', '6.0'))">
15350 <!-- Framework embedded XML descriptors reference windows-only members. -->
15351 <NoWarn Condition=" !$(RuntimeIdentifier.StartsWith('win')) ">$(NoWarn);IL2008</NoWarn>
15352 <!-- Unresolved type referenced in XML. -->
15353 <NoWarn Condition=" !$(RuntimeIdentifier.StartsWith('win')) ">$(NoWarn);IL2009</NoWarn>
15354 <!-- Unresolved member on type referenced in XML. -->
15355 <!-- Framework has DynamicDependencyAttributes that reference windows-only members. -->
15356 <NoWarn Condition=" !$(RuntimeIdentifier.StartsWith('win')) ">$(NoWarn);IL2037</NoWarn>
15357 <!-- Unresolved member for DynamicDependencyAttribute -->
15358 <!-- Framework embedded XML descriptors reference 32-bit-only members. -->
15359 <NoWarn Condition=" '$(PlatformTarget)' != 'x64' AND '$(PlatformTarget)' != 'arm64'">$(NoWarn);IL2009;IL2012</NoWarn>
15360 <!-- Unresolved field referenced in XML -->
15361 </PropertyGroup>
15362 <!-- Set a default value for TrimmerRemoveSymbols unless set explicitly. -->
15363 <PropertyGroup Condition=" '$(TrimmerRemoveSymbols)' == '' ">
15364 <!-- The default is to remove symbols when debugger support is disabled, and keep them otherwise. -->
15365 <TrimmerRemoveSymbols Condition=" '$(DebuggerSupport)' == 'false' ">true</TrimmerRemoveSymbols>
15366 <TrimmerRemoveSymbols Condition=" '$(DebuggerSupport)' != 'false' ">false</TrimmerRemoveSymbols>
15367 </PropertyGroup>
15368 <PropertyGroup Condition="'$(_TrimmerUnreachableBodies)' == '' And&#xD;&#xA; '$(PublishTrimmed)' == 'true' And&#xD;&#xA; $([MSBuild]::VersionLessThan($(_TargetFrameworkVersionWithoutV), '6.0'))">
15369 <_TrimmerUnreachableBodies>false</_TrimmerUnreachableBodies>
15370 </PropertyGroup>
15371 <!-- Set IsTrimmable for any assemblies that already have customized TrimMode. -->
15372 <ItemGroup>
15373 <ManagedAssemblyToLink Condition=" '%(ManagedAssemblyToLink.TrimMode)' != '' ">
15374 <IsTrimmable>true</IsTrimmable>
15375 </ManagedAssemblyToLink>
15376 </ItemGroup>
15377 <!-- SetIsTrimmable for any assemblies listed in TrimmableAssembly. -->
15378 <JoinItems Left="@(ManagedAssemblyToLink)" LeftKey="FileName" LeftMetadata="*" Right="@(TrimmableAssembly)" ItemSpecToUse="Left">
15379 <Output TaskParameter="JoinResult" ItemName="_TrimmableManagedAssemblyToLink" />
15380 </JoinItems>
15381 <ItemGroup>
15382 <ManagedAssemblyToLink Remove="@(_TrimmableManagedAssemblyToLink)" />
15383 <ManagedAssemblyToLink Include="@(_TrimmableManagedAssemblyToLink)" IsTrimmable="true" />
15384 </ItemGroup>
15385 <!-- Root the main assembly, whether or not it has IsTrimmable set. -->
15386 <ItemGroup>
15387 <TrimmerRootAssembly Include="@(IntermediateAssembly)" />
15388 </ItemGroup>
15389 <!-- For .NET < 6, root and copy assemblies without IsTrimmable=true MSBuild metadata. -->
15390 <ItemGroup Condition=" $([MSBuild]::VersionLessThan('$(TargetFrameworkVersion)', '6.0')) ">
15391 <TrimmerRootAssembly Include="@(ManagedAssemblyToLink)" Condition=" '%(ManagedAssemblyToLink.IsTrimmable)' != 'true' " />
15392 <ManagedAssemblyToLink Condition=" '%(ManagedAssemblyToLink.IsTrimmable)' != 'true' ">
15393 <TrimMode>copy</TrimMode>
15394 </ManagedAssemblyToLink>
15395 </ItemGroup>
15396 <!-- In .NET6+, set the action explicitly for any with IsTrimmable MSBuild metadata -->
15397 <ItemGroup Condition=" $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '6.0')) ">
15398 <ManagedAssemblyToLink Condition=" '%(ManagedAssemblyToLink.IsTrimmable)' == 'true' And '%(ManagedAssemblyToLink.TrimMode)' == '' ">
15399 <TrimMode>$(TrimMode)</TrimMode>
15400 </ManagedAssemblyToLink>
15401 <ManagedAssemblyToLink Condition=" '%(ManagedAssemblyToLink.IsTrimmable)' == 'false' And '%(ManagedAssemblyToLink.TrimMode)' == '' ">
15402 <TrimMode>$(TrimmerDefaultAction)</TrimMode>
15403 </ManagedAssemblyToLink>
15404 </ItemGroup>
15405 <ItemGroup>
15406 <!-- Don't collapse to a single warning for the intermediate assembly.
15407 This just sets metadata on the items in ManagedAssemblyToLink that came from IntermediateAssembly. -->
15408 <!-- Find ManagedAssemblyToLink _except_ IntermediateAssembly -->
15409 <__SingleWarnIntermediateAssembly Include="@(ManagedAssemblyToLink)" />
15410 <__SingleWarnIntermediateAssembly Remove="@(IntermediateAssembly)" />
15411 <!-- Subtract these from ManagedAssemblyToLink, to get the intersection. -->
15412 <_SingleWarnIntermediateAssembly Include="@(ManagedAssemblyToLink)" />
15413 <_SingleWarnIntermediateAssembly Remove="@(__SingleWarnIntermediateAssembly)" />
15414 <!-- Set metadata on the intersection. -->
15415 <_SingleWarnIntermediateAssembly>
15416 <TrimmerSingleWarn Condition=" '%(_SingleWarnIntermediateAssembly.TrimmerSingleWarn)' == '' ">false</TrimmerSingleWarn>
15417 </_SingleWarnIntermediateAssembly>
15418 <!-- Replace these items in ManagedAssemblyToLink. -->
15419 <ManagedAssemblyToLink Remove="@(_SingleWarnIntermediateAssembly)" />
15420 <ManagedAssemblyToLink Include="@(_SingleWarnIntermediateAssembly)" />
15421 <!-- Don't collapse to a single warning for project references -->
15422 <ManagedAssemblyToLink Condition=" '%(ManagedAssemblyToLink.ProjectReferenceOriginalItemSpec)' != '' ">
15423 <TrimmerSingleWarn Condition=" '%(ManagedAssemblyToLink.TrimmerSingleWarn)' == '' ">false</TrimmerSingleWarn>
15424 </ManagedAssemblyToLink>
15425 </ItemGroup>
15426 <ItemGroup>
15427 <_TrimmerFeatureSettings Include="@(RuntimeHostConfigurationOption)" Condition="'%(RuntimeHostConfigurationOption.Trim)' == 'true'" />
15428 </ItemGroup>
15429 </Target>
15430 <!--
15431 ============================================================
15432 _ComputeManagedAssemblyToLink
15433
15434 Compute the set of inputs to the linker.
15435 ============================================================
15436 -->
15437 <UsingTask TaskName="ComputeManagedAssemblies" AssemblyFile="$(ILLinkTasksAssembly)" Condition="'$(ILLinkTasksAssembly)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15438 <Target Name="_ComputeManagedAssemblyToLink" DependsOnTargets="_ComputeAssembliesToPostprocessOnPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15439 <!-- NB: There should not be non-managed assemblies in this list, but we still give the linker a chance to
15440 further refine this list. It currently drops C++/CLI assemblies in ComputeManageAssemblies. -->
15441 <ComputeManagedAssemblies Assemblies="@(ResolvedFileToPublish-&gt;WithMetadataValue('PostprocessAssembly', 'true'))">
15442 <Output TaskParameter="ManagedAssemblies" ItemName="ManagedAssemblyToLink" />
15443 </ComputeManagedAssemblies>
15444 <ItemGroup>
15445 <!-- The linker implicitly picks up PDBs next to input assemblies. We will filter these out of the publish set. -->
15446 <__PDBToLink Include="@(ResolvedFileToPublish)" Exclude="@(ManagedAssemblyToLink->'%(RelativeDir)%(Filename).pdb')" />
15447 <_PDBToLink Include="@(ResolvedFileToPublish)" Exclude="@(__PDBToLink)" />
15448 </ItemGroup>
15449 <ItemGroup>
15450 <_LinkedResolvedFileToPublishCandidate Include="@(ManagedAssemblyToLink->'$(IntermediateLinkDir)%(Filename)%(Extension)')" />
15451 <_LinkedResolvedFileToPublishCandidate Include="@(_PDBToLink->'$(IntermediateLinkDir)%(Filename)%(Extension)')" />
15452 </ItemGroup>
15453 </Target>
15454 <!--
15455============================================================================================================================================
15456 </Import>
15457
15458C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
15459============================================================================================================================================
15460-->
15461 <!--
15462============================================================================================================================================
15463 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.Analyzers.targets" Condition="'$(Language)' == 'C#' or '$(Language)' == 'VB'">
15464
15465C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.Analyzers.targets
15466============================================================================================================================================
15467-->
15468 <!--
15469***********************************************************************************************
15470Microsoft.NET.Sdk.Analyzers.targets
15471
15472WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
15473 created a backup copy. Incorrect changes to this file will make it
15474 impossible to load or build your projects from the command-line or the IDE.
15475
15476Copyright (c) .NET Foundation. All rights reserved.
15477***********************************************************************************************
15478-->
15479 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15480 <!-- Analysis level is a single property that can be used to control both the compiler warning waves
15481 and enable .NET analyzers. Valid values are 'none', 'latest', 'preview', or a version number -->
15482 <!-- Automatically set AnalysisLevel to 5 if targeting .net 5 and nothing else specified -->
15483 <AnalysisLevel Condition="'$(AnalysisLevel)' == '' And&#xD;&#xA; '$(TargetFrameworkIdentifier)' == '.NETCoreApp' And&#xD;&#xA; $([MSBuild]::VersionEquals($(_TargetFrameworkVersionWithoutV), '5.0'))">5.0</AnalysisLevel>
15484 <!-- Automatically set AnalysisLevel if not specified -->
15485 <AnalysisLevel Condition="'$(AnalysisLevel)' == '' And&#xD;&#xA; (('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And&#xD;&#xA; $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '6.0'))) Or&#xD;&#xA; '$(AnalysisMode)' != '')">latest</AnalysisLevel>
15486 <!-- AnalysisLevel can also contain compound values with a prefix and suffix separated by a '-' character.
15487 The prefix indicates the core AnalysisLevel and the suffix indicates the bucket of
15488 rules to enable by default. For example, some valid compound values for AnalysisLevel are:
15489 1. '5-all' - Indicates core AnalysisLevel = '5' with 'all' the rules enabled by default.
15490 2. 'latest-none' - Indicates core AnalysisLevel = 'latest' with 'none' of the rules enabled by default.
15491 AnalysisLevelPrefix is used to set the EffectiveAnalysisLevel below.
15492 AnalysisLevelSuffix is processed further in Microsoft.CodeAnalysis.NetAnalyzers.targets imported below.
15493 -->
15494 <AnalysisLevelPrefix Condition="$(AnalysisLevel.Contains('-'))">$([System.Text.RegularExpressions.Regex]::Replace($(AnalysisLevel), '-(.)*', ''))</AnalysisLevelPrefix>
15495 <AnalysisLevelSuffix Condition="'$(AnalysisLevelPrefix)' != ''">$([System.Text.RegularExpressions.Regex]::Replace($(AnalysisLevel), '$(AnalysisLevelPrefix)-', ''))</AnalysisLevelSuffix>
15496 <!-- EffectiveAnalysisLevel is used to differentiate from user specified strings (such as 'none')
15497 and an implied numerical option (such as '4')-->
15498 <EffectiveAnalysisLevel Condition="'$(AnalysisLevel)' == 'none' or '$(AnalysisLevelPrefix)' == 'none'">4.0</EffectiveAnalysisLevel>
15499 <EffectiveAnalysisLevel Condition="'$(AnalysisLevel)' == 'latest' or '$(AnalysisLevelPrefix)' == 'latest'">6.0</EffectiveAnalysisLevel>
15500 <EffectiveAnalysisLevel Condition="'$(AnalysisLevel)' == 'preview' or '$(AnalysisLevelPrefix)' == 'preview'">7.0</EffectiveAnalysisLevel>
15501 <!-- Set EffectiveAnalysisLevel to the value of AnalysisLevel if it is a version number -->
15502 <EffectiveAnalysisLevel Condition="'$(EffectiveAnalysisLevel)' == '' And&#xD;&#xA; '$(AnalysisLevelPrefix)' != ''">$(AnalysisLevelPrefix)</EffectiveAnalysisLevel>
15503 <EffectiveAnalysisLevel Condition="'$(EffectiveAnalysisLevel)' == '' And&#xD;&#xA; '$(AnalysisLevel)' != ''">$(AnalysisLevel)</EffectiveAnalysisLevel>
15504 </PropertyGroup>
15505 <!-- Enable Analyzers based on EffectiveAnalysisLevel -->
15506 <PropertyGroup Condition="'$(EffectiveAnalysisLevel)' != '' And&#xD;&#xA; $([MSBuild]::VersionGreaterThanOrEquals($(EffectiveAnalysisLevel), '5.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15507 <!-- EnableNETAnalyzers Allows analyzers to be disabled in bulk via msbuild if the user wants to -->
15508 <EnableNETAnalyzers Condition="'$(EnableNETAnalyzers)' == ''">true</EnableNETAnalyzers>
15509 <!-- Intermediate step to enable ILLink.Analyzers so ILLink, Blazor, Xamarin, AOT, etc. can enable the same flags -->
15510 <EnableSingleFileAnalyzer Condition="'$(EnableSingleFileAnalyzer)' == '' And&#xD;&#xA; '$(PublishSingleFile)' == 'true'">true</EnableSingleFileAnalyzer>
15511 <!-- Enable the trim analyzer when any trimming settings are enabled. Warnings may suppressed based on other settings. -->
15512 <EnableTrimAnalyzer Condition="'$(EnableTrimAnalyzer)' == '' And ('$(PublishTrimmed)' == 'true' Or '$(IsTrimmable)' == 'true')">true</EnableTrimAnalyzer>
15513 <!-- Compiler warning level, defaulted to 4. We promote it to 5 if the user has set analysis level to 5 or higher
15514 NOTE: at this time only the C# compiler supports warning waves -->
15515 <WarningLevel Condition="'$(Language)' == 'C#'">5</WarningLevel>
15516 </PropertyGroup>
15517 <!-- Set the default WarningLevel based on EffectiveAnalysisLevel
15518 For .NET 6 we want the Warning level to be 6 -->
15519 <PropertyGroup Condition="'$(EffectiveAnalysisLevel)' != '' And&#xD;&#xA; $([MSBuild]::VersionGreaterThanOrEquals($(EffectiveAnalysisLevel), '6.0'))" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15520 <WarningLevel Condition="'$(Language)' == 'C#'">6</WarningLevel>
15521 </PropertyGroup>
15522 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15523 <EnableNETAnalyzers Condition="'$(EnableNETAnalyzers)' == ''">false</EnableNETAnalyzers>
15524 <!-- EnforceCodeStyleInBuild Allows code style analyzers to be disabled in bulk via msbuild if the user wants to -->
15525 <EnforceCodeStyleInBuild Condition="'$(EnforceCodeStyleInBuild)' == ''">false</EnforceCodeStyleInBuild>
15526 <!-- If the user specified 'preview' we want to pick a very high warning level to opt into the highest possible warning wave -->
15527 <WarningLevel Condition="'$(Language)' == 'C#' And '$(AnalysisLevel)' == 'preview'">9999</WarningLevel>
15528 </PropertyGroup>
15529 <!-- Unconditionally import 'Microsoft.CodeAnalysis.NetAnalyzers.props' for all C# and VB projects for supporting https://github.com/dotnet/roslyn-analyzers/issues/3977 -->
15530 <!--
15531============================================================================================================================================
15532 <Import Project="$(MSBuildThisFileDirectory)..\analyzers\build\Microsoft.CodeAnalysis.NetAnalyzers.props" Condition="'$(Language)' == 'C#' Or '$(Language)' == 'VB'">
15533
15534C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\analyzers\build\Microsoft.CodeAnalysis.NetAnalyzers.props
15535============================================================================================================================================
15536-->
15537 <!--
15538 This import includes an additional props file that disables built-in analyzers from .NET SDK that have the identical CA rules to those implemented in this package.
15539 This additional props file should only be present in the analyzer NuGet package, it should **not** be inserted into the .NET SDK.
15540 -->
15541 <!--<Import Project="DisableNETAnalyzersForNuGetPackage.props" Condition="Exists('DisableNETAnalyzersForNuGetPackage.props')" />-->
15542 <!--
15543 PropertyGroup to set the NetAnalyzers version installed in the SDK.
15544 We rely on the additional props file 'DisableNETAnalyzersForNuGetPackage.props' not being present in the SDK.
15545 -->
15546 <PropertyGroup Condition="!Exists('DisableNETAnalyzersForNuGetPackage.props')">
15547 <_NETAnalyzersSDKAssemblyVersion>6.0.0</_NETAnalyzersSDKAssemblyVersion>
15548 </PropertyGroup>
15549 <!--
15550 This property group prevents the rule ids implemented in this package to be bumped to errors when
15551 the 'CodeAnalysisTreatWarningsAsErrors' = 'false'.
15552 -->
15553 <PropertyGroup>
15554 <CodeAnalysisRuleIds>CA1000;CA1001;CA1002;CA1003;CA1005;CA1008;CA1010;CA1012;CA1014;CA1016;CA1017;CA1018;CA1019;CA1021;CA1024;CA1027;CA1028;CA1030;CA1031;CA1032;CA1033;CA1034;CA1036;CA1040;CA1041;CA1043;CA1044;CA1045;CA1046;CA1047;CA1050;CA1051;CA1052;CA1054;CA1055;CA1056;CA1058;CA1060;CA1061;CA1062;CA1063;CA1064;CA1065;CA1066;CA1067;CA1068;CA1069;CA1070;CA1200;CA1303;CA1304;CA1305;CA1307;CA1308;CA1309;CA1310;CA1401;CA1416;CA1417;CA1418;CA1419;CA1501;CA1502;CA1505;CA1506;CA1507;CA1508;CA1509;CA1700;CA1707;CA1708;CA1710;CA1711;CA1712;CA1713;CA1715;CA1716;CA1720;CA1721;CA1724;CA1725;CA1727;CA1802;CA1805;CA1806;CA1810;CA1812;CA1813;CA1814;CA1815;CA1816;CA1819;CA1820;CA1821;CA1822;CA1823;CA1824;CA1825;CA1826;CA1827;CA1828;CA1829;CA1830;CA1831;CA1832;CA1833;CA1834;CA1835;CA1836;CA1837;CA1838;CA1839;CA1840;CA1841;CA1842;CA1843;CA1844;CA1845;CA1846;CA1847;CA1848;CA1849;CA2000;CA2002;CA2007;CA2008;CA2009;CA2011;CA2012;CA2013;CA2014;CA2015;CA2016;CA2017;CA2018;CA2100;CA2101;CA2109;CA2119;CA2153;CA2200;CA2201;CA2207;CA2208;CA2211;CA2213;CA2214;CA2215;CA2216;CA2217;CA2218;CA2219;CA2224;CA2225;CA2226;CA2227;CA2229;CA2231;CA2234;CA2235;CA2237;CA2241;CA2242;CA2243;CA2244;CA2245;CA2246;CA2247;CA2248;CA2249;CA2250;CA2251;CA2252;CA2253;CA2254;CA2255;CA2256;CA2257;CA2258;CA2300;CA2301;CA2302;CA2305;CA2310;CA2311;CA2312;CA2315;CA2321;CA2322;CA2326;CA2327;CA2328;CA2329;CA2330;CA2350;CA2351;CA2352;CA2353;CA2354;CA2355;CA2356;CA2361;CA2362;CA3001;CA3002;CA3003;CA3004;CA3005;CA3006;CA3007;CA3008;CA3009;CA3010;CA3011;CA3012;CA3061;CA3075;CA3076;CA3077;CA3147;CA5350;CA5351;CA5358;CA5359;CA5360;CA5361;CA5362;CA5363;CA5364;CA5365;CA5366;CA5367;CA5368;CA5369;CA5370;CA5371;CA5372;CA5373;CA5374;CA5375;CA5376;CA5377;CA5378;CA5379;CA5380;CA5381;CA5382;CA5383;CA5384;CA5385;CA5386;CA5387;CA5388;CA5389;CA5390;CA5391;CA5392;CA5393;CA5394;CA5395;CA5396;CA5397;CA5398;CA5399;CA5400;CA5401;CA5402;CA5403;CA5404;CA5405</CodeAnalysisRuleIds>
15555 <WarningsNotAsErrors Condition="'$(CodeAnalysisTreatWarningsAsErrors)' == 'false'">$(WarningsNotAsErrors);$(CodeAnalysisRuleIds)</WarningsNotAsErrors>
15556 </PropertyGroup>
15557 <!--
15558============================================================================================================================================
15559 </Import>
15560
15561C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.Analyzers.targets
15562============================================================================================================================================
15563-->
15564 <!--<Import Project="$(MSBuildThisFileDirectory)..\analyzers\build\Microsoft.CodeAnalysis.NetAnalyzers.targets" Condition="$(EnableNETAnalyzers)" />-->
15565 <!--<Import Project="$(MSBuildThisFileDirectory)..\analyzers\build\Microsoft.NET.ILLink.Analyzers.props" Condition="'$(EnableSingleFileAnalyzer)' == 'true' Or '$(EnableTrimAnalyzer)' == 'true'" />-->
15566 <!-- .NET Analyzers -->
15567 <ItemGroup Condition="$(EnableNETAnalyzers)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15568 <Analyzer Condition="'$(Language)' == 'VB'" Include="$(MSBuildThisFileDirectory)..\analyzers\Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers.dll" IsImplicitlyDefined="true" />
15569 <Analyzer Condition="'$(Language)' == 'C#'" Include="$(MSBuildThisFileDirectory)..\analyzers\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll" IsImplicitlyDefined="true" />
15570 <Analyzer Include="$(MSBuildThisFileDirectory)..\analyzers\Microsoft.CodeAnalysis.NetAnalyzers.dll" IsImplicitlyDefined="true" />
15571 </ItemGroup>
15572 <!-- ILLinker Analyzers -->
15573 <ItemGroup Condition="'$(EnableSingleFileAnalyzer)' == 'true' Or '$(EnableTrimAnalyzer)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15574 <Analyzer Include="$(MSBuildThisFileDirectory)..\analyzers\ILLink.*.dll" IsImplicitlyDefined="true" />
15575 </ItemGroup>
15576 <!-- CompilerVisibleProperties for .NET -->
15577 <ItemGroup Condition="'$(Language)' == 'C#' Or '$(Language)' == 'VB'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15578 <!-- Used for analyzer to match namespace to folder structure -->
15579 <CompilerVisibleProperty Include="RootNamespace" />
15580 <CompilerVisibleProperty Include="ProjectDir" />
15581 </ItemGroup>
15582 <!-- C# Code Style Analyzers -->
15583 <ItemGroup Condition="$(EnforceCodeStyleInBuild) And '$(Language)' == 'C#'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15584 <Analyzer Include="$(MSBuildThisFileDirectory)..\codestyle\cs\Microsoft.CodeAnalysis.CodeStyle.dll" IsImplicitlyDefined="true" />
15585 <Analyzer Include="$(MSBuildThisFileDirectory)..\codestyle\cs\Microsoft.CodeAnalysis.CodeStyle.Fixes.dll" IsImplicitlyDefined="true" />
15586 <Analyzer Include="$(MSBuildThisFileDirectory)..\codestyle\cs\Microsoft.CodeAnalysis.CSharp.CodeStyle.dll" IsImplicitlyDefined="true" />
15587 <Analyzer Include="$(MSBuildThisFileDirectory)..\codestyle\cs\Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes.dll" IsImplicitlyDefined="true" />
15588 </ItemGroup>
15589 <!-- Visual Basic Code Style Analyzers -->
15590 <ItemGroup Condition="$(EnforceCodeStyleInBuild) And '$(Language)' == 'VB'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15591 <Analyzer Include="$(MSBuildThisFileDirectory)..\codestyle\vb\Microsoft.CodeAnalysis.CodeStyle.dll" IsImplicitlyDefined="true" />
15592 <Analyzer Include="$(MSBuildThisFileDirectory)..\codestyle\vb\Microsoft.CodeAnalysis.CodeStyle.Fixes.dll" IsImplicitlyDefined="true" />
15593 <Analyzer Include="$(MSBuildThisFileDirectory)..\codestyle\vb\Microsoft.CodeAnalysis.VisualBasic.CodeStyle.dll" IsImplicitlyDefined="true" />
15594 <Analyzer Include="$(MSBuildThisFileDirectory)..\codestyle\vb\Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes.dll" IsImplicitlyDefined="true" />
15595 </ItemGroup>
15596 <!--
15597============================================================================================================================================
15598 </Import>
15599
15600C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
15601============================================================================================================================================
15602-->
15603 <!-- Import WindowsDesktop targets if necessary -->
15604 <PropertyGroup Condition=" '$(ImportWindowsDesktopTargets)' == ''&#xD;&#xA; and ('$(UseWpf)' == 'true' Or '$(UseWindowsForms)' == 'true') " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15605 <ImportWindowsDesktopTargets Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp'&#xD;&#xA; and $([MSBuild]::VersionGreaterThanOrEquals($(_TargetFrameworkVersionWithoutV), '3.0'))&#xD;&#xA; and '$(TargetPlatformIdentifier)' == 'Windows' ">true</ImportWindowsDesktopTargets>
15606 <ImportWindowsDesktopTargets Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">true</ImportWindowsDesktopTargets>
15607 </PropertyGroup>
15608 <PropertyGroup Condition=" '$(ImportWindowsDesktopTargets)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15609 <AfterMicrosoftNETSdkTargets>$(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)../../Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.targets</AfterMicrosoftNETSdkTargets>
15610 </PropertyGroup>
15611 <!-- Note: Once WindowsDesktop is a workload this will be moved to WorkloadManifest.targets -->
15612 <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">
15613 <SdkSupportedTargetPlatformIdentifier Include="windows" DisplayName="Windows" />
15614 </ItemGroup>
15615 <!--
15616============================================================================================================================================
15617 <Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Windows.targets" Condition="'$(TargetPlatformIdentifier)' == 'Windows'">
15618
15619C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Windows.targets
15620============================================================================================================================================
15621-->
15622 <!--
15623***********************************************************************************************
15624Microsoft.NET.Windows.targets
15625
15626WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
15627 created a backup copy. Incorrect changes to this file will make it
15628 impossible to load or build your projects from the command-line or the IDE.
15629
15630Copyright (c) .NET Foundation. All rights reserved.
15631***********************************************************************************************
15632-->
15633 <!--C++/CLI does not support nuget restore which is required for Windows SDK Ref. Also these are C# projections.-->
15634 <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++' or '$(_EnablePackageReferencesInVCProjects)' == 'true')&#xD;&#xA; and '$(IncludeWindowsSDKRefFrameworkReferences)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15635 <IncludeWindowsSDKRefFrameworkReferences>true</IncludeWindowsSDKRefFrameworkReferences>
15636 </PropertyGroup>
15637 <!-- If UseWindowsSDKPreview is true, then allow any target platform version, not just the ones defined by the SDK -->
15638 <PropertyGroup Condition="'$(UseWindowsSDKPreview)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15639 <TargetPlatformVersionSupported>true</TargetPlatformVersionSupported>
15640 </PropertyGroup>
15641 <!-- Set 7.0 as the TargetPlatformVersion for windows. -->
15642 <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'windows' and '$(TargetPlatformVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15643 <TargetPlatformVersion>7.0</TargetPlatformVersion>
15644 </PropertyGroup>
15645 <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'Windows'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15646 <!-- When targeting Windows, sync the SupportedOSPlatformVersion and TargetPlatformMinVersion. If either one isn't set, set it to the
15647 other value. -->
15648 <SupportedOSPlatformVersion Condition="'$(SupportedOSPlatformVersion)' == ''">$(TargetPlatformMinVersion)</SupportedOSPlatformVersion>
15649 <TargetPlatformMinVersion Condition="'$(TargetPlatformMinVersion)' == ''">$(SupportedOSPlatformVersion)</TargetPlatformMinVersion>
15650 <!-- If neither were set, then use the TargetPlatformVersion value for both -->
15651 <SupportedOSPlatformVersion Condition="'$(SupportedOSPlatformVersion)' == ''">$(TargetPlatformVersion)</SupportedOSPlatformVersion>
15652 <TargetPlatformMinVersion Condition="'$(TargetPlatformMinVersion)' == ''">$(TargetPlatformVersion)</TargetPlatformMinVersion>
15653 </PropertyGroup>
15654 <Target Name="_ErrorOnUnresolvedWindowsSDKAssemblyConflict" AfterTargets="ResolveAssemblyReferences" Condition=" '@(ResolveAssemblyReferenceUnresolvedAssemblyConflicts)' != '' " xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15655 <ItemGroup>
15656 <_WindowsSDKUnresolvedRef Include="@(ResolveAssemblyReferenceUnresolvedAssemblyConflicts)" Condition="'%(Identity)' == 'Microsoft.Windows.SDK.NET' " />
15657 </ItemGroup>
15658 <NETSdkError ResourceName="WindowsSDKVersionConflicts" Condition="@(_WindowsSDKUnresolvedRef) != ''" />
15659 </Target>
15660 <Target Name="RemoveManagedWinRTComponentWinMDReferences" AfterTargets="ResolveProjectReferences" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15661 <ItemGroup>
15662 <!-- Before we remove them from _ResolvedProjectReferencePaths, grab the implementation .dll's path -->
15663 <ManagedWinRTComponentImplementations Include="@(_ResolvedProjectReferencePaths->'%(ManagedImplementation)')" Condition="('%(_ResolvedProjectReferencePaths.Extension)' == '.winmd') And ('%(_ResolvedProjectReferencePaths.Implementation)' == 'WinRT.Host.dll')" />
15664 </ItemGroup>
15665 <!-- 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.
15666 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. -->
15667 <ItemGroup>
15668 <_ResolvedProjectReferencePaths Remove="@(_ResolvedProjectReferencePaths)" Condition="('%(_ResolvedProjectReferencePaths.Extension)' == '.winmd') And ('%(_ResolvedProjectReferencePaths.Implementation)' == 'WinRT.Host.dll')" />
15669 </ItemGroup>
15670 </Target>
15671 <Target Name="AddWinRTComponentImplementationReference" AfterTargets="ResolveProjectReferences" DependsOnTargets="RemoveManagedWinRTComponentWinMDReferences" Condition="'@(ManagedWinRTComponentImplementations)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15672 <ItemGroup>
15673 <Reference Include="@(ManagedWinRTComponentImplementations)" />
15674 </ItemGroup>
15675 </Target>
15676 <!--
15677============================================================================================================================================
15678 </Import>
15679
15680C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets
15681============================================================================================================================================
15682-->
15683 <!-- TargetPlatformMoniker and TargetPlatformDisplayName would normally be set in Microsoft.Common.CurrentVersion.targets. However, the
15684 TargetPlatformVersion may have been set later than that in evaluation by platform-specific targets or Directory.Build.targets. So fix up those properties here -->
15685 <PropertyGroup Condition="'$(TargetPlatformMoniker)' == '' and '$(TargetPlatformIdentifier)' != ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15686 <!-- Set TargetPlatformVersion if it isn't set. This is so that we have a valid TargetPlatformMoniker for Restore.
15687 This avoids an issue where projects with multitargeted unknown platforms would fail to restore because the platforms
15688 weren't included in the TargetPlatformMoniker for restore, obscuring the errors about unknown platforms or missing
15689 workloads. -->
15690 <TargetPlatformVersion Condition="'$(TargetPlatformVersion)' == ''">0.0</TargetPlatformVersion>
15691 <TargetPlatformMoniker>$(TargetPlatformIdentifier),Version=$(TargetPlatformVersion)</TargetPlatformMoniker>
15692 <TargetPlatformDisplayName>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformSDKDisplayName($(TargetPlatformIdentifier), $(TargetPlatformVersion)))</TargetPlatformDisplayName>
15693 </PropertyGroup>
15694 <!-- Default SupportedOSPlatformVersion to TargetPlatformVersion -->
15695 <PropertyGroup Condition="'$(SupportedOSPlatformVersion)' == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15696 <SupportedOSPlatformVersion>$(TargetPlatformVersion)</SupportedOSPlatformVersion>
15697 </PropertyGroup>
15698 <!--<Import Project="$(AfterMicrosoftNETSdkTargets)" Condition="'$(AfterMicrosoftNETSdkTargets)' != ''" />-->
15699 <!--
15700============================================================================================================================================
15701 </Import>
15702
15703C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
15704============================================================================================================================================
15705-->
15706 <!--
15707============================================================================================================================================
15708 <Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Compatibility.targets">
15709
15710C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Compatibility.targets
15711============================================================================================================================================
15712-->
15713 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
15714 <ItemGroup Condition="'$(EnablePackageValidation)' == 'true' and '$(DisablePackageBaselineValidation)' != 'true' and '$(PackageValidationBaselinePath)' == '' and '$(PackageValidationBaselineVersion)' != ''">
15715 <PackageDownload Include="$([MSBuild]::ValueOrDefault('$(PackageValidationBaselineName)', '$(PackageId)'))" Version="[$(PackageValidationBaselineVersion)]" />
15716 </ItemGroup>
15717 <!--
15718============================================================================================================================================
15719 <Import Project="Microsoft.NET.Compatibility.Common.targets" Condition="'$(UseCompatibilityPackage)' != 'true'">
15720
15721C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Compatibility.Common.targets
15722============================================================================================================================================
15723-->
15724 <!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
15725 <UsingTask TaskName="Microsoft.DotNet.Compatibility.ValidatePackage" AssemblyFile="$(DotNetCompatibilityAssembly)" />
15726 <PropertyGroup>
15727 <!--Add any custom targets that need to run before package validation to the following property-->
15728 <RunPackageValidationDependsOn>_GetReferencePathFromInnerProjects;$(RunPackageValidationDependsOn)</RunPackageValidationDependsOn>
15729 </PropertyGroup>
15730 <Target Name="RunPackageValidation" DependsOnTargets="$(RunPackageValidationDependsOn)" AfterTargets="Pack" Condition="'$(IsPackable)' == 'true' and '$(EnablePackageValidation)' == 'true'">
15731 <PropertyGroup Condition="'$(RoslynAssembliesPath)' == ''">
15732 <RoslynAssembliesPath>$(RoslynTargetsPath)</RoslynAssembliesPath>
15733 <_packageReferenceList>@(PackageReference)</_packageReferenceList>
15734 <RoslynAssembliesPath Condition="'$(MSBuildProjectExtension)' == '.csproj' and $(_packageReferenceList.Contains('Microsoft.Net.Compilers.Toolset'))">$([System.IO.Path]::GetDirectoryName($(CSharpCoreTargetsPath)))</RoslynAssembliesPath>
15735 <RoslynAssembliesPath Condition="'$(MSBuildProjectExtension)' == '.vbproj' and $(_packageReferenceList.Contains('Microsoft.Net.Compilers.Toolset'))">$([System.IO.Path]::GetDirectoryName($(VisualBasicCoreTargetsPath)))</RoslynAssembliesPath>
15736 <RoslynAssembliesPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$([System.IO.Path]::Combine('$(RoslynAssembliesPath)', bincore))</RoslynAssembliesPath>
15737 </PropertyGroup>
15738 <PropertyGroup>
15739 <PackageValidationBaselineName Condition="'$(PackageValidationBaselineName)' == ''">$(PackageId)</PackageValidationBaselineName>
15740 <PackageValidationBaselinePath Condition="'$(PackageValidationBaselinePath)' == '' and '$(PackageValidationBaselineVersion)' != ''">$([MSBuild]::NormalizePath('$(NuGetPackageRoot)', '$(PackageValidationBaselineName.ToLower())', '$(PackageValidationBaselineVersion)', '$(PackageValidationBaselineName.ToLower()).$(PackageValidationBaselineVersion).nupkg'))</PackageValidationBaselinePath>
15741 <GenerateCompatibilitySuppressionFile Condition="'$(GenerateCompatibilitySuppressionFile)' == ''">false</GenerateCompatibilitySuppressionFile>
15742 <_compatibilitySuppressionFilePath>$([MSBuild]::NormalizePath('$(MSBuildProjectDirectory)', 'CompatibilitySuppressions.xml'))</_compatibilitySuppressionFilePath>
15743 <CompatibilitySuppressionFilePath Condition="'$(CompatibilitySuppressionFilePath)' == '' and (Exists($(_compatibilitySuppressionFilePath)) or '$(GenerateCompatibilitySuppressionFile)' == 'true')">$(_compatibilitySuppressionFilePath)</CompatibilitySuppressionFilePath>
15744 </PropertyGroup>
15745 <!-- PackageTargetPath isn't exposed by NuGet: https://github.com/NuGet/Home/issues/6671. -->
15746 <Microsoft.DotNet.Compatibility.ValidatePackage PackageTargetPath="$([MSBuild]::ValueOrDefault('$(PackageTargetPath)', '$([MSBuild]::NormalizePath('$(PackageOutputPath)', '$(PackageId).$(PackageVersion).nupkg'))'))" RuntimeGraph="$(RuntimeIdentifierGraphPath)" NoWarn="$(NoWarn)" RunApiCompat="$([MSBuild]::ValueOrDefault('$(RunApiCompat)', 'true'))" EnableStrictModeForCompatibleTfms="$([MSBuild]::ValueOrDefault('$(EnableStrictModeForCompatibleTfms)', 'true'))" EnableStrictModeForCompatibleFrameworksInPackage="$([MSBuild]::ValueOrDefault('$(EnableStrictModeForCompatibleFrameworksInPackage)', 'false'))" GenerateCompatibilitySuppressionFile="$(GenerateCompatibilitySuppressionFile)" CompatibilitySuppressionFilePath="$(CompatibilitySuppressionFilePath)" BaselinePackageTargetPath="$(PackageValidationBaselinePath)" DisablePackageBaselineValidation="$(DisablePackageBaselineValidation)" RoslynAssembliesPath="$(RoslynAssembliesPath)" ReferencePaths="@(PackageValidationReferencePath)" />
15747 </Target>
15748 <PropertyGroup>
15749 <_GetReferencePathFromInnerProjectsDependsOn Condition="'$(IsCrossTargetingBuild)' != 'true'">_GetReferencePathForPackageValidation</_GetReferencePathFromInnerProjectsDependsOn>
15750 <_GetReferencePathFromInnerProjectsDependsOn Condition="'$(IsCrossTargetingBuild)' == 'true'">_ComputeTargetFrameworkItems</_GetReferencePathFromInnerProjectsDependsOn>
15751 </PropertyGroup>
15752 <Target Name="_GetReferencePathForPackageValidation" DependsOnTargets="ResolveReferences" Returns="@(_ReferencePathWithTargetFramework)">
15753 <ItemGroup>
15754 <_ReferencePathWithTargetFramework Include="@(ReferencePath)" TargetFramework="$(TargetFramework)" />
15755 </ItemGroup>
15756 </Target>
15757 <Target Name="_GetReferencePathFromInnerProjects" DependsOnTargets="$(_GetReferencePathFromInnerProjectsDependsOn)" Condition="'$(RunPackageValidationWithoutReferences)' != 'true'">
15758 <MSBuild Projects="@(_InnerBuildProjects)" Condition="'$(IsCrossTargetingBuild)' == 'true'" Targets="_GetReferencePathForPackageValidation" Properties="BuildProjectReferences=false">
15759 <Output ItemName="PackageValidationReferencePath" TaskParameter="TargetOutputs" />
15760 </MSBuild>
15761 <ItemGroup Condition="'$(IsCrossTargetingBuild)' != 'true'">
15762 <PackageValidationReferencePath Include="@(_ReferencePathWithTargetFramework)" />
15763 </ItemGroup>
15764 </Target>
15765 <!--
15766============================================================================================================================================
15767 </Import>
15768
15769C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Compatibility.targets
15770============================================================================================================================================
15771-->
15772 <!--
15773============================================================================================================================================
15774 </Import>
15775
15776C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
15777============================================================================================================================================
15778-->
15779 <!-- Import targets from NuGet.Build.Tasks.Pack package/Sdk -->
15780 <PropertyGroup Condition="'$(NuGetBuildTasksPackTargets)' == '' AND '$(ImportNuGetBuildTasksPackTargetsFromSdk)' != 'false'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15781 <NuGetBuildTasksPackTargets Condition="'$(IsCrossTargetingBuild)' == 'true'">$(MSBuildThisFileDirectory)..\..\NuGet.Build.Tasks.Pack\buildCrossTargeting\NuGet.Build.Tasks.Pack.targets</NuGetBuildTasksPackTargets>
15782 <NuGetBuildTasksPackTargets Condition="'$(IsCrossTargetingBuild)' != 'true'">$(MSBuildThisFileDirectory)..\..\NuGet.Build.Tasks.Pack\build\NuGet.Build.Tasks.Pack.targets</NuGetBuildTasksPackTargets>
15783 <ImportNuGetBuildTasksPackTargetsFromSdk>true</ImportNuGetBuildTasksPackTargetsFromSdk>
15784 </PropertyGroup>
15785 <!--
15786============================================================================================================================================
15787 <Import Project="$(NuGetBuildTasksPackTargets)" Condition="Exists('$(NuGetBuildTasksPackTargets)') AND '$(ImportNuGetBuildTasksPackTargetsFromSdk)' == 'true'">
15788
15789C:\Program Files\dotnet\sdk\6.0.100\Sdks\NuGet.Build.Tasks.Pack\build\NuGet.Build.Tasks.Pack.targets
15790============================================================================================================================================
15791-->
15792 <!--
15793***********************************************************************************************
15794NuGet.Build.Tasks.Pack.targets
15795
15796WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
15797 created a backup copy. Incorrect changes to this file will make it
15798 impossible to load or build your projects from the command-line or the IDE.
15799
15800Copyright (c) .NET Foundation. All rights reserved.
15801***********************************************************************************************
15802-->
15803 <!-- Load NuGet.Build.Tasks.Pack.dll, this can be overridden to use a different version with $(NuGetPackTaskAssemblyFile) -->
15804 <PropertyGroup Condition="$(NuGetPackTaskAssemblyFile) == ''" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15805 <NuGetPackTaskAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">..\CoreCLR\NuGet.Build.Tasks.Pack.dll</NuGetPackTaskAssemblyFile>
15806 <NuGetPackTaskAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">..\Desktop\NuGet.Build.Tasks.Pack.dll</NuGetPackTaskAssemblyFile>
15807 </PropertyGroup>
15808 <!-- Tasks -->
15809 <UsingTask TaskName="NuGet.Build.Tasks.Pack.PackTask" AssemblyFile="$(NuGetPackTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15810 <UsingTask TaskName="NuGet.Build.Tasks.Pack.GetPackOutputItemsTask" AssemblyFile="$(NuGetPackTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15811 <UsingTask TaskName="NuGet.Build.Tasks.GetProjectTargetFrameworksTask" AssemblyFile="$(NuGetPackTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15812 <UsingTask TaskName="NuGet.Build.Tasks.Pack.GetProjectReferencesFromAssetsFileTask" AssemblyFile="$(NuGetPackTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15813 <UsingTask TaskName="NuGet.Build.Tasks.Pack.IsPackableFalseWarningTask" AssemblyFile="$(NuGetPackTaskAssemblyFile)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15814 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15815 <PackageId Condition=" '$(PackageId)' == '' ">$(AssemblyName)</PackageId>
15816 <PackageVersion Condition=" '$(PackageVersion)' == '' ">$(Version)</PackageVersion>
15817 <IncludeContentInPack Condition="'$(IncludeContentInPack)'==''">true</IncludeContentInPack>
15818 <GenerateNuspecDependsOn>_LoadPackInputItems; _GetTargetFrameworksOutput; _WalkEachTargetPerFramework; _GetPackageFiles; $(GenerateNuspecDependsOn)</GenerateNuspecDependsOn>
15819 <PackageDescription Condition="'$(PackageDescription)'==''">$(Description)</PackageDescription>
15820 <PackageDescription Condition="'$(PackageDescription)'==''">Package Description</PackageDescription>
15821 <IsPackable Condition="'$(IsPackable)'=='' AND '$(IsTestProject)'=='true'">false</IsPackable>
15822 <IsPackable Condition="'$(IsPackable)'==''">true</IsPackable>
15823 <IncludeBuildOutput Condition="'$(IncludeBuildOutput)'==''">true</IncludeBuildOutput>
15824 <BuildOutputTargetFolder Condition="'$(BuildOutputTargetFolder)' == '' AND '$(IsTool)' == 'true'">tools</BuildOutputTargetFolder>
15825 <BuildOutputTargetFolder Condition="'$(BuildOutputTargetFolder)' == ''">lib</BuildOutputTargetFolder>
15826 <ContentTargetFolders Condition="'$(ContentTargetFolders)' == ''">content;contentFiles</ContentTargetFolders>
15827 <PackDependsOn>$(BeforePack); _IntermediatePack; GenerateNuspec; $(PackDependsOn)</PackDependsOn>
15828 <IsInnerBuild Condition="'$(TargetFramework)' != '' AND '$(TargetFrameworks)' != ''">true</IsInnerBuild>
15829 <SymbolPackageFormat Condition="'$(SymbolPackageFormat)' == ''">symbols.nupkg</SymbolPackageFormat>
15830 <AddPriFileDependsOn Condition="'$(MicrosoftPortableCurrentVersionPropsHasBeenImported)' == 'true'">DeterminePortableBuildCapabilities</AddPriFileDependsOn>
15831 <WarnOnPackingNonPackableProject Condition="'$(WarnOnPackingNonPackableProject)' == ''">false</WarnOnPackingNonPackableProject>
15832 <ImportNuGetBuildTasksPackTargetsFromSdk Condition="'$(ImportNuGetBuildTasksPackTargetsFromSdk)' == ''">false</ImportNuGetBuildTasksPackTargetsFromSdk>
15833 <DefaultAllowedOutputExtensionsInPackageBuildOutputFolder Condition="'$(DefaultAllowedOutputExtensionsInPackageBuildOutputFolder)' == ''">.dll; .exe; .winmd; .json; .pri; .xml</DefaultAllowedOutputExtensionsInPackageBuildOutputFolder>
15834 <AllowedOutputExtensionsInPackageBuildOutputFolder>$(DefaultAllowedOutputExtensionsInPackageBuildOutputFolder) ;$(AllowedOutputExtensionsInPackageBuildOutputFolder)</AllowedOutputExtensionsInPackageBuildOutputFolder>
15835 <AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder Condition="'$(SymbolPackageFormat)' != 'snupkg'">.pdb; .mdb; $(AllowedOutputExtensionsInPackageBuildOutputFolder); $(AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder)</AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder>
15836 <AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder Condition="'$(SymbolPackageFormat)' == 'snupkg'">.pdb</AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder>
15837 <SuppressDependenciesWhenPacking Condition="'$(SuppressDependenciesWhenPacking)' == ''">false</SuppressDependenciesWhenPacking>
15838 </PropertyGroup>
15839 <PropertyGroup Condition="'$(NoBuild)' == 'true' or '$(GeneratePackageOnBuild)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15840 <GenerateNuspecDependsOn>$(GenerateNuspecDependsOn)</GenerateNuspecDependsOn>
15841 </PropertyGroup>
15842 <PropertyGroup Condition="'$(NoBuild)' != 'true' and '$(GeneratePackageOnBuild)' != 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15843 <GenerateNuspecDependsOn>Build;$(GenerateNuspecDependsOn)</GenerateNuspecDependsOn>
15844 </PropertyGroup>
15845 <ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15846 <ProjectCapability Include="Pack" />
15847 </ItemGroup>
15848 <ItemDefinitionGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15849 <BuildOutputInPackage>
15850 <TargetFramework>$(TargetFramework)</TargetFramework>
15851 </BuildOutputInPackage>
15852 </ItemDefinitionGroup>
15853 <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15854 <RestoreOutputPath Condition="'$(RestoreOutputPath)' == ''">$(MSBuildProjectExtensionsPath)</RestoreOutputPath>
15855 <PackageOutputPath Condition="'$(PackageOutputPath)' == ''">$(BaseOutputPath)$(Configuration)\</PackageOutputPath>
15856 <NuspecOutputPath Condition="'$(NuspecOutputPath)' == ''">$(BaseIntermediateOutputPath)$(Configuration)\</NuspecOutputPath>
15857 </PropertyGroup>
15858 <!--
15859 ============================================================
15860 _GetAbsoluteOutputPathsForPack
15861 Gets the absolute output paths for Pack.
15862 ============================================================
15863 -->
15864 <Target Name="_GetAbsoluteOutputPathsForPack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15865 <ConvertToAbsolutePath Paths="$(RestoreOutputPath)">
15866 <Output TaskParameter="AbsolutePaths" PropertyName="RestoreOutputAbsolutePath" />
15867 </ConvertToAbsolutePath>
15868 <ConvertToAbsolutePath Paths="$(PackageOutputPath)">
15869 <Output TaskParameter="AbsolutePaths" PropertyName="PackageOutputAbsolutePath" />
15870 </ConvertToAbsolutePath>
15871 <ConvertToAbsolutePath Paths="$(NuspecOutputPath)">
15872 <Output TaskParameter="AbsolutePaths" PropertyName="NuspecOutputAbsolutePath" />
15873 </ConvertToAbsolutePath>
15874 </Target>
15875 <!--
15876 ============================================================
15877 _GetOutputItemsFromPack
15878 Gets the output '.nupkg' and '.nuspec' absolute file paths.
15879 ============================================================
15880 -->
15881 <Target Name="_GetOutputItemsFromPack" DependsOnTargets="_GetAbsoluteOutputPathsForPack" Returns="@(_OutputPackItems)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15882 <!-- 'PackageOutputAbsolutePath' and 'NuspecOutputAbsolutePath' will be provided by '_GetAbsoluteOutputPathsForPack' target -->
15883 <GetPackOutputItemsTask PackageOutputPath="$(PackageOutputAbsolutePath)" NuspecOutputPath="$(NuspecOutputAbsolutePath)" PackageId="$(PackageId)" PackageVersion="$(PackageVersion)" IncludeSymbols="$(IncludeSymbols)" IncludeSource="$(IncludeSource)" SymbolPackageFormat="$(SymbolPackageFormat)">
15884 <Output TaskParameter="OutputPackItems" ItemName="_OutputPackItems" />
15885 </GetPackOutputItemsTask>
15886 </Target>
15887 <!--
15888 ============================================================
15889 _GetTargetFrameworksOutput
15890 Read target frameworks from the project.
15891 ============================================================
15892 -->
15893 <Target Name="_GetTargetFrameworksOutput" Returns="@(_TargetFrameworks)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15894 <PropertyGroup>
15895 <_ProjectFrameworks />
15896 </PropertyGroup>
15897 <GetProjectTargetFrameworksTask ProjectPath="$(MSBuildProjectFullPath)" TargetFrameworks="$(TargetFrameworks)" TargetFramework="$(TargetFramework)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetPlatformIdentifier="$(TargetPlatformIdentifier)" TargetPlatformVersion="$(TargetPlatformVersion)" TargetPlatformMinVersion="$(TargetPlatformMinVersion)">
15898 <Output TaskParameter="ProjectTargetFrameworks" PropertyName="_ProjectFrameworks" />
15899 </GetProjectTargetFrameworksTask>
15900 <ItemGroup Condition=" '$(_ProjectFrameworks)' != '' ">
15901 <_TargetFrameworks Include="$(_ProjectFrameworks.Split(';'))" />
15902 </ItemGroup>
15903 </Target>
15904 <!--
15905 ============================================================
15906 Pack
15907 Post Build Target
15908 ============================================================
15909 -->
15910 <Target Name="_PackAsBuildAfterTarget" AfterTargets="Build" Condition="'$(GeneratePackageOnBuild)' == 'true' AND '$(IsInnerBuild)' != 'true'" DependsOnTargets="Pack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
15911 <Target Name="_CleanPackageFiles" DependsOnTargets="_GetOutputItemsFromPack" AfterTargets="Clean" Condition="'$(GeneratePackageOnBuild)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15912 <ItemGroup>
15913 <_PackageFilesToDelete Include="@(_OutputPackItems)" />
15914 </ItemGroup>
15915 <Delete Files="@(_PackageFilesToDelete)" />
15916 </Target>
15917 <Target Name="_CalculateInputsOutputsForPack" DependsOnTargets="_GetOutputItemsFromPack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15918 <PropertyGroup Condition="$(ContinuePackingAfterGeneratingNuspec) == '' ">
15919 <ContinuePackingAfterGeneratingNuspec>false</ContinuePackingAfterGeneratingNuspec>
15920 </PropertyGroup>
15921 <ItemGroup>
15922 <!--This catches changes to properties-->
15923 <NuGetPackInput Include="$(MSBuildAllProjects)" />
15924 <NuGetPackInput Include="@(_PackageFiles)" />
15925 <NuGetPackInput Include="@(_PackageFilesToExclude)" />
15926 <NuGetPackInput Include="@(_BuildOutputInPackage->'%(FinalOutputPath)')" />
15927 <NuGetPackInput Include="@(_TargetPathsToSymbols->'%(FinalOutputPath)')" />
15928 <NuGetPackInput Include="@(_SourceFiles)" />
15929 <NuGetPackInput Include="@(_References)" />
15930 <NuGetPackOutput Include="@(_OutputPackItems)" />
15931 </ItemGroup>
15932 </Target>
15933 <!--
15934 ============================================================
15935 Pack
15936 Main entry point for packing packages
15937 ============================================================
15938 -->
15939 <Target Name="Pack" DependsOnTargets="$(PackDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15940 <IsPackableFalseWarningTask Condition="'$(IsPackable)' == 'false' AND '$(WarnOnPackingNonPackableProject)' == 'true'" />
15941 </Target>
15942 <Target Name="_IntermediatePack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15943 <PropertyGroup>
15944 <ContinuePackingAfterGeneratingNuspec>true</ContinuePackingAfterGeneratingNuspec>
15945 </PropertyGroup>
15946 </Target>
15947 <Target Name="GenerateNuspec" Condition="'$(IsPackable)' == 'true'" Inputs="@(NuGetPackInput)" Outputs="@(NuGetPackOutput)" DependsOnTargets="$(GenerateNuspecDependsOn);_CalculateInputsOutputsForPack;_GetProjectReferenceVersions;_InitializeNuspecRepositoryInformationProperties" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15948 <ConvertToAbsolutePath Condition="$(NuspecFile) != ''" Paths="$(NuspecFile)">
15949 <Output TaskParameter="AbsolutePaths" PropertyName="NuspecFileAbsolutePath" />
15950 </ConvertToAbsolutePath>
15951 <!-- Call Pack -->
15952 <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)" TreatWarningsAsErrors="$(TreatWarningsAsErrors)" OutputFileNamesWithoutVersion="$(OutputFileNamesWithoutVersion)" InstallPackageToOutputPath="$(InstallPackageToOutputPath)" SymbolPackageFormat="$(SymbolPackageFormat)" PackageLicenseFile="$(PackageLicenseFile)" PackageLicenseExpression="$(PackageLicenseExpression)" PackageLicenseExpressionVersion="$(PackageLicenseExpressionVersion)" Readme="$(PackageReadmeFile)" Deterministic="$(Deterministic)" PackageIcon="$(PackageIcon)" />
15953 </Target>
15954 <!--
15955 Initialize Repository* properties from properties set by a source control package, if available in the project.
15956 -->
15957 <Target Name="_InitializeNuspecRepositoryInformationProperties" DependsOnTargets="InitializeSourceControlInformation" Condition="'$(SourceControlInformationFeatureSupported)' == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15958 <PropertyGroup>
15959 <!-- The project must specify PublishRepositoryUrl=true in order to publish the URL, in order to prevent inadvertent leak of internal URL. -->
15960 <RepositoryUrl Condition="'$(RepositoryUrl)' == '' and '$(PublishRepositoryUrl)' == 'true'">$(PrivateRepositoryUrl)</RepositoryUrl>
15961 <RepositoryCommit Condition="'$(RepositoryCommit)' == ''">$(SourceRevisionId)</RepositoryCommit>
15962 </PropertyGroup>
15963 </Target>
15964 <!--
15965 ============================================================
15966 _LoadPackGraphEntryPoints
15967 Find project entry point and load them into items.
15968 ============================================================
15969 -->
15970 <Target Name="_LoadPackInputItems" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15971 <!-- Allow overriding items with PackProjectInputFile -->
15972 <PropertyGroup Condition="'$(PackProjectInputFile)' == ''">
15973 <PackProjectInputFile>$(MSBuildProjectFullPath)</PackProjectInputFile>
15974 </PropertyGroup>
15975 </Target>
15976 <Target Name="_GetProjectReferenceVersions" Condition="'$(NuspecFile)' == ''" DependsOnTargets="_GetAbsoluteOutputPathsForPack;$(GetPackageVersionDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15977 <!-- 'RestoreOutputAbsolutePath' will be provided by '_GetAbsoluteOutputPathsForPack' target -->
15978 <ConvertToAbsolutePath Condition="'$(ProjectAssetsFile)' != ''" Paths="$(ProjectAssetsFile)">
15979 <Output TaskParameter="AbsolutePaths" PropertyName="ProjectAssetsFileAbsolutePath" />
15980 </ConvertToAbsolutePath>
15981 <GetProjectReferencesFromAssetsFileTask RestoreOutputAbsolutePath="$(RestoreOutputAbsolutePath)" ProjectAssetsFileAbsolutePath="$(ProjectAssetsFileAbsolutePath)">
15982 <Output TaskParameter="ProjectReferences" ItemName="_ProjectReferencesFromAssetsFile" />
15983 </GetProjectReferencesFromAssetsFileTask>
15984 <MSBuild Projects="@(_ProjectReferencesFromAssetsFile)" Targets="_GetProjectVersion" SkipNonexistentTargets="true" SkipNonexistentProjects="true" Properties="BuildProjectReferences=false;">
15985 <Output TaskParameter="TargetOutputs" ItemName="_ProjectReferencesWithVersions" />
15986 </MSBuild>
15987 </Target>
15988 <Target Name="_GetProjectVersion" DependsOnTargets="$(GetPackageVersionDependsOn)" Returns="@(_ProjectPathWithVersion)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15989 <ItemGroup>
15990 <_ProjectPathWithVersion Include="$(MSBuildProjectFullPath)">
15991 <ProjectVersion Condition="'$(PackageVersion)' != ''">$(PackageVersion)</ProjectVersion>
15992 <ProjectVersion Condition="'$(PackageVersion)' == ''">1.0.0</ProjectVersion>
15993 </_ProjectPathWithVersion>
15994 </ItemGroup>
15995 </Target>
15996 <Target Name="_WalkEachTargetPerFramework" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15997 <MSBuild Condition="'$(IncludeBuildOutput)' == 'true'" Projects="$(MSBuildProjectFullPath)" Targets="_GetBuildOutputFilesWithTfm" Properties="TargetFramework=%(_TargetFrameworks.Identity);">
15998 <Output TaskParameter="TargetOutputs" ItemName="_BuildOutputInPackage" />
15999 </MSBuild>
16000 <MSBuild Condition="'$(TargetsForTfmSpecificContentInPackage)' != ''" Projects="$(MSBuildProjectFullPath)" Targets="_GetTfmSpecificContentForPackage" Properties="TargetFramework=%(_TargetFrameworks.Identity);">
16001 <Output TaskParameter="TargetOutputs" ItemName="_PackageFiles" />
16002 </MSBuild>
16003 <MSBuild Condition="'$(IncludeBuildOutput)' == 'true'" Projects="$(MSBuildProjectFullPath)" Targets="_GetDebugSymbolsWithTfm" Properties="TargetFramework=%(_TargetFrameworks.Identity);">
16004 <Output TaskParameter="TargetOutputs" ItemName="_TargetPathsToSymbols" />
16005 </MSBuild>
16006 <MSBuild Condition="'$(IncludeSource)' == 'true'" Projects="$(MSBuildProjectFullPath)" Targets="SourceFilesProjectOutputGroup" Properties="TargetFramework=%(_TargetFrameworks.Identity);&#xD;&#xA; BuildProjectReferences=false;">
16007 <Output TaskParameter="TargetOutputs" ItemName="_SourceFiles" />
16008 </MSBuild>
16009 <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GetFrameworkAssemblyReferences" Properties="TargetFramework=%(_TargetFrameworks.Identity);&#xD;&#xA; BuildProjectReferences=false;">
16010 <Output TaskParameter="TargetOutputs" ItemName="_FrameworkAssemblyReferences" />
16011 </MSBuild>
16012 <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GetFrameworksWithSuppressedDependencies" Properties="TargetFramework=%(_TargetFrameworks.Identity);&#xD;&#xA; BuildProjectReferences=false;">
16013 <Output TaskParameter="TargetOutputs" ItemName="_FrameworksWithSuppressedDependencies" />
16014 </MSBuild>
16015 </Target>
16016 <Target Name="_GetFrameworksWithSuppressedDependencies" Returns="@(_TfmWithDependenciesSuppressed)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16017 <ItemGroup>
16018 <_TfmWithDependenciesSuppressed Include="$(TargetFramework)" Condition="'$(SuppressDependenciesWhenPacking)' == 'true'" />
16019 </ItemGroup>
16020 </Target>
16021 <Target Name="_GetFrameworkAssemblyReferences" DependsOnTargets="ResolveReferences" Returns="@(TfmSpecificFrameworkAssemblyReferences)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16022 <ItemGroup>
16023 <TfmSpecificFrameworkAssemblyReferences Include="@(ReferencePath->'%(OriginalItemSpec)')" Condition="'%(ReferencePath.Pack)' != 'false' AND '%(ReferencePath.ResolvedFrom)' == '{TargetFrameworkDirectory}'">
16024 <TargetFramework>$(TargetFramework)</TargetFramework>
16025 </TfmSpecificFrameworkAssemblyReferences>
16026 </ItemGroup>
16027 </Target>
16028 <Target Name="_GetBuildOutputFilesWithTfm" DependsOnTargets="BuiltProjectOutputGroup;DocumentationProjectOutputGroup;SatelliteDllsProjectOutputGroup;_AddPriFileToPackBuildOutput;$(TargetsForTfmSpecificBuildOutput)" Returns="@(BuildOutputInPackage)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16029 <ItemGroup Condition="'$(IncludeBuildOutput)' == 'true'">
16030 <BuildOutputInPackage Include="@(SatelliteDllsProjectOutputGroupOutput);&#xD;&#xA; @(BuiltProjectOutputGroupOutput);&#xD;&#xA; @(DocumentationProjectOutputGroupOutput);&#xD;&#xA; @(_PathToPriFile)" />
16031 </ItemGroup>
16032 </Target>
16033 <Target Name="_GetTfmSpecificContentForPackage" DependsOnTargets="$(TargetsForTfmSpecificContentInPackage)" Returns="@(TfmSpecificPackageFileWithRecursiveDir)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16034 <!-- The below workaround needs to be done due to msbuild bug https://github.com/Microsoft/msbuild/issues/3121 -->
16035 <ItemGroup>
16036 <TfmSpecificPackageFileWithRecursiveDir Include="@(TfmSpecificPackageFile)">
16037 <NuGetRecursiveDir>%(TfmSpecificPackageFile.RecursiveDir)</NuGetRecursiveDir>
16038 <BuildAction>%(TfmSpecificPackageFile.BuildAction)</BuildAction>
16039 </TfmSpecificPackageFileWithRecursiveDir>
16040 </ItemGroup>
16041 </Target>
16042 <Target Name="_GetDebugSymbolsWithTfm" DependsOnTargets="DebugSymbolsProjectOutputGroup;$(TargetsForTfmSpecificDebugSymbolsInPackage)" Returns="@(_TargetPathsToSymbolsWithTfm)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16043 <ItemGroup Condition="'$(IncludeBuildOutput)' == 'true'">
16044 <_TargetPathsToSymbolsWithTfm Include="@(DebugSymbolsProjectOutputGroupOutput)">
16045 <TargetFramework>$(TargetFramework)</TargetFramework>
16046 </_TargetPathsToSymbolsWithTfm>
16047 </ItemGroup>
16048 <ItemGroup>
16049 <_TargetPathsToSymbolsWithTfm Include="@(TfmSpecificDebugSymbolsFile)" />
16050 </ItemGroup>
16051 </Target>
16052 <!--Projects with target framework like UWP, Win8, wpa81 produce a Pri file
16053 in their bin dir. This Pri file is not included in the BuiltProjectGroupOutput, and
16054 has to be added manually here.-->
16055 <Target Name="_AddPriFileToPackBuildOutput" Returns="@(_PathToPriFile)" DependsOnTargets="$(AddPriFileDependsOn)" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16056 <ItemGroup Condition="'$(IncludeProjectPriFile)' == 'true'">
16057 <_PathToPriFile Include="$(ProjectPriFullPath)">
16058 <FinalOutputPath>$(ProjectPriFullPath)</FinalOutputPath>
16059 <TargetPath>$(ProjectPriFileName)</TargetPath>
16060 </_PathToPriFile>
16061 </ItemGroup>
16062 </Target>
16063 <!--
16064 ============================================================
16065 _GetPackageFiles
16066 Entry point for generating the project to project references.
16067 ============================================================
16068 -->
16069 <Target Name="_GetPackageFiles" Condition="$(IncludeContentInPack) == 'true'" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16070 <ItemGroup>
16071 <_PackageFilesToExclude Include="@(Content)" Condition="'%(Content.Pack)' == 'false'" />
16072 </ItemGroup>
16073 <!-- Include PackageFiles and Content of the project being packed -->
16074 <ItemGroup>
16075 <_PackageFiles Include="@(Content)" Condition=" %(Content.Pack) != 'false' ">
16076 <BuildAction Condition="'%(Content.BuildAction)' == ''">Content</BuildAction>
16077 </_PackageFiles>
16078 <_PackageFiles Include="@(Compile)" Condition=" %(Compile.Pack) == 'true' ">
16079 <BuildAction Condition="'%(Compile.BuildAction)' == ''">Compile</BuildAction>
16080 </_PackageFiles>
16081 <_PackageFiles Include="@(None)" Condition=" %(None.Pack) == 'true' ">
16082 <BuildAction Condition="'%(None.BuildAction)' == ''">None</BuildAction>
16083 </_PackageFiles>
16084 <_PackageFiles Include="@(EmbeddedResource)" Condition=" %(EmbeddedResource.Pack) == 'true' ">
16085 <BuildAction Condition="'%(EmbeddedResource.BuildAction)' == ''">EmbeddedResource</BuildAction>
16086 </_PackageFiles>
16087 <_PackageFiles Include="@(ApplicationDefinition)" Condition=" %(ApplicationDefinition.Pack) == 'true' ">
16088 <BuildAction Condition="'%(ApplicationDefinition.BuildAction)' == ''">ApplicationDefinition</BuildAction>
16089 </_PackageFiles>
16090 <_PackageFiles Include="@(Page)" Condition=" %(Page.Pack) == 'true' ">
16091 <BuildAction Condition="'%(Page.BuildAction)' == ''">Page</BuildAction>
16092 </_PackageFiles>
16093 <_PackageFiles Include="@(Resource)" Condition=" %(Resource.Pack) == 'true' ">
16094 <BuildAction Condition="'%(Resource.BuildAction)' == ''">Resource</BuildAction>
16095 </_PackageFiles>
16096 <_PackageFiles Include="@(SplashScreen)" Condition=" %(SplashScreen.Pack) == 'true' ">
16097 <BuildAction Condition="'%(SplashScreen.BuildAction)' == ''">SplashScreen</BuildAction>
16098 </_PackageFiles>
16099 <_PackageFiles Include="@(DesignData)" Condition=" %(DesignData.Pack) == 'true' ">
16100 <BuildAction Condition="'%(DesignData.BuildAction)' == ''">DesignData</BuildAction>
16101 </_PackageFiles>
16102 <_PackageFiles Include="@(DesignDataWithDesignTimeCreatableTypes)" Condition=" %(DesignDataWithDesignTimeCreatableTypes.Pack) == 'true' ">
16103 <BuildAction Condition="'%(DesignDataWithDesignTimeCreatableTypes.BuildAction)' == ''">DesignDataWithDesignTimeCreatableTypes</BuildAction>
16104 </_PackageFiles>
16105 <_PackageFiles Include="@(CodeAnalysisDictionary)" Condition=" %(CodeAnalysisDictionary.Pack) == 'true' ">
16106 <BuildAction Condition="'%(CodeAnalysisDictionary.BuildAction)' == ''">CodeAnalysisDictionary</BuildAction>
16107 </_PackageFiles>
16108 <_PackageFiles Include="@(AndroidAsset)" Condition=" %(AndroidAsset.Pack) == 'true' ">
16109 <BuildAction Condition="'%(AndroidAsset.BuildAction)' == ''">AndroidAsset</BuildAction>
16110 </_PackageFiles>
16111 <_PackageFiles Include="@(AndroidResource)" Condition=" %(AndroidResource.Pack) == 'true' ">
16112 <BuildAction Condition="'%(AndroidResource.BuildAction)' == ''">AndroidResource</BuildAction>
16113 </_PackageFiles>
16114 <_PackageFiles Include="@(BundleResource)" Condition=" %(BundleResource.Pack) == 'true' ">
16115 <BuildAction Condition="'%(BundleResource.BuildAction)' == ''">BundleResource</BuildAction>
16116 </_PackageFiles>
16117 </ItemGroup>
16118 </Target>
16119 <!--
16120============================================================================================================================================
16121 </Import>
16122
16123C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
16124============================================================================================================================================
16125-->
16126 <!--
16127============================================================================================================================================
16128 </Import>
16129
16130D:\src\wix4\src\test\wix\TestProjects\CsprojConsoleNetCore\CsprojConsoleNetCore.csproj
16131============================================================================================================================================
16132-->
16133</Project> \ No newline at end of file
diff --git a/src/test/wix/TestData/WixprojLibraryVcxprojDll/go.cmd b/src/test/wix/TestData/WixprojLibraryVcxprojDll/go.cmd
deleted file mode 100644
index 205fb749..00000000
--- a/src/test/wix/TestData/WixprojLibraryVcxprojDll/go.cmd
+++ /dev/null
@@ -1,27 +0,0 @@
1@setlocal
2cls
3cd %~dp0
4rd /s/q obj bin
5
6pushd D:\src\wix4\src\wix\WixToolset.Sdk
7msbuild
8popd
9
10pushd D:\src\wix4\src\test\wix\TestProjects\VcxprojStaticLib
11rd /s/q Debug x64
12popd
13
14pushd D:\src\wix4\src\test\wix\TestProjects\VcxprojDll
15rd /s/q Debug
16popd
17
18pushd D:\src\wix4\src\test\wix\TestProjects\CsprojClassLibraryNetCore
19rd /s/q obj bin
20popd
21
22pushd D:\src\wix4\src\test\wix\TestProjects\CsprojConsoleNetCore
23rd /s/q obj bin
24popd
25
26msbuild -Restore -bl
27@endlocal
diff --git a/src/test/wix/TestData/WixprojModuleCsprojWinFormsNetFx/go.cmd b/src/test/wix/TestData/WixprojModuleCsprojWinFormsNetFx/go.cmd
deleted file mode 100644
index 18ffaf8e..00000000
--- a/src/test/wix/TestData/WixprojModuleCsprojWinFormsNetFx/go.cmd
+++ /dev/null
@@ -1,36 +0,0 @@
1@setlocal
2cls
3cd %~dp0
4rd /s/q obj bin
5
6pushd D:\src\wix4\src\wix\WixToolset.Sdk
7msbuild
8popd
9
10pushd D:\src\wix4\src\test\wix\TestProjects\VcxprojStaticLib
11rd /s/q Debug x64
12popd
13
14pushd D:\src\wix4\src\test\wix\TestProjects\VcxprojDll
15rd /s/q Debug
16popd
17
18pushd D:\src\wix4\src\test\wix\TestProjects\CsprojClassLibraryNetCore
19rd /s/q obj bin
20popd
21
22pushd D:\src\wix4\src\test\wix\TestProjects\CsprojConsoleNetCore
23rd /s/q obj bin
24popd
25
26pushd D:\src\wix4\src\test\wix\TestProjects\WixprojLibraryVcxprojDll
27rd /s/q obj bin
28popd
29
30pushd D:\src\wix4\src\test\wix\TestProjects\WixprojPackageVcxprojWindowsApp
31rd /s/q obj bin
32popd
33
34rem msbuild.exe -Restore -bl -t:Rebuild
35msbuild.exe -Restore -bl
36@endlocal
diff --git a/src/test/wix/TestData/WixprojPackageCsprojWebApplicationNetCore/go.cmd b/src/test/wix/TestData/WixprojPackageCsprojWebApplicationNetCore/go.cmd
deleted file mode 100644
index 95d48432..00000000
--- a/src/test/wix/TestData/WixprojPackageCsprojWebApplicationNetCore/go.cmd
+++ /dev/null
@@ -1,23 +0,0 @@
1@setlocal
2cls
3cd %~dp0
4rd /s/q obj bin
5
6pushd ..\CsprojWebApplicationNetCore
7rd /s/q obj bin
8popd
9
10pushd D:\src\wix4\src\wix\WixToolset.BuildTasks
11msbuild
12popd
13
14pushd D:\src\wix4\src\wix\WixToolset.Sdk
15msbuild -t:Publish -p:PublishDir=D:\src\wix4\build\wix\Debug\publish\WixToolset.Sdk\
16msbuild -t:Pack
17
18copy D:\src\wix4\build\artifacts\WixToolset.Sdk.*.nupkg D:\NugetLocal
19rd /s/q C:\Users\Rob\.nuget\packages\wixtoolset.sdk
20popd
21
22msbuild.exe -Restore -bl
23@endlocal
diff --git a/src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/go.cmd b/src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/go.cmd
deleted file mode 100644
index 77aeefb9..00000000
--- a/src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/go.cmd
+++ /dev/null
@@ -1,44 +0,0 @@
1@setlocal
2cls
3cd %~dp0
4rd /s/q obj bin
5
6pushd D:\src\wix4\src\wix\WixToolset.Sdk
7msbuild
8rem msbuild -t:Publish -p:PublishDir=D:\src\wix4\build\wix\Debug\publish\WixToolset.Sdk\
9rem msbuild -t:Pack
10rem copy D:\src\wix4\build\artifacts\WixToolset.Sdk.*.nupkg D:\NugetLocal
11rd /s/q C:\Users\Rob\.nuget\packages\wixtoolset.sdk
12popd
13
14pushd D:\src\wix4\src\test\wix\TestProjects\VcxprojStaticLib
15rd /s/q Debug x64
16popd
17
18pushd D:\src\wix4\src\test\wix\TestProjects\VcxprojDll
19rd /s/q Debug
20popd
21
22pushd D:\src\wix4\src\test\wix\TestProjects\CsprojClassLibraryNetCore
23rd /s/q obj bin
24popd
25
26pushd D:\src\wix4\src\test\wix\TestProjects\CsprojConsoleNetCore
27rd /s/q obj bin
28popd
29
30pushd D:\src\wix4\src\test\wix\TestProjects\WixprojLibraryVcxprojDll
31rd /s/q obj bin
32popd
33
34pushd D:\src\wix4\src\test\wix\TestProjects\WixprojModuleCsprojWinFormsNetFx
35rd /s/q obj bin
36popd
37
38pushd D:\src\wix4\src\test\wix\TestProjects\WixprojPackageVcxprojWindowsApp
39rd /s/q obj bin
40popd
41
42rem msbuild.exe -Restore -bl -t:Rebuild
43msbuild.exe -Restore -bl
44@endlocal