During the last couple of days, my VSCode installation greeted me with a strange error message on startup:
Installed .NET SDK version 6.0.100-preview.7.21379.14 is newer than the currently supported versions. Project build will not work. Please install .NET Core SDK version 3.1 and include a global.json in the project folder specifying the SDK version to use. More Information
VSCode is currently version 1.62.2 (it auto-updated today), and the extension version data is:
– Released on: 28.10.2021, 00:30:16
– Last updated: 28.10.2021, 00:32:34
– Identifier: ms-mssql.sql-database-projects-vscode
The More Information link points to the page Select the .NET version to use and does not seem to apply to installed VSCode extensions.
After a bit of digging, I found a couple of GitHub issues in the azuredatastudio project, which the SQL Database Projects extension is part of.
Issue 16766 deals with the behavior I noticed: SQL projects don’t build when active dotnet version is 6.0 preview
and confirmed by one comment:
Unfortunately, this affects Visual Studio Code as well. Annoyingly, the warning pops up even if no database project is loaded.
I tried changing the extension settings “Sql Database Projects: Net Core SDKLocation” (Full path to .NET Core SDK on the machine) but this did not get rid of the error message.
So I navigated to the install location of the VSCode extension, which can be found under%userprofile%\.vscode\extensions\ms-mssql.sql-database-projects-vscode-0.13.0
(adjust version number) and tried to figure out how the error message is raised.
It turns out that the extension does not specifically query for the required dotnet version, but rather issues a “dotnet –version”, which returns the highest installed version number:
> dotnet --version 6.0.100-preview.7.21379.14
This version number is checked against the hard-coded upper limit of
t.maxSupportedNetCoreVersionCutoff = "6.0.0";
So I opened the file extension.js and tried to change this value to a SemVer higher than “6.0.100”, such as “7.0.0”, and restarted VSCode. And … the error message was gone!
Ok, so the extension was enabled, and VSCode does not throw an error when it did before, but would the extension still actually work?
So I created a new SQL Database project by Ctrl+Shift+P and selecting “Database Projects: Create Project From Database”, subsequently entering all the connection string data to connect to a database, which resulted in a .sqlproj file and generated CREATE TABLE
statements in one .sql file per table.