Switch to new Microsoft.DotNet.SharedFramework.Sdk (#909)

This commit is contained in:
Jeremy Koritzinsky 2021-01-04 22:13:12 -08:00 коммит произвёл GitHub
Родитель e245df05ce
Коммит c9fc704e5f
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
45 изменённых файлов: 183 добавлений и 971 удалений

Просмотреть файл

@ -162,20 +162,21 @@
<ExeSuffix Condition="'$(OSGroup)'=='Windows_NT'">.exe</ExeSuffix>
</PropertyGroup>
<PropertyGroup Condition="'$(OutputRid)' == '' and '$(HostRuntimeIdentifier)' != ''">
<OutputRid>$(HostRuntimeIdentifier.Remove($(HostRuntimeIdentifier.LastIndexOf('-'))))-$(TargetArchitecture)</OutputRid>
<PropertyGroup Condition="'$(RuntimeIdentifier)' == '' and '$(HostRuntimeIdentifier)' != ''">
<RuntimeIdentifier>$(HostRuntimeIdentifier.Remove($(HostRuntimeIdentifier.LastIndexOf('-'))))-$(TargetArchitecture)</RuntimeIdentifier>
</PropertyGroup>
<!-- Portable -->
<PropertyGroup Condition="'$(PortableBuild)' == 'true'">
<OutputRid Condition="'$(OSGroup)' == 'Windows_NT'">win-$(TargetArchitecture)</OutputRid>
<OutputRid Condition="'$(OSGroup)' == 'OSX'">osx-$(TargetArchitecture)</OutputRid>
<OutputRid Condition="'$(OSGroup)' == 'Linux' or '$(OSGroup)' == 'Unix'">linux-$(TargetArchitecture)</OutputRid>
<OutputRid Condition="'$(OSGroup)' == 'FreeBSD'">freebsd-$(TargetArchitecture)</OutputRid>
<RuntimeIdentifier Condition="'$(OSGroup)' == 'Windows_NT'">win-$(TargetArchitecture)</RuntimeIdentifier>
<RuntimeIdentifier Condition="'$(OSGroup)' == 'OSX'">osx-$(TargetArchitecture)</RuntimeIdentifier>
<RuntimeIdentifier Condition="'$(OSGroup)' == 'Linux' or '$(OSGroup)' == 'Unix'">linux-$(TargetArchitecture)</RuntimeIdentifier>
<RuntimeIdentifier Condition="'$(OSGroup)' == 'FreeBSD'">freebsd-$(TargetArchitecture)</RuntimeIdentifier>
</PropertyGroup>
<PropertyGroup>
<TestTargetRid Condition="'$(TestTargetRid)' == ''">$(OutputRid)</TestTargetRid>
<TestTargetRid Condition="'$(TestTargetRid)' == ''">$(RuntimeIdentifier)</TestTargetRid>
<InstallerRuntimeIdentifier Condition="'$(InstallerRuntimeIdentifier)' == ''">$(RuntimeIdentifier)</InstallerRuntimeIdentifier>
</PropertyGroup>
<!-- Produce assets into the specified blob feed. -->
@ -185,7 +186,7 @@
<!-- Set up the default output and intermediate paths -->
<PropertyGroup>
<OSPlatformConfig>$(OutputRid).$(ConfigurationGroup)</OSPlatformConfig>
<OSPlatformConfig>$(RuntimeIdentifier).$(ConfigurationGroup)</OSPlatformConfig>
<BaseOutputRootPath>$(BinDir)$(OSPlatformConfig)\</BaseOutputRootPath>
<CrossGenRootPath>$(BaseOutputRootPath)crossgen\</CrossGenRootPath>
@ -207,7 +208,7 @@
<DisableCrossgen>false</DisableCrossgen>
<!-- Disable cross-gen on FreeBSD for now. This can be revisited when we have full support. -->
<DisableCrossgen Condition="'$(OSGroup)'=='FreeBSD'">true</DisableCrossgen>
<OutputVersionBadge>$(AssetOutputPath)sharedfx_$(OutputRid)_$(ConfigurationGroup)_version_badge.svg</OutputVersionBadge>
<OutputVersionBadge>$(AssetOutputPath)sharedfx_$(RuntimeIdentifier)_$(ConfigurationGroup)_version_badge.svg</OutputVersionBadge>
</PropertyGroup>
<!-- Set up handling of build warnings -->
@ -232,74 +233,74 @@
<TargetsSles>false</TargetsSles>
</PropertyGroup>
<Choose>
<When Condition="$(OutputRid.StartsWith('win'))">
<When Condition="$(RuntimeIdentifier.StartsWith('win'))">
<PropertyGroup>
<TargetsWindows>true</TargetsWindows>
</PropertyGroup>
</When>
<When Condition="$(OutputRid.StartsWith('osx'))">
<When Condition="$(RuntimeIdentifier.StartsWith('osx'))">
<PropertyGroup>
<TargetsOSX>true</TargetsOSX>
<TargetsUnix>true</TargetsUnix>
</PropertyGroup>
</When>
<When Condition="$(OutputRid.StartsWith('debian'))">
<When Condition="$(RuntimeIdentifier.StartsWith('debian'))">
<PropertyGroup>
<TargetsDebian>true</TargetsDebian>
<TargetsLinux>true</TargetsLinux>
<TargetsUnix>true</TargetsUnix>
</PropertyGroup>
</When>
<When Condition="$(OutputRid.StartsWith('ubuntu'))">
<When Condition="$(RuntimeIdentifier.StartsWith('ubuntu'))">
<PropertyGroup>
<TargetsUbuntu>true</TargetsUbuntu>
<TargetsLinux>true</TargetsLinux>
<TargetsUnix>true</TargetsUnix>
</PropertyGroup>
</When>
<When Condition="$(OutputRid.StartsWith('linuxmint'))">
<When Condition="$(RuntimeIdentifier.StartsWith('linuxmint'))">
<PropertyGroup>
<TargetsLinuxMint>true</TargetsLinuxMint>
<TargetsLinux>true</TargetsLinux>
<TargetsUnix>true</TargetsUnix>
</PropertyGroup>
</When>
<When Condition="$(OutputRid.StartsWith('rhel'))">
<When Condition="$(RuntimeIdentifier.StartsWith('rhel'))">
<PropertyGroup>
<TargetsRhel>true</TargetsRhel>
<TargetsLinux>true</TargetsLinux>
<TargetsUnix>true</TargetsUnix>
</PropertyGroup>
</When>
<When Condition="$(OutputRid.StartsWith('centos'))">
<When Condition="$(RuntimeIdentifier.StartsWith('centos'))">
<PropertyGroup>
<TargetsCentos>true</TargetsCentos>
<TargetsLinux>true</TargetsLinux>
<TargetsUnix>true</TargetsUnix>
</PropertyGroup>
</When>
<When Condition="$(OutputRid.StartsWith('opensuse'))">
<When Condition="$(RuntimeIdentifier.StartsWith('opensuse'))">
<PropertyGroup>
<TargetsOpensuse>true</TargetsOpensuse>
<TargetsLinux>true</TargetsLinux>
<TargetsUnix>true</TargetsUnix>
</PropertyGroup>
</When>
<When Condition="$(OutputRid.StartsWith('fedora'))">
<When Condition="$(RuntimeIdentifier.StartsWith('fedora'))">
<PropertyGroup>
<TargetsFedora>true</TargetsFedora>
<TargetsLinux>true</TargetsLinux>
<TargetsUnix>true</TargetsUnix>
</PropertyGroup>
</When>
<When Condition="$(OutputRid.StartsWith('oracle'))">
<When Condition="$(RuntimeIdentifier.StartsWith('oracle'))">
<PropertyGroup>
<TargetsOracle>true</TargetsOracle>
<TargetsLinux>true</TargetsLinux>
<TargetsUnix>true</TargetsUnix>
</PropertyGroup>
</When>
<When Condition="$(OutputRid.StartsWith('sles'))">
<When Condition="$(RuntimeIdentifier.StartsWith('sles'))">
<PropertyGroup>
<TargetsSles>true</TargetsSles>
<TargetsLinux>true</TargetsLinux>
@ -326,10 +327,10 @@
</PropertyGroup>
<!-- Use actual publishable (non-dummy) package name produced by the build system for this RID -->
<PropertyGroup Condition="'$(OutputRid)' != ''">
<PackageTargetRid>$(OutputRid)</PackageTargetRid>
<PackageTargetRid Condition="'$(OutputRid)' == 'osx.10.11-x64'">osx.10.10-x64</PackageTargetRid>
<PackageTargetRid Condition="$(OutputRid.StartsWith('rhel.7.')) and $(OutputRid.EndsWith('-x64'))">rhel.7-x64</PackageTargetRid>
<PropertyGroup Condition="'$(RuntimeIdentifier)' != ''">
<PackageTargetRid>$(RuntimeIdentifier)</PackageTargetRid>
<PackageTargetRid Condition="'$(RuntimeIdentifier)' == 'osx.10.11-x64'">osx.10.10-x64</PackageTargetRid>
<PackageTargetRid Condition="$(RuntimeIdentifier.StartsWith('rhel.7.')) and $(RuntimeIdentifier.EndsWith('-x64'))">rhel.7-x64</PackageTargetRid>
</PropertyGroup>
<PropertyGroup Condition="'$(UsingNETSdkCompiler)' != 'true'">

Просмотреть файл

@ -2,12 +2,7 @@
<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<Import Project="$(RepositoryEngineeringDir)/DisableSourceControlManagement.targets" Condition="'$(EnableSourceLink)' == 'false'" />
<!-- Provide default targets which can be hooked onto or overridden as necessary -->
<Target Name="Pack" />
<UsingTask TaskName="RegenerateReadmeTable" AssemblyFile="$(LocalBuildToolsTaskFile)" />
<PropertyGroup>
<!--
Define this here (not just in Versions.props) because the SDK resets it
@ -15,61 +10,4 @@
-->
<NETCoreAppMaximumVersion>$(MajorVersion).$(MinorVersion)</NETCoreAppMaximumVersion>
</PropertyGroup>
<!-- Common target to find all sfxproj. In a target to avoid evaluating for every project. -->
<Target Name="GetSharedFrameworkProjects">
<ItemGroup>
<SharedFrameworkProject Include="$(RepoRoot)pkg\**\*.sfxproj" />
</ItemGroup>
</Target>
<!--
Arcade SDK versioning is defined by static properties in a targets file: work around this by
moving properties based on versioning into a target.
-->
<Target Name="GetProductVersions">
<PropertyGroup>
<IncludePreReleaseLabelInPackageVersion Condition="'$(DotNetFinalVersionKind)' != 'release'">true</IncludePreReleaseLabelInPackageVersion>
<IncludePreReleaseLabelInPackageVersion Condition="'$(SuppressFinalPackageVersion)' == 'true'">true</IncludePreReleaseLabelInPackageVersion>
<IncludePreReleaseLabelInPackageVersion Condition="'$(IsShipping)' != 'true'">true</IncludePreReleaseLabelInPackageVersion>
<IncludeBuildNumberInPackageVersion Condition="'$(StabilizePackageVersion)' != 'true'">true</IncludeBuildNumberInPackageVersion>
<IncludeBuildNumberInPackageVersion Condition="'$(SuppressFinalPackageVersion)' == 'true'">true</IncludeBuildNumberInPackageVersion>
<IncludeBuildNumberInPackageVersion Condition="'$(IsShipping)' != 'true'">true</IncludeBuildNumberInPackageVersion>
<ProductVersionSuffix Condition="'$(IncludePreReleaseLabelInPackageVersion)' == 'true'">-$(VersionSuffix)</ProductVersionSuffix>
<ProductBandVersion Condition="'$(ProductBandVersion)' == ''">$(MajorVersion).$(MinorVersion)</ProductBandVersion>
<ProductionVersion Condition="'$(ProductionVersion)' == ''">$(ProductBandVersion).$(PatchVersion)</ProductionVersion>
<ProductVersion>$(ProductionVersion)$(ProductVersionSuffix)</ProductVersion>
<SharedFrameworkNugetVersion>$(ProductVersion)</SharedFrameworkNugetVersion>
<NuGetVersion>$(SharedFrameworkNugetVersion)</NuGetVersion>
<InstallersRelativePath>WindowsDesktop/$(SharedFrameworkNugetVersion)/</InstallersRelativePath>
</PropertyGroup>
<PropertyGroup Condition="'$(OutputRid)' != ''">
<ProductMoniker>$(SharedFrameworkNugetVersion)-$(PackageTargetRid)</ProductMoniker>
<HostResolverVersionMoniker>$(HostResolverVersion)-$(PackageTargetRid)</HostResolverVersionMoniker>
</PropertyGroup>
</Target>
<!-- Target used by shared framework tooling SDK, but only for NETCoreApp properties. Stub. -->
<Target Name="GetInstallerLocations"
DependsOnTargets="GetProductVersions" />
<Target Name="GetLatestCommitHash"
Condition="'$(LatestCommit)' == ''">
<!-- Get the latest commit hash -->
<Exec Command="git rev-parse HEAD 2>&amp;1" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
<Output TaskParameter="ConsoleOutput" PropertyName="LatestCommit" />
<Output TaskParameter="ExitCode" PropertyName="LatestCommitExitCode" />
</Exec>
<!-- We shouldn't fail the build if we can't retreive the commit hash, so in this case just set it to N/A -->
<PropertyGroup Condition="'$(LatestCommitExitCode)'!='0'">
<LatestCommit>N/A</LatestCommit>
</PropertyGroup>
</Target>
</Project>

Просмотреть файл

@ -39,21 +39,11 @@
<ItemGroup>
<SubsetName
Include="depproj"
Description="The dependency projects. These gather shared framework files and run crossgen on them to turn them into ready-to-run (R2R) assemblies for the current platform." />
</ItemGroup>
<ItemGroup Condition="'$(SubsetToLower)' == '' or $(SubsetToLower.Contains('depproj'))">
<DepprojProjectToBuild Include="$(RepoRoot)pkg\**\*.depproj" SignPhase="Binaries" />
<ProjectToBuild Include="@(DepprojProjectToBuild)" />
</ItemGroup>
<ItemGroup>
<SubsetName
Include="pkgproj"
Include="Packages"
Description="The packaging projects. These produce NETCoreApp and WindowsDesktop assets: NuGet packages, installers, zips, and Linux packages." />
</ItemGroup>
<ItemGroup Condition="'$(SubsetToLower)' == '' or $(SubsetToLower.Contains('pkgproj'))">
<PkgprojProjectToBuild Include="$(RepoRoot)pkg\**\*.pkgproj" SignPhase="MsiFiles" />
<ItemGroup Condition="'$(SubsetToLower)' == '' or $(SubsetToLower.Contains('packages'))">
<PkgprojProjectToBuild Include="$(RepoRoot)pkg\**\*.sfxproj" SignPhase="MsiFiles" />
<ProjectToBuild Include="@(PkgprojProjectToBuild)" />
</ItemGroup>
@ -67,17 +57,6 @@
<ProjectToBuild Include="@(BundleProjectToBuild)" />
</ItemGroup>
<ItemGroup>
<SubsetName
Include="Installer"
Description="Creates final installer files. Signs the burn bundle, including engine, and produces NuGet packages for VS insertion." />
</ItemGroup>
<ItemGroup Condition="'$(SubsetToLower)' == '' or $(SubsetToLower.Contains('installer'))">
<InstallerProjectToBuild Include="$(RepoRoot)pkg\signed-bundle\signed-bundle.proj" />
<InstallerProjectToBuild Include="$(RepoRoot)pkg\vs-insertion-packages\vs-insertion-packages.proj" />
<ProjectToBuild Include="@(InstallerProjectToBuild)" />
</ItemGroup>
<ItemGroup>
<SubsetName
Include="Badge"

Просмотреть файл

@ -121,7 +121,7 @@
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>f56a56f90ff9124c85e4d889faeeca0824d2d437</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Internal" Version="6.0.0-alpha.1.20561.11" CoherentParentDependency="Microsoft.Private.Winforms">
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.6.0" Version="6.0.0-alpha.1.20561.11" CoherentParentDependency="Microsoft.Private.Winforms">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>f56a56f90ff9124c85e4d889faeeca0824d2d437</Sha>
</Dependency>
@ -143,11 +143,19 @@
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>4c8515c18ebe0071c32fed467ee3890fbd488898</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.SharedFramework" Version="6.0.0-beta.20630.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>4c8515c18ebe0071c32fed467ee3890fbd488898</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Archives" Version="6.0.0-beta.20630.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>4c8515c18ebe0071c32fed467ee3890fbd488898</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="6.0.0-beta.20630.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>4c8515c18ebe0071c32fed467ee3890fbd488898</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk" Version="6.0.0-beta.20630.2">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.20630.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>4c8515c18ebe0071c32fed467ee3890fbd488898</Sha>
</Dependency>

Просмотреть файл

@ -40,11 +40,13 @@
<PropertyGroup>
<!-- arcade -->
<MicrosoftDotNetBuildTasksFeedVersion>6.0.0-beta.20630.2</MicrosoftDotNetBuildTasksFeedVersion>
<MicrosoftDotNetBuildTasksArchivesVersion>6.0.0-beta.20630.2</MicrosoftDotNetBuildTasksArchivesVersion>
<MicrosoftDotNetBuildTasksPackagingVersion>6.0.0-beta.20630.2</MicrosoftDotNetBuildTasksPackagingVersion>
<MicrosoftDotNetBuildTasksInstallersVersion>6.0.0-beta.20630.2</MicrosoftDotNetBuildTasksInstallersVersion>
<MicrosoftDotNetVersionToolsTasksVersion>6.0.0-beta.20630.2</MicrosoftDotNetVersionToolsTasksVersion>
<!-- core-setup -->
<MicrosoftNETCoreAppRefVersion>6.0.0-alpha.1.20561.11</MicrosoftNETCoreAppRefVersion>
<MicrosoftNETCoreAppInternalVersion>6.0.0-alpha.1.20561.11</MicrosoftNETCoreAppInternalVersion>
<VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion>6.0.0-alpha.1.20561.11</VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion>
<MicrosoftNETCoreAppRuntimewinx64Version>6.0.0-alpha.1.20561.11</MicrosoftNETCoreAppRuntimewinx64Version>
<!-- corefx -->
<MicrosoftNETCorePlatformsVersion>6.0.0-alpha.1.20561.11</MicrosoftNETCorePlatformsVersion>

Просмотреть файл

@ -4,6 +4,7 @@
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.20630.2",
"Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "6.0.0-beta.20630.2"
"Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.20630.2",
"Microsoft.Build.NoTargets": "1.0.53"
}
}

