小编Sco*_*ter的帖子

为什么 .NET 6 上的 Azure Function 寻找 System.ComponentModel 版本 6.0.0.0?

我正在将一个名为“Bridge”的 Azure 函数部署到 Azure,目标是 .NET 6。该项目引用了我编写的一个名为“DBLibrary”的类库,该库目标是 .NET Standard 2.1。Azure Function 可以在我的 PC 上本地运行,不会出现运行时错误。

当我将 Azure Function 发布到 Azure 时,我在 Azure 门户中看到“函数运行时错误”,其中显示:

无法加载文件或程序集“System.ComponentModel,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”。该系统找不到指定的文件。

我不直接针对 System.ComponentModel,并且我没有看到任何 nuget feed 中提供的“System.ComponentModel”的 nuget 包版本 6.0.0。为什么 Azure 函数要查找此版本 6.0.0 的 System.ComponentModel?如果该版本确实存在,为什么 Azure Functions 找不到它?

以下是“Bridge”Azure Function 的 csproj 的相关部分:

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
      <TargetFramework>net6.0</TargetFramework>
      <AzureFunctionsVersion>v4</AzureFunctionsVersion>
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" />
      <PackageReference Include="Microsoft.Extensions.Azure" Version="1.1.1" />
      <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
      <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.0.1" />
    </ItemGroup>
    <ItemGroup>
      <ProjectReference Include="..\DBLibrary\DBLibrary.csproj" />
    </ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

以下是 Azure Function 项目引用的“DBLibrary”类库的 csproj 的相关部分:

<Project …
Run Code Online (Sandbox Code Playgroud)

azure system.componentmodel .net-core azure-functions .net-6.0

7
推荐指数
2
解决办法
5751
查看次数