Skip to content

Commit 35d4dc7

Browse files
committed
添加 Visual Studio 2026 的路径
1 parent c6f5849 commit 35d4dc7

3 files changed

Lines changed: 76 additions & 0 deletions

File tree

DotNETBuild/Context/CompileConfiguration.cs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff 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>

DotNETBuild/Utils/DotNetBuildTools_/MsBuild.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff 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

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
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+
}

0 commit comments

Comments
 (0)