C# Azure函数在.net5升级后无法创建Microsoft.Extensions.Logging.Abstractions.dll
作为WebApi应用程序升级的一部分,我将Azure函数从.Netcore 2升级到.Net5。此功能以前一直有效。运行该函数时,出现以下错误: System.Private.CoreLib:无法加载文件或程序集“Microsoft.Extensions.Logging.Abstractions,Version=5.0.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”。系统找不到指定的文件 作为升级的一部分,我对功能项目进行了以下更改:C# Azure函数在.net5升级后无法创建Microsoft.Extensions.Logging.Abstractions.dll,c#,azure,C#,Azure,作为WebApi应用程序升级的一部分,我将Azure函数从.Netcore 2升级到.Net5。此功能以前一直有效。运行该函数时,出现以下错误: System.Private.CoreLib:无法加载文件或程序集“Microsoft.Extensions.Logging.Abstractions,Version=5.0.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”。系统找不到指定的文件 作为升级的一部分,我对功能项目进行了以下更改:
- 将项目文件TargetFramework更改为.net5.0
- 将AzureFunctionsVersion更改为v3
- 升级了引用的包
- Microsoft.Azure.WebJobs
- Microsoft.Azure.WebJobs.Extensions.EventGrid
- Microsoft.Azure.WebJobs.Extensions.Storage
- Json
- Microsoft.Extensions.Logging
- Microsoft.Extensions.Logging.Abstractions
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<AzureFunctionsVersion>v3</AzureFunctionsVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.WebJobs" Version="3.0.27" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.EventGrid" Version="2.1.0" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="4.0.4" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.12" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\VI.VirtualIncision.Managers\VI.VirtualIncision.Managers.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="appsettings.json">
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
net5.0
v3
满的
真的
调试;痕迹
保存最新
总是
保存最新
根据您的软件包(即Microsoft.Azure.WebJobs)和您的csproj文件,您当前似乎正在运行一个“进程内Azure函数”,并且这些类型的Azure函数不支持.NET 5,因此您会出现此错误。因此,您有3种选择: