Visual Studio检测旧的Azure Functions核心工具版本

oymdgrw7  于 2023-03-24  发布在  其他
关注(0)|答案(1)|浏览(182)

我有一个Azure Function项目,我想使用Azure Functions Core Tools v4.x运行该项目。但Visual Studio始终选择Azure Functions Core Tools 2.6。因此,我收到以下错误:
您正在使用过时版本的Azure Functions Core Tools。有关详细信息,请参阅:https://aka.ms/func-v2-upgrade
我删除了%LocalData%/AzureFunctionTools/Releases/中的所有Azure Functions Core Tools运行时。但是当我运行项目时,Azure Function Tools 2.6版本正在安装。
如何更改此设置以使用4.x版本?
我正在使用:

  • 可视化工作室2022
  • windows 11
  • .NET核心2.2
    更新日期:

I found this article on the internet。但是仅仅向项目添加新函数对我来说不起作用。但是当我创建新项目时,它会选择最新版本的Azure Function Core Tools 4.x。我仍然不知道如何为现有项目执行此操作。

5t7ly7z5

5t7ly7z51#

我尝试在我的.NET Core 2.2 Azure Functions项目环境中重现相同的问题:

.csproj文件

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <AzureFunctionsVersion>v2</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.38" />
  </ItemGroup>
  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
  </ItemGroup>
</Project>

您无法直接将Azure Functions v2迁移到v4,因为您无法按照此MS Doc中的指定从.NET Core 2.2迁移到6:

从.NET Core 2.2迁移到3.1 Azure Functions项目:

上述所有内容都在Visual Studio 2019上完成,因为此IDE支持Azure Functions的.NET Core 3.1版本。
将Azure Function从.NET Core 2.1迁移到Visual Studio 2022上的3.1项目,并再次迁移到.NET Core 6 v4版本。

如果函数/应用程序代码很大,那么您需要更改代码以兼容v4版本沿着在此MS Doc中指定配置中进行一些更改。

相关问题