Skip to content

Commit 84da799

Browse files
committed
Support building assets for NET 7-9
1 parent b7d933f commit 84da799

File tree

2 files changed

+30
-25
lines changed

2 files changed

+30
-25
lines changed

src/omnisharp/protocol.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -874,7 +874,7 @@ export function findNetCoreAppTargetFramework(project: MSBuildProject): TargetFr
874874
}
875875

876876
export function findModernNetFrameworkTargetFramework(project: MSBuildProject): TargetFramework {
877-
let regexp = new RegExp('^net[5-6]');
877+
let regexp = new RegExp('^net[5-9]');
878878
const targetFramework = project.TargetFrameworks.find(tf => regexp.test(tf.ShortName));
879879

880880
// Shortname is being reported as net50 instead of net5.0

test/featureTests/assets.test.ts

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -73,30 +73,35 @@ suite("Asset generation: csproj", () => {
7373
segments.should.deep.equal(['${workspaceFolder}', 'bin', 'Debug', 'netcoreapp1.0', 'testApp.dll']);
7474
});
7575

76-
test("Create launch.json for NET 5 project opened in workspace", () => {
77-
let rootPath = path.resolve('testRoot');
78-
let info = createMSBuildWorkspaceInformation(path.join(rootPath, 'testApp.csproj'), 'testApp', 'net5.0', /*isExe*/ true);
79-
let generator = new AssetGenerator(info, createMockWorkspaceFolder(rootPath));
80-
generator.setStartupProject(0);
81-
let launchJson = parse(generator.createLaunchJsonConfigurations(ProgramLaunchType.Console), undefined, { disallowComments: true });
82-
let programPath = launchJson[0].program;
83-
84-
// ${workspaceFolder}/bin/Debug/net5.0/testApp.dll
85-
let segments = programPath.split(path.posix.sep);
86-
segments.should.deep.equal(['${workspaceFolder}', 'bin', 'Debug', 'net5.0', 'testApp.dll']);
87-
});
88-
89-
test("Create launch.json for NET 6 project opened in workspace", () => {
90-
let rootPath = path.resolve('testRoot');
91-
let info = createMSBuildWorkspaceInformation(path.join(rootPath, 'testApp.csproj'), 'testApp', 'net60', /*isExe*/ true);
92-
let generator = new AssetGenerator(info, createMockWorkspaceFolder(rootPath));
93-
generator.setStartupProject(0);
94-
let launchJson = parse(generator.createLaunchJsonConfigurations(ProgramLaunchType.Console), undefined, { disallowComments: true });
95-
let programPath = launchJson[0].program;
96-
97-
// ${workspaceFolder}/bin/Debug/net6.0/testApp.dll
98-
let segments = programPath.split(path.posix.sep);
99-
segments.should.deep.equal(['${workspaceFolder}', 'bin', 'Debug', 'net6.0', 'testApp.dll']);
76+
[5, 6, 7, 8, 9].forEach(version => {
77+
const shortName = `net${version}.0`;
78+
const alternameShortName = `net${version}0`;
79+
80+
test(`Create launch.json for NET ${version} project opened in workspace with shortname '${shortName}'`, () => {
81+
let rootPath = path.resolve('testRoot');
82+
let info = createMSBuildWorkspaceInformation(path.join(rootPath, 'testApp.csproj'), 'testApp', shortName, /*isExe*/ true);
83+
let generator = new AssetGenerator(info, createMockWorkspaceFolder(rootPath));
84+
generator.setStartupProject(0);
85+
let launchJson = parse(generator.createLaunchJsonConfigurations(ProgramLaunchType.Console), undefined, { disallowComments: true });
86+
let programPath = launchJson[0].program;
87+
88+
// ${workspaceFolder}/bin/Debug/net#.0/testApp.dll
89+
let segments = programPath.split(path.posix.sep);
90+
segments.should.deep.equal(['${workspaceFolder}', 'bin', 'Debug', shortName, 'testApp.dll']);
91+
});
92+
93+
test(`Create launch.json for NET ${version} project opened in workspace with shortname '${alternameShortName}'`, () => {
94+
let rootPath = path.resolve('testRoot');
95+
let info = createMSBuildWorkspaceInformation(path.join(rootPath, 'testApp.csproj'), 'testApp', alternameShortName, /*isExe*/ true);
96+
let generator = new AssetGenerator(info, createMockWorkspaceFolder(rootPath));
97+
generator.setStartupProject(0);
98+
let launchJson = parse(generator.createLaunchJsonConfigurations(ProgramLaunchType.Console), undefined, { disallowComments: true });
99+
let programPath = launchJson[0].program;
100+
101+
// ${workspaceFolder}/bin/Debug/net#.0/testApp.dll
102+
let segments = programPath.split(path.posix.sep);
103+
segments.should.deep.equal(['${workspaceFolder}', 'bin', 'Debug', shortName, 'testApp.dll']);
104+
});
100105
});
101106

102107
test("Create launch.json for nested project opened in workspace", () => {

0 commit comments

Comments
 (0)