未验证 提交 5f56a500 编写于 作者: V Viktor Hofer 提交者: GitHub

Remove multi-targeting from runtime.depproj (#41666)

* Remove multi-targeting from runtime.depproj

and convert it to a csproj and use the NoBuild msbuild sdk. Simplify the
project logic in relation to IL vs native code as well.
上级 a3a7e0d1
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
<Project>
<Import Condition="'$(IsCrossTargetingBuild)' != 'true'" Project="depProj.targets" />
<Import Condition="'$(IsCrossTargetingBuild)' == 'true'" Project="$(MSBuildExtensionsPath)\Microsoft.Common.CrossTargeting.targets" />
</Project>
<!--
***********************************************************************************************
depProj.targets
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
created a backup copy. Incorrect changes to this file will make it
impossible to load or build your projects from the command-line or the IDE.
This file defines the steps in the standard build process specific for NuGet deployment
projects. The remainder of the build process is defined in Microsoft.Common.targets,
which is imported by this file.
Licensed to the .NET Foundation under one or more agreements.
The .NET Foundation licenses this file to you under the MIT license.
***********************************************************************************************
-->
<Project InitialTargets="RemoveImplicitPackageReferences">
<!-- Deployment project
Restores NuGet dependencies and copies them to the output directory.
NuGetTargetMoniker - determined by the TargetFramework* and TargetPlatform*
properties of the project, can be overidden.
NuGetRuntimeIdentifier - defaults to <empty> (""), can be overidden.
NuGetDeploySourceItem - defaults to ReferenceCopyLocalPaths, can be overidden to
specify Reference (for compile assets) or Analyzer(for
analyzer assets)
For the appropriate behavior of P2P references the project should set the
TargetName and TargetExt to match one of the files that will be copied
from the packages.
-->
<PropertyGroup>
<!-- Always raise runtime/lib items even for frameworks that may not use them -->
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<!-- We don't need the SDK to validate that we get runtime packages -->
<EnsureRuntimePackageDependencies>false</EnsureRuntimePackageDependencies>
<!-- don't generate netcoreapp files -->
<GenerateDependencyFile>false</GenerateDependencyFile>
<GenerateRuntimeConfigurationFiles>false</GenerateRuntimeConfigurationFiles>
</PropertyGroup>
<PropertyGroup>
<NuGetDeploySourceItem Condition="'$(NuGetDeploySourceItem)' == ''">ReferenceCopyLocalPaths</NuGetDeploySourceItem>
<!-- suppress the attempt to copy build output. -->
<CopyBuildOutputToOutputDirectory>false</CopyBuildOutputToOutputDirectory>
<!-- Unless overridden, use no runtime identifier. This is transformed in packageresolve.targets.
We specify "None" here to avoid being assigned the default runtime for projects which set CopyNuGetImplementations=true. -->
<NuGetRuntimeIdentifier Condition="'$(NuGetRuntimeIdentifier)' == ''">None</NuGetRuntimeIdentifier>
<!-- make sure we tell nuget targets to copy, even if output type would not by default -->
<CopyNuGetImplementations>true</CopyNuGetImplementations>
</PropertyGroup>
<!-- This file results in importing the Build Target. -->
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" />
<Target Name="RemoveImplicitPackageReferences">
<ItemGroup>
<!-- Remove all implicit framework packages, depprojs are meant to be wholly explicit -->
<PackageReference Remove="@(PackageReference)" Condition="'%(PackageReference.IsImplicitlyDefined)' == 'true'" />
</ItemGroup>
</Target>
<Target Name="RunRestoreDuringBuild"
DependsOnTargets="Restore"
BeforeTargets="ResolvePackageAssets"
Condition="'$(VSDesignTimeBuild)' != 'true'" />
<Target Name="CoreCompile">
<Error Condition="'$(NuGetDeploySourceItem)' != 'ReferenceCopyLocalPaths' and
'$(NuGetDeploySourceItem)' != 'Reference' and
'$(NuGetDeploySourceItem)' != 'Analyzer'"
Text="Unexpected value for NuGetDeploySourceItem:'$(NuGetDeploySourceItem)'. Expected ReferenceCopyLocalPaths, Reference, or Analyzer." />
<ItemGroup>
<!-- Don't set IntermediateAssembly since this is not produced -->
<IntermediateAssembly Remove="@(IntermediateAssembly)" />
<NuGetDeploy Include="@($(NuGetDeploySourceItem))"/>
<!-- filter to only items that came from packages -->
<!-- the following condition must be applied after the include because msbuild doesn't seem
to support property-defined-item-names in a metadata statement -->
<NuGetDeploy Remove="@(NuGetDeploy)" Condition="'%(NuGetDeploy.NuGetPackageId)' == ''" />
<!-- remove all existing items from NuGet packages we'll be defining these in our own item -->
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.NuGetPackageId)' != ''"/>
<Reference Remove="@(Reference)" Condition="'%(Reference.NuGetPackageId)' != ''"/>
<Analyzer Remove="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' != ''"/>
<!-- add items defined by NuGetDeployItem property to Content so that we get clean behavior -->
<ContentWithTargetPath Include="@(NuGetDeploy)">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>%(NuGetDeploy.SubFolder)%(FileName)%(Extension)</TargetPath>
</ContentWithTargetPath>
</ItemGroup>
<Message Importance="High"
Condition="'@(NuGetDeploy)' == ''"
Text="$(MSBuildProjectFile): No assets were resolved from NuGet packages." />
<Message Importance="High"
Condition="'@(NuGetDeploy)' != ''"
Text="%(FullPath) (%(NuGetPackageId).%(NuGetPackageVersion)) -&gt; @(NuGetDeploy->'$(TargetDir)%(SubFolder)%(FileName)%(Extension)')" />
<!-- Include marker files if an extension has been provided -->
<!-- internal builds use this to distinguish files which have already been signed -->
<Touch Condition="'$(DeployMarkerExtension)' != ''" Files="@(NuGetDeploy->'$(TargetDir)%(FileName)$(DeployMarkerExtension)')" AlwaysCreate="true">
<Output TaskParameter="TouchedFiles" ItemName="FileWrites"/>
</Touch>
</Target>
<!-- Required by Common.Targets but not used for depproj -->
<Target Name="CreateManifestResourceNames" />
<Target Name="RemoveFrameworkReferences"
AfterTargets="ResolvePackageAssets">
<ItemGroup>
<ResolvedFrameworkAssemblies Remove="@(ResolvedFrameworkAssemblies)" Condition="'%(ResolvedFrameworkAssemblies.NuGetIsFrameworkReference)' == 'true'" />
</ItemGroup>
</Target>
<!-- Support filtering to a subset of packages or files -->
<Target Name="FilterNugetPackages"
BeforeTargets="ResolveAssemblyReferences"
DependsOnTargets="ResolvePackageAssets"
Condition="'@(PackageToInclude)' != '' or '@(PackageToExclude)' != '' or '@(FileToInclude)' != '' or '@(FileToExclude)' != ''">
<ItemGroup>
<_nuGetDeploy Include="@($(NuGetDeploySourceItem))"/>
<_nuGetDeployByFileName Include="@(_nuGetDeploy->'%(FileName)')">
<OriginalItemSpec>%(Identity)</OriginalItemSpec>
</_nuGetDeployByFileName>
<_nuGetDeployByFileNameToRemove Include="@(_nuGetDeployByFileName)" Exclude="@(FileToInclude)" Condition="'@(FileToInclude)' != ''" />
<_filteredNuGetDeployByFileName Include="@(_nuGetDeployByFileName)" Exclude="@(_nuGetDeployByFileNameToRemove);@(FileToExclude)" />
<_nuGetDeployByPackageId Include="@(_filteredNuGetDeployByFileName->'%(NuGetPackageId)')" />
<_nuGetDeployByPackageIdToRemove Include="@(_nuGetDeployByPackageId)" Exclude="@(PackageToInclude)" Condition="'@(PackageToInclude)' != ''" />
<_filteredNuGetDeployByPackageId Include="@(_nuGetDeployByPackageId)" Exclude="@(_nuGetDeployByPackageIdToRemove);@(PackageToExclude)" />
<ReferenceCopyLocalPaths Condition="'$(NuGetDeploySourceItem)' == 'ReferenceCopyLocalPaths'" Remove="@(ReferenceCopyLocalPaths)" />
<Reference Condition="'$(NuGetDeploySourceItem)' == 'Reference'" Remove="@(Reference)" />
<Analyzer Condition="'$(NuGetDeploySourceItem)' == 'Analyzer'" Remove="@(Analyzer)" />
</ItemGroup>
<CreateItem Include="@(_filteredNuGetDeployByPackageId->'%(OriginalItemSpec)')">
<Output TaskParameter="Include" ItemName="$(NuGetDeploySourceItem)" />
</CreateItem>
</Target>
</Project>
<Project InitialTargets="_ClearResolvePackageAssets" TreatAsLocalProperty="ExcludeRestorePackageImports">
<PropertyGroup>
<!-- Disable restoring of package references in our projects -->
<RestoreProjectStyle Condition="'$(MSBuildProjectExtension)' != '.depproj'">Unknown</RestoreProjectStyle>
<RestoreProjectStyle>Unknown</RestoreProjectStyle>
</PropertyGroup>
<PropertyGroup>
......@@ -21,12 +21,9 @@
Hack workaround for not restoring each project. Instead, we turn off all the targets
that require a `project.assets.json`, since ours will be empty anyway.
-->
<Target Name="_ClearResolvePackageAssets"
Condition="'$(MSBuildProjectExtension)' != '.depproj'">
<Target Name="_ClearResolvePackageAssets">
<PropertyGroup>
<ResolvePackageDependenciesForBuildDependsOn></ResolvePackageDependenciesForBuildDependsOn>
<ResolvePackageDependenciesForBuildDependsOn />
</PropertyGroup>
</Target>
</Project>
......@@ -18,7 +18,7 @@
"Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20431.4",
"Microsoft.FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0",
"Microsoft.NET.Sdk.IL": "5.0.0-preview.8.20359.4",
"Microsoft.Build.NoTargets": "1.0.53",
"Microsoft.Build.Traversal": "2.0.52"
"Microsoft.Build.NoTargets": "2.0.1",
"Microsoft.Build.Traversal": "2.1.1"
}
}
......@@ -13,7 +13,6 @@
<BeforeTargetFrameworkInferenceTargets>$(RepositoryEngineeringDir)BeforeTargetFrameworkInference.targets</BeforeTargetFrameworkInferenceTargets>
<IsSourceProject>$([System.Text.RegularExpressions.Regex]::IsMatch($(MSBuildProjectDirectory), 'src%24'))</IsSourceProject>
<IsReferenceAssembly Condition="'$(IsReferenceAssembly)' == '' and ($(MSBuildProjectFullPath.Contains('\ref\')) or $(MSBuildProjectFullPath.Contains('/ref/')))">true</IsReferenceAssembly>
<LanguageTargets Condition="'$(MSBuildProjectExtension)' == '.depproj'">$(RepositoryEngineeringDir)depProj.common.targets</LanguageTargets>
<RuntimeGraph>$(LibrariesProjectRoot)OSGroups.json</RuntimeGraph>
<ShouldUnsetParentConfigurationAndPlatform>false</ShouldUnsetParentConfigurationAndPlatform>
<!-- Remove once is fixed: https://github.com/dotnet/roslyn/issues/42344 -->
......@@ -284,7 +283,7 @@
<Import Project="$(RepositoryEngineeringDir)referenceAssemblies.props" Condition="'$(IsReferenceAssembly)' == 'true'" />
<PropertyGroup>
<DisableProjectRestore Condition="'$(MSBuildProjectExtension)' == '.depproj' or '$(MSBuildProjectExtension)' == '.pkgproj'">true</DisableProjectRestore>
<DisableProjectRestore Condition="'$(MSBuildProjectExtension)' == '.pkgproj'">true</DisableProjectRestore>
</PropertyGroup>
<Import Project="$(RepositoryEngineeringDir)restore\repoRestore.props" Condition="'$(DisableProjectRestore)' == 'true'" />
......
......@@ -265,7 +265,7 @@
<!-- The Default behavior in VS is to show files for the first target framework in TargetFrameworks property.
This is required to show all the files corresponding to all target frameworks in VS. -->
<ItemGroup>
<ItemGroup Condition="'$(BuildingInsideVisualStudio)' == 'true' or '$(DesignTimeBuild)' == 'true'">
<None Include="$(MSBuildProjectDirectory)\**\*.cs"
Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);@(Compile)" />
</ItemGroup>
......
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.Build.NoTargets">
<PropertyGroup>
<!-- Set the RuntimeIdentifier so that the DotNetHost and DotNetHostPolicy packages resolve for the corresponding runtime. -->
<RuntimeIdentifier>$(PackageRID)</RuntimeIdentifier>
<NoWarn>$(NoWarn);NU1603;NU1605</NoWarn>
<SwapNativeForIL Condition="'$(SwapNativeForIL)' == '' and ('$(Configuration)' == 'Debug' or '$(Coverage)' == 'true') and '$(RuntimeFlavor)' != 'Mono'">true</SwapNativeForIL>
<TargetFrameworks>$(NetCoreAppCurrent)</TargetFrameworks>
<!-- Binplace properties -->
<BinPlaceForTargetVertical>false</BinPlaceForTargetVertical>
<BinPlaceNative>true</BinPlaceNative>
<BinPlaceRuntime>false</BinPlaceRuntime>
<TargetFrameworks>$(NetCoreAppCurrent)-Windows_NT;$(NetCoreAppCurrent)-Unix;$(NetCoreAppCurrent)-Browser</TargetFrameworks>
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>
<ItemGroup Condition="'$(DotNetBuildFromSource)' != 'true'">
<PackageReference Include="Microsoft.DiaSymReader.Native" Version="1.7.0" />
<PackageReference Include="Microsoft.DiaSymReader.Native"
Version="$(MicrosoftDiaSymReaderNativeVersion)" />
</ItemGroup>
<ItemGroup Condition="'$(TargetsMobile)' != 'true'">
<PackageReference Include="Microsoft.NETCore.DotNetHost" Version="$(MicrosoftNETCoreDotNetHostVersion)" />
<PackageReference Include="Microsoft.NETCore.DotNetHostPolicy" Version="$(MicrosoftNETCoreDotNetHostPolicyVersion)" />
<!-- We do not need apphost.exe and the 3.0 SDK will actually remove it.
Exclude here so that when building with the 2.x SDK we don't place it in the test shared framework.
This can be removed once we have a new SDK -->
<FileToExclude Include="apphost" />
<PackageReference Include="Microsoft.NETCore.DotNetHost"
Version="$(MicrosoftNETCoreDotNetHostVersion)" />
<PackageReference Include="Microsoft.NETCore.DotNetHostPolicy"
Version="$(MicrosoftNETCoreDotNetHostPolicyVersion)" />
</ItemGroup>
<!-- Setup the testing shared framework host -->
<Target Name="SetupTestingHost"
Condition="'$(BinPlaceTestSharedFramework)' == 'true'"
AfterTargets="AfterResolveReferences">
<PropertyGroup>
<HostFxrFileName Condition="'$(TargetsWindows)' == 'true'">hostfxr</HostFxrFileName>
<HostFxrFileName Condition="'$(TargetsWindows)' != 'true'">libhostfxr</HostFxrFileName>
<HostPolicyFileName Condition="'$(TargetsWindows)' == 'true'">hostpolicy</HostPolicyFileName>
<HostPolicyFileName Condition="'$(TargetsWindows)' != 'true'">libhostpolicy</HostPolicyFileName>
<UseHardlink>true</UseHardlink>
<!-- workaround core-setup problem for hardlinking dotnet executable to testhost: core-setup #4742 -->
<UseHardlink Condition="'$(_runtimeOSFamily)' == 'FreeBSD'">false</UseHardlink>
</PropertyGroup>
<!-- We do not need apphost.exe.
Exclude here so that when building with the 2.x SDK we don't place it in the test shared framework. -->
<ItemGroup>
<HostFxFile Include="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.Filename)' == '$(HostFxrFileName)'" />
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="'%(Filename)' == 'apphost'" />
</ItemGroup>
<ItemGroup>
<HostFxFile Include="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.Filename)' == 'hostfxr' or
'%(ReferenceCopyLocalPaths.Filename)' == 'libhostfxr'" />
<DotnetExe Include="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.Filename)' == 'dotnet'" />
</ItemGroup>
......@@ -57,19 +60,26 @@
<Target Name="OverrideRuntimeCoreCLR"
DependsOnTargets="ResolveRuntimeFilesFromLocalBuild"
AfterTargets="AfterResolveReferences;FilterNugetPackages"
AfterTargets="AfterResolveReferences"
Condition="'$(RuntimeFlavor)' != 'Mono'">
<ItemGroup>
<!-- CoreRun is not used for testing anymore, but we still use it for benchmarking and profiling -->
<RuntimeFiles Include="$(CoreCLRArtifactsPath)/corerun*" />
<RuntimeFiles Include="$(CoreCLRArtifactsPath)/PDB/corerun*" />
<RuntimeFiles Include="$(CoreCLRArtifactsPath)\corerun*" />
<RuntimeFiles Include="$(CoreCLRArtifactsPath)\PDB\corerun*" />
<ReferenceCopyLocalPaths Include="@(RuntimeFiles)" />
</ItemGroup>
<ItemGroup Condition="'$(SwapNativeForIL)' == 'true'">
<CoreCLRILFiles Include="$(CoreCLRArtifactsPath)\IL\*.*" />
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="'@(CoreCLRILFiles->'%(FileName)%(Extension)')' == '%(FileName)%(Extension)'" />
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="'@(CoreCLRILFiles->'%(FileName).ni%(Extension)')' == '%(FileName)%(Extension)'" />
<ReferenceCopyLocalPaths Include="@(CoreCLRILFiles)" />
</ItemGroup>
<Error Condition="'$(SwapNativeForIL)' == 'true' and '@(CoreCLRILFiles)' == ''" Text="Could not locate CoreCLR IL files." />
</Target>
<Target Name="OverrideRuntimeMono"
DependsOnTargets="ResolveRuntimeFilesFromLocalBuild"
AfterTargets="AfterResolveReferences;FilterNugetPackages"
AfterTargets="AfterResolveReferences"
Condition="'$(RuntimeFlavor)' == 'Mono'">
<ItemGroup>
<ReferenceCopyLocalPaths Include="@(RuntimeFiles)" />
......@@ -80,30 +90,4 @@
DestinationSubDirectory="include/%(RecursiveDir)" />
</ItemGroup>
</Target>
<Target Name="GetCoreCLRILFiles" DependsOnTargets="ResolveRuntimeFilesFromLocalBuild">
<ItemGroup>
<CoreCLRILFiles Include="$(CoreCLRArtifactsPath)/IL/*.*" />
</ItemGroup>
<Error Condition="'@(CoreCLRILFiles)' == ''" Text="Could not locate CoreCLR IL files." />
</Target>
<Target Name="SwapNativeForIL"
AfterTargets="AfterResolveReferences"
DependsOnTargets="GetCoreCLRILFiles;OverrideRuntimeCoreCLR"
Condition="'$(SwapNativeForIL)' == 'true'">
<ItemGroup>
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="'@(CoreCLRILFiles->'%(FileName)%(Extension)')' == '%(FileName)%(Extension)'" />
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="'@(CoreCLRILFiles->'%(FileName).ni%(Extension)')' == '%(FileName)%(Extension)'" />
<ReferenceCopyLocalPaths Include="@(CoreCLRILFiles)" />
</ItemGroup>
</Target>
<!-- Strip away placeholder tfms and TargetFrameworkSuffix. -->
<Target Name="StripTargetFrameworkSuffixFromTargetFrameworks"
BeforeTargets="_GetRestoreTargetFrameworksOutput;_GetRestoreTargetFrameworksAsItems">
<PropertyGroup>
<TargetFrameworks Condition="'$(TargetFrameworks)' != ''">$([System.Text.RegularExpressions.Regex]::Replace('$(TargetFrameworks)', '-[^;]+', ''))</TargetFrameworks>
</PropertyGroup>
</Target>
</Project>
......@@ -8,22 +8,22 @@
</PropertyGroup>
<!--
Explicitly build the runtime.depproj project first to create the PlatformManifest for
Explicitly build the externals.csproj project first to create the PlatformManifest for
the targeting and runtimepack before the test runners which consume that asset are built.
-->
<ItemGroup>
<RuntimeProject Include="$(MSBuildThisFileDirectory)restore\runtime\runtime.depproj" />
<ProjectReference Include="@(RuntimeProject)" Condition="'$(MSBuildRestoreSessionId)' != ''" />
<ExternalsProject Include="externals.csproj" />
<ProjectReference Include="@(ExternalsProject)" Condition="'$(MSBuildRestoreSessionId)' != ''" />
<ProjectReference Include="$(CommonTestPath)AppleTestRunner\AppleTestRunner.csproj" Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'"/>
<ProjectReference Include="$(CommonTestPath)AndroidTestRunner\AndroidTestRunner.csproj" Condition="'$(TargetOS)' == 'Android'" />
<ProjectReference Include="$(CommonTestPath)WasmTestRunner\WasmTestRunner.csproj" Condition="'$(TargetOS)' == 'Browser'" />
</ItemGroup>
<Target Name="RestoreRuntimeDepproj"
<Target Name="BuildExternalsProject"
BeforeTargets="Build">
<MSBuild Targets="Build"
Projects="@(RuntimeProject)"
Projects="@(ExternalsProject)"
Properties="$(TraversalGlobalProperties)" />
</Target>
......@@ -48,7 +48,7 @@
<UsingTask TaskName="GenerateFileVersionProps" AssemblyFile="$(InstallerTasksAssemblyPath)"/>
<Target Name="GenerateFileVersionPropsRuntimePack"
DependsOnTargets="GetSharedFrameworkRuntimeFiles"
AfterTargets="RestoreRuntimeDepproj"
AfterTargets="BuildExternalsProject"
Inputs="@(SharedFrameworkRuntimeFile)"
Outputs="$(MicrosoftNetCoreAppRuntimePackDir)data\PlatformManifest.txt"
Condition="'$(BuildingNETCoreAppVertical)' == 'true'">
......@@ -63,7 +63,7 @@
<!-- Generate the ref pack's PlatformManifest -->
<Target Name="GenerateFileVersionPropsRefPack"
DependsOnTargets="GetSharedFrameworkRuntimeFiles"
AfterTargets="RestoreRuntimeDepproj"
AfterTargets="BuildExternalsProject"
Inputs="@(SharedFrameworkRuntimeFile)"
Outputs="$(MicrosoftNetCoreAppRefPackDataDir)PlatformManifest.txt"
Condition="'$(BuildingNETCoreAppVertical)' == 'true'">
......@@ -78,7 +78,7 @@
<!-- Generate the shared framework's deps.json -->
<UsingTask TaskName="GenerateTestSharedFrameworkDepsFile" AssemblyFile="$(InstallerTasksAssemblyPath)"/>
<Target Name="GenerateTestSharedFrameworkAssets"
AfterTargets="RestoreRuntimeDepproj"
AfterTargets="BuildExternalsProject"
Inputs="$(NETCoreAppTestSharedFrameworkPath)*.*"
Outputs="$(NETCoreAppTestSharedFrameworkPath)$(SharedFrameworkName).deps.json"
Condition="'$(BinPlaceTestSharedFramework)' == 'true'">
......@@ -117,7 +117,7 @@
<UsingTask TaskName="CreateFrameworkListFile" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)"/>
<Target Name="GenerateRuntimeListFile"
DependsOnTargets="GetRuntimePackFiles"
AfterTargets="RestoreRuntimeDepproj"
AfterTargets="BuildExternalsProject"
Inputs="@(RuntimePackLibFile);@(RuntimePackNativeFile)"
Outputs="$(MicrosoftNetCoreAppRuntimePackDir)data\RuntimeList.xml"
Condition="'$(BuildingNETCoreAppVertical)' == 'true'">
......
<Project>
<Import Project="..\Directory.Build.props" />
<PropertyGroup>
<!-- We need configuration-specific assets files which requires the IntermeidateOutputPath to be set. -->
<IntermediateOutputPath>$([MSBuild]::NormalizeDirectory('$(BaseIntermediateOutputPath)', '$(TargetFramework)-$(TargetFrameworkSuffix)-$(Configuration)'))</IntermediateOutputPath>
<IntermediateOutputPath Condition="'$(TargetFrameworkSuffix)' == ''">$([MSBuild]::NormalizeDirectory('$(BaseIntermediateOutputPath)', '$(TargetFramework)-$(Configuration)'))</IntermediateOutputPath>
<RestoreOutputPath>$(IntermediateOutputPath)</RestoreOutputPath>
<ProjectAssetsFile>$(RestoreOutputPath)/project.assets.json</ProjectAssetsFile>
<MSBuildProjectExtensionsPath>$(IntermediateOutputPath)</MSBuildProjectExtensionsPath>
<SkipDeriveTargetFrameworks>true</SkipDeriveTargetFrameworks>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
</PropertyGroup>
<!-- don't bring in props/targets from packages, we're not consuming them we're
deploying them -->
<ItemDefinitionGroup>
<PackageReference>
<ExcludeAssets>Build</ExcludeAssets>
</PackageReference>
</ItemDefinitionGroup>
</Project>
<Project>
<Import Project="..\Directory.Build.targets" />
<PropertyGroup>
<PrereleaseResolveNuGetPackages>true</PrereleaseResolveNuGetPackages>
</PropertyGroup>
</Project>
<Project>
<PropertyGroup>
<OutDirName>external.$(MSBuildProjectName)</OutDirName>
</PropertyGroup>
<Import Project="..\Directory.Build.props" />
</Project>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册