diff --git a/FSharp.sln b/FSharp.sln
index dec2db5afbc..9744d3283ef 100644
--- a/FSharp.sln
+++ b/FSharp.sln
@@ -44,10 +44,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Benchmarks", "Benchmarks",
tests\benchmarks\README.md = tests\benchmarks\README.md
EndProjectSection
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MicroPerfCSharp", "tests\benchmarks\CompiledCodeBenchmarks\MicroPerf\CS\MicroPerfCSharp.csproj", "{348DCC13-DD3E-4214-B040-5A74E8C6B782}"
-EndProject
-Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "MicroPerf", "tests\benchmarks\CompiledCodeBenchmarks\MicroPerf\MicroPerf.fsproj", "{9735B522-37F7-478C-A0C6-6C60BCC53390}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TaskPerfCSharp", "tests\benchmarks\CompiledCodeBenchmarks\TaskPerf\TaskPerfCSharp\TaskPerfCSharp.csproj", "{CF9F3F98-7BFB-4945-A4A5-668DF0AC65AB}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "TaskPerf", "tests\benchmarks\CompiledCodeBenchmarks\TaskPerf\TaskPerf\TaskPerf.fsproj", "{51B569A8-17C5-4EBD-8AAC-240E0B3AD8C4}"
@@ -90,8 +86,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fcs", "fcs", "{B86EBFF1-E03
docs\fcs\untypedtree.fsx = docs\fcs\untypedtree.fsx
EndProjectSection
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PEVerify", "tests\PEVerify\PEVerify.csproj", "{358821CB-4D63-4157-9EFF-65C06EBD4E36}"
-EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "fsc", "src\fsc\fscProject\fsc.fsproj", "{10D15DBB-EFF0-428C-BA83-41600A93EEC4}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "fscAnyCpu", "src\fsc\fscAnyCpuProject\fscAnyCpu.fsproj", "{B9EFC4FB-E702-45C8-A885-A05A25C5BCAA}"
@@ -290,30 +284,6 @@ Global
{9B4CF83C-C215-4EA0-9F8B-B5A77090F634}.Release|Any CPU.Build.0 = Release|Any CPU
{9B4CF83C-C215-4EA0-9F8B-B5A77090F634}.Release|x86.ActiveCfg = Release|Any CPU
{9B4CF83C-C215-4EA0-9F8B-B5A77090F634}.Release|x86.Build.0 = Release|Any CPU
- {348DCC13-DD3E-4214-B040-5A74E8C6B782}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {348DCC13-DD3E-4214-B040-5A74E8C6B782}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {348DCC13-DD3E-4214-B040-5A74E8C6B782}.Debug|x86.ActiveCfg = Debug|Any CPU
- {348DCC13-DD3E-4214-B040-5A74E8C6B782}.Debug|x86.Build.0 = Debug|Any CPU
- {348DCC13-DD3E-4214-B040-5A74E8C6B782}.Proto|Any CPU.ActiveCfg = Debug|Any CPU
- {348DCC13-DD3E-4214-B040-5A74E8C6B782}.Proto|Any CPU.Build.0 = Debug|Any CPU
- {348DCC13-DD3E-4214-B040-5A74E8C6B782}.Proto|x86.ActiveCfg = Debug|Any CPU
- {348DCC13-DD3E-4214-B040-5A74E8C6B782}.Proto|x86.Build.0 = Debug|Any CPU
- {348DCC13-DD3E-4214-B040-5A74E8C6B782}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {348DCC13-DD3E-4214-B040-5A74E8C6B782}.Release|Any CPU.Build.0 = Release|Any CPU
- {348DCC13-DD3E-4214-B040-5A74E8C6B782}.Release|x86.ActiveCfg = Release|Any CPU
- {348DCC13-DD3E-4214-B040-5A74E8C6B782}.Release|x86.Build.0 = Release|Any CPU
- {9735B522-37F7-478C-A0C6-6C60BCC53390}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9735B522-37F7-478C-A0C6-6C60BCC53390}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9735B522-37F7-478C-A0C6-6C60BCC53390}.Debug|x86.ActiveCfg = Debug|Any CPU
- {9735B522-37F7-478C-A0C6-6C60BCC53390}.Debug|x86.Build.0 = Debug|Any CPU
- {9735B522-37F7-478C-A0C6-6C60BCC53390}.Proto|Any CPU.ActiveCfg = Debug|Any CPU
- {9735B522-37F7-478C-A0C6-6C60BCC53390}.Proto|Any CPU.Build.0 = Debug|Any CPU
- {9735B522-37F7-478C-A0C6-6C60BCC53390}.Proto|x86.ActiveCfg = Debug|Any CPU
- {9735B522-37F7-478C-A0C6-6C60BCC53390}.Proto|x86.Build.0 = Debug|Any CPU
- {9735B522-37F7-478C-A0C6-6C60BCC53390}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9735B522-37F7-478C-A0C6-6C60BCC53390}.Release|Any CPU.Build.0 = Release|Any CPU
- {9735B522-37F7-478C-A0C6-6C60BCC53390}.Release|x86.ActiveCfg = Release|Any CPU
- {9735B522-37F7-478C-A0C6-6C60BCC53390}.Release|x86.Build.0 = Release|Any CPU
{CF9F3F98-7BFB-4945-A4A5-668DF0AC65AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CF9F3F98-7BFB-4945-A4A5-668DF0AC65AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CF9F3F98-7BFB-4945-A4A5-668DF0AC65AB}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -362,18 +332,6 @@ Global
{7BFA159A-BF9D-4489-BF46-1B83ACCEEE0F}.Release|Any CPU.Build.0 = Release|Any CPU
{7BFA159A-BF9D-4489-BF46-1B83ACCEEE0F}.Release|x86.ActiveCfg = Release|Any CPU
{7BFA159A-BF9D-4489-BF46-1B83ACCEEE0F}.Release|x86.Build.0 = Release|Any CPU
- {358821CB-4D63-4157-9EFF-65C06EBD4E36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {358821CB-4D63-4157-9EFF-65C06EBD4E36}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {358821CB-4D63-4157-9EFF-65C06EBD4E36}.Debug|x86.ActiveCfg = Debug|Any CPU
- {358821CB-4D63-4157-9EFF-65C06EBD4E36}.Debug|x86.Build.0 = Debug|Any CPU
- {358821CB-4D63-4157-9EFF-65C06EBD4E36}.Proto|Any CPU.ActiveCfg = Debug|Any CPU
- {358821CB-4D63-4157-9EFF-65C06EBD4E36}.Proto|Any CPU.Build.0 = Debug|Any CPU
- {358821CB-4D63-4157-9EFF-65C06EBD4E36}.Proto|x86.ActiveCfg = Debug|Any CPU
- {358821CB-4D63-4157-9EFF-65C06EBD4E36}.Proto|x86.Build.0 = Debug|Any CPU
- {358821CB-4D63-4157-9EFF-65C06EBD4E36}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {358821CB-4D63-4157-9EFF-65C06EBD4E36}.Release|Any CPU.Build.0 = Release|Any CPU
- {358821CB-4D63-4157-9EFF-65C06EBD4E36}.Release|x86.ActiveCfg = Release|Any CPU
- {358821CB-4D63-4157-9EFF-65C06EBD4E36}.Release|x86.Build.0 = Release|Any CPU
{10D15DBB-EFF0-428C-BA83-41600A93EEC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{10D15DBB-EFF0-428C-BA83-41600A93EEC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{10D15DBB-EFF0-428C-BA83-41600A93EEC4}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -489,8 +447,6 @@ Global
{FAC5A3BF-C0D6-437A-868A-E962AA00B418} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
{DDFD06DC-D7F2-417F-9177-107764EEBCD8} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
{9B4CF83C-C215-4EA0-9F8B-B5A77090F634} = {3881429D-A97A-49EB-B7AE-A82BA5FE9C77}
- {348DCC13-DD3E-4214-B040-5A74E8C6B782} = {CE70D631-C5DC-417E-9CDA-B16097BEF1AC}
- {9735B522-37F7-478C-A0C6-6C60BCC53390} = {CE70D631-C5DC-417E-9CDA-B16097BEF1AC}
{CF9F3F98-7BFB-4945-A4A5-668DF0AC65AB} = {CE70D631-C5DC-417E-9CDA-B16097BEF1AC}
{51B569A8-17C5-4EBD-8AAC-240E0B3AD8C4} = {CE70D631-C5DC-417E-9CDA-B16097BEF1AC}
{452EED3C-AA87-471F-B9AC-0F4479C5820C} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
diff --git a/Microsoft.FSharp.Compiler.sln b/Microsoft.FSharp.Compiler.sln
index d3dea41cfb6..7de4ee9f519 100644
--- a/Microsoft.FSharp.Compiler.sln
+++ b/Microsoft.FSharp.Compiler.sln
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32113.165
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.FSharp.Compiler", "src\Microsoft.FSharp.Compiler\Microsoft.FSharp.Compiler.csproj", "{BBEDE3FA-6E2C-4C53-8B61-FBB545CD4FFC}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.FSharp.Compiler", "src\Microsoft.FSharp.Compiler\Microsoft.FSharp.Compiler.fsproj", "{BBEDE3FA-6E2C-4C53-8B61-FBB545CD4FFC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/VisualFSharp.sln b/VisualFSharp.sln
index 55862186b22..4f4947d3491 100644
--- a/VisualFSharp.sln
+++ b/VisualFSharp.sln
@@ -170,16 +170,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Benchmarks", "Benchmarks",
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Compiler.Benchmarks", "tests\benchmarks\FCSBenchmarks\CompilerServiceBenchmarks\FSharp.Compiler.Benchmarks.fsproj", "{564E7DC5-11CB-4FCF-ABDD-23AD93AF3A61}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MicroPerfCSharp", "tests\benchmarks\CompiledCodeBenchmarks\MicroPerf\CS\MicroPerfCSharp.csproj", "{208E36EE-665C-42D2-B767-C6DB03C4FEB2}"
-EndProject
-Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "MicroPerf", "tests\benchmarks\CompiledCodeBenchmarks\MicroPerf\MicroPerf.fsproj", "{EE08E954-AE91-4EFA-8595-10931D29E628}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MicroPerf", "MicroPerf", "{47112E07-9FF1-43E7-8021-F2A21D6A19A0}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "shims", "vsintegration\shims\shims.csproj", "{B1E30F2C-894F-47A9-9C8A-3324831E7D26}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PEVerify", "tests\PEVerify\PEVerify.csproj", "{035CF639-9704-44C0-96AA-BCB132AA881A}"
-EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "fscAnyCpu", "src\fsc\fscAnyCpuProject\fscAnyCpu.fsproj", "{597D9896-4B90-4E9E-9C99-445C2CB9FF60}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "fscArm64", "src\fsc\fscArm64Project\fscArm64.fsproj", "{0973C362-585C-4838-9459-D7E45C6B784B}"
@@ -931,30 +923,6 @@ Global
{564E7DC5-11CB-4FCF-ABDD-23AD93AF3A61}.Release|Any CPU.Build.0 = Release|Any CPU
{564E7DC5-11CB-4FCF-ABDD-23AD93AF3A61}.Release|x86.ActiveCfg = Release|Any CPU
{564E7DC5-11CB-4FCF-ABDD-23AD93AF3A61}.Release|x86.Build.0 = Release|Any CPU
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2}.Debug|x86.ActiveCfg = Debug|Any CPU
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2}.Debug|x86.Build.0 = Debug|Any CPU
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2}.Proto|Any CPU.ActiveCfg = Debug|Any CPU
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2}.Proto|Any CPU.Build.0 = Debug|Any CPU
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2}.Proto|x86.ActiveCfg = Debug|Any CPU
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2}.Proto|x86.Build.0 = Debug|Any CPU
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2}.Release|Any CPU.Build.0 = Release|Any CPU
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2}.Release|x86.ActiveCfg = Release|Any CPU
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2}.Release|x86.Build.0 = Release|Any CPU
- {EE08E954-AE91-4EFA-8595-10931D29E628}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EE08E954-AE91-4EFA-8595-10931D29E628}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {EE08E954-AE91-4EFA-8595-10931D29E628}.Debug|x86.ActiveCfg = Debug|Any CPU
- {EE08E954-AE91-4EFA-8595-10931D29E628}.Debug|x86.Build.0 = Debug|Any CPU
- {EE08E954-AE91-4EFA-8595-10931D29E628}.Proto|Any CPU.ActiveCfg = Debug|Any CPU
- {EE08E954-AE91-4EFA-8595-10931D29E628}.Proto|Any CPU.Build.0 = Debug|Any CPU
- {EE08E954-AE91-4EFA-8595-10931D29E628}.Proto|x86.ActiveCfg = Debug|Any CPU
- {EE08E954-AE91-4EFA-8595-10931D29E628}.Proto|x86.Build.0 = Debug|Any CPU
- {EE08E954-AE91-4EFA-8595-10931D29E628}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EE08E954-AE91-4EFA-8595-10931D29E628}.Release|Any CPU.Build.0 = Release|Any CPU
- {EE08E954-AE91-4EFA-8595-10931D29E628}.Release|x86.ActiveCfg = Release|Any CPU
- {EE08E954-AE91-4EFA-8595-10931D29E628}.Release|x86.Build.0 = Release|Any CPU
{B1E30F2C-894F-47A9-9C8A-3324831E7D26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B1E30F2C-894F-47A9-9C8A-3324831E7D26}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B1E30F2C-894F-47A9-9C8A-3324831E7D26}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -967,18 +935,6 @@ Global
{B1E30F2C-894F-47A9-9C8A-3324831E7D26}.Release|Any CPU.Build.0 = Release|Any CPU
{B1E30F2C-894F-47A9-9C8A-3324831E7D26}.Release|x86.ActiveCfg = Release|Any CPU
{B1E30F2C-894F-47A9-9C8A-3324831E7D26}.Release|x86.Build.0 = Release|Any CPU
- {035CF639-9704-44C0-96AA-BCB132AA881A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {035CF639-9704-44C0-96AA-BCB132AA881A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {035CF639-9704-44C0-96AA-BCB132AA881A}.Debug|x86.ActiveCfg = Debug|Any CPU
- {035CF639-9704-44C0-96AA-BCB132AA881A}.Debug|x86.Build.0 = Debug|Any CPU
- {035CF639-9704-44C0-96AA-BCB132AA881A}.Proto|Any CPU.ActiveCfg = Debug|Any CPU
- {035CF639-9704-44C0-96AA-BCB132AA881A}.Proto|Any CPU.Build.0 = Debug|Any CPU
- {035CF639-9704-44C0-96AA-BCB132AA881A}.Proto|x86.ActiveCfg = Debug|Any CPU
- {035CF639-9704-44C0-96AA-BCB132AA881A}.Proto|x86.Build.0 = Debug|Any CPU
- {035CF639-9704-44C0-96AA-BCB132AA881A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {035CF639-9704-44C0-96AA-BCB132AA881A}.Release|Any CPU.Build.0 = Release|Any CPU
- {035CF639-9704-44C0-96AA-BCB132AA881A}.Release|x86.ActiveCfg = Release|Any CPU
- {035CF639-9704-44C0-96AA-BCB132AA881A}.Release|x86.Build.0 = Release|Any CPU
{597D9896-4B90-4E9E-9C99-445C2CB9FF60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{597D9896-4B90-4E9E-9C99-445C2CB9FF60}.Debug|Any CPU.Build.0 = Debug|Any CPU
{597D9896-4B90-4E9E-9C99-445C2CB9FF60}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -1133,11 +1089,7 @@ Global
{B5A9BBD9-2F45-4722-A6CA-BAE3C64CD4E2} = {3881429D-A97A-49EB-B7AE-A82BA5FE9C77}
{14F3D3D6-5C8E-43C2-98A2-17EA704D4DEA} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
{A422D673-8E3B-4924-821B-DD3174173426} = {4C7B48D7-19AF-4AE7-9D1D-3BB289D5480D}
- {208E36EE-665C-42D2-B767-C6DB03C4FEB2} = {47112E07-9FF1-43E7-8021-F2A21D6A19A0}
- {EE08E954-AE91-4EFA-8595-10931D29E628} = {47112E07-9FF1-43E7-8021-F2A21D6A19A0}
- {47112E07-9FF1-43E7-8021-F2A21D6A19A0} = {DFB6ADD7-3149-43D9-AFA0-FC4A818B472B}
{B1E30F2C-894F-47A9-9C8A-3324831E7D26} = {4C7B48D7-19AF-4AE7-9D1D-3BB289D5480D}
- {035CF639-9704-44C0-96AA-BCB132AA881A} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
{597D9896-4B90-4E9E-9C99-445C2CB9FF60} = {B8DDA694-7939-42E3-95E5-265C2217C142}
{0973C362-585C-4838-9459-D7E45C6B784B} = {B8DDA694-7939-42E3-95E5-265C2217C142}
{E54456F4-D51A-4334-B225-92EBBED92B40} = {B8DDA694-7939-42E3-95E5-265C2217C142}
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index b047ecdae7f..5f516beb82f 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -8,10 +8,14 @@
-
+
https://github.com/dotnet/arcade
- 34dff939b4a91e4693f78a856e0e055c1a3f3fba
+ c670c5bf5cff7c5c2ca086fd41cc1ace90761576
+
+ https://github.com/dotnet/arcade
+ c670c5bf5cff7c5c2ca086fd41cc1ace90761576
+
diff --git a/eng/Versions.props b/eng/Versions.props
index 3808fa872cb..10050348b66 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -129,6 +129,7 @@
$(RoslynVersion)
$(RoslynVersion)
2.0.28
+ $(RoslynVersion)
$(MicrosoftVisualStudioShellPackagesVersion)
$(MicrosoftVisualStudioShellPackagesVersion)
diff --git a/eng/common/cross/arm/sources.list.focal b/eng/common/cross/arm/sources.list.focal
new file mode 100644
index 00000000000..4de2600c174
--- /dev/null
+++ b/eng/common/cross/arm/sources.list.focal
@@ -0,0 +1,11 @@
+deb http://ports.ubuntu.com/ubuntu-ports/ focal main restricted universe
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal main restricted universe
+
+deb http://ports.ubuntu.com/ubuntu-ports/ focal-updates main restricted universe
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-updates main restricted universe
+
+deb http://ports.ubuntu.com/ubuntu-ports/ focal-backports main restricted
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-backports main restricted
+
+deb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
diff --git a/eng/common/cross/arm/sources.list.jammy b/eng/common/cross/arm/sources.list.jammy
new file mode 100644
index 00000000000..6bb0453029c
--- /dev/null
+++ b/eng/common/cross/arm/sources.list.jammy
@@ -0,0 +1,11 @@
+deb http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted universe
+deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted universe
+
+deb http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted universe
+deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted universe
+
+deb http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted
+deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted
+
+deb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
+deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
diff --git a/eng/common/cross/arm64/sources.list.focal b/eng/common/cross/arm64/sources.list.focal
new file mode 100644
index 00000000000..4de2600c174
--- /dev/null
+++ b/eng/common/cross/arm64/sources.list.focal
@@ -0,0 +1,11 @@
+deb http://ports.ubuntu.com/ubuntu-ports/ focal main restricted universe
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal main restricted universe
+
+deb http://ports.ubuntu.com/ubuntu-ports/ focal-updates main restricted universe
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-updates main restricted universe
+
+deb http://ports.ubuntu.com/ubuntu-ports/ focal-backports main restricted
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-backports main restricted
+
+deb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
diff --git a/eng/common/cross/arm64/sources.list.jammy b/eng/common/cross/arm64/sources.list.jammy
new file mode 100644
index 00000000000..6bb0453029c
--- /dev/null
+++ b/eng/common/cross/arm64/sources.list.jammy
@@ -0,0 +1,11 @@
+deb http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted universe
+deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted universe
+
+deb http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted universe
+deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted universe
+
+deb http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted
+deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted
+
+deb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
+deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh
index 032f5f19373..5680980fa29 100755
--- a/eng/common/cross/build-rootfs.sh
+++ b/eng/common/cross/build-rootfs.sh
@@ -186,32 +186,27 @@ while :; do
__UbuntuArch=i386
__UbuntuRepo="http://archive.ubuntu.com/ubuntu/"
;;
- lldb3.6)
- __LLDB_Package="lldb-3.6-dev"
- ;;
- lldb3.8)
- __LLDB_Package="lldb-3.8-dev"
- ;;
- lldb3.9)
- __LLDB_Package="liblldb-3.9-dev"
- ;;
- lldb4.0)
- __LLDB_Package="liblldb-4.0-dev"
- ;;
- lldb5.0)
- __LLDB_Package="liblldb-5.0-dev"
- ;;
- lldb6.0)
- __LLDB_Package="liblldb-6.0-dev"
+ lldb*)
+ version="${lowerI/lldb/}"
+ parts=(${version//./ })
+
+ # for versions > 6.0, lldb has dropped the minor version
+ if [[ "${parts[0]}" -gt 6 ]]; then
+ version="${parts[0]}"
+ fi
+
+ __LLDB_Package="liblldb-${version}-dev"
;;
no-lldb)
unset __LLDB_Package
;;
llvm*)
- version="$(echo "$lowerI" | tr -d '[:alpha:]-=')"
+ version="${lowerI/llvm/}"
parts=(${version//./ })
__LLVM_MajorVersion="${parts[0]}"
__LLVM_MinorVersion="${parts[1]}"
+
+ # for versions > 6.0, llvm has dropped the minor version
if [[ -z "$__LLVM_MinorVersion" && "$__LLVM_MajorVersion" -le 6 ]]; then
__LLVM_MinorVersion=0;
fi
@@ -231,6 +226,16 @@ while :; do
__CodeName=bionic
fi
;;
+ focal) # Ubuntu 20.04
+ if [[ "$__CodeName" != "jessie" ]]; then
+ __CodeName=focal
+ fi
+ ;;
+ jammy) # Ubuntu 22.04
+ if [[ "$__CodeName" != "jessie" ]]; then
+ __CodeName=jammy
+ fi
+ ;;
jessie) # Debian 8
__CodeName=jessie
__UbuntuRepo="http://ftp.debian.org/debian/"
diff --git a/eng/common/cross/x86/sources.list.focal b/eng/common/cross/x86/sources.list.focal
new file mode 100644
index 00000000000..99d5731330e
--- /dev/null
+++ b/eng/common/cross/x86/sources.list.focal
@@ -0,0 +1,11 @@
+deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe
+deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe
+
+deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe
+deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe
+
+deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted
+deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted
+
+deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
+deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
diff --git a/eng/common/cross/x86/sources.list.jammy b/eng/common/cross/x86/sources.list.jammy
new file mode 100644
index 00000000000..af1c1feaeac
--- /dev/null
+++ b/eng/common/cross/x86/sources.list.jammy
@@ -0,0 +1,11 @@
+deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe
+deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted universe
+
+deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe
+deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe
+
+deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted
+deb-src http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted
+
+deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
+deb-src http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
diff --git a/eng/common/generate-locproject.ps1 b/eng/common/generate-locproject.ps1
index 846e7950ce9..dbf2ab4ee7d 100644
--- a/eng/common/generate-locproject.ps1
+++ b/eng/common/generate-locproject.ps1
@@ -62,7 +62,7 @@ $locJson = @{
$outputPath = "$(($_.DirectoryName | Resolve-Path -Relative) + "\")"
$continue = $true
foreach ($exclusion in $exclusions.Exclusions) {
- if ($outputPath.Contains($exclusion))
+ if ($_.FullName.Contains($exclusion))
{
$continue = $false
}
@@ -91,6 +91,7 @@ $locJson = @{
)
},
@{
+ LanguageSet = $LanguageSet
CloneLanguageSet = "WiX_CloneLanguages"
LssFiles = @( "wxl_loc.lss" )
LocItems = @(
@@ -98,7 +99,7 @@ $locJson = @{
$outputPath = "$($_.Directory.FullName | Resolve-Path -Relative)\"
$continue = $true
foreach ($exclusion in $exclusions.Exclusions) {
- if ($outputPath.Contains($exclusion))
+ if ($_.FullName.Contains($exclusion))
{
$continue = $false
}
@@ -110,7 +111,6 @@ $locJson = @{
SourceFile = $sourceFile
CopyOption = "LangIDOnPath"
OutputPath = $outputPath
- Languages = "cs-CZ;de-DE;es-ES;fr-FR;it-IT;ja-JP;ko-KR;pl-PL;pt-BR;ru-RU;tr-TR;zh-CN;zh-TW"
}
}
}
diff --git a/eng/common/sdl/NuGet.config b/eng/common/sdl/NuGet.config
index 0c5451c1141..3849bdb3cf5 100644
--- a/eng/common/sdl/NuGet.config
+++ b/eng/common/sdl/NuGet.config
@@ -7,6 +7,11 @@
+
+
+
+
+
diff --git a/eng/common/sdl/sdl.ps1 b/eng/common/sdl/sdl.ps1
index ac196e164a4..648c5068d7d 100644
--- a/eng/common/sdl/sdl.ps1
+++ b/eng/common/sdl/sdl.ps1
@@ -1,6 +1,7 @@
function Install-Gdn {
param(
+ [Parameter(Mandatory=$true)]
[string]$Path,
# If omitted, install the latest version of Guardian, otherwise install that specific version.
diff --git a/eng/common/templates/job/execute-sdl.yml b/eng/common/templates/job/execute-sdl.yml
index 9ff6a10a682..781a41c9404 100644
--- a/eng/common/templates/job/execute-sdl.yml
+++ b/eng/common/templates/job/execute-sdl.yml
@@ -59,7 +59,9 @@ jobs:
- checkout: self
clean: true
- - template: /eng/common/templates/post-build/setup-maestro-vars.yml
+ # If the template caller didn't provide an AzDO parameter, set them all up as Maestro vars.
+ - ${{ if not(and(parameters.AzDOProjectName, parameters.AzDOPipelineId, parameters.AzDOBuildId)) }}:
+ - template: /eng/common/templates/post-build/setup-maestro-vars.yml
- ${{ if ne(parameters.downloadArtifacts, 'false')}}:
- ${{ if ne(parameters.artifactNames, '') }}:
diff --git a/eng/common/templates/job/source-index-stage1.yml b/eng/common/templates/job/source-index-stage1.yml
index 9ae196c0bfe..21fd12276b6 100644
--- a/eng/common/templates/job/source-index-stage1.yml
+++ b/eng/common/templates/job/source-index-stage1.yml
@@ -29,7 +29,7 @@ jobs:
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore-Public
- demands: ImageOverride -equals Build.Server.Amd64.VS2019.Open
+ demands: ImageOverride -equals windows.vs2019.amd64.open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals windows.vs2019.amd64
diff --git a/eng/common/templates/steps/execute-sdl.yml b/eng/common/templates/steps/execute-sdl.yml
index 86cf578c431..9dd5709f66d 100644
--- a/eng/common/templates/steps/execute-sdl.yml
+++ b/eng/common/templates/steps/execute-sdl.yml
@@ -17,14 +17,16 @@ steps:
- ${{ if ne(parameters.overrideGuardianVersion, '') }}:
- pwsh: |
- . $(Build.SourcesDirectory)\eng\common\sdl\sdl.ps1
+ Set-Location -Path $(Build.SourcesDirectory)\eng\common\sdl
+ . .\sdl.ps1
$guardianCliLocation = Install-Gdn -Path $(Build.SourcesDirectory)\.artifacts -Version ${{ parameters.overrideGuardianVersion }}
Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation"
displayName: Install Guardian (Overridden)
- ${{ if eq(parameters.overrideGuardianVersion, '') }}:
- pwsh: |
- . $(Build.SourcesDirectory)\eng\common\sdl\sdl.ps1
+ Set-Location -Path $(Build.SourcesDirectory)\eng\common\sdl
+ . .\sdl.ps1
$guardianCliLocation = Install-Gdn -Path $(Build.SourcesDirectory)\.artifacts
Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation"
displayName: Install Guardian
diff --git a/global.json b/global.json
index 3790ed6b19c..034d7abab10 100644
--- a/global.json
+++ b/global.json
@@ -1,24 +1,24 @@
{
"sdk": {
- "version": "7.0.100-preview.6.22352.1",
+ "version": "7.0.100-rc.1.22431.12",
"allowPrerelease": true,
- "rollForward": "latestMajor"
+ "rollForward": "latestPatch"
},
"tools": {
- "dotnet": "7.0.100-preview.6.22352.1",
+ "dotnet": "7.0.100-rc.1.22431.12",
"vs": {
- "version": "17.0",
+ "version": "17.2",
"components": [
"Microsoft.VisualStudio.Component.FSharp"
]
},
- "xcopy-msbuild": "17.1.0"
+ "xcopy-msbuild": "17.2.1"
},
"native-tools": {
"perl": "5.32.1.1"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22411.2",
- "Microsoft.DotNet.Helix.Sdk": "7.0.0-beta.22411.2"
+ "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.22463.5",
+ "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.22463.5"
}
}
diff --git a/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.csproj b/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.fsproj
similarity index 98%
rename from src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.csproj
rename to src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.fsproj
index e4e272d4f48..f3c8aba808a 100644
--- a/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.csproj
+++ b/src/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.fsproj
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/src/Microsoft.FSharp.Compiler/Program.cs b/src/Microsoft.FSharp.Compiler/Program.cs
deleted file mode 100644
index 0be8ed50b0e..00000000000
--- a/src/Microsoft.FSharp.Compiler/Program.cs
+++ /dev/null
@@ -1,2 +0,0 @@
-// See https://aka.ms/new-console-template for more information
-return 0;
\ No newline at end of file
diff --git a/src/Microsoft.FSharp.Compiler/Program.fs b/src/Microsoft.FSharp.Compiler/Program.fs
new file mode 100644
index 00000000000..0a254518203
--- /dev/null
+++ b/src/Microsoft.FSharp.Compiler/Program.fs
@@ -0,0 +1,2 @@
+[]
+let main _ = 0
\ No newline at end of file
diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/Events/Basic/Basic.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/Events/Basic/Basic.fs
index 7a8f6a55454..cd36fc9fdaf 100644
--- a/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/Events/Basic/Basic.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Conformance/DeclarationElements/Events/Basic/Basic.fs
@@ -86,7 +86,7 @@ module Basic =
|> verifyCompileAndRun
|> shouldSucceed
-#if !NETCOREAPP && !NETSTANDARD
+#if false && !NETCOREAPP && !NETSTANDARD
// SOURCE=SanityCheck02.fs PEVER=/MD # SanityCheck02.fs - /MD
[]
let ``SanityCheck02_fs_peverify`` compilation =
diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Structure.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Structure.fs
index a60119cc92d..328e8d8ab5c 100644
--- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Structure.fs
+++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Structure.fs
@@ -161,7 +161,7 @@ module Structure =
compilation
|> verifyExecution
-#if !NETCOREAPP && !NETSTANDARD
+#if false && !NETCOREAPP && !NETSTANDARD
// SOURCE=NativePtr01.fs PEVER=/Exp_Fail SCFLAGS="-r:CodeGenHelper.dll" # NativePtr01.fs
[]
let ``NativePtr01_fs`` compilation =
diff --git a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
index 4f88cb393bb..3ec85742f6d 100644
--- a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
+++ b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
@@ -38,7 +38,6 @@
Make sure they are getting built with the Utilities. -->
-
diff --git a/tests/FSharp.Test.Utilities/TestFramework.fs b/tests/FSharp.Test.Utilities/TestFramework.fs
index ffaf1a5f925..4958eae21c9 100644
--- a/tests/FSharp.Test.Utilities/TestFramework.fs
+++ b/tests/FSharp.Test.Utilities/TestFramework.fs
@@ -303,11 +303,11 @@ let config configurationName envVars =
#if NET472
let fscArchitecture = "net472"
let fsiArchitecture = "net472"
- let peverifyArchitecture = "net472"
+ //let peverifyArchitecture = "net472"
#else
let fscArchitecture = dotnetArchitecture
let fsiArchitecture = dotnetArchitecture
- let peverifyArchitecture = dotnetArchitecture
+ //let peverifyArchitecture = dotnetArchitecture
#endif
let repoRoot = SCRIPT_ROOT ++ ".." ++ ".."
let artifactsPath = repoRoot ++ "artifacts"
@@ -329,8 +329,8 @@ let config configurationName envVars =
let ILDASM = requirePackage (("runtime." + operatingSystem + "-" + architectureMoniker + ".Microsoft.NETCore.ILDAsm") ++ coreClrRuntimePackageVersion ++ "runtimes" ++ (operatingSystem + "-" + architectureMoniker) ++ "native" ++ ILDASM_EXE)
let ILASM_EXE = if operatingSystem = "win" then "ilasm.exe" else "ilasm"
let ILASM = requirePackage (("runtime." + operatingSystem + "-" + architectureMoniker + ".Microsoft.NETCore.ILAsm") ++ coreClrRuntimePackageVersion ++ "runtimes" ++ (operatingSystem + "-" + architectureMoniker) ++ "native" ++ ILASM_EXE)
- let PEVERIFY_EXE = if operatingSystem = "win" then "PEVerify.exe" elif operatingSystem = "osx" then "PEVerify.dll" else "PEVerify"
- let PEVERIFY = requireArtifact ("PEVerify" ++ configurationName ++ peverifyArchitecture ++ PEVERIFY_EXE)
+ //let PEVERIFY_EXE = if operatingSystem = "win" then "PEVerify.exe" elif operatingSystem = "osx" then "PEVerify.dll" else "PEVerify"
+ let PEVERIFY = "dummy" //requireArtifact ("PEVerify" ++ configurationName ++ peverifyArchitecture ++ PEVERIFY_EXE)
// let FSI_FOR_SCRIPTS = artifactsBinPath ++ "fsi" ++ configurationName ++ fsiArchitecture ++ "fsi.exe"
let FSharpBuild = requireArtifact ("FSharp.Build" ++ configurationName ++ fsharpBuildArchitecture ++ "FSharp.Build.dll")
let FSharpCompilerInteractiveSettings = requireArtifact ("FSharp.Compiler.Interactive.Settings" ++ configurationName ++ fsharpCompilerInteractiveSettingsArchitecture ++ "FSharp.Compiler.Interactive.Settings.dll")
@@ -618,8 +618,8 @@ let csc cfg arg = Printf.ksprintf (Commands.csc (exec cfg) cfg.CSC) arg
let vbc cfg arg = Printf.ksprintf (Commands.vbc (exec cfg) cfg.VBC) arg
let ildasm cfg arg = Printf.ksprintf (Commands.ildasm (exec cfg) cfg.ILDASM) arg
let ilasm cfg arg = Printf.ksprintf (Commands.ilasm (exec cfg) cfg.ILASM) arg
-let peverify cfg = Commands.peverify (exec cfg) cfg.PEVERIFY "/nologo"
-let peverifyWithArgs cfg args = Commands.peverify (exec cfg) cfg.PEVERIFY args
+let peverify _cfg _test = printfn "PEVerify is disabled, need to migrate to ILVerify instead, see https://github.com/dotnet/fsharp/issues/13854" //Commands.peverify (exec cfg) cfg.PEVERIFY "/nologo"
+let peverifyWithArgs _cfg _args _test = printfn "PEVerify is disabled, need to migrate to ILVerify instead, see https://github.com/dotnet/fsharp/issues/13854" //Commands.peverify (exec cfg) cfg.PEVERIFY args
let fsi cfg = Printf.ksprintf (Commands.fsi (exec cfg) cfg.FSI)
#if !NETCOREAPP
let fsiAnyCpu cfg = Printf.ksprintf (Commands.fsi (exec cfg) cfg.FSIANYCPU)
diff --git a/tests/PEVerify/CLRHelpers.cs b/tests/PEVerify/CLRHelpers.cs
deleted file mode 100644
index be1d8346efb..00000000000
--- a/tests/PEVerify/CLRHelpers.cs
+++ /dev/null
@@ -1,344 +0,0 @@
-// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-
-// ported from https://github.com/dotnet/roslyn/blob/aaee215045c03c4f4b38a66b56d35261ee7f0ddc/src/Test/Utilities/Portable/Platform/Desktop/CLRHelpers.cs
-
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Reflection;
-using System.Runtime.InteropServices;
-using System.Text;
-using PEVerify;
-using Roslyn.Test.Utilities.Desktop.ComTypes;
-
-namespace Roslyn.Test.Utilities.Desktop
-{
- public static class CLRHelpers
- {
- private static readonly Guid s_clsIdClrRuntimeHost = new Guid("90F1A06E-7712-4762-86B5-7A5EBA6BDB02");
- private static readonly Guid s_clsIdCorMetaDataDispenser = new Guid("E5CB7A31-7512-11d2-89CE-0080C792E5D8");
-
- public static event ResolveEventHandler ReflectionOnlyAssemblyResolve;
-
- static CLRHelpers()
- {
- // Work around CLR bug:
- // PE Verifier adds a handler to ReflectionOnlyAssemblyResolve event in AppDomain.EnableResolveAssembliesForIntrospection
- // (called from ValidateWorker in Validator.cpp) in which it directly calls Assembly.ReflectionOnlyLoad.
- // If that happens before we get a chance to resolve the assembly the resolution fails.
- //
- // The handlers are invoked in the order they were added until one of them returns non-null assembly.
- // Therefore once we call Validate we can't add any more handlers -- they would all follow the CLR one, which fails.
- //
- // As A workaround we add a single forwarding handler before any calls to Validate and then subscribe all of our true handlers
- // to this event.
- AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += ReflectionOnlyAssemblyResolveHandler;
- }
-
- private static Assembly ReflectionOnlyAssemblyResolveHandler(object sender, ResolveEventArgs args)
- {
- var handler = ReflectionOnlyAssemblyResolve;
- if (handler != null)
- {
- return handler(sender, args);
- }
-
- return null;
- }
-
- public static object GetRuntimeInterfaceAsObject(Guid clsid, Guid riid)
- {
- // This API isn't available on Mono hence we must use reflection to access it.
- Debug.Assert(!MonoHelpers.IsRunningOnMono());
-
- var getRuntimeInterfaceAsObject = typeof(RuntimeEnvironment).GetMethod("GetRuntimeInterfaceAsObject", BindingFlags.Public | BindingFlags.Static);
- return getRuntimeInterfaceAsObject.Invoke(null, new object[] { clsid, riid });
- }
-
- ///
- /// Verifies the specified image. Subscribe to to provide a loader for dependent assemblies.
- ///
- public static string[] PeVerify(byte[] peImage, bool metadataOnly)
- {
- // fileName must be null, otherwise AssemblyResolve events won't fire
- return PeVerify(peImage, AppDomain.CurrentDomain.Id, assemblyPath: null, metadataOnly: metadataOnly);
- }
-
- ///
- /// Verifies the specified file. All dependencies must be on disk next to the file.
- ///
- public static string[] PeVerify(string filePath, bool metadataOnly)
- {
- return PeVerify(File.ReadAllBytes(filePath), AppDomain.CurrentDomain.Id, filePath, metadataOnly: metadataOnly);
- }
-
- private static readonly object s_guard = new object();
-
- private static string[] PeVerify(byte[] peImage, int domainId, string assemblyPath, bool metadataOnly)
- {
- if (MonoHelpers.IsRunningOnMono())
- {
- // PEverify is currently unsupported on Mono hence return an empty
- // set of messages
- return new string[0];
- }
-
- lock (s_guard)
- {
- GCHandle pinned = GCHandle.Alloc(peImage, GCHandleType.Pinned);
- try
- {
- IntPtr buffer = pinned.AddrOfPinnedObject();
-
- ICLRValidator validator = (ICLRValidator)GetRuntimeInterfaceAsObject(s_clsIdClrRuntimeHost, typeof(ICLRRuntimeHost).GUID);
- ValidationErrorHandler errorHandler = new ValidationErrorHandler(validator);
-
- IMetaDataDispenser dispenser = (IMetaDataDispenser)GetRuntimeInterfaceAsObject(s_clsIdCorMetaDataDispenser, typeof(IMetaDataDispenser).GUID);
-
- // the buffer needs to be pinned during validation
- Guid riid = typeof(IMetaDataImport).GUID;
- object metaDataImport = null;
- if (assemblyPath != null)
- {
- dispenser.OpenScope(assemblyPath, CorOpenFlags.ofRead, ref riid, out metaDataImport);
- }
- else
- {
- dispenser.OpenScopeOnMemory(buffer, (uint)peImage.Length, CorOpenFlags.ofRead, ref riid, out metaDataImport);
- }
-
- IMetaDataValidate metaDataValidate = (IMetaDataValidate)metaDataImport;
- metaDataValidate.ValidatorInit(CorValidatorModuleType.ValidatorModuleTypePE, errorHandler);
- metaDataValidate.ValidateMetaData();
-
- if (!metadataOnly)
- {
- validator.Validate(errorHandler, (uint)domainId, ValidatorFlags.VALIDATOR_EXTRA_VERBOSE,
- ulMaxError: 10, token: 0, fileName: assemblyPath, pe: buffer, ulSize: (uint)peImage.Length);
- }
-
- return errorHandler.GetOutput();
- }
- finally
- {
- pinned.Free();
- }
- }
- }
-
- private class ValidationErrorHandler : IVEHandler
- {
- private readonly ICLRValidator _validator;
- private readonly List _output;
- private const int MessageLength = 256;
-
- public ValidationErrorHandler(ICLRValidator validator)
- {
- _validator = validator;
- _output = new List();
- }
-
- public void SetReporterFtn(long lFnPtr)
- {
- throw new NotImplementedException();
- }
-
- public void VEHandler(int VECode, tag_VerError Context, Array psa)
- {
- StringBuilder sb = new StringBuilder(MessageLength);
- string message = null;
-
- if (Context.Flags == (uint)ValidatorFlags.VALIDATOR_CHECK_PEFORMAT_ONLY)
- {
- GetErrorResourceString(VECode, sb);
- string formatString = ReplaceFormatItems(sb.ToString(), "%08x", ":x8");
- formatString = ReplaceFormatItems(formatString, "%d", "");
- if (psa == null)
- {
- psa = new object[0];
- }
-
- message = string.Format(formatString, (object[])psa);
- }
- else
- {
- _validator.FormatEventInfo(VECode, Context, sb, (uint)MessageLength - 1, psa);
- message = sb.ToString();
- }
-
- // retail version of peverify.exe filters out CLS warnings...
- if (!message.Contains("[CLS]"))
- {
- _output.Add(message);
- }
- }
-
- public string[] GetOutput()
- {
- return _output.ToArray();
- }
-
- private static readonly string s_resourceFilePath = Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "mscorrc.dll");
- private const uint LOAD_LIBRARY_AS_DATAFILE = 0x00000002;
- private static readonly IntPtr s_hMod = LoadLibraryEx(s_resourceFilePath, IntPtr.Zero, LOAD_LIBRARY_AS_DATAFILE);
-
- private static void GetErrorResourceString(int code, StringBuilder message)
- {
- LoadString(s_hMod, (uint)(code & 0x0000FFFF), message, MessageLength - 1);
- }
-
- [DllImport("kernel32.dll", SetLastError = true)]
- private static extern IntPtr LoadLibraryEx(string lpFileName, IntPtr hFile, uint dwFlags);
-
- [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
- private static extern int LoadString(IntPtr hInstance, uint uID, StringBuilder lpBuffer, int nBufferMax);
-
- private static string ReplaceFormatItems(string input, string oldFormat, string newFormat)
- {
- // not foolproof/efficient, but easy to write/understand...
- var parts = input.Replace(oldFormat, "|").Split('|');
-
- var formatString = new StringBuilder();
- for (int i = 0; i < parts.Length; i++)
- {
- formatString.Append(parts[i]);
- if (i < (parts.Length - 1))
- {
- formatString.Append('{');
- formatString.Append(i);
- formatString.Append(newFormat);
- formatString.Append('}');
- }
- }
-
- return formatString.ToString();
- }
- }
- }
-
- namespace ComTypes
- {
- [ComImport, CoClass(typeof(object)), Guid("90F1A06C-7712-4762-86B5-7A5EBA6BDB02"), TypeIdentifier]
- public interface CLRRuntimeHost : ICLRRuntimeHost
- {
- }
-
- [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("90F1A06C-7712-4762-86B5-7A5EBA6BDB02"), TypeIdentifier]
- public interface ICLRRuntimeHost
- {
- }
-
- [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("63DF8730-DC81-4062-84A2-1FF943F59FDD"), TypeIdentifier]
- public interface ICLRValidator
- {
- void Validate(
- [In, MarshalAs(UnmanagedType.Interface)] IVEHandler veh,
- [In] uint ulAppDomainId,
- [In] ValidatorFlags ulFlags,
- [In] uint ulMaxError,
- [In] uint token,
- [In, MarshalAs(UnmanagedType.LPWStr)] string fileName,
- [In] IntPtr pe,
- [In] uint ulSize);
-
- void FormatEventInfo(
- [In, MarshalAs(UnmanagedType.Error)] int hVECode,
- [In] tag_VerError Context,
- [In, Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder msg,
- [In] uint ulMaxLength,
- [In, MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_VARIANT)] Array psa);
- }
-
- [ComImport, Guid("856CA1B2-7DAB-11D3-ACEC-00C04F86C309"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), TypeIdentifier]
- public interface IVEHandler
- {
- void VEHandler([In, MarshalAs(UnmanagedType.Error)] int VECode, [In] tag_VerError Context, [In, MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_VARIANT)] Array psa);
- void SetReporterFtn([In] long lFnPtr);
- }
-
- [ComImport, Guid("809C652E-7396-11D2-9771-00A0C9B4D50C"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), TypeIdentifier]
- public interface IMetaDataDispenser
- {
- void DefineScope(
- [In] ref Guid rclsid,
- [In] uint dwCreateFlags,
- [In] ref Guid riid,
- [Out, MarshalAs(UnmanagedType.IUnknown)] out object ppIUnk);
-
- void OpenScope(
- [In, MarshalAs(UnmanagedType.LPWStr)] string szScope,
- [In] CorOpenFlags dwOpenFlags,
- [In] ref Guid riid,
- [Out, MarshalAs(UnmanagedType.IUnknown)] out object ppIUnk);
-
- void OpenScopeOnMemory(
- [In] IntPtr pData,
- [In] uint cbData,
- [In] CorOpenFlags dwOpenFlags,
- [In] ref Guid riid,
- [Out, MarshalAs(UnmanagedType.IUnknown)] out object ppIUnk);
- }
-
- [ComImport, Guid("7DAC8207-D3AE-4c75-9B67-92801A497D44"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), TypeIdentifier]
- public interface IMetaDataImport
- {
- }
-
- [ComImport, Guid("4709C9C6-81FF-11D3-9FC7-00C04F79A0A3"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), TypeIdentifier]
- public interface IMetaDataValidate
- {
- void ValidatorInit([In] CorValidatorModuleType dwModuleType, [In, MarshalAs(UnmanagedType.IUnknown)] object pUnk);
- void ValidateMetaData();
- }
-
- [StructLayout(LayoutKind.Sequential, Pack = 4), TypeIdentifier("5477469e-83b1-11d2-8b49-00a0c9b7c9c4", "mscoree.tag_VerError")]
- public struct tag_VerError
- {
- public uint Flags;
- public uint opcode;
- public uint uOffset;
- public uint Token;
- public uint item1_flags;
- public IntPtr item1_data;
- public uint item2_flags;
- public IntPtr item2_data;
- }
-
- public enum ValidatorFlags : uint
- {
- VALIDATOR_EXTRA_VERBOSE = 0x00000001,
- VALIDATOR_SHOW_SOURCE_LINES = 0x00000002,
- VALIDATOR_CHECK_ILONLY = 0x00000004,
- VALIDATOR_CHECK_PEFORMAT_ONLY = 0x00000008,
- VALIDATOR_NOCHECK_PEFORMAT = 0x00000010
- };
-
- public enum CorValidatorModuleType : uint
- {
- ValidatorModuleTypeInvalid = 0x00000000,
- ValidatorModuleTypeMin = 0x00000001,
- ValidatorModuleTypePE = 0x00000001,
- ValidatorModuleTypeObj = 0x00000002,
- ValidatorModuleTypeEnc = 0x00000003,
- ValidatorModuleTypeIncr = 0x00000004,
- ValidatorModuleTypeMax = 0x00000004
- };
-
- public enum CorOpenFlags : uint
- {
- ofRead = 0x00000000,
- ofWrite = 0x00000001,
- ofReadWriteMask = 0x00000001,
- ofCopyMemory = 0x00000002,
- ofCacheImage = 0x00000004,
- ofManifestMetadata = 0x00000008,
- ofReadOnly = 0x00000010,
- ofTakeOwnership = 0x00000020,
- ofNoTypeLib = 0x00000080,
- ofReserved1 = 0x00000100,
- ofReserved2 = 0x00000200,
- ofReserved = 0xffffff40,
- };
- }
-}
diff --git a/tests/PEVerify/MonoHelpers.cs b/tests/PEVerify/MonoHelpers.cs
deleted file mode 100644
index 385dcacc5bb..00000000000
--- a/tests/PEVerify/MonoHelpers.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
-
-using System;
-
-namespace PEVerify
-{
- public class MonoHelpers
- {
- public static bool IsRunningOnMono()
- {
- return Type.GetType("Mono.Runtime") != null;
- }
- }
-}
diff --git a/tests/PEVerify/PEVerify.csproj b/tests/PEVerify/PEVerify.csproj
deleted file mode 100644
index 1a348a2ef5f..00000000000
--- a/tests/PEVerify/PEVerify.csproj
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
- Exe
-
- net472;net7.0
- net7.0
- win-x64;linux-x64;osx-x64
- $(AssetTargetFallback);portable-net45+win8+wp8+wpa81
-
- $(NoWarn);NU1505
- $(NoWarn);1591
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/PEVerify/Program.cs b/tests/PEVerify/Program.cs
deleted file mode 100644
index f2a9a3f2caf..00000000000
--- a/tests/PEVerify/Program.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
-
-using System;
-using System.IO;
-using Roslyn.Test.Utilities.Desktop;
-using System.Globalization;
-
-namespace PEVerify
-{
- class Program
- {
- static int Main(string[] args)
- {
- // this version of PEVerify is only intended to run F# test suit
- // force the en-US culture so that tests warning/error message comparision
- // is not culture dependent
- var culture = new CultureInfo("en-US");
- CultureInfo.CurrentCulture = culture;
- CultureInfo.CurrentUICulture = culture;
- string assemblyPath = null;
- bool metadataOnly = false;
- foreach (var arg in args)
- {
- switch (arg.ToUpperInvariant())
- {
- case "/IL":
- case "/NOLOGO":
- case "/UNIQUE":
- // ignore these options
- break;
- case "/MD":
- metadataOnly = true;
- break;
- default:
- if (assemblyPath != null)
- {
- Console.WriteLine("Assembly already specified or unknown option.");
- return -1;
- }
-
- assemblyPath = arg;
- break;
- }
- }
-
- if (!Path.IsPathRooted(assemblyPath))
- {
- var workingDir = Directory.GetCurrentDirectory();
- assemblyPath = Path.Combine(workingDir, assemblyPath);
- }
-
- var errors = CLRHelpers.PeVerify(assemblyPath, metadataOnly);
- foreach (var error in errors)
- {
- Console.WriteLine(error);
- }
-
- return errors.Length;
- }
- }
-}
diff --git a/tests/benchmarks/CompiledCodeBenchmarks/MicroPerf/CS/MicroPerfCSharp.csproj b/tests/benchmarks/CompiledCodeBenchmarks/MicroPerf/CS/MicroPerfCSharp.csproj
index 2500fd82992..1fce170628e 100644
--- a/tests/benchmarks/CompiledCodeBenchmarks/MicroPerf/CS/MicroPerfCSharp.csproj
+++ b/tests/benchmarks/CompiledCodeBenchmarks/MicroPerf/CS/MicroPerfCSharp.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net7.0
Library
8.0
diff --git a/tests/benchmarks/CompiledCodeBenchmarks/MicroPerf/MicroPerf.fsproj b/tests/benchmarks/CompiledCodeBenchmarks/MicroPerf/MicroPerf.fsproj
index 9b89d243beb..39690196a8e 100644
--- a/tests/benchmarks/CompiledCodeBenchmarks/MicroPerf/MicroPerf.fsproj
+++ b/tests/benchmarks/CompiledCodeBenchmarks/MicroPerf/MicroPerf.fsproj
@@ -1,6 +1,6 @@
- net6.0
+ net7.0
Exe