Просмотреть файл

@ -1,9 +1,8 @@
<Project>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.props))\Directory.Build.props" />
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk" />
<PropertyGroup>
<TargetFramework>$(NETCoreAppFramework)</TargetFramework>
<PackageLicenseFile>$(ProjectDir)LICENSE.TXT</PackageLicenseFile>
<PackageThirdPartyNoticesFile>$(ProjectDir)THIRD-PARTY-NOTICES.TXT</PackageThirdPartyNoticesFile>
<LicenseUrl>https://github.com/dotnet/core-setup/blob/master/LICENSE.TXT</LicenseUrl>
@ -12,207 +11,38 @@
<ReleaseNotes>https://go.microsoft.com/fwlink/?LinkID=799417</ReleaseNotes>
<ProjectUrl>https://dot.net</ProjectUrl>
<RepositoryUrl>https://github.com/dotnet/windowsdesktop</RepositoryUrl>
<!-- this repo doesn't currently use the index so don't force it to be in sync -->
<SkipIndexCheck>true</SkipIndexCheck>
</PropertyGroup>
<ItemGroup>
<PackageIndex Include="$(MSBuildThisFileDirectory)packageIndex.json" />
</ItemGroup>
<PropertyGroup>
<PackagePlatform>AnyCPU</PackagePlatform>
<SkipPackageFileCheck>true</SkipPackageFileCheck>
<!-- This property must be set to the same value as $(PackageOutputPath) for the nuspecs and nupkgs to be binplaced to the intended location. -->
<OutputPath>$(PackageOutputPath)</OutputPath>
<PackageTargetRuntime Condition="'$(PackageTargetRuntime)' == '' AND '$(MSBuildProjectExtension)' == '.depproj'">$(RuntimeIdentifier)</PackageTargetRuntime>
<BuildRuntimePackages Condition="'$(BuildRuntimePackages)' == ''">true</BuildRuntimePackages>
<BuildLineupPackage Condition="'$(BuildLineupPackage)' == ''">true</BuildLineupPackage>
<PackProjectDependencies Condition="'$(PackProjectDependencies)' == ''">true</PackProjectDependencies>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<!-- Prevent unintended Microsoft.NETCore.Platforms package downgrade. -->
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
<ImportNuGetBuildTasksPackTargetsFromSdk>false</ImportNuGetBuildTasksPackTargetsFromSdk>
<!-- Tell NuGet where the assets file is. I think the intermediate output path got more complex with Arcade. -->
<RestoreOutputPath>$(BaseIntermediateOutputPath)</RestoreOutputPath>
<ProjectAssetsFile>$(RestoreOutputPath)\project.assets.json</ProjectAssetsFile>
<!--
Disable ResolveAssemblyReference cache. The packaging projects run in parallel and use MSBuild
tasks calling various targets, many of which use ResolveReferences. The parallel writes to the
cache conflict and cause build failures. Disable the cache to avoid this.
In the long term, the "base" project build (depproj as of writing) should lay out the files or
metadata in a way the other projects can consume. Gathering the information ahead of time
removes the benefit of a cache.
-->
<DisableRarCache>true</DisableRarCache>
<!-- During a build from source, only current-RID assets are available from upstream repos. -->
<RestoreAllBuildRids Condition="'$(RestoreAllBuildRids)' == '' and '$(DotNetBuildFromSource)' == 'true'">false</RestoreAllBuildRids>
<!--
Normally, it is necessary to restore all RIDs so that assets are available to inspect. For
example, the platform manifest includes data from all RIDs.
-->
<RestoreAllBuildRids Condition="'$(RestoreAllBuildRids)' == ''">true</RestoreAllBuildRids>
</PropertyGroup>
<PropertyGroup>
<VSInsertionProductName>NetCore</VSInsertionProductName>
<VSInsertionCommonPrefix>VS.Redist.Common</VSInsertionCommonPrefix>
</PropertyGroup>
<!-- Most packages need the host to be built first. -->
<ItemGroup Condition="'$(DisableOrderDependencies)' != 'true'">
<OrderProjectReference Include="@(CorehostProjectToBuild)" />
<!-- Pkgproj requires its depproj crossgen outputs to be signed.-->
<OrderProjectReference
Condition="'$(MSBuildProjectExtension)' == '.pkgproj'"
Include="$(RepoRoot)signing\SignBinaries.proj" />
</ItemGroup>
<!-- In *.builds projects, the current phase's name is the same as the project name. -->
<PropertyGroup>
<BuildPhase>$(MSBuildProjectName)</BuildPhase>
</PropertyGroup>
<PropertyGroup Condition="'$(PackageTargetRuntime)' == ''">
<SkipValidatePackage>true</SkipValidatePackage>
<IncludeRuntimeJson Condition="'$(IncludeRuntimeJson)' == ''">true</IncludeRuntimeJson>
<IsLineupPackage Condition="'$(IsLineupPackage)' == ''">true</IsLineupPackage>
</PropertyGroup>
<PropertyGroup Condition="'$(MSBuildProjectExtension)' == '.depproj'">
<!--
we don't want any analyzers by ResolveNuGetPackageAssets
null-refs when this isn't set and an analyzer is in the packages
-->
<Language>unused</Language>
<NuGetTargetMoniker>$(NETCoreAppFrameworkMoniker)</NuGetTargetMoniker>
<NuGetTargetMonikerShort>$(NETCoreAppFramework)</NuGetTargetMonikerShort>
<PackageTargetFramework>$(NETCoreAppFramework)</PackageTargetFramework>
<CrossGenOutputPath>$(CrossGenRootPath)$(MSBuildProjectName)\</CrossGenOutputPath>
<ContainsPackageReferences>true</ContainsPackageReferences>
<RidSpecificAssets Condition="'$(RuntimeIdentifier)' != ''">true</RidSpecificAssets>
<CrossGenSymbolsOutputPath>$(PackageSymbolsBinDir)/$(MSBuildProjectName)</CrossGenSymbolsOutputPath>
</PropertyGroup>
<PropertyGroup>
<TargetFramework Condition="'$(TargetFramework)' == ''">$(PackageTargetFramework)</TargetFramework>
<TargetFramework Condition="'$(TargetFramework)' == ''">$(NETCoreAppFramework)</TargetFramework>
</PropertyGroup>
<!-- Add required legal files to packages -->
<ItemGroup Condition="'$(MSBuildProjectExtension)' == '.pkgproj'">
<File Condition="Exists('$(PackageLicenseFile)')"
Include="$(PackageLicenseFile)" >
<SkipPackageFileCheck>true</SkipPackageFileCheck>
</File>
<File Condition="Exists('$(PackageThirdPartyNoticesFile)')"
Include="$(PackageThirdPartyNoticesFile)" >
<SkipPackageFileCheck>true</SkipPackageFileCheck>
</File>
</ItemGroup>
<PropertyGroup>
<RIDPropsFile Condition="'$(RIDPropsFile)' == ''">$(MSBuildThisFileDirectory)\windowsdesktopRIDs.props</RIDPropsFile>
</PropertyGroup>
<Import Project="$(RIDPropsFile)" />
<!--
5.0 SDK currently does not know about net6.0 TargetFramework.
We need to manually add these to correctly resolve the targeting packs until
we update the build to reference a 6.0 SDK.
-->
<ItemGroup>
<_buildingOnRID Include="$(PackageRID)" Condition="'$(BuildOnUnknownPlatforms)' != 'false'">
<Platform>$(Platform)</Platform>
</_buildingOnRID>
<!-- Ensure we have a RID-specific package for the current build, even if it isn't in our official set -->
<BuildRID Include="@(OfficialBuildRID)" Exclude="@(_buildingOnRID)"/>
<!-- Include Unofficial Build RIDs in runtime.json's but do not include in the platform manifest -->
<BuildRID Include="@(UnofficialBuildRID)" Exclude="@(_buildingOnRID)">
<ExcludeFromPlatformManifest>true</ExcludeFromPlatformManifest>
</BuildRID>
<BuildRID Include="@(_buildingOnRID)"/>
<KnownFrameworkReference Include="Microsoft.NETCore.App"
DefaultRuntimeFrameworkVersion="$(MicrosoftNETCoreAppRefVersion)"
IsTrimmable="true"
LatestRuntimeFrameworkVersion="$(MicrosoftNETCoreAppRefVersion)"
RuntimeFrameworkName="Microsoft.NETCore.App"
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;ios-arm64;ios-arm;ios-x64;ios-x86;tvos-arm64;tvos-x64;android-arm64;android-arm;android-x64;android-x86;browser-wasm"
TargetFramework="$(NETCoreAppFramework)"
TargetingPackName="Microsoft.NETCore.App.Ref"
TargetingPackVersion="$(MicrosoftNETCoreAppRefVersion)" />
<RestoreBuildRID Include="@(BuildRID)" Exclude="@(UnofficialBuildRID)" />
<KnownAppHostPack Include="Microsoft.NETCore.App"
AppHostPackNamePattern="Microsoft.NETCore.App.Host.**RID**"
AppHostPackVersion="$(MicrosoftNETCoreAppRefVersion)"
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"
TargetFramework="$(NETCoreAppFramework)" />
</ItemGroup>
<PropertyGroup>
<!--
By default, lineup and runtime packages are built by the same project. Allow overriding so
a project can depend on another to produce runtime packages with a different base ID.
-->
<RuntimeProjectFile Condition="'$(RuntimeProjectFile)' == ''">$(MSBuildProjectFullPath)</RuntimeProjectFile>
</PropertyGroup>
<ItemGroup Condition="'$(HasRuntimePackages)' != 'false'">
<_project Include="@(BuildRID)">
<Platform Condition="'%(Platform)' == ''">x64</Platform>
<BuildRID>%(Identity)</BuildRID>
<PackageTargetRuntime>%(BuildRID)</PackageTargetRuntime>
<AdditionalProperties>PackageTargetRuntime=%(BuildRID);RuntimeIdentifier=%(BuildRID);Platform=%(Platform)</AdditionalProperties>
</_project>
<RuntimeProject Include="@(_project->'$(RuntimeProjectFile)')" />
<!--
Pack projects need package IDs like "Microsoft.NETCore.App.Host.Runtime.<rid>". The package
tooling statically uses the MSBuild project name as the package ID, allowing for a prefix, but
not a suffix. Set BaseId as a non-overridable global to force the desired ID in a way that the
rest of the packaging tooling automatically respects.
Force IdPrefix to '' to allow using the well-supported PackageTargetRuntime without adding the
undesired 'runtime.<rid>.' prefix to the package ID.
-->
<RidSpecificPackProject
Include="@(_project->'$(RuntimeProjectFile)')"
BaseId="$(MSBuildProjectName).%(BuildRID)"
AdditionalProperties="%(AdditionalProperties);BaseId=%(BaseId);IdPrefix=" />
</ItemGroup>
<PropertyGroup>
<!-- During NuGet restore, grab assets for all applicable RIDs. -->
<RuntimeIdentifiers Condition="'$(RestoreAllBuildRids)' == 'true'">@(RestoreBuildRID)</RuntimeIdentifiers>
<!-- When resolving assets to pack, use the target runtime (if any). -->
<RuntimeIdentifier>$(PackageRID)</RuntimeIdentifier>
</PropertyGroup>
<Choose>
<When Condition="$(RuntimeIdentifier.StartsWith('win'))">
<PropertyGroup>
<ApplicationFileExtension>.exe</ApplicationFileExtension>
<LibraryFilePrefix></LibraryFilePrefix>
<LibraryFileExtension>.dll</LibraryFileExtension>
<SymbolFileExtension>.pdb</SymbolFileExtension>
</PropertyGroup>
</When>
<When Condition="$(RuntimeIdentifier.StartsWith('osx'))">
<PropertyGroup>
<ApplicationFileExtension></ApplicationFileExtension>
<LibraryFilePrefix>lib</LibraryFilePrefix>
<LibraryFileExtension>.dylib</LibraryFileExtension>
<SymbolFileExtension>.dwarf</SymbolFileExtension>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<ApplicationFileExtension></ApplicationFileExtension>
<LibraryFilePrefix>lib</LibraryFilePrefix>
<LibraryFileExtension>.so</LibraryFileExtension>
<SymbolFileExtension>.dbg</SymbolFileExtension>
</PropertyGroup>
</Otherwise>
</Choose>
<ItemGroup>
<AdditionalLibPackageExcludes Condition="'$(SymbolFileExtension)' != ''" Include="%2A%2A\%2A$(SymbolFileExtension)" />
<AdditionalSymbolPackageExcludes Condition="'$(LibraryFileExtension)' != ''" Include="%2A%2A\%2A.a;%2A%2A\%2A$(LibraryFileExtension)" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,345 +0,0 @@
<Project>
<!--
Import stubs for compatibility with packaging tools, if not building a pkgproj. Ordinarily,
listing them unconditionally before the ../Directory.Build.targets import would be sufficient,
and the packaging tools would override for pkgproj. However, the packaging tools targets are
already imported before this file, so the import needs to be specific to non-pkgproj.
-->
<Import Project="packaging.stubs.targets" Condition="'$(MSBuildProjectExtension)' != '.pkgproj'" />
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.targets))\Directory.Build.targets" />
<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk" />
<UsingTask TaskName="CreateFrameworkListFile" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)"/>
<UsingTask TaskName="GenerateCurrentVersion" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)" />
<UsingTask TaskName="GenerateFileVersionProps" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)"/>
<UsingTask TaskName="GenerateGuidFromName" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)" />
<UsingTask TaskName="GenerateMsiVersion" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)" />
<PropertyGroup>
<!--
If we are stabilizing set the StableVersion property for the packages.
Needs to happen in Directory.Build.targets to allow all the pkgproj's to set Version property first.
-->
<StableVersion Condition="'$(IncludePreReleaseLabelInPackageVersion)' != 'true'">$(Version)</StableVersion>
</PropertyGroup>
<!-- Workaround can be removed after repo picks up Arcade sdk 5.0.0-beta.20468.7 or newer -->
<Target Name="CreateWixOutputFolder"
BeforeTargets="RunLightLinker">
<MakeDir Directories="$(ArtifactsNonShippingPackagesDir)"
Condition="!Exists('$(ArtifactsNonShippingPackagesDir)')" />
</Target>
<!--
Remove duplicate files returned by restore. The resolve task performs extra detection to pick up
a PDB file for any file listed in the assets file. This causes duplicates if the assets file
lists PDBs. If foo.dll and foo.pdb exist in the package and both are listed in the assets file,
the task finds:
foo.dll
foo.pdb (based on foo.dll entry)
foo.pdb
foo.pdb (based on foo.pdb entry)
The duplicates cause package validation failure and must be filtered out.
-->
<Target Name="RemoveDuplicateResolvedNuGetPackageAssets">
<RemoveDuplicates Inputs="@(ReferenceCopyLocalPaths)">
<Output TaskParameter="Filtered" ItemName="FilteredReferenceCopyLocalPaths"/>
</RemoveDuplicates>
<ItemGroup>
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" />
<ReferenceCopyLocalPaths Include="@(FilteredReferenceCopyLocalPaths)" />
</ItemGroup>
</Target>
<Target Name="SetupFindSiblingSymbolFilesByNameForSymbolPackage">
<ItemGroup>
<FindSiblingSymbolsForFile Include="@(File)" />
</ItemGroup>
</Target>
<!--
Finds symbol files and injects them into the package build.
-->
<Target Name="GetSymbolPackageFiles"
BeforeTargets="GetPackageFiles"
DependsOnTargets="
SetupFindSiblingSymbolFilesByNameForSymbolPackage;
FindSiblingSymbolFilesByName">
<ItemGroup Condition="'$(SymbolFileExtension)' != ''">
<AdditionalLibPackageExcludes Include="%2A%2A\%2A$(SymbolFileExtension)" />
</ItemGroup>
<ItemGroup Condition="'$(CrossGenSymbolExtension)' != ''">
<AdditionalLibPackageExcludes Include="%2A%2A\%2A$(CrossGenSymbolExtension)" />
</ItemGroup>
<ItemGroup>
<!--
Discovered symbol files might already be in File, without IsSymbolFile set. Make sure we
keep the discovered one, which has IsSymbolFile=true.
-->
<File Remove="@(SiblingSymbolFile)" />
<File Include="@(SiblingSymbolFile)" />
</ItemGroup>
<PropertyGroup>
<NeedsPlaceholderPdb Condition="'@(ExistingNonWindowsSymbolFile)' != '' and '@(ExistingWindowsSymbolFile)' == ''">true</NeedsPlaceholderPdb>
</PropertyGroup>
<ItemGroup>
<File Include="$(MSBuildThisFileDirectory)../_.pdb"
Condition="'$(NeedsPlaceholderPdb)' == 'true' AND '$(PackageTargetRuntime)' != ''">
<TargetPath>runtimes/$(PackageTargetRuntime)/native</TargetPath>
<IsSymbolFile>true</IsSymbolFile>
</File>
</ItemGroup>
</Target>
<!-- override GetPackageIdentity so that it doesn't attempt to gather
files from runtime dependencies, this prevents folks from needing
packages that don't apply to their local OS.
https://github.com/dotnet/buildtools/issues/1273 -->
<Target Name="GetPackageIdentity" Returns="@(_PackageIdentity)" DependsOnTargets="CalculatePackageVersion">
<ItemGroup>
<_PackageIdentity Include="$(Id)">
<Version>$(PackageVersion)</Version>
<TargetRuntime Condition="'$(PackageTargetRuntime)' != ''">$(PackageTargetRuntime)</TargetRuntime>
</_PackageIdentity>
</ItemGroup>
</Target>
<!-- override AssignPkgProjPackageDependenciesTargetFramework so that
it doesn't attempt to resolve all files in order to get dependency
TargetFrameworks.
https://github.com/dotnet/buildtools/issues/1273 -->
<Target Name="AssignPkgProjPackageDependenciesTargetFramework" DependsOnTargets="GetPkgProjPackageDependencies">
<SplitDependenciesBySupport Condition="'$(SplitDependenciesBySupport)' == 'true'" OriginalDependencies="@(PkgProjDependency)">
<Output TaskParameter="SplitDependencies" ItemName="_SplitPkgProjDependency" />
</SplitDependenciesBySupport>
<ItemGroup Condition="'@(_SplitPkgProjDependency)' != ''">
<PkgProjDependency Remove="@(PkgProjDependency)" />
<PkgProjDependency Include="@(_SplitPkgProjDependency)" />
</ItemGroup>
<ItemGroup>
<!-- ensure that unconstrained dependencies are also expanded in constrained TFM groups -->
<_PkgProjDependencyWithoutTFM Include="@(PkgProjDependency)" Condition="'%(PkgProjDependency.TargetFramework)' == '' AND '%(PkgProjDependency.TargetRuntime)' == '' AND '%(PkgProjDependency.DoNotExpand)' != 'true'" />
<_AllPkgProjTFMs Include="%(PkgProjDependency.TargetFramework)" Condition="'%(PkgProjDependency.DependencyKind)' == 'Direct'" />
<!-- Remove dependencies without a TFM so they can be replaced -->
<PkgProjDependency Remove="@(_PkgProjDependencyWithoutTFM)" />
<!-- operate on pkgproj dependencies and file dependencies -->
<PkgProjDependency Include="@(_PkgProjDependencyWithoutTFM)">
<TargetFramework>%(_AllPkgProjTFMs.Identity)</TargetFramework>
</PkgProjDependency>
<Dependency Include="@(PkgProjDependency)" Condition="'%(PkgProjDependency.DependencyKind)' == 'Direct'" />
</ItemGroup>
</Target>
<Target Name="GetNonPkgProjDependenciesToPackage"
Condition="'$(PackProjectDependencies)' == 'true'"
AfterTargets="ExpandProjectReferences">
<!-- allow projects to provide dependencies -->
<MSBuild Targets="GetDependenciesToPackage"
BuildInParallel="$(BuildInParallel)"
Projects="@(_NonPkgProjProjectReference)"
Properties="$(ProjectProperties)">
<Output TaskParameter="TargetOutputs"
ItemName="Dependency" />
</MSBuild>
</Target>
<Target Name="GetDependencyDataFileInclusionDefaults">
<PropertyGroup Condition="'$(BuildTargetPath)' != ''">
<FileVersionPropsTargetPath Condition="'$(FileVersionPropsTargetPath)' == ''">$(BuildTargetPath)$(Id).props</FileVersionPropsTargetPath>
<PlatformManifestTargetPath Condition="'$(PlatformManifestTargetPath)' == ''">$(BuildTargetPath)$(Id.Replace('.Internal', '')).PlatformManifest.txt</PlatformManifestTargetPath>
</PropertyGroup>
</Target>
<!-- Get data files (platform manifest, file version props) from depproj dependencies. -->
<Target Name="GetDepprojDependencyDataFiles">
<MSBuild
Projects="@(ProjectReference)"
Targets="GetDataFiles"
SkipNonExistentTargets="true">
<Output TaskParameter="TargetOutputs" ItemName="_depprojDataFile" />
</MSBuild>
</Target>
<Target Name="IncludeFileVersionPropsFile"
DependsOnTargets="GetDepprojDependencyDataFiles;GetDependencyDataFileInclusionDefaults"
BeforeTargets="GetFiles">
<!-- Create a copy with some per-pkgproj templates replaced. -->
<PropertyGroup>
<_propsFileTemplateFile Condition="'%(_depprojDataFile.PropsFile)' == 'true'">%(_depprojDataFile.Identity)</_propsFileTemplateFile>
</PropertyGroup>
<PropertyGroup Condition="Exists('$(_propsFileTemplateFile)')">
<_runtimeDependencyItems>@(RuntimeDependency)</_runtimeDependencyItems>
<_filledPropsFileContent>$([System.IO.File]::ReadAllText('$(_propsFileTemplateFile)')
.Replace("__PackageId__", "$(Id.Replace('.', '_'))")
.Replace("__PreferredPackages__", "$(Id);$(_runtimeDependencyItems)"))
</_filledPropsFileContent>
<_filledPropsFile>$(IntermediateOutputPath)$(MSBuildProjectName).props</_filledPropsFile>
</PropertyGroup>
<WriteLinesToFile
Condition="'$(_filledPropsFile)' != ''"
File="$(_filledPropsFile)"
Lines="$(_filledPropsFileContent)"
Overwrite="true" />
<ItemGroup Condition="'$(PackageTargetRuntime)' == '' AND '$(FileVersionPropsTargetPath)' != ''">
<File
Include="$(_filledPropsFile)"
TargetPath="$(FileVersionPropsTargetPath)" />
</ItemGroup>
</Target>
<Target Name="IncludePlatformManifestFile"
DependsOnTargets="GetDepprojDependencyDataFiles;GetDependencyDataFileInclusionDefaults"
BeforeTargets="GetFiles">
<!-- Create a copy with some per-pkgproj templates replaced. -->
<PropertyGroup>
<_platformManifestFileTemplateFile Condition="'%(_depprojDataFile.PlatformManifestFile)' == 'true'">%(_depprojDataFile.Identity)</_platformManifestFileTemplateFile>
</PropertyGroup>
<PropertyGroup Condition="Exists('$(_platformManifestFileTemplateFile)')">
<_runtimeDependencyItems>@(RuntimeDependency)</_runtimeDependencyItems>
<_filledPlatformManifestFileContent>$([System.IO.File]::ReadAllText('$(_platformManifestFileTemplateFile)')
.Replace("__PackageId__", "$(Id)"))
</_filledPlatformManifestFileContent>
<_filledPlatformManifestFile>$(IntermediateOutputPath)PlatformManifest.txt</_filledPlatformManifestFile>
</PropertyGroup>
<WriteLinesToFile
Condition="'$(_filledPlatformManifestFile)' != ''"
File="$(_filledPlatformManifestFile)"
Lines="$(_filledPlatformManifestFileContent)"
Overwrite="true" />
<ItemGroup Condition="'$(PlatformManifestTargetPath)' != ''">
<File
Include="$(_filledPlatformManifestFile)"
TargetPath="$(PlatformManifestTargetPath)" />
</ItemGroup>
</Target>
<Target Name="IncludeFrameworkListFile"
BeforeTargets="GetFiles"
DependsOnTargets="GetSymbolPackageFiles"
Condition="
'$(FrameworkListTargetPath)' != '' AND
(
'$(PackageTargetRuntime)' == '' OR
'$(PackageTargetRuntime)' == '$(PackageRID)'
)">
<PropertyGroup>
<FrameworkListFilename Condition="'$(FrameworkListFilename)' == ''">FrameworkList.xml</FrameworkListFilename>
<FrameworkListFile>$(IntermediateOutputPath)$(FrameworkListFilename)</FrameworkListFile>
</PropertyGroup>
<ItemGroup>
<FrameworkListRootAttributes Include="Name" Value="$(FrameworkListName)" />
<FrameworkListRootAttributes Include="TargetFrameworkIdentifier" Value="$(FrameworkListTargetFrameworkIdentifier)" />
<FrameworkListRootAttributes Include="TargetFrameworkVersion" Value="$(FrameworkListTargetFrameworkVersion)" />
<FrameworkListRootAttributes Include="FrameworkName" Value="$(FrameworkListFrameworkName)" />
</ItemGroup>
<Error
Condition="'%(FrameworkListRootAttributes.Value)' == ''"
Text="Missing value for property 'FrameworkList%(FrameworkListRootAttributes.Identity)'" />
<CreateFrameworkListFile
Files="@(File)"
FileClassifications="@(FrameworkListFileClass)"
TargetFile="$(FrameworkListFile)"
TargetFilePrefixes="ref/;runtimes/"
RootAttributes="@(FrameworkListRootAttributes)" />
<ItemGroup>
<File Include="$(FrameworkListFile)">
<TargetPath>$(FrameworkListTargetPath)</TargetPath>
</File>
</ItemGroup>
</Target>
<!--
Create RuntimeDependencies just before they're needed. Use MSBuild to get their identities, like
GetPkgProjPackageDependencies: this finds package id and version without any guesswork.
-->
<Target Name="CreateRuntimeDependencyItems"
BeforeTargets="DetermineRuntimeDependencies"
Condition="'$(PackageTargetRuntime)' == '' and '$(HasRuntimePackages)' != 'false'">
<MSBuild
Targets="GetPackageIdentity"
BuildInParallel="$(BuildInParallel)"
Projects="@(RuntimeProject -> WithMetadataValue('Extension', '.pkgproj'))">
<Output TaskParameter="TargetOutputs" ItemName="_runtimeDependencyIdentity" />
</MSBuild>
<ItemGroup>
<RuntimeDependency Include="@(_runtimeDependencyIdentity)" />
</ItemGroup>
</Target>
<!--
Get branding names for the installers.
-->
<Target Name="GetInstallerBrandingNames"
DependsOnTargets="GetProductVersions">
<PropertyGroup
Condition="
'$(ReleaseBrandSuffix)' == '' and
'$(PreReleaseVersionLabel)' != '' and
'$(PreReleaseVersionIteration)' != ''">
<!-- Convert 'preview.7' to 'Preview 7'.
'preview' will come from the pre-release version iteration and the numeric value
will be the PreReleaseVersionIteration. -->
<ReleaseBrandSuffix>$(PreReleaseVersionLabel.Substring(0,1).ToUpperInvariant())</ReleaseBrandSuffix>
<ReleaseBrandSuffix>$(ReleaseBrandSuffix)$(PreReleaseVersionLabel.Substring(1))</ReleaseBrandSuffix>
<ReleaseBrandSuffix>$(ReleaseBrandSuffix) $(PreReleaseVersionIteration)</ReleaseBrandSuffix>
</PropertyGroup>
<PropertyGroup>
<ProductBrandPrefix Condition="'$(ProductBrandPrefix)' == ''">Microsoft .NET Core</ProductBrandPrefix>
<ProductBrandSuffix>$(ProductionVersion)</ProductBrandSuffix>
<ProductBrandSuffix Condition="'$(ReleaseBrandSuffix)'!=''">$(ProductionVersion) $(ReleaseBrandSuffix)</ProductBrandSuffix>
<TargetingPackBrandName>$(ProductBrandPrefix) Targeting Pack - $(ProductBrandSuffix)</TargetingPackBrandName>
<SharedFrameworkBrandName>$(ProductBrandPrefix) Runtime - $(ProductBrandSuffix)</SharedFrameworkBrandName>
</PropertyGroup>
</Target>
<Target Name="GenerateMsiVersionString">
<PropertyGroup>
<VersionPadding Condition="'$(VersionPadding)'==''">5</VersionPadding>
<!-- Using the following default comparison date will produce versions that align with our internal build system. -->
<VersionComparisonDate Condition="'$(VersionComparisonDate)'==''">1996-04-01</VersionComparisonDate>
</PropertyGroup>
<GenerateCurrentVersion
SeedDate="$([System.DateTime]::Now.ToString(yyyy-MM-dd))"
OfficialBuildId="$(OfficialBuildId)"
ComparisonDate="$(VersionComparisonDate)"
Padding="$(VersionPadding)">
<Output PropertyName="BuildNumberMajor" TaskParameter="GeneratedVersion" />
<Output PropertyName="BuildNumberMinor" TaskParameter="GeneratedRevision" />
</GenerateCurrentVersion>
<GenerateMsiVersion
Major="$(MajorVersion)"
Minor="$(MinorVersion)"
Patch="$(PatchVersion)"
BuildNumberMajor="$(BuildNumberMajor)"
BuildNumberMinor="$(BuildNumberMajor)">
<Output TaskParameter="MsiVersion" PropertyName="MsiVersionString" />
</GenerateMsiVersion>
</Target>
</Project>

