I'm trying to run an Azure Function. After upgrading to .Net 6, debugging it locally with an updated version of Visual Studio 2022 gives me the following exception:
A host error has occurred during startup operation 'dca54039-23ee-4ec2-ad9d-9deafe1b2869'. [2022-09-08T07:07:05.464Z] Microsoft.Extensions.Configuration.Binder: Cannot create instance of type 'NuGet.Versioning.VersionRange' because it is missing a public parameterless constructor.
My co-workers do not get this error and it works great in production. The big difference we found was that they have a Core Tools Version that differs from mine.
- Mine: 4.0.3971
- Theirs: 4.0.4736
I believe the problem lies here, but besides trying to upgrade I also tried other things:
- Change to
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
- Update all nuget packages for .Net 6.
- Install latest version of Core Tool as mentioned on this page: https://learn.microsoft.com/en-us/azure/azure-functions/functions-run-local
Adding the verbose flag does not get me any further and outputs the following:
Since then I've been trying to upgrade the Tools version. But here's the thing: even though func --version tells me I have 4.0.4736, the debug window still says 4.0.3971. I tried the following things:
- I uninstalled everything and then installed the MSI again from the page mentioned above.
- I ran
npm i -g azure-functions-core-tools@4
in the Package Manager Console. - I uninstalled and re-installed using Chocolatey
- I re-installed Visual Studio
- I did the following things in an elevated powershell window:
PS C:\Windows\system32> npm i -g azure-functions-core-tools@4 --unsafe-perm true
changed 51 packages, and audited 52 packages in 18s found 0 vulnerabilities
PS C:\Windows\system32> npm i -g [email protected] --unsafe-perm true
changed 51 packages, and audited 52 packages in 26s found 0 vulnerabilities
PS C:\Windows\system32> func --version 4.0.4736
Nothing seems to help.