diff --git a/extensions/sql-database-projects/src/controllers/projectController.ts b/extensions/sql-database-projects/src/controllers/projectController.ts index e8c20c5a17..23c30015f3 100644 --- a/extensions/sql-database-projects/src/controllers/projectController.ts +++ b/extensions/sql-database-projects/src/controllers/projectController.ts @@ -223,7 +223,7 @@ export class ProjectsController { const options: ShellCommandOptions = { commandTitle: 'Build', workingDirectory: project.projectFolderPath, - argument: this.buildHelper.constructBuildArguments(project.projectFilePath, this.buildHelper.extensionBuildDirPath) + argument: this.buildHelper.constructBuildArguments(project.projectFilePath, this.buildHelper.extensionBuildDirPath, project.isSdkStyleProject) }; try { diff --git a/extensions/sql-database-projects/src/test/buildHelper.test.ts b/extensions/sql-database-projects/src/test/buildHelper.test.ts index 68cb70ab98..f2a2b557fd 100644 --- a/extensions/sql-database-projects/src/test/buildHelper.test.ts +++ b/extensions/sql-database-projects/src/test/buildHelper.test.ts @@ -14,7 +14,7 @@ describe('BuildHelper: Build Helper tests', function (): void { it('Should get correct build arguments', function (): void { // update settings and validate const buildHelper = new BuildHelper(); - const resultArg = buildHelper.constructBuildArguments('dummy\\project path\\more space in path', 'dummy\\dll path'); + const resultArg = buildHelper.constructBuildArguments('dummy\\project path\\more space in path', 'dummy\\dll path', false); if (os.platform() === 'win32') { should(resultArg).equal(' build "dummy\\\\project path\\\\more space in path" /p:NetCoreBuild=true /p:NETCoreTargetsPath="dummy\\\\dll path"'); @@ -24,6 +24,19 @@ describe('BuildHelper: Build Helper tests', function (): void { } }); + it('Should get correct build arguments for sdk style projects', function (): void { + // update settings and validate + const buildHelper = new BuildHelper(); + const resultArg = buildHelper.constructBuildArguments('dummy\\project path\\more space in path', 'dummy\\dll path', true); + + if (os.platform() === 'win32') { + should(resultArg).equal(' build "dummy\\\\project path\\\\more space in path" /p:NetCoreBuild=true'); + } + else { + should(resultArg).equal(' build "dummy/project path/more space in path" /p:NetCoreBuild=true'); + } + }); + it('Should get correct build folder', async function (): Promise { const buildHelper = new BuildHelper(); await buildHelper.createBuildDirFolder(); diff --git a/extensions/sql-database-projects/src/tools/buildHelper.ts b/extensions/sql-database-projects/src/tools/buildHelper.ts index c69bc6c6f8..2741399ec5 100644 --- a/extensions/sql-database-projects/src/tools/buildHelper.ts +++ b/extensions/sql-database-projects/src/tools/buildHelper.ts @@ -80,10 +80,14 @@ export class BuildHelper { return this.extensionBuildDir; } - public constructBuildArguments(projectPath: string, buildDirPath: string): string { + public constructBuildArguments(projectPath: string, buildDirPath: string, isNetCoreSdkStyleProject: boolean): string { projectPath = utils.getQuotedPath(projectPath); buildDirPath = utils.getQuotedPath(buildDirPath); - return ` build ${projectPath} /p:NetCoreBuild=true /p:NETCoreTargetsPath=${buildDirPath}`; + if (isNetCoreSdkStyleProject) { + return ` build ${projectPath} /p:NetCoreBuild=true`; + } else { + return ` build ${projectPath} /p:NetCoreBuild=true /p:NETCoreTargetsPath=${buildDirPath}`; + } } }