Просмотреть файл

@ -1,8 +1,7 @@
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<Target Name="GenerateVersionBadge"
DependsOnTargets="GetProductVersions">
<Target Name="GenerateVersionBadge">
<PropertyGroup>
<templateSvg>$(MSBuildThisFileDirectory)version_badge.svg</templateSvg>
</PropertyGroup>
@ -11,7 +10,7 @@
<WriteLinesToFile
File="$(OutputVersionBadge)"
Lines="$([System.IO.File]::ReadAllText('$(templateSvg)').Replace('ver_number', '$(ProductVersion)'))"
Lines="$([System.IO.File]::ReadAllText('$(templateSvg)').Replace('ver_number', '$(Version)'))"
Overwrite="true" />
<Message Text="$(MSBuildProjectName) -> $(OutputVersionBadge)" Importance="High" />

Просмотреть файл

@ -1,2 +0,0 @@
{
}

Просмотреть файл

@ -1,11 +0,0 @@
<Project>
<!--
Provide default stub targets for packaging tasks, if not defined. Allows freer use of
ProjectReferences in pkgproj.
-->
<Target Name="GetFilesToPackage" />
<Target Name="GetDependenciesToPackage" />
<Target Name="DetermineRuntimeDependencies" />
</Project>

Просмотреть файл

