Unpack dotnet sdk zipfile and add documentation file to nupkg
[platform/core/dotnet/build-tools.git] / dotnet / sdk / 2.0.0-preview1-005700 / Sdks / Microsoft.NET.Sdk / build / Microsoft.PackageDependencyResolution.targets
1 <!--\r
2 ***********************************************************************************************\r
3 Microsoft.PackageDependencyResolution.targets\r
4 \r
5 WARNING:  DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have\r
6           created a backup copy.  Incorrect changes to this file will make it\r
7           impossible to load or build your projects from the command-line or the IDE.\r
8 \r
9 Copyright (c) .NET Foundation. All rights reserved. \r
10 ***********************************************************************************************\r
11 -->\r
12 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
13 \r
14   <!--\r
15     *************************************\r
16     1. INPUT PROPERTIES\r
17     - That configure the PackageDependency targets\r
18     *************************************\r
19     -->\r
20 \r
21   <!-- General Properties -->\r
22   <PropertyGroup>\r
23     <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>\r
24   </PropertyGroup>\r
25 \r
26   <!-- Project Assets File -->\r
27   <PropertyGroup>\r
28     <ProjectAssetsFile Condition="'$(ProjectAssetsFile)' == ''">$(BaseIntermediateOutputPath)/project.assets.json</ProjectAssetsFile>\r
29   </PropertyGroup>\r
30 \r
31   <PropertyGroup>\r
32     <!-- Ensure $(ProjectAssetsFile) is a full path -->\r
33     <ProjectAssetsFile Condition="'$([System.IO.Path]::IsPathRooted($(ProjectAssetsFile)))' != 'true'">$([System.IO.Path]::GetFullPath($([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', '$(ProjectAssetsFile)'))))</ProjectAssetsFile>\r
34   </PropertyGroup>\r
35 \r
36   <PropertyGroup>\r
37     <ResolvePackageDependenciesForBuild Condition="'$(ResolvePackageDependenciesForBuild)' == ''">true</ResolvePackageDependenciesForBuild>\r
38     <CopyLocalLockFileAssemblies Condition="'$(CopyLocalLockFileAssemblies)' == ''">true</CopyLocalLockFileAssemblies>\r
39 \r
40     <ContentPreprocessorOutputDirectory Condition="'$(ContentPreprocessorOutputDirectory)' == ''">$(IntermediateOutputPath)NuGet\</ContentPreprocessorOutputDirectory>\r
41     <ProduceOnlyPreprocessorFilesInBuildTask Condition="'$(ProduceOnlyPreprocessorFilesInBuildTask)' == ''">true</ProduceOnlyPreprocessorFilesInBuildTask>\r
42 \r
43     <UseTargetPlatformAsNuGetTargetMoniker Condition="'$(UseTargetPlatformAsNuGetTargetMoniker)' == '' AND '$(TargetFrameworkMoniker)' == '.NETCore,Version=v5.0'">true</UseTargetPlatformAsNuGetTargetMoniker>\r
44     <NuGetTargetMoniker Condition="'$(NuGetTargetMoniker)' == '' AND '$(UseTargetPlatformAsNuGetTargetMoniker)' == 'true'">$(TargetPlatformIdentifier),Version=v$([System.Version]::Parse('$(TargetPlatformMinVersion)').ToString(3))</NuGetTargetMoniker>\r
45     <NuGetTargetMoniker Condition="'$(NuGetTargetMoniker)' == '' AND '$(UseTargetPlatformAsNuGetTargetMoniker)' != 'true'">$(TargetFrameworkMoniker)</NuGetTargetMoniker>\r
46   </PropertyGroup>\r
47 \r
48   <!-- Target Moniker + RID-->\r
49   <PropertyGroup Condition="'$(_NugetTargetMonikerAndRID)' == ''">\r
50     <_NugetTargetMonikerAndRID Condition="'$(RuntimeIdentifier)' == ''">$(NuGetTargetMoniker)</_NugetTargetMonikerAndRID>\r
51     <_NugetTargetMonikerAndRID Condition="'$(RuntimeIdentifier)' != ''">$(NuGetTargetMoniker)/$(RuntimeIdentifier)</_NugetTargetMonikerAndRID>\r
52   </PropertyGroup>\r
53 \r
54   <!--\r
55     *************************************\r
56     2. EXTERNAL PROPERTIES and ITEMS\r
57     - Override or add to external targets\r
58     *************************************\r
59     -->\r
60 \r
61   <PropertyGroup>\r
62     <ResolveAssemblyReferencesDependsOn>\r
63       $(ResolveAssemblyReferencesDependsOn);\r
64       ResolvePackageDependenciesForBuild;\r
65     </ResolveAssemblyReferencesDependsOn>\r
66 \r
67     <PrepareResourcesDependsOn>\r
68       ResolvePackageDependenciesForBuild;\r
69       $(PrepareResourcesDependsOn)\r
70     </PrepareResourcesDependsOn>\r
71   </PropertyGroup>\r
72 \r
73   <!-- List of targets that emit Dependency DiagnosticMessages items -->\r
74   <PropertyGroup>\r
75     <EmitsDependencyDiagnosticMessages>\r
76       RunResolvePackageDependencies;\r
77       $(EmitsDependencyDiagnosticMessages)\r
78     </EmitsDependencyDiagnosticMessages>\r
79   </PropertyGroup>\r
80 \r
81   <!-- Common tokens used in preprocessed content files -->\r
82   <ItemGroup>\r
83     <PreprocessorValue Include="rootnamespace">\r
84       <Value>$(RootNamespace)</Value>\r
85     </PreprocessorValue>\r
86     <PreprocessorValue Include="assemblyname">\r
87       <Value>$(AssemblyName)</Value>\r
88     </PreprocessorValue>\r
89     <PreprocessorValue Include="fullpath">\r
90       <Value>$(MSBuildProjectDirectory)</Value>\r
91     </PreprocessorValue>\r
92     <PreprocessorValue Include="outputfilename">\r
93       <Value>$(TargetFileName)</Value>\r
94     </PreprocessorValue>\r
95     <PreprocessorValue Include="filename">\r
96       <Value>$(MSBuildProjectFile)</Value>\r
97     </PreprocessorValue>\r
98     <PreprocessorValue Include="@(NuGetPreprocessorValue)" Exclude="@(PreprocessorValue)" />\r
99   </ItemGroup>\r
100 \r
101   <!--\r
102     *************************************\r
103     3. BUILD TARGETS\r
104     - Override the Depends-On properties, or the individual targets\r
105     *************************************\r
106     -->\r
107 \r
108   <!--\r
109     ============================================================\r
110                      ResolvePackageDependenciesForBuild\r
111 \r
112     Populate items for build. This is triggered before target \r
113     "AssignProjectConfiguration" to ensure ProjectReference items\r
114     are populated before ResolveProjectReferences is run.\r
115     ============================================================\r
116     -->\r
117   <PropertyGroup>\r
118     <ResolvePackageDependenciesForBuildDependsOn>\r
119       ResolveLockFileReferences;\r
120       ResolveLockFileAnalyzers;\r
121       ResolveLockFileCopyLocalProjectDeps;\r
122       IncludeTransitiveProjectReferences;\r
123     </ResolvePackageDependenciesForBuildDependsOn>\r
124   </PropertyGroup>\r
125   <Target Name="ResolvePackageDependenciesForBuild"\r
126           Condition="'$(ResolvePackageDependenciesForBuild)' == 'true' and Exists('$(ProjectAssetsFile)')"\r
127           BeforeTargets="AssignProjectConfiguration"\r
128           DependsOnTargets="$(ResolvePackageDependenciesForBuildDependsOn)" />\r
129 \r
130   <!--\r
131     *************************************\r
132     4. Package Dependency TASK and TARGETS\r
133     - Raise the lock file to MSBuild Items and create derived items\r
134     *************************************\r
135     -->\r
136 \r
137   <!--\r
138     ============================================================\r
139                      RunResolvePackageDependencies\r
140 \r
141     Generate Definitions and Dependencies based on ResolvePackageDependencies task\r
142     ============================================================\r
143     -->\r
144 \r
145   <UsingTask TaskName="Microsoft.NET.Build.Tasks.ResolvePackageDependencies"\r
146              AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />\r
147 \r
148   <!-- The condition on this target causes it to be skipped during design-time builds if\r
149         the restore operation hasn't run yet.  This is to avoid displaying an error in\r
150         the Visual Studio error list when a project is created before NuGet restore has\r
151         run and created the assets file. -->\r
152   <Target Name="RunResolvePackageDependencies"\r
153           Condition=" '$(DesignTimeBuild)' != 'true' Or Exists('$(ProjectAssetsFile)')">\r
154     <ResolvePackageDependencies\r
155       ProjectPath="$(MSBuildProjectFullPath)"\r
156       ProjectAssetsFile="$(ProjectAssetsFile)"\r
157       ProjectLanguage="$(Language)"\r
158       ContinueOnError="ErrorAndContinue">\r
159 \r
160       <Output TaskParameter="TargetDefinitions" ItemName="TargetDefinitions" />\r
161       <Output TaskParameter="PackageDefinitions" ItemName="PackageDefinitions" />\r
162       <Output TaskParameter="FileDefinitions" ItemName="FileDefinitions" />\r
163       <Output TaskParameter="PackageDependencies" ItemName="PackageDependencies" />\r
164       <Output TaskParameter="FileDependencies" ItemName="FileDependencies" />\r
165       <Output TaskParameter="DiagnosticMessages" ItemName="DiagnosticMessages" />\r
166     </ResolvePackageDependencies>\r
167 \r
168   </Target>\r
169 \r
170   <!--\r
171     ============================================================\r
172                      ResolvePackageDependenciesDesignTime\r
173 \r
174     Aggregate the dependencies produced by ResolvePackageDependencies to a form\r
175     that's consumable by an IDE to display package dependencies.\r
176     ============================================================\r
177     -->\r
178 \r
179   <UsingTask TaskName="Microsoft.NET.Build.Tasks.PreprocessPackageDependenciesDesignTime"\r
180              AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />\r
181   \r
182   <Target Name="ResolvePackageDependenciesDesignTime"\r
183           Returns="@(_DependenciesDesignTime)"\r
184           DependsOnTargets="ResolveAssemblyReferencesDesignTime;$(EmitsDependencyDiagnosticMessages)">\r
185 \r
186     <PreprocessPackageDependenciesDesignTime\r
187           TargetDefinitions="@(TargetDefinitions)"\r
188           PackageDefinitions="@(PackageDefinitions)"\r
189           FileDefinitions="@(FileDefinitions)"\r
190           PackageDependencies="@(PackageDependencies)"\r
191           FileDependencies="@(FileDependencies)"\r
192           DefaultImplicitPackages="$(DefaultImplicitPackages)"\r
193           InputDiagnosticMessages="@(DiagnosticMessages)">\r
194 \r
195       <Output TaskParameter="DependenciesDesignTime" ItemName="_DependenciesDesignTime" />\r
196     </PreprocessPackageDependenciesDesignTime>\r
197   </Target>\r
198     \r
199   <!--\r
200     ============================================================\r
201                      CollectSDKReferencesDesignTime\r
202 \r
203     Aggregates the sdk specified as project items and implicit\r
204     packages references.\r
205     ============================================================\r
206     -->\r
207   <UsingTask TaskName="Microsoft.NET.Build.Tasks.CollectResolvedSDKReferencesDesignTime"\r
208              AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />\r
209   \r
210   <Target Name="CollectSDKReferencesDesignTime"\r
211           Returns="@(_SDKReference)"\r
212           DependsOnTargets="ResolvePackageDependenciesDesignTime">\r
213 \r
214     <CollectResolvedSDKReferencesDesignTime\r
215           ResolvedSdkReferences="@(SdkReference)"\r
216           DependenciesDesignTime="@(_DependenciesDesignTime)">\r
217 \r
218       <Output TaskParameter="ResolvedSDKReferencesDesignTime" ItemName="_SDKReference" />\r
219 \r
220     </CollectResolvedSDKReferencesDesignTime>\r
221   </Target>\r
222           \r
223   <!--\r
224     ============================================================\r
225                      CollectResolvedSDKReferencesDesignTime\r
226 \r
227     Aggregates the sdk specified as project items and implicit\r
228     packages produced by ResolvePackageDependencies.\r
229     ============================================================\r
230     -->\r
231 \r
232   <Target Name="CollectResolvedSDKReferencesDesignTime"\r
233           Returns="@(_ResolvedSDKReference)"\r
234           DependsOnTargets="ResolveSDKReferencesDesignTime;ResolvePackageDependenciesDesignTime">\r
235 \r
236     <CollectResolvedSDKReferencesDesignTime\r
237           ResolvedSdkReferences="@(ResolvedSdkReference)"\r
238           DependenciesDesignTime="@(_DependenciesDesignTime)">\r
239 \r
240       <Output TaskParameter="ResolvedSDKReferencesDesignTime" ItemName="_ResolvedSDKReference" />\r
241     </CollectResolvedSDKReferencesDesignTime>\r
242   </Target>\r
243   \r
244   <!--\r
245     ============================================================\r
246                      RunProduceContentAssets\r
247 \r
248     Process content assets by handling preprocessing tokens where necessary, and \r
249     produce copy local items, content items grouped by "build action" and file writes\r
250     ============================================================\r
251     -->\r
252 \r
253   <UsingTask TaskName="Microsoft.NET.Build.Tasks.ProduceContentAssets"\r
254              AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />\r
255 \r
256   <Target Name="RunProduceContentAssets"\r
257           Returns="_ContentCopyLocalItems;FileWrites"\r
258           DependsOnTargets="_ComputeActiveTFMFileDependencies">\r
259     <ItemGroup>\r
260       <_ContentFileDeps Include="@(_ActiveTFMFileDependencies->WithMetadataValue('FileGroup', 'ContentFile'))" />\r
261       <__ContentFileDefs Include="@(FileDefinitions)" Exclude="@(_ContentFileDeps)" />\r
262       <_ContentFileDefs Include="@(FileDefinitions)" Exclude="@(__ContentFileDefs)" />\r
263     </ItemGroup>\r
264 \r
265     <ProduceContentAssets\r
266       ContentFileDefinitions="@(_ContentFileDefs)"\r
267       ContentFileDependencies="@(_ContentFileDeps)"\r
268       ContentPreprocessorValues="@(PreprocessorValue)"\r
269       ContentPreprocessorOutputDirectory="$(ContentPreprocessorOutputDirectory)"\r
270       ProduceOnlyPreprocessorFiles="$(ProduceOnlyPreprocessorFilesInBuildTask)"\r
271       ProjectLanguage="$(Language)">\r
272 \r
273       <Output TaskParameter="CopyLocalItems" ItemName="_ContentCopyLocalItems" />\r
274       <Output TaskParameter="ProcessedContentItems" ItemName="_ProcessedContentItems" />\r
275       <Output TaskParameter="FileWrites" ItemName="FileWrites" />\r
276     </ProduceContentAssets>\r
277 \r
278     <!-- The items in _ProcessedContentItems need to go into the appropriately-named item group, \r
279          but the names depend upon the items themselves. Split it apart. -->\r
280     <CreateItem Include="@(_ProcessedContentItems)" Condition="'@(_ProcessedContentItems)' != ''">\r
281       <Output TaskParameter="Include" ItemName="%(_ProcessedContentItems.ProcessedItemType)" />\r
282     </CreateItem>\r
283   </Target>\r
284 \r
285   <!--\r
286     ============================================================\r
287     HELPERS: Get Package and File Dependencies matching active TFM and RID\r
288     ============================================================\r
289     -->\r
290 \r
291   <Target Name="_ComputeActiveTFMPackageDependencies"\r
292           DependsOnTargets="RunResolvePackageDependencies"\r
293           Returns="_ActiveTFMPackageDependencies">\r
294     <ItemGroup>\r
295       <_ActiveTFMPackageDependencies Include="@(PackageDependencies->WithMetadataValue('ParentTarget', '$(_NugetTargetMonikerAndRID)'))" />\r
296     </ItemGroup>\r
297   </Target>\r
298 \r
299   <Target Name="_ComputeActiveTFMFileDependencies"\r
300           DependsOnTargets="RunResolvePackageDependencies"\r
301           Returns="_ActiveTFMFileDependencies">\r
302     <ItemGroup>\r
303       <_ActiveTFMFileDependencies Include="@(FileDependencies->WithMetadataValue('ParentTarget', '$(_NugetTargetMonikerAndRID)'))" />\r
304     </ItemGroup>\r
305   </Target>\r
306 \r
307   <Target Name="_ComputeTFMOnlyFileDependencies"\r
308           DependsOnTargets="RunResolvePackageDependencies"\r
309           Returns="_TFMOnlyFileDependencies">\r
310     <ItemGroup>\r
311       <_TFMOnlyFileDependencies Include="@(FileDependencies->WithMetadataValue('ParentTarget', '$(NuGetTargetMoniker)'))" />\r
312     </ItemGroup>\r
313   </Target>\r
314 \r
315   <!--\r
316     ============================================================\r
317     Reference Targets: For populating References based on lock file\r
318     - _ComputeLockFileReferences\r
319     - _ComputeLockFileFrameworks\r
320     - ResolveLockFileReferences\r
321     ============================================================\r
322     -->\r
323 \r
324   <Target Name="_ComputeLockFileReferences"\r
325           DependsOnTargets="_ComputeTFMOnlyFileDependencies"\r
326           Returns="ResolvedCompileFileDefinitions">\r
327     <ItemGroup>\r
328       <_CompileFileItems Include="@(_TFMOnlyFileDependencies->WithMetadataValue('FileGroup', 'CompileTimeAssembly'))" />\r
329 \r
330       <!-- Get corresponding file definitions -->\r
331       <__CompileFileDefinitions Include="@(FileDefinitions)" Exclude="@(_CompileFileItems)" />\r
332       <_CompileFileDefinitions Include="@(FileDefinitions)" Exclude="@(__CompileFileDefinitions)" />\r
333 \r
334       <ResolvedCompileFileDefinitions Include="@(_CompileFileDefinitions->'%(ResolvedPath)')">\r
335         <Private>false</Private>\r
336         <NuGetIsFrameworkReference>false</NuGetIsFrameworkReference>\r
337         <NuGetSourceType>Package</NuGetSourceType>\r
338         <NuGetPackageId>%(PackageName)</NuGetPackageId>\r
339         <NuGetPackageVersion>%(PackageVersion)</NuGetPackageVersion>\r
340       </ResolvedCompileFileDefinitions>\r
341 \r
342     </ItemGroup>\r
343   </Target>\r
344 \r
345   <Target Name="_ComputeLockFileFrameworks"\r
346           Condition="'$(DisableLockFileFrameworks)' != 'true'"\r
347           DependsOnTargets="_ComputeTFMOnlyFileDependencies"\r
348           Returns="ResolvedFrameworkAssemblies">\r
349     <ItemGroup>\r
350       <_FrameworkAssemblies Include="@(_TFMOnlyFileDependencies->WithMetadataValue('FileGroup', 'FrameworkAssembly'))" />\r
351 \r
352       <ResolvedFrameworkAssemblies Include="@(_FrameworkAssemblies->'%(FrameworkAssembly)')">\r
353         <Private>false</Private>\r
354         <NuGetIsFrameworkReference>true</NuGetIsFrameworkReference>\r
355         <NuGetSourceType>Package</NuGetSourceType>\r
356         <NuGetPackageId>%(PackageName)</NuGetPackageId>\r
357         <NuGetPackageVersion>%(PackageVersion)</NuGetPackageVersion>\r
358       </ResolvedFrameworkAssemblies>\r
359 \r
360     </ItemGroup>\r
361   </Target>\r
362 \r
363   <Target Name="ResolveLockFileReferences"\r
364           DependsOnTargets="_ComputeLockFileReferences;_ComputeLockFileFrameworks">\r
365     <ItemGroup>\r
366       <!-- Add the references we computed -->\r
367       <Reference Include="@(ResolvedCompileFileDefinitions)" />\r
368       <Reference Include="@(ResolvedFrameworkAssemblies)" />\r
369 \r
370       <!-- Remove simple name references if we're directly providing a reference assembly to the compiler. For example,\r
371            consider a project with an Reference Include="System", and some NuGet package is providing System.dll.\r
372            Simple references can also come from NuGet framework assemblies, hence this statement should occur after\r
373            including all computed references. -->\r
374       <Reference Remove="%(ResolvedCompileFileDefinitions.FileName)" />\r
375     </ItemGroup>\r
376   </Target>\r
377 \r
378   <!--\r
379     ============================================================\r
380     ProjectReference Targets: Include transitive project references before \r
381                               ResolveProjectReferences is called\r
382     - _ComputeTransitiveProjectReferences\r
383     - IncludeTransitiveProjectReferences\r
384     ============================================================\r
385     -->\r
386 \r
387   <Target Name="_ComputeTransitiveProjectReferences"\r
388           DependsOnTargets="_ComputeActiveTFMPackageDependencies"\r
389           Returns="_TransitiveProjectReferences">\r
390     <ItemGroup>\r
391       <_TransitiveProjectDependencies Include="@(_ActiveTFMPackageDependencies->WithMetadataValue('TransitiveProjectReference', 'true'))" />\r
392 \r
393       <!-- Get corresponding package definitions -->\r
394       <__TransitiveProjectDefinitions Include="@(PackageDefinitions)" Exclude="@(_TransitiveProjectDependencies)" />\r
395       <_TransitiveProjectDefinitions Include="@(PackageDefinitions)" Exclude="@(__TransitiveProjectDefinitions)" />\r
396       \r
397       <_TransitiveProjectReferences Include="%(_TransitiveProjectDefinitions.Path)">\r
398         <ResolvedPath>%(_TransitiveProjectDefinitions.ResolvedPath)</ResolvedPath>\r
399       </_TransitiveProjectReferences>\r
400     </ItemGroup>\r
401   </Target>\r
402 \r
403   <Target Name="IncludeTransitiveProjectReferences"\r
404           DependsOnTargets="_ComputeTransitiveProjectReferences" >\r
405     <ItemGroup>\r
406       <!-- Add the references we computed -->\r
407       <ProjectReference Include="@(_TransitiveProjectReferences)" />\r
408     </ItemGroup>\r
409   </Target>\r
410   \r
411   <!--\r
412     ============================================================\r
413     Analyzer Targets: For populating Analyzers based on lock file\r
414     - _ComputeLockFileAnalyzers\r
415     - ResolveLockFileAnalyzers\r
416     ============================================================\r
417     -->\r
418 \r
419   <Target Name="_ComputeLockFileAnalyzers"\r
420         DependsOnTargets="RunResolvePackageDependencies"\r
421         Returns="ResolvedAnalyzers">\r
422     <ItemGroup>\r
423       <AnalyzerFiles Include="@(FileDefinitions->WithMetadataValue('Analyzer', 'true'))" />\r
424       <ResolvedAnalyzers Include="%(AnalyzerFiles.ResolvedPath)" />\r
425     </ItemGroup>\r
426   </Target>\r
427 \r
428   <Target Name="ResolveLockFileAnalyzers"\r
429           DependsOnTargets="_ComputeLockFileAnalyzers">\r
430     <ItemGroup>\r
431 \r
432       <!-- Add the analyzers we computed -->\r
433       <Analyzer Include="@(ResolvedAnalyzers)" />\r
434 \r
435     </ItemGroup>\r
436   </Target>\r
437 \r
438   <!--\r
439     ============================================================\r
440     CopyLocal Targets: For populating CopyLocal based on lock file\r
441     - _ComputeLockFileCopyLocal\r
442     - ResolveLockFileCopyLocalProjectDeps\r
443     ============================================================\r
444     -->\r
445 \r
446   <Target Name="_ComputeLockFileCopyLocal"\r
447         DependsOnTargets="_ComputeActiveTFMFileDependencies;RunProduceContentAssets"\r
448         Returns="NativeCopyLocalItems;RuntimeCopyLocalItems;ResourceCopyLocalItems;AllCopyLocalItems">\r
449     <ItemGroup>\r
450       <!--NativeLibrary-->\r
451       <_NativeFileItems Include="@(_ActiveTFMFileDependencies->WithMetadataValue('FileGroup', 'NativeLibrary'))" />\r
452       <__NativeCopyLocalItems Include="@(FileDefinitions)" Exclude="@(_NativeFileItems)" />\r
453       <_NativeCopyLocalItems Include="@(FileDefinitions)" Exclude="@(__NativeCopyLocalItems)" />\r
454       <NativeCopyLocalItems Include="%(_NativeCopyLocalItems.ResolvedPath)" />\r
455 \r
456       <!--RuntimeAssembly-->\r
457       <_RuntimeFileItems Include="@(_ActiveTFMFileDependencies->WithMetadataValue('FileGroup', 'RuntimeAssembly'))" />\r
458       <__RuntimeCopyLocalItems Include="@(FileDefinitions)" Exclude="@(_RuntimeFileItems)" />\r
459       <_RuntimeCopyLocalItems Include="@(FileDefinitions)" Exclude="@(__RuntimeCopyLocalItems)" />\r
460       <RuntimeCopyLocalItems Include="%(_RuntimeCopyLocalItems.ResolvedPath)" />\r
461 \r
462       <!--ResourceAssembly-->\r
463       <_ResourceFileItems Include="@(_ActiveTFMFileDependencies->WithMetadataValue('FileGroup', 'ResourceAssembly'))" />\r
464       <__ResourceCopyLocalItems Include="@(FileDefinitions)" Exclude="@(_ResourceFileItems)" />\r
465       <_ResourceCopyLocalItems Include="@(FileDefinitions)" Exclude="@(__ResourceCopyLocalItems)" />\r
466       <ResourceCopyLocalItems Include="%(_ResourceCopyLocalItems.ResolvedPath)" />\r
467 \r
468       <!-- ALL -->\r
469       <_AllCopyLocalItems Include="@(_NativeCopyLocalItems);@(_RuntimeCopyLocalItems);@(_ResourceCopyLocalItems)" />\r
470 \r
471       <AllCopyLocalItems Include="@(_AllCopyLocalItems->'%(ResolvedPath)')">\r
472         <Private>false</Private>\r
473         <NuGetIsFrameworkReference>false</NuGetIsFrameworkReference>\r
474         <NuGetSourceType>Package</NuGetSourceType>\r
475         <NuGetPackageId>%(PackageName)</NuGetPackageId>\r
476         <NuGetPackageVersion>%(PackageVersion)</NuGetPackageVersion>\r
477       </AllCopyLocalItems>\r
478 \r
479       <AllCopyLocalItems Include="@(_ContentCopyLocalItems)">\r
480         <Private>false</Private>\r
481         <NuGetIsFrameworkReference>false</NuGetIsFrameworkReference>\r
482         <NuGetSourceType>Package</NuGetSourceType>\r
483         <NuGetPackageId>%(PackageName)</NuGetPackageId>\r
484         <NuGetPackageVersion>%(PackageVersion)</NuGetPackageVersion>\r
485       </AllCopyLocalItems>\r
486 \r
487     </ItemGroup>\r
488   </Target>\r
489 \r
490   <Target Name="ResolveLockFileCopyLocalProjectDeps"\r
491           Condition="'$(CopyLocalLockFileAssemblies)' == 'true'"\r
492           DependsOnTargets="_ComputeLockFileCopyLocal">\r
493 \r
494     <!-- Add the copy local items -->\r
495     <ItemGroup>\r
496       <ReferenceCopyLocalPaths Include="@(AllCopyLocalItems)" />\r
497     </ItemGroup>\r
498 \r
499   </Target>\r
500 \r
501 </Project>