@@ -39,6 +39,17 @@ private static IEnumerable<string> ResolveInternal(MSBuildVersion? msBuildVersio
3939
4040 var instances = new List < Instance > ( ) ;
4141
42+ instances . AddRange (
43+ from version in new [ ] { MSBuildVersion . VS2026 }
44+ from platform in s_platforms
45+ from edition in typeof ( VisualStudioEdition ) . GetEnumValues < VisualStudioEdition > ( )
46+ // is this relevant for 2026?
47+ // let folder = version == MSBuildVersion.VS2022 && edition != VisualStudioEdition.BuildTools
48+ // ? SpecialFolders.ProgramFiles
49+ // : SpecialFolders.ProgramFilesX86
50+ let folder = SpecialFolders . ProgramFiles
51+ select GetFromVs2026Instance ( version , platform , edition , folder ) ) ;
52+
4253 instances . AddRange (
4354 from version in new [ ] { MSBuildVersion . VS2022 , MSBuildVersion . VS2019 , MSBuildVersion . VS2017 }
4455 from platform in s_platforms
@@ -64,6 +75,26 @@ from platform in s_platforms
6475
6576 return filteredInstances . Select ( x => x . ToolPath ) ;
6677 }
78+
79+ private static Instance GetFromVs2026Instance (
80+ MSBuildVersion version ,
81+ MSBuildPlatform platform ,
82+ VisualStudioEdition edition ,
83+ SpecialFolders specialFolder )
84+ {
85+ // introduce another mapping method?
86+ // var versionDirectoryName = version.ToString().TrimStart("VS");
87+ var basePath = Path . Combine (
88+ EnvironmentInfo . SpecialFolder ( specialFolder ) . NotNull ( ) ,
89+ $@ "Microsoft Visual Studio\18\{ edition } \MSBuild\{ GetVersionFolder ( version ) } \Bin") ;
90+
91+ return new Instance (
92+ version ,
93+ platform ,
94+ platform == MSBuildPlatform . x64
95+ ? Path . Combine ( basePath , "amd64" )
96+ : basePath ) ;
97+ }
6798
6899 private static Instance GetFromVs2017Instance (
69100 MSBuildVersion version ,
@@ -105,6 +136,9 @@ private static string GetVersionFolder(MSBuildVersion version)
105136 MSBuildVersion . VS2013 => "12.0" ,
106137 MSBuildVersion . VS2015 => "14.0" ,
107138 MSBuildVersion . VS2017 => "15.0" ,
139+ // correct?
140+ MSBuildVersion . VS2019 => "16.0" ,
141+ MSBuildVersion . VS2022 => "17.0" ,
108142 _ => "Current"
109143 } ;
110144 }
0 commit comments