Skip to content

Commit 037851b

Browse files
authored
Update to .NET 11 Preview 3 (#141)
2 parents 3e42585 + ed44338 commit 037851b

5 files changed

Lines changed: 36 additions & 101 deletions

Directory.Packages.props

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,21 @@
44
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
55
<!-- We are not using package source mapping. -->
66
<NoWarn>$(NoWarn);NU1507</NoWarn>
7-
<NetCoreVersion>11.0.0-preview.2.26159.112</NetCoreVersion>
7+
<NetCoreVersion>11.0.0-preview.3.26207.106</NetCoreVersion>
88
<AspNetCoreVersion>$(NetCoreVersion)</AspNetCoreVersion>
9-
<RoslynVersion>5.6.0-2.26173.1</RoslynVersion>
10-
<RazorVersion>10.0.0-preview.26171.1</RazorVersion>
9+
<RoslynVersion>5.7.0-1.26217.5</RoslynVersion>
10+
<RazorVersion>10.0.0-preview.26217.1</RazorVersion>
1111
<FluentUIVersion>4.14.0</FluentUIVersion>
12-
<NuGetVersion>7.3.0</NuGetVersion>
12+
<NuGetVersion>7.3.1</NuGetVersion>
1313
</PropertyGroup>
1414
<ItemGroup>
15-
<PackageVersion Include="AwesomeAssertions" Version="9.3.0" />
15+
<PackageVersion Include="AwesomeAssertions" Version="9.4.0" />
1616
<PackageVersion Include="Blazored.LocalStorage" Version="4.5.0" />
1717
<!-- When updating BlazorMonaco, check that VIM mode works. See https://github.com/jjonescz/DotNetLab/pull/57. -->
1818
<PackageVersion Include="BlazorMonaco" Version="3.4.0" />
1919
<PackageVersion Include="Combinatorial.MSTest" Version="2.0.0" />
20-
<PackageVersion Include="Humanizer.Core" Version="3.0.1" />
21-
<PackageVersion Include="ICSharpCode.Decompiler" Version="10.0.0.8282-preview2" />
20+
<PackageVersion Include="Humanizer.Core" Version="3.0.10" />
21+
<PackageVersion Include="ICSharpCode.Decompiler" Version="10.0.0.8330" />
2222
<PackageVersion Include="JitInspect" Version="1.0.3" />
2323
<PackageVersion Include="Knapcode.MiniZip" Version="0.21.1" />
2424
<PackageVersion Include="MetadataReferenceService.BlazorWasm" Version="0.0.1" />
@@ -46,7 +46,7 @@
4646
<PackageVersion Include="protobuf-net.BuildTools" Version="3.2.52" />
4747
<PackageVersion Include="Roslyn.Diagnostics.Analyzers" Version="$(RoslynVersion)" />
4848
<PackageVersion Include="System.IO.Hashing" Version="$(NetCoreVersion)" />
49-
<PackageVersion Include="Verify.MSTest" Version="31.13.2" />
49+
<PackageVersion Include="Verify.MSTest" Version="31.16.1" />
5050
</ItemGroup>
5151
<ItemGroup Label="Pinned Transitive Dependencies">
5252
<PackageVersion Include="System.Data.SqlClient" Version="4.9.0" />

eng/BuildTools/snapshots/Cshtml.Files.TestPage_002E_cshtml.Outputs.0.Text.txt

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,21 +69,22 @@
6969
NewLine;[LF];
7070
MarkupTextLiteral - [121..122) - Width: 1 - [LF] - Gen<Markup>
7171
NewLine;[LF];
72-
MarkupTagHelperElement - [122..226) - Width: 104 - form[StartTagAndEndTag] - FormTagHelper - RenderAtEndOfFormTagHelper
73-
MarkupTagHelperStartTag - [122..142) - Width: 20 - [<form method="post">] - Gen<Markup>
72+
MarkupElement - [122..226) - Width: 104
73+
MarkupStartTag - [122..142) - Width: 20 - [<form method="post">] - Gen<Markup>
7474
OpenAngle;[<];
7575
Text;[form];
76-
MarkupTagHelperAttribute - [127..141) - Width: 14 - method - DoubleQuotes - Bound - [ method="post"]
76+
MarkupAttributeBlock - [127..141) - Width: 14 - [ method="post"]
7777
MarkupTextLiteral - [127..128) - Width: 1 - [ ] - Gen<Markup>
7878
Whitespace;[ ];
7979
MarkupTextLiteral - [128..134) - Width: 6 - [method] - Gen<Markup>
8080
Text;[method];
8181
Equals;[=];
8282
MarkupTextLiteral - [135..136) - Width: 1 - ["] - Gen<Markup>
8383
DoubleQuote;["];
84-
MarkupTagHelperAttributeValue - [136..140) - Width: 4
85-
MarkupTextLiteral - [136..140) - Width: 4 - [post] - Gen<Markup>
86-
Text;[post];
84+
GenericBlock - [136..140) - Width: 4
85+
MarkupLiteralAttributeValue - [136..140) - Width: 4 - [post]
86+
MarkupTextLiteral - [136..140) - Width: 4 - [post] - Gen<Markup>
87+
Text;[post];
8788
MarkupTextLiteral - [140..141) - Width: 1 - ["] - Gen<Markup>
8889
DoubleQuote;["];
8990
CloseAngle;[>];
@@ -93,21 +94,22 @@
9394
Text;[Name:];
9495
NewLine;[LF];
9596
Whitespace;[ ];
96-
MarkupTagHelperElement - [157..190) - Width: 33 - input[SelfClosing] - InputTagHelper
97-
MarkupTagHelperStartTag - [157..190) - Width: 33 - [<input asp-for="Customer.Name" />] - Gen<Markup>
97+
MarkupElement - [157..190) - Width: 33
98+
MarkupStartTag - [157..190) - Width: 33 - [<input asp-for="Customer.Name" />] - Gen<Markup>
9899
OpenAngle;[<];
99100
Text;[input];
100-
MarkupTagHelperAttribute - [163..187) - Width: 24 - asp-for - DoubleQuotes - Bound - [ asp-for="Customer.Name"]
101+
MarkupAttributeBlock - [163..187) - Width: 24 - [ asp-for="Customer.Name"]
101102
MarkupTextLiteral - [163..164) - Width: 1 - [ ] - Gen<Markup>
102103
Whitespace;[ ];
103104
MarkupTextLiteral - [164..171) - Width: 7 - [asp-for] - Gen<Markup>
104105
Text;[asp-for];
105106
Equals;[=];
106107
MarkupTextLiteral - [172..173) - Width: 1 - ["] - Gen<Markup>
107108
DoubleQuote;["];
108-
MarkupTagHelperAttributeValue - [173..186) - Width: 13
109-
CSharpExpressionLiteral - [173..186) - Width: 13 - [Customer.Name] - Gen<None>
110-
Text;[Customer.Name];
109+
GenericBlock - [173..186) - Width: 13
110+
MarkupLiteralAttributeValue - [173..186) - Width: 13 - [Customer.Name]
111+
MarkupTextLiteral - [173..186) - Width: 13 - [Customer.Name] - Gen<Markup>
112+
Text;[Customer.Name];
111113
MarkupTextLiteral - [186..187) - Width: 1 - ["] - Gen<Markup>
112114
DoubleQuote;["];
113115
MarkupMiscAttributeContent - [187..188) - Width: 1
@@ -143,7 +145,7 @@
143145
CloseAngle;[>];
144146
MarkupTextLiteral - [218..219) - Width: 1 - [LF] - Gen<Markup>
145147
NewLine;[LF];
146-
MarkupTagHelperEndTag - [219..226) - Width: 7 - [</form>]
148+
MarkupEndTag - [219..226) - Width: 7 - [</form>] - Gen<Markup>
147149
OpenAngle;[<];
148150
ForwardSlash;[/];
149151
Text;[form];

eng/BuildTools/snapshots/Razor.Files.TestComponent_002E_razor.Outputs.0.Text.txt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,21 +39,22 @@
3939
MarkupBlock - [37..69) - Width: 32
4040
MarkupTextLiteral - [37..41) - Width: 4 - [ ] - Gen<Markup>
4141
Whitespace;[ ];
42-
MarkupTagHelperElement - [41..68) - Width: 27 - TestComponent[SelfClosing] - TestComponent
43-
MarkupTagHelperStartTag - [41..68) - Width: 27 - [<TestComponent Param="1" />] - Gen<Markup>
42+
MarkupElement - [41..68) - Width: 27
43+
MarkupStartTag - [41..68) - Width: 27 - [<TestComponent Param="1" />] - Gen<Markup>
4444
OpenAngle;[<];
4545
Text;[TestComponent];
46-
MarkupTagHelperAttribute - [55..65) - Width: 10 - Param - DoubleQuotes - Bound - [ Param="1"]
46+
MarkupAttributeBlock - [55..65) - Width: 10 - [ Param="1"]
4747
MarkupTextLiteral - [55..56) - Width: 1 - [ ] - Gen<Markup>
4848
Whitespace;[ ];
4949
MarkupTextLiteral - [56..61) - Width: 5 - [Param] - Gen<Markup>
5050
Text;[Param];
5151
Equals;[=];
5252
MarkupTextLiteral - [62..63) - Width: 1 - ["] - Gen<Markup>
5353
DoubleQuote;["];
54-
MarkupTagHelperAttributeValue - [63..64) - Width: 1
55-
CSharpExpressionLiteral - [63..64) - Width: 1 - [1] - Gen<None>
56-
Text;[1];
54+
GenericBlock - [63..64) - Width: 1
55+
MarkupLiteralAttributeValue - [63..64) - Width: 1 - [1]
56+
MarkupTextLiteral - [63..64) - Width: 1 - [1] - Gen<Markup>
57+
Text;[1];
5758
MarkupTextLiteral - [64..65) - Width: 1 - ["] - Gen<Markup>
5859
DoubleQuote;["];
5960
MarkupMiscAttributeContent - [65..66) - Width: 1

eng/patch-corelib.cs

Lines changed: 3 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// Used by `PatchCoreLib.targets`.
44

55
using System.Reflection.Metadata;
6-
using System.Reflection.Metadata.Ecma335;
76
using System.Reflection.PortableExecutable;
87

98
if (args.Length != 2)
@@ -34,22 +33,12 @@
3433

3534
var reader = peReader.GetMetadataReader();
3635

37-
var volatileType = FindTypeDefinition(reader, "System.Threading", "Volatile");
38-
var interlockedType = FindTypeDefinition(reader, "System.Threading", "Interlocked");
39-
var threadType = FindTypeDefinition(reader, "System.Threading", "Thread");
36+
var runtimeFeatureType = FindTypeDefinition(reader, "System.Runtime.CompilerServices", "RuntimeFeature");
4037

41-
var readBarrier = FindMethodDefinition(reader, volatileType, "ReadBarrier", 0);
42-
var writeBarrier = FindMethodDefinition(reader, volatileType, "WriteBarrier", 0);
43-
var memoryBarrier = FindMethodDefinition(reader, interlockedType, "MemoryBarrier", 0);
44-
45-
var throwIfSingleThreaded = FindMethodDefinition(reader, threadType, "ThrowIfSingleThreaded", 0);
46-
47-
// Workaround for https://github.com/jjonescz/DotNetLab/issues/129.
48-
PatchMethodBody(bytes, peReader, readBarrier, memoryBarrier, "Volatile.ReadBarrier");
49-
PatchMethodBody(bytes, peReader, writeBarrier, memoryBarrier, "Volatile.WriteBarrier");
38+
var throwIfMultithreadingIsNotSupported = FindMethodDefinition(reader, runtimeFeatureType, "ThrowIfMultithreadingIsNotSupported", 0);
5039

5140
// Workaround for https://github.com/dotnet/roslyn/issues/82361.
52-
PatchMethodBodyToRet(bytes, peReader, throwIfSingleThreaded, "System.Threading.Thread.ThrowIfSingleThreaded");
41+
PatchMethodBodyToRet(bytes, peReader, throwIfMultithreadingIsNotSupported, "System.Runtime.CompilerServices.RuntimeFeature.ThrowIfMultithreadingIsNotSupported");
5342
}
5443

5544
Directory.CreateDirectory(Path.GetDirectoryName(outputPath) ?? ".");
@@ -109,63 +98,6 @@ static MethodDefinitionHandle FindMethodDefinition(
10998
throw new InvalidOperationException($"Method not found: {name} with {parameterCount} parameters");
11099
}
111100

112-
static void PatchMethodBody(
113-
byte[] peBytes,
114-
PEReader peReader,
115-
MethodDefinitionHandle targetMethod,
116-
MethodDefinitionHandle memoryBarrier,
117-
string displayName)
118-
{
119-
var reader = peReader.GetMetadataReader();
120-
var methodDef = reader.GetMethodDefinition(targetMethod);
121-
122-
if (methodDef.RelativeVirtualAddress == 0)
123-
{
124-
throw new InvalidOperationException($"Method has no body: {displayName}");
125-
}
126-
127-
var bodyOffset = GetOffset(peReader, methodDef.RelativeVirtualAddress);
128-
129-
// Determine method header format to locate IL bytes without changing header size.
130-
var headerByte = peBytes[bodyOffset];
131-
int headerSize;
132-
int codeSize;
133-
134-
if ((headerByte & 0x3) == 0x2)
135-
{
136-
headerSize = 1;
137-
codeSize = headerByte >> 2;
138-
}
139-
else if ((headerByte & 0x3) == 0x3)
140-
{
141-
var flags = BitConverter.ToUInt16(peBytes, bodyOffset);
142-
headerSize = ((flags >> 12) & 0xF) * 4;
143-
codeSize = BitConverter.ToInt32(peBytes, bodyOffset + 4);
144-
}
145-
else
146-
{
147-
throw new InvalidOperationException($"Unknown method header format: {displayName}");
148-
}
149-
150-
if (codeSize < 6)
151-
{
152-
throw new InvalidOperationException($"Method body too small to patch: {displayName}");
153-
}
154-
155-
var ilStart = bodyOffset + headerSize;
156-
var callToken = MetadataTokens.GetToken(memoryBarrier);
157-
158-
peBytes[ilStart + 0] = 0x28; // call
159-
var tokenBytes = BitConverter.GetBytes(callToken);
160-
Buffer.BlockCopy(tokenBytes, 0, peBytes, ilStart + 1, 4);
161-
peBytes[ilStart + 5] = 0x2A; // ret
162-
163-
for (var i = 6; i < codeSize; i++)
164-
{
165-
peBytes[ilStart + i] = 0x00; // nop padding
166-
}
167-
}
168-
169101
static void PatchMethodBodyToRet(
170102
byte[] peBytes,
171103
PEReader peReader,

global.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"sdk": {
3-
"version": "11.0.100-preview.2.26159.112",
4-
"workloadVersion": "11.0.100-preview.2.26160.1"
3+
"version": "11.0.100-preview.3.26207.106",
4+
"workloadVersion": "11.0.100-preview.3.26214.1"
55
},
66
"msbuild-sdks": {
7-
"MSTest.Sdk": "4.1.0"
7+
"MSTest.Sdk": "4.2.1"
88
},
99
"test": {
1010
"runner": "Microsoft.Testing.Platform"

0 commit comments

Comments
 (0)