diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 1f9c76d4095..298f547365c 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -39,25 +39,25 @@
194f32828726c3f1f63f79f3dc09b9e99c157b11
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
- 0e20c85562e8c4615c2a3a9e28371a34d9d0a398
+ 9ecde9217bbd3541f1a9dc2d684b9acfa5f27274
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
- 0e20c85562e8c4615c2a3a9e28371a34d9d0a398
+ 9ecde9217bbd3541f1a9dc2d684b9acfa5f27274
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
- 0e20c85562e8c4615c2a3a9e28371a34d9d0a398
+ 9ecde9217bbd3541f1a9dc2d684b9acfa5f27274
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
- 0e20c85562e8c4615c2a3a9e28371a34d9d0a398
+ 9ecde9217bbd3541f1a9dc2d684b9acfa5f27274
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
- 0e20c85562e8c4615c2a3a9e28371a34d9d0a398
+ 9ecde9217bbd3541f1a9dc2d684b9acfa5f27274
diff --git a/eng/Versions.props b/eng/Versions.props
index 34d16425e05..4ad1130ccd4 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -209,10 +209,10 @@
2.2.0
1.0.0-beta.23426.1
- 1.0.0-prerelease.23515.2
- 1.0.0-prerelease.23515.2
- 1.0.0-prerelease.23515.2
- 1.0.0-prerelease.23515.2
- 1.0.0-prerelease.23515.2
+ 1.0.0-prerelease.23602.3
+ 1.0.0-prerelease.23602.3
+ 1.0.0-prerelease.23602.3
+ 1.0.0-prerelease.23602.3
+ 1.0.0-prerelease.23602.3
diff --git a/src/Compiler/Checking/NameResolution.fs b/src/Compiler/Checking/NameResolution.fs
index 6544036b627..a4e45ff3b85 100644
--- a/src/Compiler/Checking/NameResolution.fs
+++ b/src/Compiler/Checking/NameResolution.fs
@@ -578,8 +578,8 @@ let private GetCSharpStyleIndexedExtensionMembersForTyconRef (amap: Import.Impor
let pri = NextExtensionMethodPriority()
if g.langVersion.SupportsFeature(LanguageFeature.CSharpExtensionAttributeNotRequired) then
- let csharpStyleExtensionMembers =
- if IsTyconRefUsedForCSharpStyleExtensionMembers g m tcrefOfStaticClass || tcrefOfStaticClass.IsLocalRef then
+ let csharpStyleExtensionMembers =
+ if IsTyconRefUsedForCSharpStyleExtensionMembers g m tcrefOfStaticClass || (tcrefOfStaticClass.IsLocalRef && not tcrefOfStaticClass.IsTypeAbbrev) then
protectAssemblyExploration [] (fun () ->
let ty = generalizedTyconRef g tcrefOfStaticClass
GetImmediateIntrinsicMethInfosOfType (None, AccessorDomain.AccessibleFromSomeFSharpCode) g amap m ty
diff --git a/tests/AheadOfTime/Trimming/check.ps1 b/tests/AheadOfTime/Trimming/check.ps1
index 03827664f3e..373cd534ce2 100644
--- a/tests/AheadOfTime/Trimming/check.ps1
+++ b/tests/AheadOfTime/Trimming/check.ps1
@@ -43,5 +43,5 @@ function CheckTrim($root, $tfm, $outputfile, $expected_len) {
CheckTrim -root "SelfContained_Trimming_Test" -tfm "net8.0" -outputfile "FSharp.Core.dll" -expected_len 288256
# Check net7.0 trimmed assemblies
-CheckTrim -root "StaticLinkedFSharpCore_Trimming_Test" -tfm "net8.0" -outputfile "StaticLinkedFSharpCore_Trimming_Test.dll" -expected_len 8821760
+CheckTrim -root "StaticLinkedFSharpCore_Trimming_Test" -tfm "net8.0" -outputfile "StaticLinkedFSharpCore_Trimming_Test.dll" -expected_len 8822272
diff --git a/tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs
index 817b33a43d6..510ac830ae4 100644
--- a/tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs
@@ -609,3 +609,42 @@ type Bar =
|> withReferences [ fsharp ]
csharp |> compile |> shouldSucceed
+
+ []
+ let ``Abbreviated CSharp type with extensions`` () =
+ let csharp =
+ CSharp """
+namespace CSharpLib {
+
+ public interface I
+ {
+ public int P { get; }
+ }
+
+ public static class Ext
+ {
+ public static void M(this I i)
+ {
+ }
+ }
+}
+ """
+ |> withName "CSLib"
+
+ let fsharp =
+ FSharp """
+module Module
+
+open CSharpLib
+
+module M =
+ type Ext2 = CSharpLib.Ext
+
+ let f (i: I) =
+ i.M()
+"""
+ |> withLangVersion80
+ |> withName "FSLib"
+ |> withReferences [ csharp ]
+
+ fsharp |> compile |> shouldSucceed