Is there some way I can configure Visual Studio 2022 to use a specific version of the Azure Functions Core Tools and stop it from keep auto-updating the version?
Update
So I've managed to run some earlier versions of func.exe with earlier working builds of my code but I just keep getting error:
A host error has occurred during startup operation '00e57aab-bb85-42eb-8b4a-13e0c279b8ef'.
[2022-04-13T12:17:34.919Z] Microsoft.Azure.WebJobs.Extensions.DurableTask: Unable to find an Azure Storage connection string to use for this binding.
[2022-04-13T12:17:34.928Z] Using the default storage provider: AzureStorage.
Value cannot be null. (Parameter 'provider')
An update to VS2022 must have blown something low-level up in my local environment.
You can pin to the specific version of Azure Functions core tools in the Visual Studio 2022. It will not let you auto update.
Whatever the recent version you installed, that will be picked by VS.
Example:
Here when you select .NET 6, it will create project on AFCT Version 4, if .NET 3, it will create project on AFCT Version 3 (v3).
But it will not update automatically. You can run .NET 3.1 project on v3 until there are any specific bindings or code requires update of AFCT Version 4.
It will just notify you there are some updates on Azure Functions Core Tools Package in your project/solution.
Note: AFCT - Azure Functions Core Tools
Whereas in VS Code, even though there are multiple versions of Azure Functions core Tools installed. At the beginning of project creation, you can select/pin the Specific Version of Azure Functions Core tools.
Later, it will notify there is an update on Azure Functions Core Tools Package that either you can accept update or ignore if you want to work on specified version.
Related
It's weird.
If I create a new project and choose DotNet 6 framework by Visual Studio 2022. I will get the NETSDK1045 error code.
But create a new project from the console, everything is Ok.
Run dotnet --list-sdks and see if the expected .NET6 version is installed.
My guess is that you might have x86 issue. If you have installed x64 version, install x86 version and vice versa and test if the issue is gone.
You can also try to repair your VS 2022 instance and/or upgrade to latest official version.
There is also a small probability that you select a project type that does not supports .NET 6 (for example .NET Framework Web App project type).
Also you may check your path contains the dotnet folders in the correct order for your architecture.
References:
https://learn.microsoft.com/en-us/dotnet/core/tools/sdk-errors/netsdk1045
VS2017 : Target framework drop down does not show .NET Core 2.1 option
I am building an MVC Web API (Service) with Views returned in specific cases. As an architectural decision, I've been directed to NOT build the service project in .NET Framework 4.*. Rather, I am to attempt .NET 5.0 first, and then Core 3.1 if 5.0 doesn't work.
This service project in my solution will depend on a few class library projects, call them DataLibrary, ComplexLibrary, and DocLibrary. DataLibrary will depend on a Nuget package of Oracle, be it ODP or Oracle Managed Data, in order to query an Oracle database via an Oracle Package on that database. DocLibrary will depend on a Nuget package of Aspose Word & Aspose PDF. ComplexLibrary will depend on Oracle AND Aspose.
Here's my dilemma:
Aspose Word's latest stable release (21.6) will report that it is compatible with 5.0 and Standard 2.0, but not .NET Core.
Oracle Managed Data reports that it is compatible with Standard 2.1 or Standard 2.0, but not 5.0 or .NET Core.
My own libraries have reported that they are not compatible with my API .csproj if...
3a. The API is 5.0 and the libraries are .NET Core or .NET Standard
3b. The API is Core 3.1 and the libraries are .NET Standard.
Since my compile script naturally requires a run of Nuget to retrieve all the necessary dependencies, I cannot get a clean compile because I seemingly have no combination of versions for my WebAPI and libraries that satisfy each others' compatibility needs. Since Standard libraries are the only common .NET version that satisfy the needs of both Aspose & Oracle, What available version for my WebAPI (i.e. I don't believe that Standard is an option for anything other than a class library) is compatible with .NET Standard libraries?
Thanks.
Please see the following article https://learn.microsoft.com/en-us/dotnet/standard/net-standard.
.NET Standard is not a framework it is kind f specification and .NET Core, .NET 5, Mono framework etc are .NET Standard implementations.
So for library projects I would select .NET Standard and for the service .NET Core or .NET 5 (which is actually the next version of .NET Core)
Well, don't I feel silly.
Turns out, the issue wasn't incompatibilities within Aspose, Office, .NET Core, 5.0, and Standard, but a failure of a prior version of NuGet to handle the different versions.
While my VS 2019 install was able to compile the whole solution effectively, my local install of NuGet was not. This was due to VS2019 likely using the most up-to-date version as of this post (5.9.#), while my locally installed version was 4.9.#. Thus, VS was able to sail through while my compile script kept failing at the NuGet stage (which I have included prior to the actual compile.) Once I ran a NuGet update, everything was good to go.
Long story short: KEEP YOUR NUGET VERSION UP-TO-DATE!!!
I'm trying to set up a build configuration for an ASP.NET Core (built on .NET full framework 4.6.2) project.
I'm Using TeamCity Enterprise 2017.2.3 (build 51047)
The .NET Core SDK is installed on the build server, along with 4.6.2 of the .NET Framework.
I am getting the following Build Error Message:
... This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets.
Anyone come across this error before?
I added the latest recommended Nuget exe (4.6.2) as well.
The build step upon which it is failing is a .NET CLI (dotnet) step.
I've set the Command to build
and the Projects to the Solution file.
Dotnet CLI is definitely installed and is version 2.1.300
Yeah update the build tools on the TeamCity server, you're probably using the latest Visual Studio version on your local machine but your build tools on the build server are slightly out of date, probably earlier than v15.5.
https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15
Also ensure that you have selected to add the .NET Core 2(+) build tools as they include the .NETStandard and aren't selected by default. See https://github.com/dotnet/standard/issues/458#issuecomment-323845208
I upgraded my Visual Studio 2017 to the latest version i.e. 15.3. I then upgraded the VS Extension for Azure Functions and WebJobs.
When I create a new Azure Function project targeting .NET Core 2.0, it still targets .NET Framework. See below...
This is the project file:
P.S. To be fair, the dialog says .NET Framework 2.0 NOT .NET Core 2.0. So I guess MS means literally targeting .NET Framework 2.0!!!
Update 12/21/17 See newer post here: Develop Azure Functions on any platform
Previous answer
The behavior can be a bit confusing; I've now clarified the blog post: Azure Functions Tools released for Visual Studio 2017 Update 3.
The project type is .NET Standard, but we don't currently support the .NET Standard 2.0 facades in the Azure Functions runtime. Now that .NET Standard 2.0 is RTM, we will make this update in a future release. Once this happens, you won't have to make any project changes other than changing the target framework.
Currently, Azure Functions runs only on full framework, so there is no benefit to targeting netstandard2.0. However, we are porting the runtime to .NET Core, at which point there is a difference. Once that work is complete, the New Project dialog will target netstandard2.0 by default.
I've just installed the April 2015 release of the Azure SDK. It is version 2.6 and previously I was on 2.5. Now one of my projects will not load. It is the shared project in a Windows Universal application.
When I right-click the project and choose 'reload' I get the pop-up error
The method or operation is not implemented
The output window gives more detail:
Things.Shared.shproj : error : The composition produced a single
composition error. The root cause is provided below. Review the
CompositionException.Errors property for more detailed information.
1) No exports were found that match the constraint:
ContractName Microsoft.VisualStudio.ProjectSystem.References.IBuildDependencyProjectReferencesService
RequiredTypeIdentity Microsoft.VisualStudio.ProjectSystem.References.IBuildDependencyProjectReferencesService
Resulting in: Cannot set import
'Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService.ProjectReferencesService
(ContractName="Microsoft.VisualStudio.ProjectSystem.References.IBuildDependencyProjectReferencesService")'
on part
'Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService'.
Element:
Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService.ProjectReferencesService
(ContractName="Microsoft.VisualStudio.ProjectSystem.References.IBuildDependencyProjectReferencesService")
--> Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService
Resulting in: Cannot get export
'Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService.WireUp
(ContractName="Microsoft.VisualStudio.ProjectSystem.ConfiguredProject.AutoLoad")'
from part
'Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService'.
Element:
Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService.WireUp
(ContractName="Microsoft.VisualStudio.ProjectSystem.ConfiguredProject.AutoLoad")
--> Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService
The other parts to the Windows Universal app (the Windows 8.1 project and the Windows Phone 8.1 project) have two Azure NuGet packages installed: Windows Azure Mobile Services 1.3.2 and Windows Azure Storage 4.3.0. (N.B. Those two projects load without issue.)
This is not a show stopper for me since uninstalling the Azure SDK 2.6 removes the load failure. To uninstall I go via the Control Panel to 'uninstall or change a program' and then uninstall Microsoft Azure Tools for Microsoft Visual Studio 2013 - v2.6
I would like to know how to fix this without uninstalling the Azure SDK 4.6.
Over on the Azure Mobile Services forum Chuck Weininger has posted the following answer:
The [fixed] build of Azure SDK 2.6 is now available, but it may not have
propagated to all download servers yet.
You can run the Web Platform Installer and if you don’t have the new
build installed, it should allow you to install 2.6 again. But it
might not if you are accessing a download server that doesn’t have the
new bits yet. If WebPI doesn't allow you to install 2.6 again, then
wait a few hours and try again.
The build number for the version with the fixes is build
2.6.30508.1601. You can identify the build of the SDK from Control Panel -> Programs and Features -> Microsoft Azure Tools for Microsoft
Visual Studio 2013 – v 2.6. The Version column will display the build
number
I have followed Chuck's instructions and have the new build and the shared project now loads without issue.
We have been able to reproduce the issue, but don't have a workaround at this time. If you want to use the Universal App projects with VS 2013, you will have to uninstall Azure SDK for VS 2.6. The issue does not happen on VS 2015 RC if you would like to give that a try. We hope to have news soon about how we can get a fix for this issue on VS 2013.
Chuck Weininger, Dev Lead, Microsoft
https://social.msdn.microsoft.com/Forums/en-US/e8123821-dcb1-477f-a746-f6f016a724ea/cannot-load-shared-project-in-windows-universal-app-after-upgrading-to-azure-sdk-26?forum=azuremobile&prof=required#de621720-3afc-458c-ba85-f691be9e74c1