File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -58,6 +58,9 @@ public string MsBuildFile
5858 return GetMSBuildPath
5959 (
6060 msbuild ,
61+ VS2026EnterpriseMSBuild ,
62+ VS2026ProfessionalMSBuild ,
63+ VS2026CommunityMSBuild ,
6164 VS2022EnterpriseMSBuild ,
6265 VS2022ProfessionalMSBuild ,
6366 VS2022CommunityMSBuild ,
@@ -180,6 +183,33 @@ public string VS2022CommunityMSBuild
180183 get => GetString ( ) ;
181184 }
182185
186+ /// <summary>
187+ /// VisualStudio 2026 企业版的 MSBuild.exe 文件所在路径
188+ /// </summary>
189+ public string VS2026EnterpriseMSBuild
190+ {
191+ set => SetFullPath ( value ) ;
192+ get => GetString ( ) ;
193+ }
194+
195+ /// <summary>
196+ /// VisualStudio 2026 社区版的 MSBuild.exe 文件所在路径
197+ /// </summary>
198+ public string VS2026ProfessionalMSBuild
199+ {
200+ set => SetFullPath ( value ) ;
201+ get => GetString ( ) ;
202+ }
203+
204+ /// <summary>
205+ /// VisualStudio 2026 社区版的 MSBuild.exe 文件所在路径
206+ /// </summary>
207+ public string VS2026CommunityMSBuild
208+ {
209+ set => SetFullPath ( value ) ;
210+ get => GetString ( ) ;
211+ }
212+
183213 /// <summary>
184214 /// 获取 vstest.console.exe 文件路径
185215 /// </summary>
Original file line number Diff line number Diff line change @@ -176,6 +176,24 @@ public static void FindInstalledMSBuildFilePath(CompileConfiguration compileConf
176176 {
177177 compileConfiguration . VS2022CommunityMSBuild = vs2022CommunityMSBuild ;
178178 }
179+
180+ var vs2026EnterpriseMSBuild = @"C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\amd64\MSBuild.exe" ;
181+ if ( File . Exists ( vs2022EnterpriseMSBuild ) )
182+ {
183+ compileConfiguration . VS2026EnterpriseMSBuild = vs2026EnterpriseMSBuild ;
184+ }
185+
186+ var vs2026ProfessionalMSBuild = @"C:\Program Files\Microsoft Visual Studio\18\Professional\Msbuild\Current\Bin\amd64\MSBuild.exe" ;
187+ if ( File . Exists ( vs2022ProfessionalMSBuild ) )
188+ {
189+ compileConfiguration . VS2026ProfessionalMSBuild = vs2026ProfessionalMSBuild ;
190+ }
191+
192+ var vs2026CommunityMSBuild = @"C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\amd64\MSBuild.exe" ;
193+ if ( File . Exists ( vs2022CommunityMSBuild ) )
194+ {
195+ compileConfiguration . VS2026CommunityMSBuild = vs2026CommunityMSBuild ;
196+ }
179197 }
180198 }
181199
Original file line number Diff line number Diff line change 1+ using dotnetCampus . DotNETBuild . Utils ;
2+
3+ using Microsoft . VisualStudio . TestTools . UnitTesting ;
4+
5+ using System ;
6+ using System . Collections . Generic ;
7+ using System . IO ;
8+ using System . Linq ;
9+ using System . Reflection . PortableExecutable ;
10+ using System . Text ;
11+ using System . Threading . Tasks ;
12+ using dotnetCampus . Configurations . Core ;
13+
14+ namespace DotNETBuild . Tests ;
15+
16+ [ TestClass ]
17+ public class MSBuildToolTest
18+ {
19+ [ TestMethod ]
20+ public void TestFindMSBuild ( )
21+ {
22+ var memoryConfigurationRepo = new MemoryConfigurationRepo ( ) ;
23+ var appConfigurator = memoryConfigurationRepo . CreateAppConfigurator ( ) ;
24+ var msBuild = new MSBuild ( appConfigurator ) ;
25+ var msBuildFile = msBuild . GetMSBuildFile ( ) ;
26+ Assert . IsTrue ( File . Exists ( msBuildFile ) ) ;
27+ }
28+ }
You can’t perform that action at this time.
0 commit comments