Merge branch 'release/8.0.2xx'
This commit is contained in:
commit
f7cadeb3e0
27 changed files with 662 additions and 93 deletions
|
@ -7,6 +7,7 @@
|
|||
<clear />
|
||||
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
|
||||
<!-- Begin: Package sources from DotNet-msbuild-Trusted -->
|
||||
<add key="darc-pub-DotNet-msbuild-Trusted-585e097" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-DotNet-msbuild-Trusted-585e0976/nuget/v3/index.json" />
|
||||
<!-- End: Package sources from DotNet-msbuild-Trusted -->
|
||||
<!-- Begin: Package sources from dotnet-sdk -->
|
||||
<!-- End: Package sources from dotnet-sdk -->
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
<VersionFeature21>30</VersionFeature21>
|
||||
<VersionFeature31>32</VersionFeature31>
|
||||
<VersionFeature50>17</VersionFeature50>
|
||||
<VersionFeature60>21</VersionFeature60>
|
||||
<VersionFeature70>10</VersionFeature70>
|
||||
<VersionFeature60>22</VersionFeature60>
|
||||
<VersionFeature70>11</VersionFeature70>
|
||||
<!-- Should be kept in sync with VersionFeature70. It should match the version of Microsoft.NET.ILLink.Tasks
|
||||
referenced by the same 7.0 SDK that references the 7.0.VersionFeature70 runtime pack. -->
|
||||
<_NET70ILLinkPackVersion>7.0.100-1.23211.1</_NET70ILLinkPackVersion>
|
||||
|
@ -244,13 +244,15 @@
|
|||
</PropertyGroup>
|
||||
<!-- Workload manifest package versions -->
|
||||
<PropertyGroup>
|
||||
<MauiFeatureBand>8.0.100-preview.6</MauiFeatureBand>
|
||||
<MauiWorkloadManifestVersion>8.0.0-preview.6.8686</MauiWorkloadManifestVersion>
|
||||
<XamarinAndroidWorkloadManifestVersion>34.0.0-preview.6.359</XamarinAndroidWorkloadManifestVersion>
|
||||
<XamarinIOSWorkloadManifestVersion>16.4.8646-net8-p6</XamarinIOSWorkloadManifestVersion>
|
||||
<XamarinMacCatalystWorkloadManifestVersion>16.4.8646-net8-p6</XamarinMacCatalystWorkloadManifestVersion>
|
||||
<XamarinMacOSWorkloadManifestVersion>13.3.8646-net8-p6</XamarinMacOSWorkloadManifestVersion>
|
||||
<XamarinTvOSWorkloadManifestVersion>16.4.8646-net8-p6</XamarinTvOSWorkloadManifestVersion>
|
||||
<AspireFeatureBand>8.0.100-rc.1</AspireFeatureBand>
|
||||
<AspireWorkloadManifestVersion>8.0.0-alpha.23471.13</AspireWorkloadManifestVersion>
|
||||
<MauiFeatureBand>8.0.100-rc.1</MauiFeatureBand>
|
||||
<MauiWorkloadManifestVersion>8.0.0-rc.1.9171</MauiWorkloadManifestVersion>
|
||||
<XamarinAndroidWorkloadManifestVersion>34.0.0-rc.1.432</XamarinAndroidWorkloadManifestVersion>
|
||||
<XamarinIOSWorkloadManifestVersion>16.4.8825-net8-rc1</XamarinIOSWorkloadManifestVersion>
|
||||
<XamarinMacCatalystWorkloadManifestVersion>16.4.8825-net8-rc1</XamarinMacCatalystWorkloadManifestVersion>
|
||||
<XamarinMacOSWorkloadManifestVersion>13.3.8825-net8-rc1</XamarinMacOSWorkloadManifestVersion>
|
||||
<XamarinTvOSWorkloadManifestVersion>16.4.8825-net8-rc1</XamarinTvOSWorkloadManifestVersion>
|
||||
<!-- Workloads from dotnet/emsdk -->
|
||||
<MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportPackageVersion>9.0.0-alpha.1.23465.3</MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportPackageVersion>
|
||||
<EmscriptenWorkloadManifestVersion>$(MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportPackageVersion)</EmscriptenWorkloadManifestVersion>
|
||||
|
|
|
@ -127,7 +127,7 @@ jobs:
|
|||
artifact: ${{ parameters.reuseBuildArtifactsFrom }}_${{ parameters.architecture }}_Artifacts
|
||||
patterns: |
|
||||
**/Private.SourceBuilt.Artifacts.*.tar.gz
|
||||
**/dotnet-sdk-*.tar.gz
|
||||
**/dotnet-sdk-+([0-9]).+([0-9]).+([0-9])*.tar.gz
|
||||
displayName: Download Previous Build
|
||||
|
||||
- task: CopyFiles@2
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
<UsingTask AssemblyFile="$(LeakDetectionTasksAssembly)" TaskName="CheckForPoison" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteUsageBurndownData" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReplaceTextInFile" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="CreateSdkSymbolsLayout" />
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
|
@ -56,6 +57,84 @@
|
|||
<MSBuild Projects="$(RepoProjectsDir)$(RootRepo).proj" Targets="WritePrebuiltUsageData;ReportPrebuiltUsage" />
|
||||
</Target>
|
||||
|
||||
<Target Name="DiscoverSymbolsTarballs"
|
||||
AfterTargets="Build">
|
||||
<ItemGroup>
|
||||
<SymbolsTarball Include="$(OutputPath)Symbols.*.tar.gz" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="ExtractSymbolsTarballs"
|
||||
AfterTargets="Build"
|
||||
DependsOnTargets="DiscoverSymbolsTarballs"
|
||||
Outputs="%(SymbolsTarball.Identity)">
|
||||
|
||||
<PropertyGroup>
|
||||
<Filename>$([System.IO.Path]::GetFileName('%(SymbolsTarball.Identity)'))</Filename>
|
||||
<RepositoryName>$(Filename.Split('.')[1])</RepositoryName>
|
||||
<UnifiedSymbolsLayout>$(ArtifactsTmpDir)Symbols</UnifiedSymbolsLayout>
|
||||
<DestinationFolder>$(UnifiedSymbolsLayout)/$(RepositoryName)</DestinationFolder>
|
||||
</PropertyGroup>
|
||||
|
||||
<MakeDir Directories="$(DestinationFolder)" />
|
||||
<Exec Command="tar -xzf %(SymbolsTarball.Identity) -C $(DestinationFolder)"
|
||||
WorkingDirectory="$(SymbolsRoot)" />
|
||||
|
||||
<Delete Files="%(SymbolsTarball.Identity)" />
|
||||
</Target>
|
||||
|
||||
<!-- After building, repackage symbols into a single tarball. -->
|
||||
<Target Name="RepackageSymbols"
|
||||
AfterTargets="Build"
|
||||
DependsOnTargets="
|
||||
DetermineMicrosoftSourceBuildIntermediateInstallerVersion;
|
||||
DiscoverSymbolsTarballs;
|
||||
ExtractSymbolsTarballs">
|
||||
<PropertyGroup>
|
||||
<UnifiedSymbolsTarball>$(OutputPath)dotnet-symbols-$(MicrosoftSourceBuildIntermediateInstallerVersion)-$(TargetRid).tar.gz</UnifiedSymbolsTarball>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec Command="tar --numeric-owner -czf $(UnifiedSymbolsTarball) *"
|
||||
WorkingDirectory="$(UnifiedSymbolsLayout)" />
|
||||
|
||||
<Message Importance="High" Text="Packaged all symbols in '$(UnifiedSymbolsTarball)'" />
|
||||
</Target>
|
||||
|
||||
<!-- After building, create the sdk symbols tarball. -->
|
||||
<Target Name="CreateSdkSymbolsTarball"
|
||||
AfterTargets="Build"
|
||||
DependsOnTargets="RepackageSymbols">
|
||||
<ItemGroup>
|
||||
<SdkTarballItem Include="$(OutputPath)dotnet-sdk-*$(TarBallExtension)"
|
||||
Exclude="$(OutputPath)dotnet-sdk-symbols-*$(TarBallExtension)" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<SdkSymbolsLayout>$(ArtifactsTmpDir)SdkSymbols</SdkSymbolsLayout>
|
||||
<SdkSymbolsTarball>$(OutputPath)dotnet-sdk-symbols-$(MicrosoftSourceBuildIntermediateInstallerVersion)-$(TargetRid).tar.gz</SdkSymbolsTarball>
|
||||
<SdkLayout>$(ArtifactsTmpDir)Sdk</SdkLayout>
|
||||
<SdkTarball>%(SdkTarballItem.Identity)</SdkTarball>
|
||||
</PropertyGroup>
|
||||
|
||||
<MakeDir Directories="$(SdkLayout)" />
|
||||
<Exec Command="tar -xzf $(SdkTarball) -C $(SdkLayout)"
|
||||
WorkingDirectory="$(OutputPath)" />
|
||||
|
||||
<CreateSdkSymbolsLayout SdkLayoutPath="$(SdkLayout)"
|
||||
AllSymbolsPath="$(UnifiedSymbolsLayout)"
|
||||
SdkSymbolsLayoutPath="$(SdkSymbolsLayout)"
|
||||
FailOnMissingPDBs="true" />
|
||||
|
||||
<Exec Command="tar --numeric-owner -czf $(SdkSymbolsTarball) *"
|
||||
WorkingDirectory="$(SdkSymbolsLayout)" />
|
||||
|
||||
<Message Importance="High" Text="Packaged sdk symbols in '$(SdkSymbolsTarball)'" />
|
||||
|
||||
<RemoveDir Directories="$(UnifiedSymbolsLayout)" />
|
||||
<RemoveDir Directories="$(SdkSymbolsLayout)" />
|
||||
<RemoveDir Directories="$(SdkLayout)" />
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Dev scenario: rewrite a prebuilt-report. This makes it easy to add data to an existing
|
||||
prebuilt report without performing another full build. This doesn't reevalutate which packages
|
||||
|
@ -104,7 +183,8 @@
|
|||
|
||||
<Target Name="RunSmokeTest">
|
||||
<ItemGroup>
|
||||
<SdkTarballItem Include="$(SourceBuiltTarBallPath)**/dotnet-sdk*$(TarBallExtension)" />
|
||||
<SdkTarballItem Include="$(SourceBuiltTarBallPath)**/dotnet-sdk*$(TarBallExtension)"
|
||||
Exclude="$(SourceBuiltTarBallPath)**/dotnet-sdk-symbols*$(TarBallExtension)" />
|
||||
<SourceBuiltArtifactsItem Include="$(SourceBuiltTarBallPath)**/Private.SourceBuilt.Artifacts.*$(TarBallExtension)" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
These URLs can't be composed from their base URL and version as we read them from the
|
||||
prep.sh and pipeline scripts, outside of MSBuild.
|
||||
-->
|
||||
<PrivateSourceBuiltArtifactsUrl>https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.8.0.100-rc.1.23410.1.centos.8-x64.tar.gz</PrivateSourceBuiltArtifactsUrl>
|
||||
<PrivateSourceBuiltSdkUrl_CentOS8Stream>https://dotnetcli.azureedge.net/source-built-artifacts/sdks/dotnet-sdk-8.0.100-rc.1.23410.1-centos.8-x64.tar.gz</PrivateSourceBuiltSdkUrl_CentOS8Stream>
|
||||
<PrivateSourceBuiltArtifactsUrl>https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.8.0.100-rc.1.23455.1.centos.8-x64.tar.gz</PrivateSourceBuiltArtifactsUrl>
|
||||
<PrivateSourceBuiltSdkUrl_CentOS8Stream>https://dotnetcli.azureedge.net/source-built-artifacts/sdks/dotnet-sdk-8.0.100-rc.1.23455.1-centos.8-x64.tar.gz</PrivateSourceBuiltSdkUrl_CentOS8Stream>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -19,10 +19,12 @@
|
|||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<LinuxRid Include="linux-x64" />
|
||||
<LinuxRid Include="linux-musl-x64" />
|
||||
<LinuxRid Include="linux-arm64" />
|
||||
<LinuxRid Include="linux-musl-arm64" />
|
||||
<UnixRid Include="linux-x64" />
|
||||
<UnixRid Include="linux-musl-x64" />
|
||||
<UnixRid Include="linux-arm64" />
|
||||
<UnixRid Include="linux-musl-arm64" />
|
||||
<UnixRid Include="osx-x64" />
|
||||
<UnixRid Include="osx-arm64" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- These packages will be replaced with ms-built packages downloaded from official package feeds-->
|
||||
|
@ -51,44 +53,44 @@
|
|||
AfterTargets="CollectPackageDownloads"
|
||||
Returns="@(PackageDownload)">
|
||||
<ItemGroup>
|
||||
<!-- Generate a cross-product between runtime packs and Linux RIDs -->
|
||||
<RuntimePackWithLinuxRid Include="@(RuntimePack)">
|
||||
<LinuxRid>%(LinuxRid.Identity)</LinuxRid>
|
||||
</RuntimePackWithLinuxRid>
|
||||
<!-- Generate a cross-product between runtime packs and Unix RIDs -->
|
||||
<RuntimePackWithUnixRid Include="@(RuntimePack)">
|
||||
<UnixRid>%(UnixRid.Identity)</UnixRid>
|
||||
</RuntimePackWithUnixRid>
|
||||
|
||||
<!-- Generate a cross-product between portable packages and Linux RIDs -->
|
||||
<PortablePackageWithLinuxRid Include="@(PortablePackage)">
|
||||
<LinuxRid>%(LinuxRid.Identity)</LinuxRid>
|
||||
</PortablePackageWithLinuxRid>
|
||||
<!-- Generate a cross-product between portable packages and Unix RIDs -->
|
||||
<PortablePackageWithUnixRid Include="@(PortablePackage)">
|
||||
<UnixRid>%(UnixRid.Identity)</UnixRid>
|
||||
</PortablePackageWithUnixRid>
|
||||
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<!--
|
||||
Generate package names for runtime packs by concatenating the base name with the Linux RID
|
||||
Generate package names for runtime packs by concatenating the base name with the Unix RID
|
||||
(e.g. Microsoft.Aspnetcore.App.Runtime.linux-x64)
|
||||
-->
|
||||
<PackageWithName Include="@(RuntimePackWithLinuxRid)">
|
||||
<PackageName>%(RuntimePackWithLinuxRid.Identity).%(RuntimePackWithLinuxRid.LinuxRid)</PackageName>
|
||||
<PackageWithName Include="@(RuntimePackWithUnixRid)">
|
||||
<PackageName>%(RuntimePackWithUnixRid.Identity).%(RuntimePackWithUnixRid.UnixRid)</PackageName>
|
||||
</PackageWithName>
|
||||
|
||||
<!--
|
||||
Include the base name of each portable package (e.g. Microsoft.NETCore.ILAsm)
|
||||
Exclude any that are native packages.
|
||||
-->
|
||||
<PackageWithName Include="@(PortablePackageWithLinuxRid)" Condition=" '%(PortablePackageWithLinuxRid.IsNative)' != 'true' ">
|
||||
<PackageName>%(PortablePackageWithLinuxRid.Identity)</PackageName>
|
||||
<PackageWithName Include="@(PortablePackageWithUnixRid)" Condition=" '%(PortablePackageWithUnixRid.IsNative)' != 'true' ">
|
||||
<PackageName>%(PortablePackageWithUnixRid.Identity)</PackageName>
|
||||
</PackageWithName>
|
||||
|
||||
<!--
|
||||
Generate Linux RID package names for portable packages by concatenating the base name with the Linux RID
|
||||
Generate Unix RID package names for portable packages by concatenating the base name with the Unix RID
|
||||
(e.g. runtime.linux-x64.Microsoft.NETCore.ILAsm)
|
||||
Do this for two groups: native and non-native packages. They have different naming conventions.
|
||||
-->
|
||||
<PackageWithName Include="@(PortablePackageWithLinuxRid)" Condition=" '%(PortablePackageWithLinuxRid.IsNative)' != 'true' ">
|
||||
<PackageName>runtime.%(PortablePackageWithLinuxRid.LinuxRid).%(PortablePackageWithLinuxRid.Identity)</PackageName>
|
||||
<PackageWithName Include="@(PortablePackageWithUnixRid)" Condition=" '%(PortablePackageWithUnixRid.IsNative)' != 'true' ">
|
||||
<PackageName>runtime.%(PortablePackageWithUnixRid.UnixRid).%(PortablePackageWithUnixRid.Identity)</PackageName>
|
||||
</PackageWithName>
|
||||
<PackageWithName Include="@(PortablePackageWithLinuxRid)" Condition=" '%(PortablePackageWithLinuxRid.IsNative)' == 'true' ">
|
||||
<PackageName>runtime.%(PortablePackageWithLinuxRid.LinuxRid).runtime.native.%(PortablePackageWithLinuxRid.Identity)</PackageName>
|
||||
<PackageWithName Include="@(PortablePackageWithUnixRid)" Condition=" '%(PortablePackageWithUnixRid.IsNative)' == 'true' ">
|
||||
<PackageName>runtime.%(PortablePackageWithUnixRid.UnixRid).runtime.native.%(PortablePackageWithUnixRid.Identity)</PackageName>
|
||||
</PackageWithName>
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
@ -0,0 +1,154 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection.Metadata;
|
||||
using System.Reflection.PortableExecutable;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
|
||||
namespace Microsoft.DotNet.Build.Tasks
|
||||
{
|
||||
// Creates a symbols layout that matches the SDK layout
|
||||
public class CreateSdkSymbolsLayout : Task
|
||||
{
|
||||
/// <summary>
|
||||
/// Path to SDK layout.
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string SdkLayoutPath { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Path to all source-built symbols, flat or with folder hierarchy.
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string AllSymbolsPath { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Path to SDK symbols layout - will be created if it doesn't exist.
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string SdkSymbolsLayoutPath { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// If true, fails the build if any PDBs are missing.
|
||||
/// </summary>
|
||||
public bool FailOnMissingPDBs { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
IList<string> filesWithoutPDBs = GenerateSymbolsLayout(IndexAllSymbols());
|
||||
if (filesWithoutPDBs.Count > 0)
|
||||
{
|
||||
LogErrorOrWarning(FailOnMissingPDBs, $"Did not find PDBs for the following SDK files:");
|
||||
foreach (string file in filesWithoutPDBs)
|
||||
{
|
||||
LogErrorOrWarning(FailOnMissingPDBs, file);
|
||||
}
|
||||
}
|
||||
|
||||
return !Log.HasLoggedErrors;
|
||||
}
|
||||
|
||||
private void LogErrorOrWarning(bool isError, string message)
|
||||
{
|
||||
if (FailOnMissingPDBs)
|
||||
{
|
||||
Log.LogError(message);
|
||||
}
|
||||
else
|
||||
{
|
||||
Log.LogWarning(message);
|
||||
}
|
||||
}
|
||||
|
||||
private IList<string> GenerateSymbolsLayout(Hashtable allPdbGuids)
|
||||
{
|
||||
List<string> filesWithoutPDBs = new List<string>();
|
||||
|
||||
if (Directory.Exists(SdkSymbolsLayoutPath))
|
||||
{
|
||||
Directory.Delete(SdkSymbolsLayoutPath, true);
|
||||
}
|
||||
|
||||
foreach (string file in Directory.GetFiles(SdkLayoutPath, "*", SearchOption.AllDirectories))
|
||||
{
|
||||
if (file.EndsWith(".dll", StringComparison.InvariantCultureIgnoreCase) &&
|
||||
!file.EndsWith(".resources.dll", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
string guid = string.Empty;
|
||||
using var pdbStream = File.OpenRead(file);
|
||||
using var peReader = new PEReader(pdbStream);
|
||||
try
|
||||
{
|
||||
// Check if pdb is embedded
|
||||
if (peReader.ReadDebugDirectory().Any(entry => entry.Type == DebugDirectoryEntryType.EmbeddedPortablePdb))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var debugDirectory = peReader.ReadDebugDirectory().First(entry => entry.Type == DebugDirectoryEntryType.CodeView);
|
||||
var codeViewData = peReader.ReadCodeViewDebugDirectoryData(debugDirectory);
|
||||
guid = $"{codeViewData.Guid.ToString("N").Replace("-", string.Empty)}";
|
||||
}
|
||||
catch (Exception e) when (e is BadImageFormatException || e is InvalidOperationException)
|
||||
{
|
||||
// Ignore binaries without debug info
|
||||
continue;
|
||||
}
|
||||
|
||||
if (guid != string.Empty)
|
||||
{
|
||||
if (!allPdbGuids.ContainsKey(guid))
|
||||
{
|
||||
filesWithoutPDBs.Add(file.Substring(SdkLayoutPath.Length + 1));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Copy matching pdb to symbols path, preserving sdk binary's hierarchy
|
||||
string sourcePath = (string)allPdbGuids[guid]!;
|
||||
string destinationPath =
|
||||
file.Replace(SdkLayoutPath, SdkSymbolsLayoutPath)
|
||||
.Replace(Path.GetFileName(file), Path.GetFileName(sourcePath));
|
||||
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(destinationPath)!);
|
||||
File.Copy(sourcePath, destinationPath, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return filesWithoutPDBs;
|
||||
}
|
||||
|
||||
public Hashtable IndexAllSymbols()
|
||||
{
|
||||
Hashtable allPdbGuids = new Hashtable();
|
||||
|
||||
foreach (string file in Directory.GetFiles(AllSymbolsPath, "*.pdb", SearchOption.AllDirectories))
|
||||
{
|
||||
using var pdbFileStream = File.OpenRead(file);
|
||||
var metadataProvider = MetadataReaderProvider.FromPortablePdbStream(pdbFileStream);
|
||||
var metadataReader = metadataProvider.GetMetadataReader();
|
||||
if (metadataReader.DebugMetadataHeader == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var id = new BlobContentId(metadataReader.DebugMetadataHeader.Id);
|
||||
string guid = $"{id.Guid:N}";
|
||||
if (!string.IsNullOrEmpty(guid) && !allPdbGuids.ContainsKey(guid))
|
||||
{
|
||||
allPdbGuids.Add(guid, file);
|
||||
}
|
||||
}
|
||||
|
||||
return allPdbGuids;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"tools": {
|
||||
"dotnet": "8.0.100-rc.1.23410.12"
|
||||
"dotnet": "8.0.100-rc.1.23455.8"
|
||||
},
|
||||
"msbuild-sdks": {
|
||||
"Microsoft.Build.CentralPackageVersions": "2.0.1",
|
||||
|
|
|
@ -12,6 +12,12 @@
|
|||
<BuildCommandArgs>$(BuildCommandArgs) /p:PortableRid=$(_baseOS)-$(Platform)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:TargetRid=$(TargetRid)</BuildCommandArgs>
|
||||
|
||||
<!-- Propagate RID set in source-build to sdk repo -->
|
||||
<_platformIndex>$(NETCoreSdkPortableRuntimeIdentifier.LastIndexOf('-'))</_platformIndex>
|
||||
<_baseOS>$(NETCoreSdkPortableRuntimeIdentifier.Substring(0, $(_platformIndex)))</_baseOS>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:PortableRid=$(_baseOS)-$(Platform)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:TargetRid=$(TargetRid)</BuildCommandArgs>
|
||||
|
||||
<!-- Just like mono, arm does not support NativeAot -->
|
||||
<BuildCommandArgs Condition="'$(BuildArchitecture)' == 'arm'">$(BuildCommandArgs) /p:NativeAotSupported=false</BuildCommandArgs>
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
<BuildCommandArgs>$(BuildCommandArgs) /p:SemanticVersioningV1=true</BuildCommandArgs>
|
||||
<BuildCommand>$(ProjectDirectory)\eng\common\build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
|
||||
<DeterministicBuildOptOut>true</DeterministicBuildOptOut>
|
||||
<!-- IDE0090: https://github.com/microsoft/vstest/pull/4674 -->
|
||||
<RepoNoWarns>IDE0090</RepoNoWarns>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -34,8 +34,7 @@ public class BasicScenarioTests : SmokeTests
|
|||
{
|
||||
yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.Console,
|
||||
// R2R is not supported on Mono (see https://github.com/dotnet/runtime/issues/88419#issuecomment-1623762676)
|
||||
// Disable R2R tests due to https://github.com/dotnet/source-build/issues/3591
|
||||
DotNetActions.Build | DotNetActions.Run | DotNetActions.PublishComplex);
|
||||
DotNetActions.Build | DotNetActions.Run | (DotNetHelper.ShouldPublishComplex() ? DotNetActions.None : DotNetActions.PublishComplex) | (helper.IsMonoRuntime ? DotNetActions.None : DotNetActions.PublishR2R));
|
||||
yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.ClassLib, DotNetActions.Build | DotNetActions.Publish);
|
||||
yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.XUnit, DotNetActions.Test);
|
||||
yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.NUnit, DotNetActions.Test);
|
||||
|
|
|
@ -19,9 +19,15 @@ public class DotNetFormatTests : SmokeTests
|
|||
/// <Summary>
|
||||
/// Format an unformatted project and verify that the output matches the pre-computed solution.
|
||||
/// </Summary>
|
||||
//[Fact] - Re-enable once https://github.com/dotnet/sdk/issues/27332 is resolved. Tracking - https://github.com/dotnet/source-build/issues/3004
|
||||
[Fact]
|
||||
public void FormatProject()
|
||||
{
|
||||
if (Config.TargetRid.Contains("alpine"))
|
||||
{
|
||||
// Skipping this test on Alpine due to https://github.com/dotnet/format/issues/1945
|
||||
return;
|
||||
}
|
||||
|
||||
string unformattedCsFilePath = Path.Combine(BaselineHelper.GetAssetsDirectory(), UnformattedFileName);
|
||||
|
||||
string projectDirectory = DotNetHelper.ExecuteNew("console", nameof(FormatProject), "C#");
|
||||
|
|
|
@ -126,7 +126,7 @@ internal class DotNetHelper
|
|||
}
|
||||
}
|
||||
|
||||
public static void ConfigureProcess(Process process, string? workingDirectory, bool setPath = false)
|
||||
public static void ConfigureProcess(Process process, string? workingDirectory)
|
||||
{
|
||||
if (workingDirectory != null)
|
||||
{
|
||||
|
@ -137,11 +137,7 @@ internal class DotNetHelper
|
|||
process.StartInfo.EnvironmentVariables["DOTNET_SKIP_FIRST_TIME_EXPERIENCE"] = "1";
|
||||
process.StartInfo.EnvironmentVariables["DOTNET_ROOT"] = Config.DotNetDirectory;
|
||||
process.StartInfo.EnvironmentVariables["NUGET_PACKAGES"] = PackagesDirectory;
|
||||
|
||||
if (setPath)
|
||||
{
|
||||
process.StartInfo.EnvironmentVariables["PATH"] = $"{Config.DotNetDirectory}:{Environment.GetEnvironmentVariable("PATH")}";
|
||||
}
|
||||
process.StartInfo.EnvironmentVariables["PATH"] = $"{Config.DotNetDirectory}:{Environment.GetEnvironmentVariable("PATH")}";
|
||||
}
|
||||
|
||||
public void ExecuteBuild(string projectName) =>
|
||||
|
@ -290,6 +286,9 @@ internal class DotNetHelper
|
|||
|
||||
private static string GetProjectDirectory(string projectName) => Path.Combine(ProjectsDirectory, projectName);
|
||||
|
||||
public static bool ShouldPublishComplex() =>
|
||||
string.Equals(Config.TargetArchitecture,"ppc64le") || string.Equals(Config.TargetArchitecture,"s390x");
|
||||
|
||||
private class WebAppValidator
|
||||
{
|
||||
private readonly ITestOutputHelper _outputHelper;
|
||||
|
|
|
@ -20,7 +20,7 @@ public class DotNetWatchTests : SmokeTests
|
|||
bool outputChanged = false;
|
||||
|
||||
DotNetHelper.ExecuteCmd(
|
||||
"watch run",
|
||||
"watch run --non-interactive",
|
||||
workingDirectory: projectDirectory,
|
||||
processConfigCallback: processConfigCallback,
|
||||
expectedExitCode: null, // The exit code does not reflect whether or not dotnet watch is working properly
|
||||
|
|
|
@ -17,10 +17,14 @@ internal static class ExecuteHelper
|
|||
string args,
|
||||
ITestOutputHelper outputHelper,
|
||||
bool logOutput = false,
|
||||
bool excludeInfo = false,
|
||||
Action<Process>? configureCallback = null,
|
||||
int millisecondTimeout = -1)
|
||||
{
|
||||
outputHelper.WriteLine($"Executing: {fileName} {args}");
|
||||
if (!excludeInfo)
|
||||
{
|
||||
outputHelper.WriteLine($"Executing: {fileName} {args}");
|
||||
}
|
||||
|
||||
Process process = new()
|
||||
{
|
||||
|
|
|
@ -21,7 +21,7 @@ public class OmniSharpTests : SmokeTests
|
|||
// Update version as new releases become available: https://github.com/OmniSharp/omnisharp-roslyn/releases
|
||||
private const string OmniSharpReleaseVersion = "1.39.8";
|
||||
|
||||
private string OmniSharpDirectory { get; } = Path.Combine(Directory.GetCurrentDirectory(), "omnisharp");
|
||||
private string OmniSharpDirectory { get; } = Path.Combine(Directory.GetCurrentDirectory(), nameof(OmniSharpTests));
|
||||
|
||||
public OmniSharpTests(ITestOutputHelper outputHelper) : base(outputHelper) { }
|
||||
|
||||
|
@ -51,7 +51,7 @@ public class OmniSharpTests : SmokeTests
|
|||
OutputHelper,
|
||||
logOutput: true,
|
||||
millisecondTimeout: 5000,
|
||||
configureCallback: (process) => DotNetHelper.ConfigureProcess(process, projectDirectory, setPath: true));
|
||||
configureCallback: (process) => DotNetHelper.ConfigureProcess(process, projectDirectory));
|
||||
|
||||
Assert.NotEqual(0, executeResult.Process.ExitCode);
|
||||
Assert.DoesNotContain("ERROR", executeResult.StdOut);
|
||||
|
|
|
@ -0,0 +1,128 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace Microsoft.DotNet.SourceBuild.SmokeTests;
|
||||
|
||||
public class SourcelinkTests : SmokeTests
|
||||
{
|
||||
private static string SourcelinkRoot { get; } = Path.Combine(Directory.GetCurrentDirectory(), nameof(SourcelinkTests));
|
||||
|
||||
public SourcelinkTests(ITestOutputHelper outputHelper) : base(outputHelper) { }
|
||||
|
||||
/// <summary>
|
||||
/// Verifies that all symbols have valid sourcelinks.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public void VerifySourcelinks()
|
||||
{
|
||||
if (Directory.Exists(SourcelinkRoot))
|
||||
{
|
||||
Directory.Delete(SourcelinkRoot, true);
|
||||
}
|
||||
Directory.CreateDirectory(SourcelinkRoot);
|
||||
|
||||
IList<string> failedFiles = ValidateSymbols(ExtractSymbolsPackages(GetAllSymbolsPackages()), InitializeSourcelinkTool());
|
||||
|
||||
if (failedFiles.Count > 0)
|
||||
{
|
||||
OutputHelper.WriteLine($"Sourcelink verification failed for the following files:");
|
||||
foreach (string file in failedFiles)
|
||||
{
|
||||
OutputHelper.WriteLine(file);
|
||||
}
|
||||
}
|
||||
|
||||
Assert.True(failedFiles.Count == 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes sourcelink tool.
|
||||
/// Extracts the dotnet-sourcelink tool package from PSB arhive.
|
||||
/// </summary>
|
||||
/// <returns>Path to sourcelink tool binary.</returns>
|
||||
private string InitializeSourcelinkTool()
|
||||
{
|
||||
const string SourcelinkToolPackageNamePattern = "dotnet-sourcelink*nupkg";
|
||||
const string SourcelinkToolBinaryFilename = "dotnet-sourcelink.dll";
|
||||
|
||||
string toolPackageDir = Directory.CreateDirectory(Path.Combine(SourcelinkRoot, "sourcelink-tool")).FullName;
|
||||
Utilities.ExtractTarball(Config.SourceBuiltArtifactsPath, toolPackageDir, SourcelinkToolPackageNamePattern);
|
||||
|
||||
string extractedToolPath = Directory.CreateDirectory(Path.Combine(toolPackageDir, "extracted")).FullName;
|
||||
Utilities.ExtractNupkg(Utilities.GetFile(toolPackageDir, SourcelinkToolPackageNamePattern), extractedToolPath);
|
||||
|
||||
return Utilities.GetFile(extractedToolPath, SourcelinkToolBinaryFilename);
|
||||
}
|
||||
|
||||
private IEnumerable<string> GetAllSymbolsPackages()
|
||||
{
|
||||
/*
|
||||
At the moment we validate sourcelinks from runtime symbols package.
|
||||
The plan is to make symbols, from all repos, available in source-build artifacts.
|
||||
Once that's available, this code will be modified to validate all available symbols.
|
||||
Tracking issue: https://github.com/dotnet/source-build/issues/3612
|
||||
*/
|
||||
|
||||
// Runtime symbols package lives in the same directory as PSB artifacts.
|
||||
// i.e. <repo-root>/artifacts/x64/Release/runtime/dotnet-runtime-symbols-fedora.36-x64-8.0.0-preview.7.23355.7.tar.gz
|
||||
yield return Utilities.GetFile(Path.GetDirectoryName(Config.SourceBuiltArtifactsPath), "dotnet-runtime-symbols-*.tar.gz");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Extracts symbols packages to subdirectories of the common symbols root directory.
|
||||
/// </summary>
|
||||
/// <returns>Path to common symbols root directory.</returns>
|
||||
private string ExtractSymbolsPackages(IEnumerable<string> packages)
|
||||
{
|
||||
string symbolsRoot = Directory.CreateDirectory(Path.Combine(SourcelinkRoot, "symbols")).FullName;
|
||||
|
||||
foreach (string package in packages)
|
||||
{
|
||||
Assert.True(package.EndsWith(".tar.gz"), $"Package extension is not supported: {package}");
|
||||
DirectoryInfo targetDirInfo = Directory.CreateDirectory(Path.Combine(symbolsRoot, Path.GetFileNameWithoutExtension(package)));
|
||||
Utilities.ExtractTarball(package, targetDirInfo.FullName, OutputHelper);
|
||||
}
|
||||
|
||||
return symbolsRoot;
|
||||
}
|
||||
|
||||
private IList<string> ValidateSymbols(string path, string sourcelinkToolPath)
|
||||
{
|
||||
Assert.True(Directory.Exists(path), $"Path, with symbol files to validate, does not exist: {path}");
|
||||
|
||||
var failedFiles = new ConcurrentBag<string>();
|
||||
|
||||
IEnumerable<string> allFiles = Directory.GetFiles(path, "*.pdb", SearchOption.AllDirectories);
|
||||
Parallel.ForEach(allFiles, file =>
|
||||
{
|
||||
(Process Process, string StdOut, string StdErr) executeResult = ExecuteHelper.ExecuteProcess(
|
||||
DotNetHelper.DotNetPath,
|
||||
$"{sourcelinkToolPath} test --offline {file}",
|
||||
OutputHelper,
|
||||
logOutput: false,
|
||||
excludeInfo: true, // Exclude info messages, as there can be 1,000+ processes
|
||||
millisecondTimeout: 5000,
|
||||
configureCallback: (process) => DotNetHelper.ConfigureProcess(process, null));
|
||||
|
||||
if (executeResult.Process.ExitCode != 0)
|
||||
{
|
||||
failedFiles.Add(file);
|
||||
}
|
||||
});
|
||||
|
||||
Assert.True(allFiles.Count() > 0, $"Did not find any symbols for sourcelink verification in {path}");
|
||||
|
||||
return failedFiles.ToList();
|
||||
}
|
||||
}
|
|
@ -62,6 +62,19 @@ public static class Utilities
|
|||
}
|
||||
}
|
||||
|
||||
public static void ExtractNupkg(string package, string outputDir)
|
||||
{
|
||||
Directory.CreateDirectory(outputDir);
|
||||
|
||||
using ZipArchive zip = ZipFile.OpenRead(package);
|
||||
foreach (ZipArchiveEntry entry in zip.Entries)
|
||||
{
|
||||
string outputPath = Path.Combine(outputDir, entry.FullName);
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(outputPath));
|
||||
entry.ExtractToFile(outputPath);
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task RetryAsync(Func<Task> executor, ITestOutputHelper outputHelper)
|
||||
{
|
||||
await Utilities.RetryAsync(
|
||||
|
@ -122,4 +135,12 @@ public static class Utilities
|
|||
throw new ArgumentException($"{variableName} is null, empty, or whitespace.");
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetFile(string path, string pattern)
|
||||
{
|
||||
string[] files = Directory.GetFiles(path, pattern, SearchOption.AllDirectories);
|
||||
Assert.False(files.Length > 1, $"Found multiple files matching the pattern {pattern}: {Environment.NewLine}{string.Join(Environment.NewLine, files)}");
|
||||
Assert.False(files.Length == 0, $"Did not find any files matching the pattern {pattern}");
|
||||
return files[0];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ public class WebScenarioTests : SmokeTests
|
|||
{
|
||||
foreach (DotNetLanguage language in new[] { DotNetLanguage.CSharp, DotNetLanguage.FSharp })
|
||||
{
|
||||
yield return new(nameof(WebScenarioTests), language, DotNetTemplate.Web, DotNetActions.Build | DotNetActions.Run | DotNetActions.PublishComplex);
|
||||
yield return new(nameof(WebScenarioTests), language, DotNetTemplate.Web, DotNetActions.Build | DotNetActions.Run | (DotNetHelper.ShouldPublishComplex() ? DotNetActions.None : DotNetActions.PublishComplex));
|
||||
yield return new(nameof(WebScenarioTests), language, DotNetTemplate.Mvc, DotNetActions.Build | DotNetActions.Run | DotNetActions.Publish) { NoHttps = true };
|
||||
yield return new(nameof(WebScenarioTests), language, DotNetTemplate.WebApi, DotNetActions.Build | DotNetActions.Run | DotNetActions.Publish);
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.CodeAnalysis.*
|
||||
./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.DiaSymReader.dll
|
||||
./sdk/x.y.z/DotnetTools/dotnet-format/System.Composition.*
|
||||
./sdk/x.y.z/DotnetTools/dotnet-format/System.IO.Pipelines.dll
|
||||
./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Humanizer.dll
|
||||
./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.Build.Locator.dll
|
||||
./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.AnalyzerUtilities.dll
|
||||
|
|
|
@ -45,6 +45,7 @@ sb,./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/*?
|
|||
|
||||
# missing workload manifests - https://github.com/dotnet/source-build/issues/3242
|
||||
msft,./sdk-manifests/x.y.z/microsoft.net.sdk.android/*
|
||||
msft,./sdk-manifests/x.y.z/microsoft.net.sdk.aspire/*
|
||||
msft,./sdk-manifests/x.y.z/microsoft.net.sdk.ios/*
|
||||
msft,./sdk-manifests/x.y.z/microsoft.net.sdk.maccatalyst/*
|
||||
msft,./sdk-manifests/x.y.z/microsoft.net.sdk.macos/*
|
||||
|
@ -58,6 +59,11 @@ sb,./packs/Microsoft.NETCore.App.Runtime.*/*
|
|||
# netfx tooling - dumpminitool - https://github.com/dotnet/source-build/issues/3289
|
||||
msft,./sdk/x.y.z/Extensions/dump/*
|
||||
|
||||
# https://github.com/dotnet/msbuild/issues/9213
|
||||
msft,./sdk/x.y.z/**/System.Windows.Extensions.dll
|
||||
msft,./sdk/x.y.z/**/System.Security.Permissions.dll
|
||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Diagnostics.EventLog.dll
|
||||
|
||||
# netfx runtimes for dotnet-watch - https://github.com/dotnet/source-build/issues/3285
|
||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.Elfie.dll
|
||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.Win32.SystemEvents.dll
|
||||
|
@ -83,12 +89,10 @@ msft,./sdk/x.y.z/FSharp/Microsoft.VisualStudio.Setup.Configuration.Interop.dll
|
|||
msft,./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/Microsoft.Win32.SystemEvents.dll
|
||||
msft,./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/System.Drawing.Common.dll
|
||||
msft,./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/System.Security.Cryptography.ProtectedData.dll
|
||||
msft,./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/System.Windows.Extensions.dll
|
||||
|
||||
# windows components - https://github.com/dotnet/source-build/issues/3526
|
||||
msft,./sdk/x.y.z/runtimes/win/lib/netx.y/Microsoft.Win32.SystemEvents.dll
|
||||
msft,./sdk/x.y.z/runtimes/win/lib/netx.y/System.Drawing.Common.dll
|
||||
msft,./sdk/x.y.z/runtimes/win/lib/netx.y/System.Windows.Extensions.dll
|
||||
|
||||
# runtime components in roslyn layout - https://github.com/dotnet/source-build/issues/3286
|
||||
# Expected - build is filtering components present in target platform.
|
||||
|
|
|
@ -116,7 +116,6 @@ index ------------
|
|||
-./sdk/x.y.z/Containers/containerize/Microsoft.NET.Build.Containers.dll
|
||||
-./sdk/x.y.z/Containers/containerize/Microsoft.NET.StringTools.dll
|
||||
-./sdk/x.y.z/Containers/containerize/Microsoft.VisualStudio.Setup.Configuration.Interop.dll
|
||||
-./sdk/x.y.z/Containers/containerize/Microsoft.Win32.SystemEvents.dll
|
||||
-./sdk/x.y.z/Containers/containerize/MSBuild.dll
|
||||
-./sdk/x.y.z/Containers/containerize/Newtonsoft.Json.dll
|
||||
-./sdk/x.y.z/Containers/containerize/NuGet.Common.dll
|
||||
|
@ -145,22 +144,15 @@ index ------------
|
|||
-./sdk/x.y.z/Containers/containerize/runtimes/win/
|
||||
-./sdk/x.y.z/Containers/containerize/runtimes/win/lib/
|
||||
-./sdk/x.y.z/Containers/containerize/runtimes/win/lib/netx.y/
|
||||
-./sdk/x.y.z/Containers/containerize/runtimes/win/lib/netx.y/Microsoft.Win32.SystemEvents.dll
|
||||
-./sdk/x.y.z/Containers/containerize/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.dll
|
||||
-./sdk/x.y.z/Containers/containerize/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.Messages.dll
|
||||
-./sdk/x.y.z/Containers/containerize/runtimes/win/lib/netx.y/System.Drawing.Common.dll
|
||||
-./sdk/x.y.z/Containers/containerize/runtimes/win/lib/netx.y/System.Security.Cryptography.Pkcs.dll
|
||||
-./sdk/x.y.z/Containers/containerize/runtimes/win/lib/netx.y/System.Security.Cryptography.ProtectedData.dll
|
||||
-./sdk/x.y.z/Containers/containerize/runtimes/win/lib/netx.y/System.Windows.Extensions.dll
|
||||
-./sdk/x.y.z/Containers/containerize/System.CommandLine.dll
|
||||
-./sdk/x.y.z/Containers/containerize/System.Configuration.ConfigurationManager.dll
|
||||
-./sdk/x.y.z/Containers/containerize/System.Diagnostics.EventLog.dll
|
||||
-./sdk/x.y.z/Containers/containerize/System.Drawing.Common.dll
|
||||
-./sdk/x.y.z/Containers/containerize/System.Reflection.MetadataLoadContext.dll
|
||||
-./sdk/x.y.z/Containers/containerize/System.Security.Cryptography.Pkcs.dll
|
||||
-./sdk/x.y.z/Containers/containerize/System.Security.Cryptography.ProtectedData.dll
|
||||
-./sdk/x.y.z/Containers/containerize/System.Security.Permissions.dll
|
||||
-./sdk/x.y.z/Containers/containerize/System.Windows.Extensions.dll
|
||||
-./sdk/x.y.z/Containers/containerize/tr/
|
||||
-./sdk/x.y.z/Containers/containerize/tr/Microsoft.DotNet.Cli.Utils.resources.dll
|
||||
-./sdk/x.y.z/Containers/containerize/tr/Microsoft.NET.Build.Containers.resources.dll
|
||||
|
@ -256,7 +248,6 @@ index ------------
|
|||
-./sdk/x.y.z/Containers/tasks/net472/System.Reflection.MetadataLoadContext.dll
|
||||
-./sdk/x.y.z/Containers/tasks/net472/System.Runtime.CompilerServices.Unsafe.dll
|
||||
-./sdk/x.y.z/Containers/tasks/net472/System.Security.AccessControl.dll
|
||||
-./sdk/x.y.z/Containers/tasks/net472/System.Security.Permissions.dll
|
||||
-./sdk/x.y.z/Containers/tasks/net472/System.Security.Principal.Windows.dll
|
||||
-./sdk/x.y.z/Containers/tasks/net472/System.Text.Encodings.Web.dll
|
||||
-./sdk/x.y.z/Containers/tasks/net472/System.Text.Json.dll
|
||||
|
@ -284,23 +275,9 @@ index ------------
|
|||
./sdk/x.y.z/Containers/tasks/netx.y/Microsoft.NET.Build.Containers.dll
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/Microsoft.NET.StringTools.dll
|
||||
-./sdk/x.y.z/Containers/tasks/netx.y/Microsoft.VisualStudio.Setup.Configuration.Interop.dll
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/Microsoft.Win32.SystemEvents.dll
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/MSBuild.dll
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/Newtonsoft.Json.dll
|
||||
@@ ------------ @@
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/lib/
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/lib/netx.y/
|
||||
-./sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/lib/netx.y/Microsoft.Win32.SystemEvents.dll
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.dll
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.Messages.dll
|
||||
-./sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/lib/netx.y/System.Drawing.Common.dll
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/lib/netx.y/System.Security.Cryptography.Pkcs.dll
|
||||
-./sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/lib/netx.y/System.Security.Cryptography.ProtectedData.dll
|
||||
-./sdk/x.y.z/Containers/tasks/netx.y/runtimes/win/lib/netx.y/System.Windows.Extensions.dll
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/System.CommandLine.dll
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/System.Configuration.ConfigurationManager.dll
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/System.Diagnostics.EventLog.dll
|
||||
./sdk/x.y.z/Containers/tasks/netx.y/NuGet.Common.dll
|
||||
@@ ------------ @@
|
||||
./sdk/x.y.z/Microsoft.Build.NuGetSdkResolver.dll
|
||||
./sdk/x.y.z/Microsoft.Build.Tasks.Core.dll
|
||||
|
@ -317,14 +294,6 @@ index ------------
|
|||
./sdk/x.y.z/Microsoft.VisualStudio.TestPlatform.Client.dll
|
||||
./sdk/x.y.z/Microsoft.VisualStudio.TestPlatform.Common.dll
|
||||
./sdk/x.y.z/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll
|
||||
@@ ------------ @@
|
||||
./sdk/x.y.z/runtimes/win/
|
||||
./sdk/x.y.z/runtimes/win/lib/
|
||||
./sdk/x.y.z/runtimes/win/lib/netx.y/
|
||||
-./sdk/x.y.z/runtimes/win/lib/netx.y/
|
||||
./sdk/x.y.z/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.dll
|
||||
./sdk/x.y.z/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.Messages.dll
|
||||
./sdk/x.y.z/runtimes/win/lib/netx.y/System.Security.Cryptography.Pkcs.dll
|
||||
@@ ------------ @@
|
||||
./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WebAssembly/tools/
|
||||
./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WebAssembly/tools/netx.y/
|
||||
|
|
|
@ -41,10 +41,11 @@
|
|||
"**/*.dll",
|
||||
"**/*.Dll",
|
||||
"**/*.exe",
|
||||
"**/*.pdb",
|
||||
"**/*.mdb",
|
||||
"**/*.zip",
|
||||
"**/*.nupkg"
|
||||
"**/*.nupkg",
|
||||
"**/*.pdb",
|
||||
"**/*.tgz",
|
||||
"**/*.zip"
|
||||
]
|
||||
},
|
||||
|
||||
|
@ -176,7 +177,11 @@
|
|||
},
|
||||
{
|
||||
"name": "vstest",
|
||||
"defaultRemote": "https://github.com/microsoft/vstest"
|
||||
"defaultRemote": "https://github.com/microsoft/vstest",
|
||||
"exclude": [
|
||||
// Non-OSS license used in VS specific build configurations.
|
||||
"src/package/licenses/LICENSE_VS.txt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "xdt",
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.Android" FeatureBand="$(MauiFeatureBand)" Version="$(XamarinAndroidWorkloadManifestVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.Aspire" FeatureBand="$(AspireFeatureBand)" Version="$(AspireWorkloadManifestVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.iOS" FeatureBand="$(MauiFeatureBand)" Version="$(XamarinIOSWorkloadManifestVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.MacCatalyst" FeatureBand="$(MauiFeatureBand)" Version="$(XamarinMacCatalystWorkloadManifestVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.macOS" FeatureBand="$(MauiFeatureBand)" Version="$(XamarinMacOSWorkloadManifestVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
|
|
|
@ -156,7 +156,8 @@
|
|||
|
||||
<!-- Copy ASP.NET runtime and targeting pack to internal layout, as we don't currently chain that in with a pkg dependency -->
|
||||
<ExtractArchiveToDirectory SourceArchive="$(DownloadsFolder)$(AspNetCoreSharedFxArchiveFileName)"
|
||||
DestinationDirectory="$(SdkInternalLayoutPath)" />
|
||||
DestinationDirectory="$(SdkInternalLayoutPath)"
|
||||
DirectoriesToCopy="shared/Microsoft.AspNetCore.App" />
|
||||
<ExtractArchiveToDirectory SourceArchive="$(DownloadsFolder)$(AspNetTargetingPackArchiveFileName)"
|
||||
DestinationDirectory="$(SdkInternalLayoutPath)" />
|
||||
|
||||
|
|
|
@ -97,8 +97,8 @@ namespace EndToEnd.Tests
|
|||
}
|
||||
|
||||
[WindowsOnlyTheory]
|
||||
[InlineData("net6.0", true)]
|
||||
[InlineData("net6.0", false)]
|
||||
// [InlineData("net6.0", true)]
|
||||
// [InlineData("net6.0", false)]
|
||||
[InlineData("current", true)]
|
||||
[InlineData("current", false)]
|
||||
public void ItCanPublishArm64Winforms(string TargetFramework, bool selfContained)
|
||||
|
@ -136,8 +136,8 @@ namespace EndToEnd.Tests
|
|||
}
|
||||
|
||||
[WindowsOnlyTheory]
|
||||
[InlineData("net6.0", true)]
|
||||
[InlineData("net6.0", false)]
|
||||
// [InlineData("net6.0", true)]
|
||||
// [InlineData("net6.0", false)]
|
||||
[InlineData("current", true)]
|
||||
[InlineData("current", false)]
|
||||
public void ItCanPublishArm64Wpf(string TargetFramework, bool selfContained)
|
||||
|
|
|
@ -61,6 +61,190 @@
|
|||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Test doesn't work with newer RIDs"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_keeps_symbols_by_default"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_links_simple_app_without_analysis_warnings_and_it_runs"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_does_not_include_leftover_artifacts_on_second_run"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_respects_warning_level_independently"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_runs_incrementally"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_symbols_option_can_override_defaults_from_debugger_support"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_removes_symbols_when_debugger_support_is_disabled"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_displays_informational_warning"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.PrepareForILLink_can_set_IsTrimmable"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_accepts_option_to_remove_symbols"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_defaults_keep_nonframework"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_accepts_root_descriptor"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_respects_global_TrimMode"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_only_runs_when_switch_is_enabled"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_error_on_nonboolean_optimization_flag"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToPublishASingleFileApp.It_generates_a_single_file_including_pdbs"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.PrepareForILLink_can_set_TrimMode"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_accepts_option_to_enable_analysis_warnings"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_error_on_portable_app"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_can_treat_warnings_not_as_errors"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.TrimmingOptions_are_defaulted_correctly_on_trimmed_apps"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_errors_fail_the_build"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_can_treat_warnings_as_errors"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_roots_IntermediateAssembly"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_can_treat_warnings_as_errors_independently"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_accepts_option_to_disable_analysis_warnings"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_can_ignore_warnings"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_respects_analysis_level"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_accepts_option_to_enable_analysis_warnings_without_PublishTrimmed"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_displays_informational_warning_when_trim_analysis_warnings_are_suppressed_on_net6plus"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_old_defaults_keep_nonframework"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_dont_display_time_awareness_message_on_incremental_build"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_IsTrimmable_metadata_can_override_attribute"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_respects_IsTrimmable_attribute"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_displays_informational_warning_up_to_net5_by_default"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_dont_display_informational_warning_by_default_on_net6plus"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_analysis_warnings_are_enabled_by_default"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_TrimMode_applies_to_IsTrimmable_assemblies"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Build.Tests.AppHostTests.It_builds_a_runnable_apphost_by_default"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToPublishASingleFileApp.It_can_include_ni_pdbs_in_single_file"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Build.Tests.GivenWeWantToRequireWindowsForDesktopApps.WindowsFormsAppCanBuildOnNonWindows"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_verify_analysis_warnings_framework_assemblies"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_verify_analysis_warnings_hello_world_app_trim_mode_link"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_verify_analysis_warnings_hello_world_app_trim_mode_copyused"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToPublishASingleFileApp.It_generates_publishing_single_file_with_win7"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_net7_defaults_trim_nonframework"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/>
|
||||
<Method Name="Microsoft.NET.Publish.Tests.GivenThatWeWantToRunILLink.ILLink_can_use_latest_with_unsupported_target_framework"
|
||||
Skip="true"
|
||||
Issue=""
|
||||
|
|
Loading…
Reference in a new issue