@ -1,65 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))\Directory.Build.props" />
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" />
<Target Name="Build"
DependsOnTargets="
BuildDependencies;
BuildInstallers;
SignCombinedInstallers"
Condition="'$(DOTNET_BUILD_SKIP_PACKAGING)' != 'true'" />
<Target Name="BuildInstallers"
DependsOnTargets="
EnsureSignedBinaries;
GenerateProjectInstallers;"
Condition="'$(DOTNET_BUILD_SKIP_PACKAGING)' != 'true'" />
<Target Name="SignCombinedInstallers"
Condition="
'$(OSGroup)' == 'Windows_NT' and
'$(SkipSigning)' != 'true'"
DependsOnTargets="
EnsureSignedBurnEngineFiles;
EnsureSignedBurnBundleFiles" />
<!--
To build installers, we need shared fx layouts to be built first. Call MSBuild on the
requirements so that parallel MSBuild does the ordering work.
Also ensures NuGet packages are built and signed.
-->
<Target Name="BuildDependencies"
DependsOnTargets="GetSharedFrameworkProjects">
<MSBuild
Projects="@(SharedFrameworkProject)"
Targets="Build" />
</Target>
<Target Name="EnsureSignedBinaries" Condition="'$(OSGroup)' == 'Windows_NT'" >
<MSBuild Projects="$(RepoRoot)signing\SignBinaries.proj" Targets="Build" />
</Target>
<Target Name="EnsureSignedMsiFiles" Condition="'$(OSGroup)' == 'Windows_NT'" >
<MSBuild Projects="$(RepoRoot)signing\SignMsiFiles.proj" Targets="Build" />
</Target>
<Target Name="EnsureSignedBurnEngineFiles" Condition="'$(OSGroup)' == 'Windows_NT'" >
<MSBuild Projects="$(RepoRoot)signing\SignBurnEngineFiles.proj" Targets="Build" />
</Target>
<Target Name="EnsureSignedBurnBundleFiles" Condition="'$(OSGroup)' == 'Windows_NT'" >
<MSBuild Projects="$(RepoRoot)signing\SignBurnBundleFiles.proj" Targets="Build" />
</Target>
<Target Name="GenerateProjectInstallers" Condition="'$(GenerateProjectInstallers)' == 'true'">
<ItemGroup>
<InstallerProject Include="$(RepoRoot)pkg\**\*.pkgproj" />
<InstallerProject Include="$(RepoRoot)pkg\**\*.sfxproj" />
</ItemGroup>
<MSBuild Projects="@(InstallerProject)" Targets="GenerateInstallers" />
</Target>
</Project>

