Skip to content

Commit 026c2fe

Browse files
Avoid AssemblyName.KeyPair on .NET (#7660)
* Avoid AssemblyName.KeyPair on .NET It throws on .NET 6 and wasn't helpful before anyway: (from https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assemblyname.keypair?view=net-5.0#remarks): > When the runtime loads an assembly, it does not set the KeyPair property. The getter for the property is only useful if the user set the property before using the AssemblyName object to create a dynamic assembly, and subsequently wants to retrieve the key pair. Also disable some parts of the official build that are currently broken, but don't affect building the bits that go into the .NET SDK. Co-authored-by: Forgind <Forgind@users.noreply.github.com>
1 parent 58c36d1 commit 026c2fe

File tree

5 files changed

+57
-51
lines changed

5 files changed

+57
-51
lines changed

.vsts-dotnet-ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ jobs:
147147
- job: CoreBootstrappedOnLinux
148148
displayName: "Linux Core"
149149
pool:
150-
vmImage: 'ubuntu-16.04'
150+
vmImage: 'ubuntu-18.04'
151151
steps:
152152
- bash: . 'eng/cibuild_bootstrapped_msbuild.sh'
153153
displayName: CI Build
@@ -179,7 +179,7 @@ jobs:
179179
- job: CoreOnMac
180180
displayName: "macOS Core"
181181
pool:
182-
vmImage: 'macOS-10.14'
182+
vmImage: 'macOS-latest'
183183
steps:
184184
- bash: . 'eng/cibuild_bootstrapped_msbuild.sh'
185185
displayName: CI Build
@@ -211,7 +211,7 @@ jobs:
211211
- job: MonoOnMac
212212
displayName: "macOS Mono"
213213
pool:
214-
vmImage: 'macOS-10.14'
214+
vmImage: 'macOS-latest'
215215
steps:
216216
# https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml#mono
217217
- bash: |

.vsts-dotnet.yml

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ stages:
2828
jobs:
2929
- job: Windows_NT
3030
pool:
31-
name: VSEng-MicroBuildVS2019
31+
name: VSEngSS-MicroBuild2019-1ES
3232
demands:
3333
- agent.os -equals Windows_NT
3434

@@ -99,46 +99,46 @@ stages:
9999
condition: succeeded()
100100

101101
# Publish OptProf configuration files
102-
- task: ms-vscs-artifact.build-tasks.artifactDropTask-1.artifactDropTask@0
103-
inputs:
104-
dropServiceURI: 'https://devdiv.artifacts.visualstudio.com'
105-
buildNumber: 'ProfilingInputs/DevDiv/$(Build.Repository.Name)/$(Build.SourceBranchName)/$(Build.BuildNumber)'
106-
sourcePath: '$(Build.SourcesDirectory)\artifacts\OptProf\$(BuildConfiguration)\Data'
107-
toLowerCase: false
108-
usePat: false
109-
displayName: 'OptProf - Publish to Artifact Services - ProfilingInputs'
110-
condition: succeeded()
102+
# - task: ms-vscs-artifact.build-tasks.artifactDropTask-1.artifactDropTask@0
103+
# inputs:
104+
# dropServiceURI: 'https://devdiv.artifacts.visualstudio.com'
105+
# buildNumber: 'ProfilingInputs/DevDiv/$(Build.Repository.Name)/$(Build.SourceBranchName)/$(Build.BuildNumber)'
106+
# sourcePath: '$(Build.SourcesDirectory)\artifacts\OptProf\$(BuildConfiguration)\Data'
107+
# toLowerCase: false
108+
# usePat: false
109+
# displayName: 'OptProf - Publish to Artifact Services - ProfilingInputs'
110+
# condition: succeeded()
111111

112112
# Build VS bootstrapper
113113
# Generates $(Build.StagingDirectory)\MicroBuild\Output\BootstrapperInfo.json
114-
- task: ms-vseng.MicroBuildTasks.0e9d0d4d-71ec-4e4e-ae40-db9896f1ae74.MicroBuildBuildVSBootstrapper@2
115-
inputs:
116-
vsMajorVersion: $(VisualStudio.MajorVersion)
117-
channelName: $(VisualStudio.ChannelName)
118-
manifests: $(VisualStudio.SetupManifestList)
119-
outputFolder: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion'
120-
displayName: 'OptProf - Build VS bootstrapper'
121-
condition: succeeded()
114+
# - task: ms-vseng.MicroBuildTasks.0e9d0d4d-71ec-4e4e-ae40-db9896f1ae74.MicroBuildBuildVSBootstrapper@2
115+
# inputs:
116+
# vsMajorVersion: $(VisualStudio.MajorVersion)
117+
# channelName: $(VisualStudio.ChannelName)
118+
# manifests: $(VisualStudio.SetupManifestList)
119+
# outputFolder: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion'
120+
# displayName: 'OptProf - Build VS bootstrapper'
121+
# condition: succeeded()
122122

123123
# Publish run settings
124-
- task: PowerShell@2
125-
inputs:
126-
filePath: eng\common\sdk-task.ps1
127-
arguments: -configuration $(BuildConfiguration)
128-
-task VisualStudio.BuildIbcTrainingSettings
129-
/p:VisualStudioDropName=$(VisualStudio.DropName)
130-
/p:BootstrapperInfoPath=$(Build.StagingDirectory)\MicroBuild\Output\BootstrapperInfo.json
131-
displayName: 'OptProf - Build IBC training settings'
132-
condition: succeeded()
124+
# - task: PowerShell@2
125+
# inputs:
126+
# filePath: eng\common\sdk-task.ps1
127+
# arguments: -configuration $(BuildConfiguration)
128+
# -task VisualStudio.BuildIbcTrainingSettings
129+
# /p:VisualStudioDropName=$(VisualStudio.DropName)
130+
# /p:BootstrapperInfoPath=$(Build.StagingDirectory)\MicroBuild\Output\BootstrapperInfo.json
131+
# displayName: 'OptProf - Build IBC training settings'
132+
# condition: succeeded()
133133

134134
# Publish bootstrapper info
135-
- task: PublishBuildArtifacts@1
136-
inputs:
137-
PathtoPublish: $(Build.StagingDirectory)\MicroBuild\Output
138-
ArtifactName: MicroBuildOutputs
139-
ArtifactType: Container
140-
displayName: 'OptProf - Publish Artifact: MicroBuildOutputs'
141-
condition: succeeded()
135+
# - task: PublishBuildArtifacts@1
136+
# inputs:
137+
# PathtoPublish: $(Build.StagingDirectory)\MicroBuild\Output
138+
# ArtifactName: MicroBuildOutputs
139+
# ArtifactType: Container
140+
# displayName: 'OptProf - Publish Artifact: MicroBuildOutputs'
141+
# condition: succeeded()
142142

143143
- task: PublishBuildArtifacts@1
144144
displayName: 'Publish Artifact: logs'
@@ -156,12 +156,12 @@ stages:
156156

157157
# Publishes setup VSIXes to a drop.
158158
# Note: The insertion tool looks for the display name of this task in the logs.
159-
- task: ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1
160-
displayName: Upload VSTS Drop
161-
inputs:
162-
DropName: $(VisualStudio.DropName)
163-
DropFolder: 'artifacts\VSSetup\$(BuildConfiguration)\Insertion'
164-
condition: succeeded()
159+
# - task: ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1
160+
# displayName: Upload VSTS Drop
161+
# inputs:
162+
# DropName: $(VisualStudio.DropName)
163+
# DropFolder: 'artifacts\VSSetup\$(BuildConfiguration)\Insertion'
164+
# condition: succeeded()
165165

166166
# Publish an artifact that the RoslynInsertionTool is able to find by its name.
167167
- task: PublishBuildArtifacts@1
@@ -199,11 +199,11 @@ stages:
199199
condition: succeeded()
200200

201201
# Tag the build at the very end when we know it's been successful.
202-
- task: colinsalmcorner.colinsalmcorner-buildtasks.tag-build-task.tagBuildOrRelease@0
203-
displayName: Tag build as ready for optimization training
204-
inputs:
205-
tags: 'ready-for-training'
206-
condition: succeeded()
202+
# - task: colinsalmcorner.colinsalmcorner-buildtasks.tag-build-task.tagBuildOrRelease@0
203+
# displayName: Tag build as ready for optimization training
204+
# inputs:
205+
# tags: 'ready-for-training'
206+
# condition: succeeded()
207207

208208
- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
209209
displayName: Execute cleanup tasks

eng/Versions.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the MIT license. See License.txt in the project root for full license information. -->
33
<Project>
44
<PropertyGroup>
5-
<VersionPrefix>16.9.2</VersionPrefix><DotNetFinalVersionKind>release</DotNetFinalVersionKind>
5+
<VersionPrefix>16.9.3</VersionPrefix><DotNetFinalVersionKind>release</DotNetFinalVersionKind>
66
<AssemblyVersion>15.1.0.0</AssemblyVersion>
77
<PreReleaseVersionLabel>preview</PreReleaseVersionLabel>
88
<DotNetUseShippingVersions>true</DotNetUseShippingVersions>
@@ -23,7 +23,7 @@
2323
</PropertyGroup>
2424
<!-- Toolset Dependencies -->
2525
<PropertyGroup>
26-
<DotNetCliVersion>3.1.100</DotNetCliVersion>
26+
<DotNetCliVersion>3.1.120</DotNetCliVersion>
2727
<MicrosoftNetCompilersToolsetVersion>3.3.1-beta3-final</MicrosoftNetCompilersToolsetVersion>
2828
<NuGetBuildTasksVersion>5.9.0-preview.3.7016</NuGetBuildTasksVersion>
2929
</PropertyGroup>

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"tools": {
3-
"dotnet": "3.1.100",
3+
"dotnet": "3.1.120",
44
"runtimes": {
55
"dotnet/x64": [
66
"2.1.7"

src/Shared/AssemblyNameExtension.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,9 @@ private AssemblyNameExtension(SerializationInfo info, StreamingContext context)
147147
var hashAlgorithm = (System.Configuration.Assemblies.AssemblyHashAlgorithm) info.GetInt32("hashAlg");
148148
var versionCompatibility = (AssemblyVersionCompatibility) info.GetInt32("verCompat");
149149
var codeBase = info.GetString("codebase");
150+
#if NETFRAMEWORK
150151
var keyPair = (StrongNameKeyPair) info.GetValue("keypair", typeof(StrongNameKeyPair));
152+
#endif
151153

152154
asAssemblyName = new AssemblyName
153155
{
@@ -159,7 +161,9 @@ private AssemblyNameExtension(SerializationInfo info, StreamingContext context)
159161
HashAlgorithm = hashAlgorithm,
160162
VersionCompatibility = versionCompatibility,
161163
CodeBase = codeBase,
164+
#if NETFRAMEWORK
162165
KeyPair = keyPair
166+
#endif
163167
};
164168

165169
asAssemblyName.SetPublicKey(publicKey);
@@ -984,7 +988,9 @@ public void GetObjectData(SerializationInfo info, StreamingContext context)
984988
info.AddValue("hashAlg", asAssemblyName.HashAlgorithm);
985989
info.AddValue("verCompat", asAssemblyName.VersionCompatibility);
986990
info.AddValue("codebase", asAssemblyName.CodeBase);
991+
#if NETFRAMEWORK
987992
info.AddValue("keypair", asAssemblyName.KeyPair);
993+
#endif
988994
}
989995

990996
info.AddValue("asStr", asString);

0 commit comments

Comments
 (0)