Просмотреть файл

@ -1,21 +0,0 @@
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<TargetFramework>$(NETCoreAppFramework)</TargetFramework>
</PropertyGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<!--
Ensure MSIs are built and signed (if necessary) then call the target that generates the MSI
insertion NuGet packages on each project. Bundle installers aren't inserted, so this is enough.
-->
<Target Name="Build" DependsOnTargets="GetSharedFrameworkProjects">
<MSBuild Projects="$(RepoRoot)signing\SignMsiFiles.proj" Targets="Build" />
<MSBuild Projects="@(PkgprojProjectToBuild);@(SharedFrameworkProject)" Targets="GenerateVSInsertionNupkg" />
</Target>
<Target Name="Test" />
</Project>

Просмотреть файл

@ -8,10 +8,6 @@
<PropertyGroup>
<ShortFrameworkName>windowsdesktop</ShortFrameworkName>
<FrameworkPackageName>$(SharedFrameworkName)</FrameworkPackageName>
<VSInsertionProductName>WindowsDesktop</VSInsertionProductName>
<!--
Do not attempt to restore or build WindowsDesktop projects when building from source, because
WinForms and WPF do not participate.
@ -28,9 +24,6 @@
runtimes\win-x86\lib\netcoreapp3.0\System.Printing.dll
-->
<PermitDllAndExeFilesLackingFileVersion>true</PermitDllAndExeFilesLackingFileVersion>
<!-- Generate the runtimeconfig with the correct Microsoft.NETCore.App version. -->
<MicrosoftNETCoreAppRuntimeConfigVersion>$(MicrosoftNETCoreAppRuntimewinx64Version)</MicrosoftNETCoreAppRuntimeConfigVersion>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,12 +1,7 @@
<Project>
<Target Name="GetNETCoreAppPackDirs">
<PropertyGroup>
<RefPackageDir>$(NuGetPackageRoot)Microsoft.NETCore.App.Ref\$(MicrosoftNETCoreAppRefVersion)\</RefPackageDir>
<RuntimePackageDir>$(NuGetPackageRoot)Microsoft.NETCore.App.Runtime.$(PackageTargetRuntime)\$(MicrosoftNETCoreAppRuntimewinx64Version)\</RuntimePackageDir>
</PropertyGroup>
</Target>
<ItemGroup>
<PackageReference Include="Microsoft.DotNet.Build.Tasks.Installers" Version="$(MicrosoftDotNetBuildTasksInstallersVersion)" />
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.targets))\Directory.Build.targets" />
</Project>

Просмотреть файл

@ -1,39 +1,41 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.Build.NoTargets">
<PropertyGroup>
<!--
Name, used to generate the bundle upgrade code. Must stay the same to allow bundles in a given
product band to upgrade in place.
-->
<BundleInstallerUpgradeCodeSeed>Windows Desktop Shared Framework Bundle Installer</BundleInstallerUpgradeCodeSeed>
<RuntimeIdentifiers>win-x64;win-x86</RuntimeIdentifiers>
<BundleThemeDirectory>$(MSBuildProjectDirectory)</BundleThemeDirectory>
<InstallerName>windowsdesktop-runtime</InstallerName>
<BundleNameSuffix>Runtime</BundleNameSuffix>
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
</PropertyGroup>
<ItemGroup>
<BundleComponentReference Include="Microsoft.WindowsDesktop.App.SharedFx.sfxproj" />
</ItemGroup>
<ItemGroup>
<CandleVariables Include="BundleThmDir" Value="$(MSBuildProjectDirectory)" />
<BundleComponentReference Include="../sfx/Microsoft.WindowsDesktop.App.Runtime.sfxproj" />
</ItemGroup>
<!-- Obtain the .NET Core Runtime installers from the VS insertion packages. -->
<Target Name="CollectVSInsertionPackageDownloads"
BeforeTargets="CollectPackageReferences">
<ItemGroup>
<_RuntimeIdentifierForNETCoreMsiRestore Include="win-x86;win-x64" />
</ItemGroup>
<ItemGroup>
<InsertionPackageRID
Include="@(RestoreBuildRID)"
Arch="$([System.String]::new('%(Identity)').Replace('win-', ''))"
Condition="'%(RestoreBuildRID.RuntimeMsiExists)' == 'true'" />
Include="@(_RuntimeIdentifierForNETCoreMsiRestore)"
Condition="'$(InstallerRuntimeIdentifier)' == '%(Identity)'"
Arch="$([System.String]::new('%(Identity)').Replace('win-', ''))" />
<NETCoreAppInstallerMsiRID Include="@(InsertionPackageRID)" Name="runtime" InsertionName="SharedFramework" />
<NETCoreAppInstallerMsiRID Include="@(InsertionPackageRID)" Name="hostfxr" InsertionName="HostFXR" />
<NETCoreAppInstallerMsiRID Include="@(InsertionPackageRID)" Name="host" InsertionName="SharedHost" />
<NETCoreAppInstallerMsiRID
Update="@(NETCoreAppInstallerMsiRID)"
Id="VS.Redist.Common.NetCore.%(InsertionName).%(Arch).$(MajorVersion).$(MinorVersion)"
Version="$(MicrosoftNETCoreAppInternalVersion)"
Version="$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)"
MsiFileName="dotnet-%(Name)-$(MicrosoftNETCoreAppRuntimewinx64Version)-%(Identity).msi" />
<PackageDownload Include="@(NETCoreAppInstallerMsiRID -> '%(Id)')" Version="[%(Version)]" />
@ -43,14 +45,14 @@
<!-- Bundle the .NET Core Runtime MSIs. This order puts them before the WindowsDesktop MSIs. -->
<Target Name="GetBundledNETCoreRuntimeMsiFiles"
DependsOnTargets="CollectVSInsertionPackageDownloads"
BeforeTargets="GetBundledMsiFiles">
BeforeTargets="_GetBundledComponentInstallers">
<ItemGroup>
<NETCoreAppInstallerMsiRID
CacheDir="$(NuGetPackageRoot)$([System.String]::new('%(Id)').ToLowerInvariant())\%(Version)\" />
<BundleMsiFile
<_BundledComponents
Include="@(NETCoreAppInstallerMsiRID -> '%(CacheDir)\%(MsiFileName)')"
Condition="'$(PackageRID)' == '%(Identity)'" />
Condition="'$(RuntimeIdentifier)' == '%(Identity)'" />
</ItemGroup>
</Target>

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -1,2 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
</Project>

Просмотреть файл

@ -1,2 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
</Project>

Просмотреть файл

@ -1,71 +0,0 @@
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<PreventImplementationReference Condition="'$(PackageTargetRuntime)' != ''">true</PreventImplementationReference>
<BuildTargetPath>build/$(NETCoreAppFramework)/</BuildTargetPath>
<FrameworkListTargetPath>data/</FrameworkListTargetPath>
<TargetFrameworkName>net</TargetFrameworkName>
<TargetFrameworkVersion>$(NETCoreAppFrameworkVersion)</TargetFrameworkVersion>
<TargetFramework>$(TargetFrameworkName)$(TargetFrameworkVersion)</TargetFramework>
<!--
Turn on package validation to validate the dependency closure. Important because the
WPF/WinForms packages don't declare their transitive dependencies and the depproj has to fill
it in correctly. Being wrong means dependency failures at runtime.
-->
<SkipValidatePackage>false</SkipValidatePackage>
<IsShipping>false</IsShipping>
</PropertyGroup>
<ItemGroup>
<ExcludeFromDuplicateTypes Include="PresentationFramework.Aero" />
<ExcludeFromDuplicateTypes Include="PresentationFramework.Aero2" />
<ExcludeFromDuplicateTypes Include="PresentationFramework.AeroLite" />
<ExcludeFromDuplicateTypes Include="PresentationFramework.Classic" />
<ExcludeFromDuplicateTypes Include="PresentationFramework.Luna" />
<ExcludeFromDuplicateTypes Include="PresentationFramework.Royale" />
</ItemGroup>
<ItemGroup>
<!-- There is a known cycle. More info at https://github.com/dotnet/wpf/issues/607 -->
<IgnoredReference Include="PresentationFramework" />
<IgnoredReference Include="ReachFramework" />
<IgnoredReference Include="System.Printing" />
<IgnoredReference Include="System.IO.Pipelines" />
<IgnoredReference Include="System.Net.Connections" />
<!-- We don't have a ref assembly for DirectWriteForwarder -->
<IgnoredReference Condition="'$(PackageTargetRuntime)' == ''" Include="DirectWriteForwarder" />
</ItemGroup>
<ItemGroup>
<PackageDownload Include="Microsoft.NETCore.App.Ref" Version="[$(MicrosoftNETCoreAppRefVersion)]" />
<PackageDownload Include="@(RestoreBuildRID -> 'Microsoft.NETCore.App.Runtime.%(Identity)')" Version="[$(MicrosoftNETCoreAppRuntimewinx64Version)]" />
</ItemGroup>
<Target Name="GetNETCoreAppIgnoredReference"
BeforeTargets="VerifyClosure"
DependsOnTargets="GetNETCoreAppPackDirs">
<ItemGroup>
<IgnoredReferenceFile
Condition="'$(PackageTargetRuntime)' == ''"
Include="$(RefPackageDir)ref\$(NETCoreAppFramework)\*.dll" />
<IgnoredReferenceFile
Condition="'$(PackageTargetRuntime)' != ''"
Include="$(RuntimePackageDir)runtimes\$(PackageTargetRuntime)\lib\$(NETCoreAppFramework)\*.dll" />
<IgnoredReference Include="@(IgnoredReferenceFile -> '%(Filename)')" />
</ItemGroup>
</Target>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<!-- Don't validate this package as it doesn't actually represent a framework. -->
<Target Name="ValidateFrameworkPackage" />
</Project>

Просмотреть файл

@ -1,9 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.props))\Directory.Build.props" />
<PropertyGroup>
<DisableImplicitFrameworkReferences>false</DisableImplicitFrameworkReferences>
</PropertyGroup>
<PropertyGroup>
<SharedFrameworkName>Microsoft.WindowsDesktop.App</SharedFrameworkName>
<SharedFrameworkFriendlyName>Windows Desktop</SharedFrameworkFriendlyName>
<TargetFramework>$(NETCoreAppFramework)</TargetFramework>
<RuntimeFrameworkVersion>$(MicrosoftNETCoreAppRefVersion)</RuntimeFrameworkVersion>
<LicenseFile>$(RepoRoot)LICENSE</LicenseFile>
<GenerateInstallers>true</GenerateInstallers>
<GenerateVSInsertionPackages>true</GenerateVSInsertionPackages>
</PropertyGroup>
<!-- Redistribute package content from other nuget packages. -->
<ItemGroup>
<PackageReference Include="Microsoft.DotNet.Wpf.GitHub" Version="$(MicrosoftDotNetWpfGitHubVersion)" />
<PackageReference Include="Microsoft.Private.Winforms" Version="$(MicrosoftPrivateWinformsVersion)" />
<PackageReference Include="Microsoft.Private.Winforms" Version="$(MicrosoftPrivateWinformsVersion)" GeneratePathProperty="true" />
<PackageReference Include="Microsoft.Win32.Registry.AccessControl" Version="$(MicrosoftWin32RegistryAccessControlVersion)" />
<PackageReference Include="Microsoft.Win32.Registry" Version="$(MicrosoftWin32RegistryVersion)" />
<PackageReference Include="Microsoft.Win32.SystemEvents" Version="$(MicrosoftWin32SystemEventsVersion)" />
@ -27,11 +42,4 @@
<PackageReference Include="System.Threading.AccessControl" Version="$(SystemThreadingAccessControlVersion)" />
<PackageReference Include="System.Windows.Extensions" Version="$(SystemWindowsExtensionsVersion)" />
</ItemGroup>
<!--
Version.txt files aren't provided in some packages. However, they're not necessary anymore:
dependency information is now in Version.Details.xml and BAR. Stub the target to ignore.
-->
<Target Name="GetDependencyVersionFiles" />
</Project>

Просмотреть файл

@ -0,0 +1,43 @@
<Project>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.targets))\Directory.Build.targets" />
<ItemGroup>
<KnownFrameworkReference
Update="Microsoft.NETCore.App"
DefaultRuntimeFrameworkVersion="$(MicrosoftNETCoreAppRefVersion)"
LatestRuntimeFrameworkVersion="$(MicrosoftNETCoreAppRefVersion)"
TargetingPackVersion="$(MicrosoftNETCoreAppRefVersion)" />
<KnownFrameworkReference Remove="Microsoft.AspNetCore.App" />
<KnownFrameworkReference Remove="Microsoft.WindowsDesktop.App" />
<KnownFrameworkReference Remove="Microsoft.WindowsDesktop.App.WindowsForms" />
<KnownFrameworkReference Remove="Microsoft.WindowsDesktop.App.WPF" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.DotNet.Build.Tasks.Archives" Version="$(MicrosoftDotNetBuildTasksArchivesVersion)" />
</ItemGroup>
<ItemGroup>
<ExcludeFromDuplicateTypes Include="PresentationFramework.Aero" />
<ExcludeFromDuplicateTypes Include="PresentationFramework.Aero2" />
<ExcludeFromDuplicateTypes Include="PresentationFramework.AeroLite" />
<ExcludeFromDuplicateTypes Include="PresentationFramework.Classic" />
<ExcludeFromDuplicateTypes Include="PresentationFramework.Luna" />
<ExcludeFromDuplicateTypes Include="PresentationFramework.Royale" />
</ItemGroup>
<ItemGroup>
<!-- There is a known cycle. More info at https://github.com/dotnet/wpf/issues/607 -->
<IgnoredReference Include="PresentationFramework" />
<IgnoredReference Include="ReachFramework" />
<IgnoredReference Include="System.Printing" />
<!-- C++/CLI tooling adds an assemblyref to System.Runtime.InteropServices.WindowsRuntime even though it is unused.
Ignore validating this reference when we validate the runtime and ref pack closures since we never use the assembly
and it was removed in .NET 5.
-->
<IgnoredReference Include="System.Runtime.InteropServices.WindowsRuntime" />
</ItemGroup>
<Target Name="ReturnProductVersion" Returns="$(Version)" />
</Project>

Просмотреть файл

@ -1,38 +1,20 @@
<Project>
<Project Sdk="Microsoft.NET.Sdk">
<Sdk Name="Microsoft.DotNet.SharedFramework.Sdk" />
<PropertyGroup>
<IsFrameworkPackage>true</IsFrameworkPackage>
<PlatformPackageType>TargetingPack</PlatformPackageType>
<WindowsFormsClassificationProps>$(PkgMicrosoft_Private_Winforms)\FrameworkListFiles.props</WindowsFormsClassificationProps>
<RuntimePackProjectPath>$(MSBuildThisFileDirectory)Microsoft.WindowsDesktop.App.Runtime.sfxproj</RuntimePackProjectPath>
<ArchiveName>windowsdesktop-targeting-pack</ArchiveName>
<InstallerName>windowsdesktop-targeting-pack</InstallerName>
<InstallerRuntimeIdentifiers>win-x64;win-x86;win-arm64</InstallerRuntimeIdentifiers>
<VSInsertionShortComponentName>WindowsDesktop.TargetingPack</VSInsertionShortComponentName>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.props))\Directory.Build.props" />
<PropertyGroup>
<FrameworkListName>Windows Desktop $(NETCoreAppFrameworkVersion)</FrameworkListName>
<FrameworkListTargetFrameworkIdentifier>$(NETCoreAppFrameworkIdentifier)</FrameworkListTargetFrameworkIdentifier>
<FrameworkListTargetFrameworkVersion>$(NETCoreAppFrameworkVersion)</FrameworkListTargetFrameworkVersion>
<FrameworkListFrameworkName>$(FrameworkPackageName)</FrameworkListFrameworkName>
<WindowsFormsClassificationProps>$(NUGET_PACKAGES)\Microsoft.Private.Winforms\$(MicrosoftPrivateWinformsVersion)\FrameworkListFiles.props</WindowsFormsClassificationProps>
</PropertyGroup>
<PropertyGroup>
<BuildDebPackage>false</BuildDebPackage>
<BuildRpmPackage>false</BuildRpmPackage>
<GeneratePkg>false</GeneratePkg>
</PropertyGroup>
<!-- C++/CLI tooling adds an assemblyref to System.Runtime.InteropServices.WindowsRuntime even though it is unused.
Ignore validating this reference when we validate the runtime and ref pack closures since we never use the assembly
and it was removed in .NET 5.
-->
<ItemGroup>
<IgnoredReference Include="System.Runtime.InteropServices.WindowsRuntime" />
</ItemGroup>
<!--
shared concerns, these shouldn't generally change
for profile information refere to https://github.com/dotnet/cli/issues/10536#issuecomment-488871926
-->
<ItemGroup Condition="'$(PackageTargetRuntime)' == ''">
<ItemGroup>
<FrameworkListFileClass Include="Accessibility.dll" Profile="WindowsForms;WPF" />
<FrameworkListFileClass Include="Microsoft.Win32.Registry.AccessControl.dll" Profile="WindowsForms;WPF" />
<FrameworkListFileClass Include="Microsoft.Win32.Registry.dll" Profile="WindowsForms;WPF" />
@ -65,7 +47,7 @@
<Import Project="$(WindowsFormsClassificationProps)" Condition="Exists('$(WindowsFormsClassificationProps)')" />
<!-- WPF specific references -->
<ItemGroup Condition="'$(PackageTargetRuntime)' == ''">
<ItemGroup>
<FrameworkListFileClass Include="PresentationCore.dll" Profile="WPF" />
<FrameworkListFileClass Include="PresentationFramework.Aero.dll" Profile="WPF" />
<FrameworkListFileClass Include="PresentationFramework.Aero2.dll" Profile="WPF" />
@ -88,10 +70,8 @@
<FrameworkListFileClass Include="WindowsBase.dll" Profile="WPF" />
</ItemGroup>
<!-- Redistribute package content from other nuget packages. -->
<ItemGroup>
<ProjectReference Include="..\src\windowsdesktop.depproj">
<AdditionalProperties Condition="'$(PackageTargetRuntime)' != ''">RuntimeIdentifier=$(PackageTargetRuntime)</AdditionalProperties>
</ProjectReference>
<!-- We don't have a ref assembly for DirectWriteForwarder -->
<IgnoredReference Include="DirectWriteForwarder" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<Sdk Name="Microsoft.DotNet.SharedFramework.Sdk" />
<PropertyGroup>
<PlatformPackageType>RuntimePack</PlatformPackageType>
<ArchiveName>windowsdesktop-runtime</ArchiveName>
<InstallerName>windowsdesktop-runtime</InstallerName>
<RuntimeIdentifiers>win-x64;win-x86;win-arm64</RuntimeIdentifiers>
<VSInsertionShortComponentName>WindowsDesktop.SharedFramework</VSInsertionShortComponentName>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,29 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<SfxIdentity>Microsoft.WindowsDesktop.App</SfxIdentity>
<GenerateNetCoreAppRuntimeConfig>true</GenerateNetCoreAppRuntimeConfig>
</PropertyGroup>
<ItemGroup>
<PkgProjectReference Include="..\pkg\Microsoft.WindowsDesktop.App.pkgproj" />
</ItemGroup>
<ItemGroup>
<PackageDownload Include="Microsoft.NETCore.App.Ref" Version="[$(MicrosoftNETCoreAppRefVersion)]" />
</ItemGroup>
<!--
Keep the platform manifest from the base shared framework. It ensures the WindowsDesktop shared
framework doesn't carry runtime assemblies the base framework (NETCoreApp) already provides.
-->
<Target Name="KeepNETCoreAppPlatformManifest"
AfterTargets="RemovePlatformManifests"
DependsOnTargets="GetNETCoreAppPackDirs">
<ItemGroup>
<PackageConflictPlatformManifests Include="$(RefPackageDir)data\PlatformManifest.txt" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PackageRID Condition="'$(PackageRID)' == ''">$(OutputRid)</PackageRID>
<!--
Only build WindowsDesktop assets if this is on Windows and we know WD assets are available
and supported. This lets us skip them on the non-Windows official build legs.
-->
<BuildOnUnknownPlatforms>false</BuildOnUnknownPlatforms>
</PropertyGroup>
<ItemGroup>
<OfficialBuildRID Include="win-x86" Platform="x86" RuntimeMsiExists="true"/>
<OfficialBuildRID Include="win-x64" RuntimeMsiExists="true"/>
<OfficialBuildRID Include="win-arm64" Platform="arm64" />
</ItemGroup>
</Project>

Просмотреть файл

@ -10,6 +10,8 @@
<InternalNupkgCacheDir>$(ObjDir)ExtraNupkgsForTestRestore\</InternalNupkgCacheDir>
<TestArchitectures>$(TargetArchitecture)</TestArchitectures>
<TestInfraTargetFramework>net5.0</TestInfraTargetFramework>
<!-- Clear the RID for test projects since they should be built rid-agnostic. -->
<RuntimeIdentifier></RuntimeIdentifier>
</PropertyGroup>
</Project>

Просмотреть файл

@ -2,7 +2,6 @@
<Target Name="SetupTestContextVariables"
DependsOnTargets="
GetProductVersions;
DetermineTestOutputDirectory"
BeforeTargets="Build">
<PropertyGroup>
@ -28,7 +27,7 @@
the same as the package's version. Fetch this directly from the project to avoid guesswork.
-->
<MSBuild
Projects="$(RepoRoot)pkg\windowsdesktop\pkg\Microsoft.WindowsDesktop.App.Runtime.pkgproj"
Projects="$(RepoRoot)pkg\windowsdesktop\sfx\Microsoft.WindowsDesktop.App.Runtime.sfxproj"
Targets="ReturnProductVersion">
<Output TaskParameter="TargetOutputs" PropertyName="WindowsDesktopRuntimeVersion" />
</MSBuild>

Просмотреть файл

@ -35,29 +35,17 @@ namespace Microsoft.DotNet.CoreSetup.Packaging.Tests
{
id = id ?? project;
string nuspecPath = Path.Combine(
dirs.BaseArtifactsFolder,
"packages",
dirs.Configuration,
"specs",
$"{id}.nuspec");
if (!File.Exists(nuspecPath))
{
return null;
}
PackageIdentity builtIdentity = new NuspecReader(nuspecPath).GetIdentity();
string nupkgPath = Path.Combine(
dirs.BaseArtifactsFolder,
"packages",
dirs.Configuration,
"Shipping",
$"{builtIdentity}.nupkg");
$"{id}.${dirs.MicrosoftNETCoreAppVersion}.nupkg");
// If the nuspec exists, the nupkg should exist.
Assert.True(File.Exists(nupkgPath));
if (!File.Exists(nupkgPath))
{
return null;
}
return new NuGetArtifactTester(nupkgPath);
}

Просмотреть файл

@ -4,6 +4,8 @@
<PropertyGroup>
<BuildCustomTasksForDesktop Condition="'$(MSBuildRuntimeType)' != 'Core'">true</BuildCustomTasksForDesktop>
<!-- Clear the RID for the tools-local projects since they should be built rid-agnostic. -->
<RuntimeIdentifier></RuntimeIdentifier>
</PropertyGroup>
</Project>